← Back to Show Notes

Transcript: Jazzband - Matthias Kestenholz

Carlton Gibson

Hi, and welcome to another episode of Django Chat, a weekly podcast or fortnightly podcast on the Django web framework.

I'm Carlton Gibson joined as ever by Will Venton.

Hello there, Will.

Will Vincent

Hi, Carlton.

How are you doing?

Carlton Gibson

You good?

I'm good.

Will Vincent

Yes.

I've got a new microphone, so it'll eventually be better.

It might be a little less audio quality than the past ones, but

Carlton Gibson

we'll see.

Okay, you'll have to give us feedback, folks.

And today today we've got a special uh guest, um Matthias Kessenholz, with us.

Uh hello Matthias, how are you doing?

Matthias Kestenholz

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

That's good.

Thanks for coming on, show you're nervous.

I'm a bit nervous because you two are all wearing Django t-shirts and Django hoodies, and I'm uh and I forgot to dress for the show today, so I'm

Will Vincent

yes, we'll have a link to the official Django merchandise in the show notes.

But you're wearing the DjangoCon Europe hoodie, Matthias, right?

Yes.

Will Vincent

Yeah.

Yeah.

So all the virtual conferences, I think all their stuff is on there now as well as the default Django.

So check it out.

Carlton Gibson

There you are, a bit of Django swag.

So Matthew, Matthias, tell us about yourself.

How what's your backstory?

Carlton Gibson

How did how how how'd you come to be on the podcast?

Matthias Kestenholz

So I have started working with Django over 12 years ago now.

Um I've worked with PHP previously, but I just enjoy working with Python and Django so so much more.

And uh the the community of Django was also an important just pull factor for me to decide to to start working with Django.

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.

Carlton Gibson

Once once bit and never never go back, no.

Matthias Kestenholz

Yes.

Will Vincent

Well, so then uh how did you get into PHP and just programming in general before that?

Matthias Kestenholz

So I I was always fascinated with uh handheld calculators, and I sold all my stuff as a kid when I was uh in seventh or sixth grade, I think, to buy myself a graphical calculator, an HP48, and I learned all about it um back then, the programming and the mathematics, and I just enjoyed it so much to think around with this stuff.

Uh 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 um 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 um in into climate science and find out once again that we should really change something, uh change how we how we live a bit maybe.

And so so that the programming was just a thing which I always enjoyed, but uh the mixture of programming and uh 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

Tell us about the company and the causes and the the kind of projects you work on because that sounds really interesting.

Matthias Kestenholz

The company is Fine Height, and it is a company I founded with uh five four or five friends um 14 years ago now, and we did we did and do work for for different um companies, not only, but uh the the things which motivated me most back then was just to go into campaigning and program campaigning pages.

We did some work for for the WWF and Greenpeace, and maybe for the Greens and mainly for left-leaning political parties, um, or just for grassroots movements, NGOs, and so on.

Uh we are we're also doing work for for other companies, but we have, so to say, a denialist of companies who we don't want to work for.

We don't only 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

But that's really cool because you so you're kind of like the web agency for social justice.

Matthias Kestenholz

We try to do that, yes.

Will Vincent

Well, it and Torchbox also has a nonprofit focus as well, that that do Wagtail.

Matthias Kestenholz

So I think it I it doesn't surprise me too much because maybe Django also as a framework or as a community has a certain um pool for for people who want to do the right thing because Django was one of the early movers with the code of conduct, Django was an early mover with uh Django girls with all these um initiatives to to um improve diversity and so on

Um I think that was that that's probably a thing which possibly also puts off the bad guys, maybe from working with Django, at least uh one could think so.

But it's certainly a thing which which uh keeps me here and doesn't so I'm not motivated to find other technology or the new stuff.

I I'd rather stay with uh Django, which is really stable and maybe a bit boring, but for us that's that's a good thing.

Carlton Gibson

Yeah, I'm gonna fight you when you call it boring.

I'm gonna 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 gonna break it.

And I think you know that.

Matthias Kestenholz

Let's not fight over that.

Let's rather agree that that boring mess can may can be really exciting.

Carlton Gibson

Yeah, no, totally.

This I before we move on, uh two things I 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 I went to um DjangoCon Europe in Florence.

And you know, A, the diversity mix.

I've been to other tech events where it's like, you know, one female um and uh DjangoCon isn't like that at all.

And the the other was the the 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't hadn't really even thought about.

And it was like wow, well, I've been missing this so much.

Um that's that was the one thing.

The other was fine height.

In the notes here, you've got organized using uh holocracy.

What's that?

I didn't

Will Vincent

Oh that's the that's the Zappos thing, right?

Matthias Kestenholz

Yes, exactly.

Will Vincent

So sorry, to to put an American spin on it.

Matthias Kestenholz

No, I mean holocracy is an American thing.

Um it was invented, I think, by Brian Robertson, which who is an American entrepreneur.

Um an operating system for a company.

It specifies a set of rules how companies should should work.

And one of the uh important uh things about it is um 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 um just energize these roles or you can just give them away freely.

So it 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 anytime.

Um I have, and it's really annoying.

And holocracy sort of is is one possible way of re reinventing the organization 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 holocracy isn't definitely isn't without fault, but for us it's working well.

Carlton Gibson

Okay, interesting.

Will Vincent

Well, I think there's quite a bit of self-selection in holocracies, 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 room 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, uh, which was interesting because I think before I'd assumed that if you were 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 in an in an unstructured environment?

Which I I think overlaps a little bit with holocracy, where you take the initiative but also you take the responsibility.

It's not it's not for everyone.

Matthias Kestenholz

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 I I couldn't believe it back then.

These days I understand it very well, especially uh when looking back to the type of company we were uh 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 expect it's it's it's not implicit, uh it shouldn't be implicit, it should be very explicit because if if your former boss comes uh to you and expects a thing of you, you can just say, Well, I don't see this accountability anywhere in my roles, and then you can go into a governance meeting which has uh quite rigid structure as well, and then you can pro

cess this this just this tension, how it's called in holacracy.

And 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, uh well, not everyone is the type who knows what they want, and that will be hard for them anyway.

And yes, so we we have a few problems, but maybe that's tangential now.

I don't know.

I 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

No, but these these sound like difficult problems um 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

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.

Could you talk I

Matthias Kestenholz

was surprised myself.

Will Vincent

Could you talk about just I mean, I know it's 12 years ago, but uh you know, what what was that process of you know, you were using Django, something came up, and you, you know, because Carlton and I spent a lot of time trying to encourage people to contribute to Django and make it less intimidating.

Uh but you just was it it, I guess it was a work problem you had, or what was the, if you recall, the specific issue?

You say in the notes it was to do with your master's thesis?

Matthias Kestenholz

Yeah, so I did a master's thesis on GIS uh based regionalization of life cycle assessments, and we had, or I think we were using generic foreign keys quite a bit, or so, or or maybe it was standard foreign keys, I don't remember exactly.

And it was just if you have had several foreign keys pointing to the same model, the query the ASQL query engine got confused.

And it was just an edge case I hit, and I think I just contributed a more or less detailed report, and the problem itself was fixed by someone else.

Um the first problem I think where I really tried contributing a fix was the the was a problem I encountered with the uh template language.

And since I had been working maybe as a programmer for several years, and maybe Django was a little bit younger or even pre 1.0, maybe it was less intimidating back then, and I just went into the ticket tracker and proposed a patch.

Um I it wasn't the first open source contribution either, either either because I already contributed a few patches maybe to Git and 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 Django contributing process and just the um the standard for the stability which is be is expected and which I also understand and uh like in the Django project sometimes did make it hard to um get the change merged, especially before the fellows project.

I mean, the fellows project that helped very much.

Carlton Gibson

A lot of what the fellows do is exactly this um taking a patch, reviewing it, you know, 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 get it merged, which I I understand could be frustrating.

But I guess I always say to people, well, what's the other side?

Is Django good?

Carlton Gibson

You know, when you download Django and you use it, do you trust that it's going to be of a high caliber?

Matthias Kestenholz

So Yeah, and I think the the problem is is less that I I mean, of course, there there is the issue of of code formatting or maybe of really minor so-called minor problems, which are 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 any review review.

And for example, Jacob, one of the uh original authors of Django, um, 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 uh obvious reasons.

But I mean it it was just an a good maybe a good try to to fix this problem of the patch queue.

Carlton Gibson

Yeah.

No, I mean it's still difficult, like you know, Maris and I are working, you know, Maris is full-time, I'm part-time, and we've still all the time got 20 20 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, is people come along and they they take five, ten minutes out and they look at a pat a PR and they say, hang on, this is not too bad, or this is okay, or this needs that, and it just bumps it forward and it it it enables it to pop over the um out of the sea of pull requests and it enables Maris or I to grab hold of it and say, Okay, that one's that one we can move forward.

Sometimes the the the pull requests feel like a bit like a denial of service attack.

Matthias Kestenholz

I I tried doing that a few weeks ago, and then I noticed again and again that 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 an issue or just um r reviewing a pull request and maybe leaving a positive message and then you have to come and fix everything.

No, that's it.

Carlton Gibson

No, it's it's really well look from my perspective, and I I think believe Maris agrees he'll you know text Twitter in if we've s 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, Maris and 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 it really helps, you know, it really takes the 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 uh fine CMS.

Which which do you want to talk about first?

Matthias Kestenholz

Um maybe let's talk about fine CMS first because that was uh just chronologically it comes so much earlier than my uh contributions to Jazz Band.

Okay.

Carlton Gibson

So tell us what is fine CMS?

Well what what's the what's the elevator pitch for

Matthias Kestenholz

the find CMS is a really small uh module on top of Django and the Django administration interface, which allows you to um mix and match different um blocks, content blocks instead of having only the Django inline mechanism.

For example, you can if if you want to have a page or a blog entry, you can add a rich text content block, and then you can add an image block, and then you can add a rich text block again, and so on, and so on.

And these content blocks uh are reusable plugins.

Um and I mean the the interesting thing for me is just that there is uh that that all of this should be reusable not just for pages but also for blog entries, for for shop items, and it it is more of a content management framework maybe than a content management system.

Carlton Gibson

That's an important distinction.

What would you say?

Describe a 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 do you mean when you say that?

Matthias Kestenholz

If you 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 uh 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 um just for some painting they did, and then you can create all these relations which connect these entities with uh each other.

That's what a really relational database is all about for me.

And if you got to know the power that you get when you structure your content well and all the automatizations you can make, you don't want to go back to structure your page content in the same way in the uh old way again, where you just have one big blob of rich text content, maybe, but you want to reuse this structured content and pull it into this CMS.

And many, maybe also Django-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 uh tools and building blocks to uh build uh 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

Um one thing I like about it is it's very close to Django.

It always feels like you know it it's just Django.

Matthias Kestenholz

Yeah, and that that that was that that was important for for for us because uh at the beginning we just maintained this ourselves and we just wanted a really thin layer which reused almost all of Django because we had so much so 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 all down the road.

And we already did this uh 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, all this maintenance that we didn't have the time to to do customer uh projects, and because of this

Carlton Gibson

you're so busy maintaining the CMS that you're not getting any actual work done there.

Matthias Kestenholz

Yes, exactly.

And I mean if that's just a toy project, then that works well.

But but once you st once you start using it just on dozens of sites, you don't want to have all this maintenance burden.

Carlton Gibson

Okay.

Um so what are the big ideas with find CMS?

What's the how would you you know because you've got um the things that jump out for me the content editor and the the you handle tree the the tree structure of the site very well.

It's one thing I wanted to talk to you about.

So let's take the tree structure.

Tree queries and SQL databases don't tend to go too well together, right?

Matthias Kestenholz

Yes, they don't.

And um 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 Django MPTT, the modified pre-order tree traversal, or uh in in the literature, I think it's also called nested set, and it's just a way to add additional um attributes to a model

which should make querying a tree faster, where you don't have to you have to you you you have the root node and then you have to fetch all the children and then you have to fetch all the children of all the children, and that's really inefficient, or it was really inefficient back then, and you don't want to do all this back and forth from Python to the database and then to Python again.

Carlton Gibson

So, what's the what's the solution?

So I've got to the stage in my old age where I'll just save everything as a flat, um, you know, flat items without the tree structure, and then I'll I'll sterilize 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 how should I be doing that efficiently?

Matthias Kestenholz

You should uh these days if if the tree 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 um common tree 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 it's fast enough.

And that was an idea I got actually from from one of the um guys.

So I don't know his name, but it's it was a it was a guy uh working on DISCAS because they said this even at Discus we we are using commentary expressions to do this, they are fast enough, and I thought if it's good for discuss, then it will work for us too.

Yeah, interesting.

Carlton Gibson

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.

Matthias Kestenholz

Yeah, and they have even if it is ten layers deep, the database will be fast enough.

If you're using Postgres or MySQL 8 or recent versions of MariaDB, they all understand this um this AskQL construct, and that works really well.

Carlton Gibson

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

Yes, exactly.

Um one of the problems you don't get when you use this tree queries CTE stuff, which and which you were prone to get with MPTT, is that AmpytTe 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 MPTT and also a co-maintainer, uh, you can use it and I won't drop it, but uh, maybe if you don't need this performance, then maybe use something else which is normalized and where you do not have redundant uh values which are prone to break from uh every now and then.

Carlton Gibson

Okay, interesting.

So uh 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 the the version one, and then there's is the newer version.

Is what what's your take there?

Matthias Kestenholz

Uh you should look at the find CMS3 um suite of tools, you should look at uh and you should probably start with the find CMS3 documentation, which uh has a link to an example project which is really small, and you should be able to get it up and running in in just a few steps or manual steps, and it's called Find CMS3 um example.

And I think that's the best place to start.

Find CMSA.

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 CMS3.

It's it's simpler and has a better focus for what it wants to do.

Carlton Gibson

Okay, and you wrote a post recently which we'll link to in the um in the show notes on um how fine 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 fine CMS in that post.

Matthias Kestenholz

Oh, I should maybe rework that because in my mind it's just it's just find CMS as a family of software projects, but I should really talk about fine CMS3 then, or maybe I misunderstood you.

Carlton Gibson

No, I was just saying there was a good I mean this was uh it came back to my mind because you put up that post saying it was still relevant, and you know the the one that a lot of people are using now is Wagtail, and one thing you brought out was the differences between Wagtail's approach and the approach that fine takes.

Matthias Kestenholz

So I I mean FineCMS just in ten years ago or maybe eight years ago when people talked about Django-based CMSs, uh, Find CMS was almost always part of the list that was selected for for comparisons, and these days it isn't because it's just it's it's niche and maybe it's or or probably it's a bit unknown, which is probably also because I'm just not very good at

marketing it.

But in a way, yes, it 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 uh 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 stream field, as far as I understand it, does exactly the same thing the Fine CMS content editor does, and they they started to use the say or a similar model uh too, but just several years later.

And I mean the Django CMS from from DVO, uh which is Zurich-based company too, by the way, I know the founders as well.

Um they had they had a few of the same ideas ideas as well, but they executed them differently, obviously.

And they yeah.

Carlton Gibson

Okay.

I mean, so one thing I'd say about it is that it's worth giving a go.

If you if you um if you've already got a Django app and you just you want to add on these content management or these con this content framework stuff.

I find Fine is good for that because it it 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 do keep doing Django rather than replacing it with something else.

But you know, um anyway, well let's move, let's move on.

Tell us about Jazz Band as well, because Jazz Band, what is Jazz Band?

So what sort of projects are part of it?

Because there's there's there's lots of the classic third-party packages, right?

Matthias Kestenholz

Yes, uh many of these packages were just developed by uh 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 um to leave the development to to someone else, they had to find new maintainers previously.

And Chas Banch just offers a place now to move these projects to, and there is a community of people who are hopefully able to take up the bat and continue maintaining this project.

Carlton Gibson

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 like then every new Django version you need to bump all the dependencies and you're a 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

yeah, and all of these projects just they don't have this fellows um system, uh which is a pity.

But yes, so what the projects, yeah, the jazz band projects where I'm doing um much work, or the the the projects where the project where I do the work I do is mostly just Django uh debug toolbar.

Carlton Gibson

Which is amazing, right?

Matthias Kestenholz

Yes, it is.

And I see my job may uh I I looked at the commit statistics uh 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, um, but I got into maintaining this project because I was I think I wanted to upgrade to Django 1.10 where the middleware uh setting changed and Django debug toolbar didn't support it back then, and Jazz Band just offered me a way to jump in and just submit this feature or this fix myself, and the

previous maintainers uh were maybe burned or bummed.

I don't know out like a responsibility around it, and I just thought, well, that that maybe Django sometimes would be as as I said before, uh my quality standards maybe aren't well enough for Django, but there certainly are um so I I know Django debug toolbar quite well these days, and I think I can judge the the the pull requests whether the quality is

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 Chazz Band uh offers to.

Carlton Gibson

That's super.

I think it's a really good way to give a little bit back to the community.

I always say I always describe my experience of getting into open source where it was like um it was just like a hobby.

I do, you know, a little bit here and there, just you know, on Stack Overflow or on the GitHub tracker on Django Rest framework.

And then, you know, the danger is get this burnout thing.

The danger is giving too much.

So, like any hobby, you know, if you were going to Tai G 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 if you are going to get into open source, a you know, bracket it, say I'm gonna, 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 there's debug toolbar, there's Django configurations, uh, there's all sorts of awesome packages, I can't remember them.

A community of people who are um there to help you.

You know, you can do a bit, they can do a bit, and it's it it's not somebody on their own getting burnt out of the defening the project they they sweat it over.

So anyway, super, I'm all for that.

Brilliant.

Matthias, is there other stuff you want to talk about?

Matthias Kestenholz

No, I 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 yeah, to just jump into the ticket tracker and submit an issue or just submit the pull request.

Uh I think you like the experience.

Carlton Gibson

We'd love to have you and welcoming you as we can be.

Matthias Kestenholz

And I really hope the school stay open, maybe.

That's probably oh who knows.

Carlton Gibson

Oh, that's a really 2020 issue, right?

We had it.

Are they open in Switzerland?

Will Vincent

Sorry, Carlton, to interrupt.

Matthias Kestenholz

Yes, they are open right now, uh, but I I mean it it looks really bad.

We have it's regarding the ratio.

I think we overtook the US uh 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.

Um but I'd rather stay at home anyway because it's just I can work do so much better work and concentrate more as an introvert.

Um 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.

So that's great for me.

Carlton Gibson

Swings and roundabouts, no.

Matthias Kestenholz

And even with the kids, they they they they ask less questions than people in the office, but maybe we want to talk about that not a thing.

Carlton Gibson

No, we keep we keep that in.

Okay, so right.

Well, well let's uh let's call it a day there.

That's two points.

Carlton Gibson

Thank you so much for coming on today.

Thank you.

Um and and uh folks at home, give uh fine CMS a good a try.

It's uh an interesting platform.

Thank you.