Django Chat

How France Ditched Microsoft - Samuel Paccoud

Episode Summary

Samuel is the project lead of La Suite NumΓ©rique, a French government open source alternative to Microsoft 365 and Zoom. We discuss building alternatives for messaging, video, collaborative docs, file storage, and more that already serve millions of customers.

Episode Notes

πŸ”— Links

πŸ“¦ Projects

πŸ“š Books

πŸŽ₯ YouTube

🀝 Sponsor

This episode is brought to you by Six Feet Up, the Python, Django, and AI experts who solve hard software problems. Whether it’s scaling an application, deriving insights from data, or getting results from AI, Six Feet Up helps you move forward faster.

See what’s possible at https://sixfeetup.com/.

Episode Transcription

Will (00:00)
Hi, welcome to another episode of Django Chat. I'm Will Vincent with Carlton Gibson. Hey Carlton.

Carlton (00:04)
Hello Will.

Will (00:05)
And we're very, pleased to have Samuel Pakou from La Suite Numerique join us today. Welcome.

Samuel Paccoud (00:10)
Hello, thank you for having me. Happy to be here.

Carlton (00:11)
Thank you for coming on.

Will (00:14)
Yes, so even in America, the work that you're doing has raised quite a stir of having open source ⁓ software to replace Microsoft and Zoom and other things. ⁓ Perhaps you could tell us just broadly ⁓ what you do day to day and then we'll go from there.

Samuel Paccoud (00:30)
Yeah, so I work for DENIMS. It's the French Interministerial Directorate for Digital Affairs. We are attached to the French Prime Minister and my day-to-day work is to build a set of applications which we call a suite for daily work. So there's instant messaging, emailing, video conferencing, organizing sharing files and drives.

collaborative editing, spreadsheets, we even added an AI chatbot recently. So everything for the daily work. ⁓ And we do it for state agents, for public agents, but we do it in open source. there's also a community growing around what we do.

Will (01:16)
And then I think before that you were working in education, is that right? Also for the government?

Samuel Paccoud (01:21)
Yeah, so I've been working for DINUM for two years, two years and half. And before that, I was working in the higher education sector, also doing Django with a lot of Open edX. If you know Open edX, that's one of the big Django projects. So, yeah, I worked for six or seven years in France UniversitΓ© Numerique. So that's the equivalent of DINUM before universities.

Carlton (01:35)
Yeah.

Will (01:35)
Yeah, yeah.

Samuel Paccoud (01:49)
We provide digital services for universities, cloud services.

Will (01:53)
And then I think the history is that during COVID, is that when there was effort started to make these services available across government? Was that kind of when things started around 2022 or so, I think?

Samuel Paccoud (02:05)
Definitely the accelerated things, but I was working in universities. I was working before COVID. When the COVID started, we were the first team to spin up a GTC instance. And we had also a collaborative editing. We very fast, we tried to give tools to our agents, which were suddenly at home and had nothing to work. because we were able to very quickly put up

services online, people started to notice us and send us more money and say, okay, we need more of this because people are remote and they need to work. So I think that's when people realized that open source was where people had the very fast response to these issues. And they started giving more money to open source projects. ⁓ While I was in France, University America in denim, they were also, they were also able to.

propose tools, uh, and with open source, but these were standalone tools. didn't have a digital workspace, interoperable with interoperable applications. And so that was the next step was to say, okay, people are after COVID people started to say, okay, we need to switch to, we need to switch to office 365 and like a public agents. They didn't have these online tools. They were just working on their laptops.

After the COVID, people started to want to move to Office 365. That was raising a lot of questions in the French public sector to say, okay, are we really sovereign if everybody moves online? We started to realize that these daily tools, not just, they are very important because all your data and all the work you do is done in these tools. So they are really, in fact, they are not just...

just detailed, they're really core to your sovereignty, to your data and stuff.

Carlton (03:58)
So would you say that the digital sovereignty sort of aspect is sort of the driving force?

Samuel Paccoud (04:08)
Yeah, think we, okay, there's also cost, there's cost and the digital sovereignty. Because in the public sector, we wouldn't have enough money to pay all the licenses for all the public agents. So we were, they were starting to say, okay, let's give Office 365 to only the, maybe the top level managers or yeah, they were starting to have this kind of decisions. And no, that's not what we want.

Carlton (04:18)
Yeah, right.

executives.

Will (04:30)
Yeah.

Samuel Paccoud (04:36)
And because there was also a big problem with the digital sovereignty, then started to see a solution with open source. But really, frankly, when I arrived in genome, nobody thought that we can do it. And I myself didn't know what I was going to be able to do. And that's when we started to have top one in Hacker News with docs and then Visio later. And then we start to believe in ourselves saying like, okay, we are able to do it and we can.

Maybe it's easier than we thought. Maybe it can be done.

Carlton (05:05)
Okay.

Can I can I ask about a couple of things there then about the team size and then the funding behind that? What sort of backing do you have? Because, you know,

Samuel Paccoud (05:15)
The banking

is growing like, know, when in the public service, when you come, if you just a little bit to see what you can do and then they can give you more. So when I, when I took the team, the budget was, it was about like between five, six million, maybe everything was used to pay licenses. So I had to work nights, weekends to start to start docs and video. We started it as a student project. did it on our spare time.

And then slowly when we did top one in I can use people say, okay, maybe we should give them more money. then, so today, last week is roughly is around 10 million budgets. Maybe it's about 80 people, 35 developers, mostly freelancers. Yeah, that's the figures.

Carlton (05:55)
And it's super.

But that's super. Let's have, you know, be able to put a team of that size together. That's not a small team. That's a big group.

Samuel Paccoud (06:07)
Yeah, the potential is huge. know, state alone in France is 2.9 million agents. And if you consider the whole public service in France is six million agents. So the potential for these open source tools is huge only in the public sector. And that's why it's strategic to, it can be done in the public sector. It can't be done.

Carlton (06:15)
Yeah.

Samuel Paccoud (06:32)
the private sector by just the company starting to starting and say, I'm going to make a suite with open source and spread it. This wouldn't work. So we thought that, the public sector can make this happen.

Will (06:46)
And then just the cost savings has to be very high, right? Because team licenses, especially for enterprises, I mean, it must be millions of dollars that's saved separate from the costs invested in your team.

Samuel Paccoud (06:55)
Yeah.

Yeah, I think I can say today that we saved more public money than we invested. So yes, but it's not so easy to say, okay, I mean, you save 10 million, so give me 10 more million. That's the work this week. So yes, we can make savings. And I think if people make the correct calculations,

Will (07:14)
Yeah.

Samuel Paccoud (07:26)
we would have to go faster, but it's more complex.

Carlton (07:29)
Can I just swing back momentarily? did we introduce the suite? we know what it will not know what it is. That's why we've invited you on. But did we really introduce for the listeners what the last week Numanuik is doing?

Samuel Paccoud (07:40)
Okay. So yeah, what it's a suite suite of application. don't know if you want to go into each application. There's, there's also a core of last week, which is growing, which is based on Django and, other applications, are not. So we can maybe focus on the Django applications, but, they are, there were some existing tools when I joined. first one is a tool called chap.

Carlton (07:59)
Yeah.

Samuel Paccoud (08:06)
which is basically a government instance of metrics. So that's 400,000 active users, mostly active users as we speak on the metrics federation for the French states. ⁓

Will (08:22)
Is that, sorry,

is metrics, that's the same as messaging, like instant messaging? Is that? Yeah.

Samuel Paccoud (08:25)
Yeah, that's instant messaging and it's

a decentralized and end-to-end encrypted protocol for instant messaging. It's quite successful in that there are more than a hundred thousand nodes in the world in the open community, in the open federation of metrics. We have a private federation. It's quite successful also in regalian ⁓ environments and governments because of this encryption.

Carlton (08:33)
Okay.

Will (08:50)
Regulated,

Samuel Paccoud (08:51)
that is encrypted and distributed the nature of metrics.

Will (08:55)
Can I ask about the, I mean, on that and then the other projects, the hosting, I assume it's also has to be like servers based in France. You're not using AWS in Washington,

Samuel Paccoud (09:07)
Yeah, we have a certification in France called SecNim Clouds, which includes ⁓ protection against ⁓ extraterritorial ⁓ access. So it excludes ⁓ American-led clouds. So yes. But we have several instances. We use public cloud.

with this certification of second class. So could be the French hyperscalers are like OVH or scaleway. If they have this certification, we can use them. But we also have internal clouds, internal to the states where we can have specific instances with more security. And that's the interesting thing with open source is that once we have the product, we can deploy it tens of times ⁓ in air gap, in classified environments.

open environments and it also spreads outside of the state so that's interesting. Yeah, it compounds.

Carlton (10:05)
Yeah, I mean, that that's one thing that I'm interested in just to follow up on is like, I think once you've built the foundation, there is a real chance to if it makes it easy enough to install and people can run it themselves, there's a real growth opportunity there the market and the cathedral and the bizarre type, you know, approach could really apply here.

Samuel Paccoud (10:26)
And it does, it's really starting to pick up the, especially on docs and Vizio, like Vizio for was used by gamers because in Vizio you can share several screens at the same time and you can stream it to RTMP. So you can stream it to YouTube and it's kind of, so gamers started using Vizio. It was packaged for NixOS as well. So very easy to deploy and it.

And it's funny because the people who packaged it for NixOS, they made a fork activating some features for gamers. But that was the first community that started using Vizio. And then as we speak, I don't know how many instances there are, but it's growing. We have people who developed a full mobile application last month.

It's coming, like, are starting to come.

Carlton (11:21)
Okay, so you've got messaging, you've got meetings, you've got files, you've got email, you've got...

Will (11:28)
spreadsheets.

Samuel Paccoud (11:28)
Yeah,

that's the difficulty when you want to build a digital workspace, you have to build a lot of applications and need to be big. And we are not that big either. So we hope we need the community to take on this and to help. but we also, we are like myself. I've been working on Django for 10 years and we have about 10 developers who are really experienced on Django.

And so we reuse what we do a lot. There's a joke in last week saying that everything is a fork of docs. if you, the case of drive, drive is literally a fork of docs with just a small change in the front end. We replaced the editor by a file browser, you know, and that's it. That's, that's a tree documents and with access rights. It's really, really close. So we, we managed to.

Because Django and React, we master our frameworks, we're able to reuse a lot of what we do. And yeah, we try to.

to cover the whole digital workspace with the resources we have, which are growing but slowly and trying to embark the community and yeah, be smart.

Will (12:39)
And then you're often, think Django REST framework is what you're using, right? Like you must have been tempted by Django Ninja and maybe some other tools. Like how is Django REST framework holding up for you, I guess is the question.

Samuel Paccoud (12:49)
Yeah.

I think our approach is we

We, we've been working together for 10 years, this team, and we had our habits and the way we do things. we, we focused on what we can build as fast as possible. And we didn't take the time to like Django Ninja when we started, I was looking at it and I hesitated, but it was really the beginning of big, ⁓ I couldn't find like a big project in production that would make me.

feel really safe to use it. So I just went on with REST frameworks, which we were using for several years. Then lately I saw, of course, saw Django Bolt and I'm really, excited with Django Bolt. But you know, there will be a lot of rewrites. ⁓ I think we would love to stop and make this move, but it's also not like you don't need to. So if you just focus on what you ship and what you.

Carlton (13:37)
Yeah.

Samuel Paccoud (13:49)
Your impact, the tools and your users, the tools are, it's good enough. It's we master it. We know we can do whatever we want and we, it's not rocket science. we do is really, it's serializers using those. We've been doing it for years. You know how to optimize it. We don't even have cash yet on docs or drive. And yeah, we know we have really room for.

for optimizations before we need to go to Django Vault, for example.

Carlton (14:19)
I mean,

Django boat super exciting that you can get an awful lot of requests per second. But if your application isn't anywhere hitting the limits of what you can already do, that's it's a big after a rewrite just for fun.

Samuel Paccoud (14:29)
Yeah.

yeah, and you know, lot of people on the forums and they very often you see haters like saying, Oh, everything is good about this project, except the trust of Django. But the truth is, then they say, Oh, Python is so slow when you choose Django. But I mean, if you, when you build these applications, you know that you are the speed of your application is really most of the time is just in the database or the way you make your queries. So yeah.

Will (14:53)
Exactly. 1000%. 1000%.

It's just like, people don't

Carlton (14:58)
There's the heartache.

Will (14:58)
know what they're talking about. Oh my God. Yeah.

Samuel Paccoud (15:00)
And, and,

and if we, if we can, you we are, are doing API. So if you can. Cash something at the serializer level and maybe we are already super fast, more, more than what we can do in France, university numeric. had a video like a YouTube platform, ⁓ equivalence and we had 3 million users on it. And we had only one pod because like it's just serving video.

tokens and so everything was in cash and so it could serve like so many requests with just a bot. So yeah, sometimes it's just not where the pain is.

Carlton (15:35)
Yeah, no. Yeah, okay. Perfect.

Will (15:39)
I wanted to ask a-

Samuel Paccoud (15:39)
And we love

the ORM. We love the ORM in Django.

Will (15:43)
I wanted to ask about ProConnect, which I think is ⁓ SSO across government. Because I think one of the, is it correct, one of the challenges before was getting adoption was log in and maybe you could speak to introducing that and why that I think led to a lot more users for you.

Samuel Paccoud (15:58)
Yeah, because basically, like I was saying, you have 2.9 million users in the state, agents in the states, but they are everywhere. They are in each ministry. are in small entities. Organizations are everywhere. And it's nothing like hierarchical. There's no one who can say, let's do that. And everybody follows. It's a state. So it's designed to be complex and have independence between.

Will (16:17)
Hmm.

Samuel Paccoud (16:26)
seems so that not one person can decide for everybody. That could be creepy. that's also, you need to convince people that your tools are good and to convince them, they need to have access to your tools. And that could be really, really a headache. But we were able to put up a SSO, which has everybody behind one button and could log in in one click.

Carlton (16:39)
Yeah, right.

Samuel Paccoud (16:54)
So that was really, really important in our distribution strategy for our tools.

Carlton (17:01)
To make it

easy for people to onboard, right? So to give it a try, kick the wheels. yes.

Samuel Paccoud (17:04)
Yeah. Yeah.

And, I think we get a lot of inspiration from UK, which are really, ⁓ were ahead of us on this, on all these, ⁓ government IT, ⁓ get inspiration. In France, we have France connect. We had France connect for our, for end users, with like a hundred million connections per month. And it was working really well. But so we, we forked it and used it for agents.

Carlton (17:31)
Okay, okay, fair enough. I wanted to ask you to you mentioned him, you know, it's obviously a French based project, I'm wondering ⁓ whether other governments in the EU are picking up and joining in and

Samuel Paccoud (17:31)
do this thing.

Yeah, I would say across the EU there is the subject of sovereignty which is growing and we talk to a lot of governments. But what we don't have is like, we don't have a common response. Like everybody say, okay let's do this and everybody, you do this, I do that and that's it. We're not able to do this. So I would say it's important that everybody

that the concern is rising and open source is quite, yeah, it's seen as a solution in several countries, especially Germany, France, and the Netherlands also is joining us on this. ⁓ So yes, there's concern, but I would say we are not there where our efforts compound, not yet. Try to work together.

Carlton (18:34)
Okay. Okay.

Samuel Paccoud (18:36)
But for example, with Germany and Holland, and the Netherlands, we try to work together, but the approaches are quite different. I wouldn't say that we are very, very successful to add our efforts to compounds.

Carlton (18:54)
But

that might come over time, right? mean, the European projects is still quite nascent.

Samuel Paccoud (19:01)
Yeah, I think whatever steps we take, eventually we align. Like ⁓ if one country pushes something forward, another country pushes something else forward, eventually everybody gets aligned behind what works. So it's also good that everybody's trying a different approach. And if you hope that what works gets spread.

Carlton (19:18)
Yeah, okay.

As well, one would think that a diversity of approaches will lead to a richer solution in the end. It might take slightly longer to get off the ground, but hang on, the Dutch perspective there brings something that we hadn't considered to the table.

Samuel Paccoud (19:36)
Yeah!

Yes. Yes, but there's also, there are also some ways to go backward sometimes. You're in the public sector, so you have a lot of pressure, a lot of lobbies. When you succeed in something, the people come for you. You can lose some battles. You have to continue fighting. Okay, you have to hope that...

Will (19:50)
you

Carlton (19:56)
Yeah.

Samuel Paccoud (20:09)
that you have a positive impact on these things, but it's never, never ending.

Carlton (20:17)
Okay.

The other question sort of just on the top of my top of my sort of tongue is like how to how to get involved from the listeners have, you know, seen last week numeric and, you know, if they want to download it, install it themselves, is it easy to get going or

Samuel Paccoud (20:33)
We're trying

to make it easy. I would say it's gotten quite easy on docs, on the projects that have the most, the biggest community. ⁓ So we make it containerized. We have Docker Compose. If you go to docs, you pull the repository, you make bootstrap. Nobody works on your laptop.

If you're a developer and you have Docker on your computer, should be working within minutes. ⁓ On going to production, we focus on Kubernetes. Like we provide everything for Kubernetes deployment to production in minutes, like ham charts. We have official images and everything. So, and documentation. So if you run Kubernetes, easy. If you don't.

Carlton (21:06)
Okay.

Samuel Paccoud (21:29)
Okay, your bits, yeah, you have to, yeah, more on your own. But if you master Django, it should be too hard. If you use Docker Composing Productions, if you want to build a VM from scratch with the old way, then okay, you're on your own. But we hope the community comes also to contribute all this ⁓ and other projects.

Carlton (21:31)
more on your own.

Okay, so you have

Okay, good.

Samuel Paccoud (21:57)
We on other projects who are more recent or on which we did less community work. Maybe there's less documentation could be a bit harder. So still work in progress to really make it easy to deploy. And yeah, sorry.

Carlton (22:12)
Right, OK. mean, but presumably I could

reach out, I could reach out, open an issue. I'm trying to deploy this. I'm trying to do that.

Samuel Paccoud (22:20)
Yeah, of course we have metrics

channels, are mentioned in our readme. You can open issues. We are quite active. We're quite responsive on all this. One thing maybe is that obviously we build applications for scale. Like we're talking million users. So we make some choices, which are like we make object storage first.

Carlton (22:42)
Yes.

Samuel Paccoud (22:47)
You make choices for scale, OIDC for everything. So if you, if you have a very small company and you just want to have a VM and pay the VM one euro per month, and you want to install everything on it, you need to be skilled because you will need to have a OIDC provider. You will need to have a public storage. lot of people, they will, if you want very small instance, they will realize that it's not.

Carlton (22:57)
Yeah.

Samuel Paccoud (23:16)
not what we focus on. if you don't have S3, then difficult for you. Yeah.

Carlton (23:18)
Yeah, right.

there's an interesting contribution opportunity for people like the people who want to scale it down to come along and, you know, beat that part.

Samuel Paccoud (23:29)
Yeah. So some, some people have installed

it on, on the, you know, don't know if you know this project, you know, that's like, ⁓ yeah, maybe it's French. It's, it's quite, it's quite using free software communities. It's like a box on which you can self host a lot of applications without doing like heavy admin. You can click and install your, so they have put video, they've put grist docs.

Carlton (23:35)
No. No, I don't.

Will (23:35)
No.

Samuel Paccoud (23:56)
You can install it with a click, but I'm I'm not in favor of these approaches so much because sometimes you make it look like it's easy, but when you run a, an object storage cluster and it's not so easy, you you still need skills in case something goes wrong. So yeah, if you hide too much complexity, if you hide the complexity too much, sometimes people can have problems.

Carlton (23:56)
Okay. What was it called?

it isn't.

Yeah, I mean, that's, that's something that I always think about is it's okay when the complex system is running nicely, but what happens when it breaks? Can you dig down and work out what the separate parts are?

Samuel Paccoud (24:28)
Yeah. So I advise people that maybe if you want to host it, can, we have a proxy that, that, ⁓ encrypts your data for your S3 for your object storage. So I would advise that you open on a bucket on a provider. And if you're, if you want sovereignty of your data, can encrypt.

Carlton (24:43)
Mm-hmm.

Samuel Paccoud (24:50)
Although you put it on a bucket on the cloud, you can encrypt your data on this S3. But at least you don't have to operate it. You're not scared to lose your data. That's my advice. It's cheap to have a bucket.

Carlton (25:00)
Yeah. Yeah.

Will (25:02)
Yeah.

Carlton (25:02)
Okay, cool, cool, cool.

Will (25:04)
Well, there's also for French hosting providers, there's Scalingo, which is similar to Heroku. I actually had a conversation with the developer advocate there, which, because I was surprised I hadn't heard about it until Heroku shut down again, but they have proc files. They've been going 10 years. I believe they work with the government a little bit, but it's a very, very easy to use option.

Samuel Paccoud (25:29)
Yeah, we work with them so you can deploy to scaling. Oh, yeah. We have some instances of scaling. Oh, there's also clever cloud in France, which does a bit the same thing. It's a pass as well. And they have, uh, how tools, detailed how tos of how to deploy docs. Yeah, that's a good option as well, but maybe more expensive if you're really looking for cheap, uh, hosting. So yeah, basically need solutions for all the profiles.

Will (25:38)
Okay.

Carlton (25:56)
Yeah, yeah. Like one machine, five machines. Hope to manage for me. You need all of those eventually. But the project is very open to contributions, right? If people want to come in and add to the docs on a deployment story or something like that, they could do that.

Samuel Paccoud (25:56)
Yeah.

Will (25:57)
Yeah.

Samuel Paccoud (25:59)
Yeah, yeah, yeah. Yeah, yeah.

Will (26:03)
Yeah.

Samuel Paccoud (26:11)
Okay. So the project is started by us. that's public agents, the repositories are we, we are, there's no open governance at the moment, but that's one of, one of our main objectives. are, we, when we say we want to do digital commons, we mean it's, we mean that we want the governance to be shared. want to slowly, we want to just be one of the contributors. So we were.

hoping to bring, we are still hoping to bring other countries, companies, integrators, hosters to contribute and slowly take over governance with the community. We are not there yet and we frankly, we don't know exactly how it will be done, but that's where we want to go. I think DOCS is a bit ahead and will be the first repository that we will.

Really open, most probably send it to a foundation and really look for an open governance. ⁓ they are some communities. I don't know how much I can say, but there are some communities in the open source in the free software, ⁓ communities that are putting offers to denim to, yeah, to take the code and start to organize this for us. I don't know.

What will happen? I frankly don't know. But I really, really hope that this goes through.

Carlton (27:35)
That'd be really cool though. It's a cool thing you've built and it's open source, but then to give it an open governance model gives it sustainability into the medium and long term, hopefully.

Samuel Paccoud (27:46)
And maybe we can discuss, I'll be interested to discuss with Django people, Django's foundations and see, because these are the people who would be interested to be active in this community. So what are the best practices? What are examples? What has been done? And yeah, at the moment we are looking what's possible.

Carlton (28:08)
But that's a cool, that's a cool golf. That's a cool. So how did you end up in this, you know, great situation? Like you're working on what's a really cool project in a kind of socially worthy thing at the cutting edge of technology, doing some really good stuff. And how did you, it's a kind of dream job to roll into that.

Samuel Paccoud (28:25)
No, no, it's not a dream job.

Will (28:27)
Hahaha.

Samuel Paccoud (28:30)
No,

I wouldn't say it's a dream job. I don't know if you are linked to it, it's quite, it's quite, I don't know how long you can hold on this kind of job. You know, it's quite active and quite exposed, like mid-duty. So, but when you succeed, when you succeed is good, but not a dream job. It's what I was looking for. So.

Carlton (28:40)
All right, it's good. Right, okay.

Samuel Paccoud (28:50)
but it's not easy. So maybe if it was a bit easier, be a better job. How did I end up here? Yeah, ended up here because I was, like I said, was a Fango developer and the first, I became a developer to grow a family. Like I was looking for a job that would really accommodate taking care of a family like during the day. And I was...

Carlton (28:55)
So go for the Friday, that sort of thing.

Samuel Paccoud (29:16)
When my kids were small, I was coding at night. I wanted something really flexible. So I went, I came to coding quite late. I was like, ⁓ past 30 years old. And before that I was working in the international commerce. So it gives me a profile, bit double profile of learning coding late and having a business, international business experience before. so that's a strength that,

really allows me to navigate in the complexity of public sector, open source stuff.

Carlton (29:52)
I can imagine in public sector, there's an amount of politics, there's an amount of people management.

Samuel Paccoud (29:56)
Yeah.

Yeah. And the interesting thing when you're an developer and I had also a free software, strong free software, let's say background or color. And so you come with a mission, like you, you see something that's in the, that goes wrong in your country or something like digital sovereignty was really an issue.

I've always been sensitive to this, really, predatory, no? Predatory software. That was always a big issue for me, really from young. And I think I came back to this with the excuse of building a family and having a more flexible job, but it was in my head that, okay, that's one thing that's important for me. So yeah.

And when coming to it, I started to learn coding for 10 years as a freelance and slowly moved to really to open source. And it was progressive. When I arrived in France University in America, I was coming for open education more than for open source. didn't really.

I was not really in the open source communities. was using Django, but not really. I was not really a free software advocate in France or yet known for this. And then from working in the open education and slowly, slowly, I started to really know where to stop having strategy of how to do it. How can we make it happen?

And the strategy I'm applying at DINAM is quite controversial. It's still quite controversial, even in the free software communities, in the private software. So because we succeed, people start to see, maybe that's something interesting the way they do it, but it's controversial. Like we are in the middle of the open source movement, the free software movement, and the political things. And we need to convince everybody that this is you get impact. This is how.

Carlton (31:48)
Yes.

Yes.

Samuel Paccoud (32:00)
You keep control of your software, of your data. Yeah, so our success gives us this strategy a voice. But yeah, but I wasn't sure when I applied it that it was going to work. I can elaborate a bit more if you want on this strategy, but yeah.

Carlton (32:08)
Yes.

Well, it

seems you have to build on the successes one at a time, right? You have to, you know, get documents out the door and look, it's working and people are using it and it's, you know, within our own control.

Samuel Paccoud (32:23)
Yeah, you have to convince.

Yes.

Yes. Yeah. Well, when you succeed something, then.

people start to think that, okay, they misunderstood something. If not, they will think they are right and you must be wrong. So when you succeed something, then we can talk again that, okay, see this thing you said that I was going to fail, but in fact I succeeded. So that's why I succeeded. Do you agree with this? Okay, yes, you agree with this. So now I propose that we go this way. So that gives us opportunity to maybe build what, like, you know, it's very interesting that.

Carlton (32:52)
Okay.

Samuel Paccoud (32:59)
Some people come see me and say, OK, we were trying to do this for 20 years in France. We didn't know how to do it. Please explain how you did it, because we want to apply it in other sectors. What's the recipe for this? And the recipe is, there's a big debate here on the make or buy. When your government should be coding. People will say, no, as government, you shouldn't be coding. You should just be.

Carlton (33:18)
Yeah, yeah.

Samuel Paccoud (33:25)
defining the specifications, the interfaces, the standards, and that's it. Your job is done. So maybe in some countries, that's, that's what the role of the state is, but in France, the state sector is much, much bigger. Like, yeah, we were saying like 6 million agents. ⁓ and I don't think we, and the history proves that when you, you're not coding and you're trying to regulate stuff and.

Declare standards and specifications. If you're not coding, you have no idea what you're talking about. you know, AI is coming. And I also have no idea before I start coding what, it's, what it should be. Now we, we are working on interfaces. I was mentioning that now that we succeeded some applications, we want to make them interchangeable so that when people sell digital workplaces, we, have a standard that we want to call open bureau.

And if you comply to these standards, you can change a drive for another drive, a video conferencing for another video conferencing and we work in your digital workspace. when we started building this, we realized how difficult it is because it's not just saying that's web dive or that's FTP or whatever. You can't just say that you're you, if you don't trust your, the drive doesn't trust the video conferencing application need to go down to the scenario.

Will (34:43)
Mm.

Samuel Paccoud (34:45)
You need a token for, and you need to know what you will allow one application to do in the other application on behalf of the user or how long a little bit like the S3 policy, know, S3 policy, can craft a S3 policy, but you will say you're allowed to push a file at this place at this path. This maximum size, this type of file for you have 30 minutes to do it. And then that's it.

Will (35:10)
Yeah.

Samuel Paccoud (35:12)
So you go down to the scenario and you say, okay, this is how it should work. But if you're not the developer doing it, how can you specify it? So I'm trying to tell people, can't, if I don't make, can't buy, if I don't make, can't specify.

Carlton (35:21)
You're not.

You know, that's exactly it. That's exactly I'm so I'm obviously from Britain originally, and the opposite approach was always taken. Let's, let's just outsource everything. Let's do it all in the private sector for efficient and you know, and, you know, that like all things, you can swing the pendulum one way or the other, and it can go too far. But the reality is, you can't specify software with sufficient clarity to be able to outsource it totally. And so you end up with, you know,

history of British IT projects over the last 30 years has been one of overspends and know miss miss specifications and then you know budget doubling and all the rest.

Samuel Paccoud (36:02)
Thank you.

Will (36:03)
Yeah, but

I think what's missed in that is like, it's not just incompetence, like the corruption is the point.

Carlton (36:07)
No, it's

Samuel Paccoud (36:09)
There's also corruption, there's also, there's both. There's, yeah, there's everything. There's a bit of everything.

Will (36:12)
Yeah. Yeah, I mean.

Carlton (36:14)
Yeah, no, mean, the

barricades will, yes, absolutely. But it's also it's a kind of logical impossibility to specify the software upfront until you're in the weeds writing it, right? It's something that we have at the smallest scale. We're writing our own applications, but it must apply a hundredfold at government's.

Will (36:18)
Yeah.

Samuel Paccoud (36:18)
Yes.

No.

Yeah. So, and, and another thing is when we started coding, some people said you need to give us orders. And so maybe they're right that it's important to, to that public sector is not going to do everything on its own. And I always thought of like, if I succeed, if I want to succeed last week, I cannot just succeed in the French state. If I do this in five years, someone will come and say,

How come the French state has its own digital workspace where everybody's doing something else? So the project can only be, we are building tools for our agents, but building it with open source, mean, money should go to public code and our ambition should be to make an alternative to what the hegemons we have today that pose a sovereignty issue.

Carlton (36:59)
Replace it,

Samuel Paccoud (37:24)
And so we want an open software, we want open software in Europe, we want diversity and this is the only success. We can't have success if we don't manage this. And so that when you say that, then your project has become 10 times harder. So, ⁓ and that's why I'm doing a lot of politics because I can't just succeed by coding stuff that my users use. I need to code stuff that the community take, that other government takes.

Carlton (37:41)
Yeah.

Samuel Paccoud (37:52)
private sector takes that everybody should be able to get value from it.

Will (37:59)
Yeah, I mean, this is the problem of success. You're asked to boil the ocean. You succeeded in one thing and then nine more problems and yeah, it's a success problem, but still a problem.

Samuel Paccoud (38:12)
Yeah, but we had the bigger problem. we are in a better place now than two years ago. We still have a lot of work. where would we be if we hadn't started two years ago? Like when I joined, there were already two ministers in France who asked for derogation to use Office 365. And all the other ministries were asking derogations as well.

Will (38:15)
Yeah.

Carlton (38:25)
Okay.

Samuel Paccoud (38:37)
Now no one is asking their obligations and they give us part of the money to build a suite. So we are in a better place and we think if we continue, we are allowed to continue and grow out of the state. ⁓ It's always something that will be good.

Carlton (38:44)
That's magic.

That's really building a common, that's really building a digital commons at that point. You know, something of value, not just for the citizens of Europe, but for anyone anyway. So that's fantastic. Can I ask you, you know, was it just your historical background that led to Django or, know, it's, you know, why?

Samuel Paccoud (39:11)
Okay.

In my case, why Django? It's my brother. So I would need to ask my brother, why Django? I think he was doing Python and yeah, I think why I stick to Django is maybe like I was saying, my background was, I was, I had an engineering background, but not a developer. And, and, and so I wanted to make things done. Like I wanted to make things.

Carlton (39:19)
Yeah.

Yeah.

Samuel Paccoud (39:38)
And I was less attached to the tech than to what I could do with it. And then that's what I like in Django, right? know, the efficiency batteries included, can ship some things. I really love the, also, I always liked the Zen of Python. In code. I feel that's, that's more than the product. Like, like it's more than the code is, is the community. I don't know. think it's.

Carlton (40:03)
Yeah.

Samuel Paccoud (40:05)
elsewhere in the world, are bigger Django communities, but in France, it's, it's really small. Like in France, PHP has remained bigger than elsewhere for many reasons. So the Python and Django community is a very small world where everybody knows each other. It's like really a family spirit. And so I was attached to it like very fast. know, more or less I was a freelancer. So more or less, know, everybody.

Will (40:13)
Yeah.

Samuel Paccoud (40:32)
And there was really like a quality approach to code. And that's how we existed. Like the Django community 10 years ago existed by the, in making things differently than the rest of the world. That's why I liked. And now it's the boring tech. It's really, it works. It will work in 20 years. The solution for every, every problem is, it's already solved in a elegant way. I mean,

Carlton (40:52)
Yeah.

Samuel Paccoud (40:59)
That's not the, that's the second best tool for anything. AI, AI for me is making the choice of Django even more obvious because it's the same engineers. And you see a lot of people from the Django community who have now moved to the AI community. When, when you go to Python, I went to Europe Python in 2021 and before chat GPT and yeah, it was already, everybody was talking AI.

Carlton (41:02)
which is not a thing to be.

Samuel Paccoud (41:27)
We have huge community around AI in Python. So it makes a lot of sense to do Python today and together with Rust. think it's really also, it makes it maybe future proof. It could be discussed, but I'm still, I still feel very comfortable with this framework.

Carlton (41:39)
Yeah, right.

Okay, cool, cool,

Will (41:44)
I think that outside

of the US and China, France in AI has Mistral, has Hugging Face. It's very strong. would say it's number three just in my head in terms of public facing companies that are doing cutting edge AI stuff.

Samuel Paccoud (42:01)
That's more on the mathematical, I would say. It's more the mathematical education than the Python, than the coding. I think so, because all the people you mentioned, they are from the same school in France. there's a very, yeah, maybe.

Will (42:17)
Yeah. Well, let me

make a specific question. You had mentioned at the beginning, adding AI-enabled features to LaSuite. ⁓ How are you doing that? Is that local models? What models are you allowed to use? I assume maybe not anthropic. That's a sovereignty question.

Samuel Paccoud (42:38)
No,

no, we don't. We don't use SAS. We run models locally on our infrastructures. So we run them on Kubernetes. It's become quite easy now with a lot of tools in Kubernetes to do that. So we run models and we run all types of models. Like we can run a whisperer. We have also live transcoding, LLM, LVM.

Any type of model we could run, but our approach to AI is we know our limits. are not AI engineers and we try to use AI for use case. We try to not invent a use case and we take an existing use case. Something that really works or already works obviously, and we try to bring it to our tools. So for example, in video, we will bring transcription, live transcription.

Carlton (43:11)
Right?

Yeah.

Samuel Paccoud (43:30)
⁓ Asynchronous transcription and live transcription summary of the transcription. ⁓ In docs, we have basic editing features like text generation features. ⁓ And in files in the drive, we do a rag. We try to index to make semantic search. We...

We try to work on OCR on indexing any type of documents efficiently. So these are all use cases that are mastered and that really you just need to run the model and make a little bit of identic or a little bit of ⁓ front end and make it work. ⁓ That's the approach we have now. ⁓ As it works, but we could be better. Yeah, we would need some help.

Carlton (44:15)
Okay.

Samuel Paccoud (44:21)
We could take some help on this part of our products.

Carlton (44:25)
But I look at the products coming out of, say, the glossy device company from California and their AI doesn't seem any better. ⁓

Samuel Paccoud (44:38)
Yes,

some people come and say, Hey, we come from this tool and we went to docs and wow, your AI works better. But we only use open source models.

Carlton (44:48)
So,

Okay.

Will (44:51)
I think that's the future. We could talk longer about that. Even at, I work at JetBrains, which makes IDEs, PyCharm, and you can bring whatever model you want. So you can bring private models, you can bring open source models. I think, I mean, the inference costs alone every three months, I think are dropping dramatically. So I suspect that will be more and more important for cost, for security. ⁓ And they're good enough.

a lot of the times. I think it's getting better.

Samuel Paccoud (45:19)
Yeah, I

There's one thing in which I believe in AI is you see a lot of experiments and a lot of people will show you cool things with AI, but do they control the code? Do they control the data and the people's access to bring AI on people's documents and on people's workflows, everyday use of the tools? if your people are, if everybody is in Office 365, then...

You don't choose the model that they'd be using. So why do you do all these AI projects? Because your people are everyday the tool, which you don't control. You can either pay the AI feature or don't pay it and you don't get it. ⁓ we, we believe also that because we do the infrastructure stuff, because, because we do the structural stuff and control our data and our users, we'll be able to bring the use case and to bring usage to the models that we run.

⁓ and something that we see very few people manage, ⁓ doing and that we are able to do is that our applications, ⁓ we have OIDC to authenticate our users in each of our application and not only our application, any application in the French state, which decides to connect to our SSO is in this federation in this OIDC federation. And we use one.

spec of the OIDC, ⁓ one part of the OIDC spec, talks about server to server, ⁓ authentication. And so when someone is logged in on one app, the server of this app can make a call to another app on behalf of the person who is logged in with the special access rights, which I was mentioning to secure with them. We can get a token for a special use case.

And so we are able to tell any application in the French state. We'd get the right to push a file to our drive on behalf of the users that is logged in. And so this also applies to our chatbots and to our global search index. We like, I know Google did it 20 years ago, but with French agents still don't have, didn't have it. So now we have a global search with semantic search with AI indexation.

Will (47:29)
Hmm.

Samuel Paccoud (47:32)
And whatever, whichever application, is on our, so can push data to this global search. And then users can query this global search from another application on behalf of the user. Our chat bot has tools that can interrogate this. So this search with the access right of the user and this very people know how to do that. ⁓ So, mean, safely with,

Carlton (47:58)
Okay.

Samuel Paccoud (47:59)
keeping control of your data and allowing your users to query that live. I don't know if I explained it well, but yeah.

Will (48:05)
No, you did that. That's amazing.

Carlton (48:05)
Well enough,

Will (48:07)
I worked at a startup 10 years ago that was trying to do that for bring your Google in, bring your Dropbox in, bring all your things in and have one search box for everything. And the permissions were difficult. They used Algolia, which is that French as well, think originally. ⁓ So it's a really good idea. And it's very, very difficult to do, I guess is what I'm trying to say, because I worked on it a little bit and it's difficult.

Samuel Paccoud (48:22)
Yes, French. That's our inspiration for Global Fine.

Actually, it's

not that hard when you control, if you control, use up, we use open search. basically, okay. I did this, this project. started this project in just two weeks. It's very, very basic projects is in the hundred lines of code. It's called find. can find it in our GitHub. It's called find. It's basically an open search with two views. One to push that up to push that out. You, need to have a token.

Will (48:34)
Or, yeah, when you control, maybe it's easier.

Samuel Paccoud (48:59)
A service account and any app that gets a service account can have its own index and push that up. that's very basic. And on, on the front end side for queries, we use this resource server, this OIDC resource server specification. And then it's really easy because you just need a field for each document that's being pushed. We have one field with the users, with the list of users who have direct access, specific access to this document. We have another field for any group.

that have access to this document. And we have a few flags to say if it's public reach or it's not, not, it could be not restricted to these people or to these users or groups, but it could be public. And with just this, we're able to secure access and make a search that is restricted to what you can access. So it's really actually really basic. And the resource server part is the specification.

We have a few classes, ⁓ a few hundred lines of Python to check those tokens with the OIDC provider, but it's really not rocket science. that, that's really, really gives you a Yeah.

Will (50:02)
It's very, very cool though. It's very cool. Even

someone who doesn't know how to code, that solves a big problem for them.

Samuel Paccoud (50:10)
Yes,

that's a big problem. And if you don't know how to do this, you know, I see some colleagues who come up with, we have this AI demo, it's really cool. And then tell them, okay, how are you going to plug it? How are you going to give it to people and plug it to their tools? And then it becomes much harder.

Carlton (50:28)
Okay, so can I ask what's on the roadmap for La Suite Numerique because you seem to have gone from strength to strength and what's next?

Samuel Paccoud (50:35)
One thing that we

miss and that people are asking us a lot is we have the chat, but we have the chat, sorry, the instant messaging and we have video. People are asking for teams, basically for chat for Slack, the Slack experience. So that's something people ask. ⁓ And that's something we don't want to leave unanswered. So yeah, that's, that's something that's next for last week.

Carlton (50:49)
Yes, like what games go.

Samuel Paccoud (51:02)
we don't know yet what technology and maybe that's one of the weakness in Django to everything web sockets, you know, at scale. So we don't know yet whether we use metrics, whether we'll use something like Kpop, so another language. We're not sure yet. We know Django is not the best tool for that at the moment with channels. ⁓ and maybe I missed something and I'd be interested if someone thinks that.

Carlton (51:28)
Well, it's the ease of scaling that's, mean, you know, there's, the tool I'm looking at at the moment actually is called Hornbeam, is written by ⁓ Benoit, ⁓ whose surname escapes me this moment, but he's the maintainer of Gunicorn for a long time. And he's put out an Erlang server ⁓ with Python integration ⁓ as well called Hornbeam.

Samuel Paccoud (51:29)
There's a way to do it.

yeah, yeah, yeah.

I saw him in FOSDEM,

I met him in FOSDEM but I didn't know he had this project.

Carlton (51:56)
But

that's a lovely looking project in terms of if you want the kind of low latency, ⁓ high concurrency environment of Erlang, and then you can have your application logic in Python doing your normal thing. So it's a server called Hornbeam that I've been eyeing up very, very much.

Samuel Paccoud (52:14)
Okay.

So another thing that we're working on now, but it's quite advanced. are finalizing the first box proof of concept is, ⁓ end to end encryption on all our tools. So, yeah. So like, ⁓ we'll have a enrollment to get your private key and we have, ⁓ yeah, multi-device enrollment on to get a key. And once you have a key globally for the suite, any application can, can ask for, to encode something in the browser.

Carlton (52:24)
Okay.

Samuel Paccoud (52:44)
When we did our application, thought of, thought that we knew that we wanted to go this way. So dogs, drive, is already planned to be encrypted. Like, like the server is dumped. So that's one thing. We also have a big challenge to of course, continue growing the community, continue getting more active users in the French States because that's how people evaluate our work.

Carlton (53:11)
Okay, so there's the entry point for a question then is okay, Django users listening to the show think, and I want to check this out. What's the entryway to Last Week's community and to get involved and...

Samuel Paccoud (53:24)
Probably our GitHub, github.com slash suite numeric. Maybe you can give the link. ⁓ From our GitHub, you can see the different projects and on the readme's you find the metrics channel. can open issues. can talk to us like this. You can find us on maybe on social networks, mastodon, ⁓ Twitter or LinkedIn.

Carlton (53:29)
Yeah.

Samuel Paccoud (53:51)
⁓ yeah.

Will (53:52)
That's what you need. You need to make

a social network for the French state. Something that's not some of those.

Samuel Paccoud (53:56)
Okay,

one thing that's happening that we didn't talk about is that we one thing that we succeeded doing with other European countries is we did an edict. It's a European infrastructure ⁓ consortium. Yeah.

Will (54:11)
I saw this. Because

you gave a presentation. I'll put a link with a ⁓ German colleague, I think.

Samuel Paccoud (54:17)
Yeah, Yeah,

but that just started. The edict was created end of December 2025. The new director has just been appointed and we will start working. so the edict is here to organize ⁓ investment in commons at the European level. And there should be big financing coming and that could be piped to this consortium.

So we hope cross fingers that the European Commission has announced that they want to push open source at the European level. So the edict is a good vehicle for this. there is a strong, strong will to push social network, open source and more. There is this will. I'm not sure it will be our team. I don't think it will be done at the French state level.

Will (55:03)
Mmm.

Right.

Samuel Paccoud (55:13)
Once you have this headache with financing inside, I think it goes much beyond what we can do inside the French government.

Carlton (55:22)
I mean, there's been a lot of ⁓ good stuff come out of I think it's the German sovereign tech fund, which is in a similar space.

Samuel Paccoud (55:28)
Yeah, that's, I love this.

really, I love, and also NGI. Do you know NGI?

Carlton (55:36)
No, I haven't heard of NGI. What's that one?

Samuel Paccoud (55:38)
It's an internet. Okay. I'm not sure. That's okay. So rent tech fun is to, to ⁓ finance the maintenance of core open source libraries, like FFMPEG or SSH, these kinds of core projects. And they give, they just give them money and they evaluate their success by the impact on everybody in the companies who have dependencies on these libraries. that the project is really to.

to make it more stable. And then it's financing very small projects that most of the time is like a group of two, three developers who say, hey, I'm going to code a new object storage, decentralized object storage with rust. And they say, okay, we give you 50K for that. And they literally take two days to decide to give you 50K and then.

Carlton (56:26)
Okay.

Samuel Paccoud (56:30)
And then they are really, it's done by developers. done by really technical people. So they really look at your code, pull your pull request. going to really a technical evaluation of what you did. And so it's really efficient way to finance innovation, open source innovation. And a lot of projects that we use in last week are come from an internet. So for example, in docs, the editor, the block note editor.

Carlton (56:53)
Okay.

Samuel Paccoud (56:57)
financed by an internet. It's a Dutch guy who was financed by an internet. ⁓ There are many small projects that come from this financing.

Carlton (57:05)
This is

Will (57:07)
Yeah, we'll

put a link to it. see that I think their budget is a lot bigger than the sovereign tech fund. It's maybe 10 times bigger. So Carlton, you should apply.

Carlton (57:15)
⁓ Maybe, maybe, maybe. I think that's for young people.

Samuel Paccoud (57:16)
Definitely.

And, and then it could be like what we think, like there's one, thing that is in between and that we need to finance more is the project that is not just getting started and in more than 50 K. For example, like let's say social, social network likes talk about master done or whatever other software that's here or platform that's here and that could grow or that could.

Carlton (57:38)
Yeah.

Samuel Paccoud (57:48)
that would need financing. The could be doing this. It would be cross-border projects that need to get more traction and get bigger. Digital workspace is one. Cloud infrastructure is another key sector to boost. AI maybe, but AI is capital intensive. maybe the...

Carlton (57:59)
Yeah, OK.

Samuel Paccoud (58:12)
we will burn a lot of money and have less impact. I would say digital workspace is one first thing to succeed, to have a strong structure, know how to take care of your data and host your projects. Yeah.

Will (58:29)
Do we wanna do the, yeah, projects and books ⁓ just as we finish up? Maybe, I think, do you wanna go first? Is there a book that you wanted to recommend, Samuel, to listen?

Samuel Paccoud (58:40)
Yeah,

among tech books, there's one book that really saved my life. So I recommend it to anybody who's talking to me about tech more than two minutes. ⁓ That's the Mikado method. ⁓ I don't know if you read that book. No?

Will (58:53)
Hmm. I haven't read it. Carlton, must have read it. You haven't

read it? Yeah, I'm going to buy it. Yeah.

Carlton (58:57)
No, I haven't but I'm going to. ⁓

Samuel Paccoud (59:03)
So me, when I joined the university numeric, had this big, ⁓ this big project, legacy projects. It was a fork of open edX and it was really open edX, a huge code base. I had like thousands of commits of fork on open edX and

Will (59:16)
Hmm.

Samuel Paccoud (59:24)
something like really, really stuck in production with 3 million users. you, I came to this project, everybody had left, like all the developers had been fired. And I was like alone with this huge code base. And I thought I'm really good at Django, you know, but when I look at the code base, don't understand anything. It's not the best practice code. Like open edX has come some really, really complex parts. And, ⁓ and.

I was really depressed about to... There were two CTOs who resigned before me after taking the job. They stayed two months and they resigned. I was the third one to cry. Yeah. And I told my brother about this and he said, okay, you should buy this book. This book is awesome because you know the game, the Mikado game where you have all the sticks. Yeah.

Carlton (59:58)
poison now.

You can only

move one at a time.

Will (1:00:13)
okay. Yeah, okay. Okay. Yeah.

Samuel Paccoud (1:00:15)
Yeah. You

have all these things, you, you put them on the table. They are how do you call intertwined. And, and then you try to take one without moving the others. And that's what you're trying to do with your code. You try to find this stick that you can take. And then once you manage to take a stick without breaking all the rest, you build, you build it out of the monolith. And so that's what I did. I did for six years. And what it's really interesting is that.

Will (1:00:19)
Yes. Yeah.

you

Samuel Paccoud (1:00:42)
from day one, you're able to take a Mikado and prove to your management that you're moving ahead. Like when they hired me, they said, we are not able to change, come up with one feature in one year. We are stuck with this code base. If you touch something, it breaks. Yeah. So once I find a Mikado, like one month in the job, I was able to say, okay, you have a new tool. Now you have a new feature in this tool because I built it aside. And then.

We kept on taking Mikado and eventually rebuilt. ⁓ Of course it becomes ⁓ a ⁓ microservice infrastructure because you take your Mikado and make services. But from day one, have impact. As a CTO, you can prove that, okay, now I'm fluid. Although you don't understand a word of all these monoliths. So this book is game-changing for someone who really comes to a big legacy.

Will (1:01:30)
Yeah.

Samuel Paccoud (1:01:34)
code base and to show what they can do.

Carlton (1:01:38)
I'm actually having flashbacks as you're describing the situation of trying to extract this one bit of code. I'm like, yeah, I need this book. I'm definitely going to buy this. ⁓ So good.

Samuel Paccoud (1:01:44)
Thanks

And it's worse if you don't have tests. If you have tests, maybe it's too easy.

Will (1:01:51)
Ugh.

Carlton, you go.

Carlton (1:01:52)
But can

always write a selenium test around the outside or something, right? There's something horrible that goes...

Samuel Paccoud (1:01:57)
Yeah, the

books give you detailed techniques of how to, you know, they have a technique where you pull the Mikado and if you see that too many things come together, you just roll back. just, yeah, you just get reset and then you start another way. You start another way. You start, they have a whole technique to say, oh, maybe this is a good way. It's really smart. I like it.

Carlton (1:02:05)
He put it back.

Yeah, yeah, good, perfect.

Okay, I'm order that later as soon as we're... Okay, great. So my book is Girl with the Dragon Tattoo by Stig Larsson, which I just picked up. I saw it on Kindle. thought, I'm gonna get that. was the Millennium Series trilogy, the Millennium trilogy. I'm fairly sure that Paolo Melichori has mentioned this as one of his favorite books. And I saw it and I was like, it's on special. Right, I'm gonna...

Samuel Paccoud (1:02:19)
Literally saved my life.

Carlton (1:02:41)
I'm going to get that and it's good. I'm enjoying it. I'm just having a couple of, you know, a couple of quiet, a couple of quiet weeks away from the textbooks. I'm reading those. Yeah. It's a.

Samuel Paccoud (1:02:49)
Can you put it in the comments as well?

Will (1:02:51)
Yeah, we'll put

up... Sorry guys.

Samuel Paccoud (1:02:53)
You're put

it.

Will (1:02:53)
Put it in the show notes? Sorry, I don't understand what. Yes, yes. yes.

Carlton (1:02:54)
comma.

Samuel Paccoud (1:02:56)
Yeah, in the notes. Yeah, I didn't get the title, so I'm just...

Carlton (1:02:58)
Yeah, it's called

Girl with the Dragon Tattoo or in other languages, I think it's called the Men that Hated Women or Didn't Like Women or something like that. I think that was the original.

Will (1:03:09)
It's like 15

years ago, I think it was a big, big thing, maybe 20.

Carlton (1:03:13)
yeah 20 maybe

yeah but yeah I mean there were films a bit and all the rest but there's a trilogy and the trilogy was all in one I was like oh I'm fairly sure I've heard Paolo ranting about how he loves this set collection of books so I

Will (1:03:16)
Yeah, I read it.

Well, the protagonist

is a female coder, right? So you have to love it, right? She solves problems with code. Okay, I'll go. I'm going to say a non-tech book, ⁓ A Confederacy of Dunces, which is not a new book. It's an American book about politics. And ⁓ I'll just say it seems still ever more relevant. Plus Γ§a change. So ⁓ it's a very good book. I'm reading it again and ⁓

Samuel Paccoud (1:03:32)
Thank you.

Carlton (1:03:45)
ever more relevant.

You

Samuel Paccoud (1:03:53)
It looks really big. it's thick. No? OK. OK. I thought it's here.

Will (1:03:55)
⁓ no it's...

No, I had it close to the camera. Yeah, no, it's a classic. It went

a Pulitzer Prize and

Yeah, I will refrain from saying more. Quickly, projects. I'm going to highlight Django Live Translations. I'll put a link into the show notes. This is a very recent project ⁓ in browser translation editing for Django Super Users. I will give it more of a play. But anything that does translations is interesting to me. So I'll put a link in that. Either one of you.

Samuel Paccoud (1:04:05)
You

Carlton (1:04:28)
Yeah

Samuel Paccoud (1:04:32)
About a project? Yeah, we mentioned

earlier like Django Bolt. That's project that really got me excited when I read about it. ⁓ Like I said, to really use it with Last Week, it's quite a rewrite. But maybe with AI we can put it off.

Will (1:04:50)
Well, mean,

Carlton (1:04:50)
Ha ha ha.

Will (1:04:51)
think

Farhan, we had him on the podcast who created it. I believe he's still taking freelance opportunities. So maybe a special project he can do it.

Carlton (1:05:01)
I will mention, since you've mentioned Django Bolt, saw today on LinkedIn that he's got sponsorships available now for the Django Bolt project. know, any listeners who are interested in that could help out by just taking a small sponsorship for hand there for his work. Keep it going.

Will (1:05:17)
Yep, he got his first one. I saw that.

Carlton (1:05:20)
My project is related. It's, uh, it's, I'm going to, want to mention the tech and power benchmarks that have been the, big, um, web, web framework speed off for the last 10, 15. I can't remember how many years they've been around, but they've been around for a long time. And just wanted to call them out because they're being sunsetted and there was a pull request opened or an announcement open that they're being sunsetted there. And it's been like, wow, that has been a sort of, um, sort of pillar in the API frameworks discourse for.

ages and ages and ages, yeah, the tech, tech and power benchmarks. So pour, pour one out for those. Cause that's been a decade or more of really good work for the community.

Will (1:05:57)
We'll put a link to that.

Samuel Paccoud (1:05:57)
Adieu, Nob.

Will (1:05:58)
Was that new to you, that benchmark?

Samuel Paccoud (1:05:59)
I didn't know it. Yeah, it's new to

me. didn't know. I'm going to take a look.

Carlton (1:06:01)
But it's worth checking.

They've got these crazy, crazy frameworks written in assembly language that can do 85 million requests a second on a single socket or I don't, you exaggerating, but this kind of.

Will (1:06:13)
Okay, guess last, sorry, very, very last question, Samuel. Is there any, if there's something about Django, if you have a magic wand, one thing you can change, what would you like to change about the framework?

Samuel Paccoud (1:06:25)
What I was mentioning earlier, like better support for WebRTC.

No, sorry for WebSockets scale. Maybe I'm not up to date, when I...

Will (1:06:33)
Sockets, sockets, yeah, yeah.

Carlton, you're still maintaining channels,

Carlton (1:06:41)
Yeah, no, mean,

I think mean, flat on, so I think channels is perfectly capable. It depends on, you know, what you're trying to do, what throughputs, etc. But yeah, I mean,

Samuel Paccoud (1:06:52)
We were running Django channels at scale on my previous job with the same team. And when I, the other day said, okay, let's, let's use it again. The engineers who were taking care of the project said, well, no, I don't know exactly what, what, the problem was, but they say it was not easy to scale and was not optimal. Maybe I would, I, I am pretty.

Carlton (1:07:07)
Okay.

pretty sure that.

Samuel Paccoud (1:07:18)
There could be some

native native more native support for this in Django at scale. Like for sure it could be proof.

Carlton (1:07:23)
Well, yeah,

I think the issue is ultimately ⁓ about the need to jump. It's not about channels. It's not about the web, you know, the WebSocket implementation around channels. None of that. It's about the need to handle the sync to async jump in the ORM. And that's the same everywhere. So completing the ⁓ ORM's async story is ultimately what's the difficult bit.

Samuel Paccoud (1:07:40)
Yeah. Yeah. Yeah.

Yeah, that's

support for I think overall in Juggleware.

Carlton (1:07:53)
Yeah, it's that the bit of the async story that's still being completed is the async support in the ORM. It's down to the cursor level because the cursors, even if you've got async cursors, it's still a synchronous connection. Like it's just that that's pushed into the PsychoPG library rather than into the Django or the Python. No, it's making it's taking over is making progress. It's coming along. There's a nice

Samuel Paccoud (1:08:13)
Yeah. And would you say that we are making progress and it just takes time or are we stuck on it?

Carlton (1:08:23)
But there's a third party package now, which is, it's got a kind of proof of concept stage there for fully async down to the cursor level. But then as people are exploring it, they're like, but this is happening and this is happening. And those, those really hard issues are, ⁓ coming up. And this is why it has to be done in a third party. Cause people, you know, people always like, why can't we merge it straight into Django? And the bottom line is because we can't experiment in Django, the stability guarantees and the life cycle are too long.

Samuel Paccoud (1:08:39)
Yeah.

Carlton (1:08:53)
And so there's this third party package. Yes, yes. Yeah, no, exactly. Yeah, it's coming. But the context managers around which context you're sharing the connection between and do you need to maintain the same connection for multiple calls into the ORM over the lifecycle of that single?

Samuel Paccoud (1:08:53)
Yeah, it could eventually land into the core later, like south of this.

Carlton (1:09:19)
there are so many weird edge cases. And the bottom line is there aren't really any async ORMs out there. There just aren't. So I think a lot of people that are doing async code at scale, they're doing it with raw cursors rather than using an ORM.

Samuel Paccoud (1:09:21)
Yeah.

Please remind

me that when the edic is, if the edic works, that will be one of the projects that we should found. We should found that there will be a huge impact. So.

Carlton (1:09:43)
Right. Okay.

Okay. Okay. Yeah. No. So, okay. When you get up and running ping this and we'll see if we can get an application.

Samuel Paccoud (1:09:48)
Yeah. Yeah. I think, I think now with the Django in last week, we were greatly tied to Django's future. yeah, we definitely interested to support this community.

Carlton (1:10:00)
Yeah,

I mean, I think if we can get the ORM story down to the cursor level, I think working with the context managers that you need and all the rest of it, if we can get that story finished, then the async story is complete. ⁓ And it's not at the view level, that's all working perfectly fine. It's that when people need to call to the ORM, they do an async to async, and there are complications around that.

Samuel Paccoud (1:10:21)
Yeah.

And then one more thing, if I can add one more thing on typing, like, I personally didn't, I'm a bit like, David Kramer's take to say, okay, okay. He said, I'm not going to Python anymore, but I'm not down to this level, but.

Carlton (1:10:28)
Yes.

Samuel Paccoud (1:10:41)
developers around me, ⁓ really into typing and I didn't, I didn't convert this. So I have big questions about it. And with AI, I, I feel maybe, ⁓ it's, you know, we, one way, on one side, we say we were going to stop writing code. And now the other way we, we, we make the writing the code more painful. ⁓ like I, I.

In open AI SDK, I've found one, one day I was in the file in the open AI SDK where there were literally like 1000 lines just for the function declaration. Like, you know, the type, the type of the function, was up to 1000 lines. And I thought to myself, well, this is going too far. What are we doing? Like I really love the Zen of Python, the readability, the.

Carlton (1:11:21)
Yeah, right. Okay. Yeah.

Samuel Paccoud (1:11:35)
Easiness and like typing for me. ⁓ It doesn't, I don't, I think we made it. At least I I'm not using it and I, I find it hard to convert to this. So maybe AI and AI is not going this way. It's yeah. I should understand types should be able to add types without me. Like that's one of the things where I'm not sure I would like to.

I'm not sure where we should go on this.

Carlton (1:11:59)
Yeah, I give it, this is one of my topics I've got at the moment. I gave a talk recently at JetBrains Pi TV event in Amsterdam that perhaps we'll put the link again in the show notes. my talk was, but it was called the Static Islands dynamic C and the idea is that Django's core is designed around dynamic patterns. And so it's going to be very hard for us to add, you know, type hints there, we'd have to rewrite the whole thing basically. on top of that, we can put, you know,

nice static islands where they help, but the question is where does it help? know, nice data classes that have, you know, the type annotations in there that tell you those are useful things.

Samuel Paccoud (1:12:29)
Yeah, and say lasers, yes, fine. Yes, lasers, let's do it.

Yeah, yes, yes.

So that's one thing.

Carlton (1:12:41)
is knowing where to hold the line. I think if we try and retrofit typing into the core of Django, we will struggle because it's deliberately built around patterns which Python's type system can't express.

Samuel Paccoud (1:12:53)
Yeah. Okay. No, I'm not competent on this subject. I'm just hoping that you don't ask me to write function definitions that go up to the 1000 lines. Okay, if AI writes it for me, why not? I'm going to stop reading Titan as well.

Will (1:12:53)
Well, that sounds like a whole other episode. ⁓

Carlton (1:12:56)
You will have to come back on,

No.

Samuel Paccoud (1:13:15)
But yeah, read something David Kramer said something like this. thought, okay, at least one guy agrees with me.

Carlton (1:13:21)
David's always good for a controversial point as well.

Samuel Paccoud (1:13:24)
you

Will (1:13:24)
⁓

Okay, in the interest of time, ⁓ we will have links to everything in the show notes. Samuel, thank you so much for taking the time to join us and thank you for all of your work. It's very inspiring to see what you and your team have accomplished.

Samuel Paccoud (1:13:34)
Thank you so much.

Yeah, I hope we go much further and yeah, I love being in this community. I hope that there's a lot of nice things coming for our projects.

Will (1:13:53)
All right, ⁓ Djangochat.com and on YouTube and we'll see you everyone next time. Bye bye.

Samuel Paccoud (1:13:58)
Thank you. Cheers.