Exploring Nix: an in-depth look at open source contributions - Podcast
Embark in an unconventional open source journey with Pol Dellaiera in episode 5 of the chmodcast. It all starts with saving every euro to buy his first computer as a kid… Then it goes to Drupal, Symfony, and now Nix, where Pol’s contributions as a maintainer with commits rights make the lives of PHP developers easier than ever. Package manager, operating system and even functional language: Nix does it all. Let’s dive in!
Podcast transcript
Marine: So I'm here at SymfonyCon in Brussels and I'm joined by Pol. Hey, Pol.
Pol: Hey, hello.
Marine: Thank you so much for joining me. I'm really excited because I asked you last minute, kind of.
Pol: Yeah, indeed.
Marine: But you were available and willing, so I'm super excited to talk to you today. Just to start, can you introduce yourself?
Pol: What do you do? So I'm Pol Dellaiera I'm extremely excited to be here as well. It's the first time that it took me roughly 25 minutes to come to SymfonyCon.
Marine: Lucky you.
Pol: Yeah, and I met some really great people for the first time today. We had lunch together and it's an amazing moment for me because I finally put faces on those nicknames. And we can also discuss things that usually are a bit touchy on GitHub or too long to explain through a message so we can make our points lively. And it's so much better to do that than on GitHub. So yeah, amazing moment right now. And I'm happy to be here. Thank you for the invitation. Even if it was made at the last minute, it's totally fine for me.
Marine: Thank you for being so flexible. So yeah, what do you do? You're talking about contribution. You obviously are here because you do open source.
Pol: So I'm an open source contributor and I started my time in open source with a contribution in Drupal, the CMS Drupal decades ago. And since now four years, I stopped using Drupal for some reason and I am now more working with Symfony exclusively. I'm not into building applications because this is not my strongest asset and it's not what I like to do. I prefer focusing on creating particular libraries and bundles that are fixing a particular problem. And this is what I like to do most. And this is what I do also at work. And this is also what I do during my free time as well. And recently, I cannot say that my career shifted a bit, but basically my free time was mostly into PHP development has shifted more into using Nix, which is a package manager, universal package manager. And I'm having a lot of fun with this tool, which is amazing. I don't know how I only discovered it three years ago. It was released 20 years ago.
Marine: No, really? I had no idea.
Pol: Yes. And for me, it has completely changed the way I see IT and the way I envision the future in IT. And so this is why this is so disruptive. And I'm really happy to be now a co-contributor of the project. I maintain the PHP stack among other tools as well. I think I have more than 1,000 commits now. And I was surprised how welcoming the community is and how easy it is to get into the project. So this is really an amazing discovery. And I really like it. I wish I could use it more at work, but this is ongoing, let's say. But yeah.
Marine: Cool. Wow. You already have a long career in open source. I want to talk about Nix, obviously. But first, I'm wondering how you got into open source, actually. Because, okay, you started with PHP, Drupal. How did that happen?
Pol: This is obvious because I started working with computers since I was 10. I am now 42, so 30 years ago. And at the time, we didn't have computers so easily, and it was expensive to buy a computer. So I had to spare a little bit of money here and there. I remember collecting all the pieces of 50, one euro basically at the time. I remember that I had a collection of these coins. And then I bought my computer, but it was a very cheap one and it was not a big computer, obviously. And to run the software at the time, the software were, yeah, it was okay. It was Windows, but I had friends who were using Linux and I didn't know that stuff. And I was like, okay, what is it? And they told me, look, if you have a computer, which is not that big, you can use Linux. It uses less resources. It's another operating system and it's interesting. I am someone who's very curious and I tried. I tried with Red Hat 5, I think, Red Hat 5.2. Then I switched a short time on Debian. Then I switched a long time on Slackware. And then almost 10 years on Gentoo, I think 10 years on Gentoo. I briefly switched one month to Debian and then I used NixOS. And this is the distribution that I use every day now as a daily driver. And this is the best distribution I ever used. A lot of people are saying that Nix is not ready for desktop, but I can tell you that I'm here to say that it's not true. Actually, it works better than other distributions. It's just that setting this up correctly takes a bit of time because you need to tweak a file and then rebuild a new generation of your system. And you have to test like that. And when your configuration is done, you don't have to touch it anymore. The updates are seamless and quite fast and it works. It always works. This is impressive.
Marine: So you started by tweaking your own computer because you were exposed to Linux quite early. That's cool. So you were passionate about computers at a very young age and then you decided to work with them, I guess. How did that happen?
Pol: Yes, I never had the feeling to work first because I am doing what I like. I've always liked computers. I don't know why. For me, this is fun to work with a computer and to do things that it's going to do 20,000 times if needed later on. And I started by coding stuff on the computer and then it became my work. I do my studies in IT and now I work in IT as an external consultant at the European Commission here in Brussels, five minutes away from here. And yeah, for me, it has always been a passion. And I am wondering when I will be fed up with this. I don't know.
Marine: But never, I hope.
Pol: Yeah, I hope.
Marine: So how did you end up doing Drupal stuff or PHP for that matter?
Pol: I ended up starting working with Drupal because during my studies, we wanted to have a corner for the students to exchange information and stuff. And Drupal seemed to be the perfect fit. And I started trying to create a website using Drupal, five at the time. And it was working, but I couldn't understand how people were creating full-blown websites out of it. And I was only able to create a simple blog. And I was like, wow, how do these people are doing? It looks like it has a lot of power, but I cannot basically use it or try to tame it. So I gave up once, twice, three times, four times. And then Drupal 6 has been released. And then Drupal 6 was even better than the 5 and I gave it another try and finally understood how it was working. I started to learn the code to create modules and it was done. I was into it and I could do basically every time someone talked to me about a web application, I was thinking in terms of Drupal basically. Oh yes, there is a module that does that. I can use this for this. I can use that for that. And okay, your website is done. And I did plenty of websites like that and they are still up and running. And my modules that I created at the time for Drupal 6, 7, 8, 9, and 10 now are still being used, except that they are maintained by some other people. For example, the site of the prime minister here in Belgium, the first page that you see when you reach the website is a module that I created out of the blue, just because I wanted to try as a proof of concept something. And it has been created into a module for Drupal 6, 7, 8 and it's still being used now. This is a language selection page which allows you to select your language if nothing has been set previously in a cookie or in the URL or something like that. So this is how I ended up doing Drupal and then doing PHP and then working into this field basically at the European Commission. This is how I got hired basically because I was a Drupal developer and that's basically how it started.
Marine: Yeah, people know that by now, but I'm a Drupal girl myself, so I understand what you're saying.
Pol: Yeah, I remember your talk.
Marine: Yeah, so I really like where this is going. So very smooth evolution. You had a need, you created a website, you were frustrated, so you created the missing pieces basically, and then you decided you would share them with everybody. And then once you're in, you always find something new that is needed, right? There's more than enough work.
Pol: Yes, indeed. Indeed, that's it.
Marine: And so how did you discover Symfony?
Pol: I discovered Symfony because basically I remember that post on the Drupal website saying getting off the island where basically the idea was to use existing components instead of reinventing the wheel in Drupal. And at the time I was not understanding that really well, but now, years later, I fully understand this initiative, which was a good initiative in the end. There's no need to reinvent something that is already existing. It's better maybe to use it and to see how it works internally, to adapt it for our own needs. And this is the reason why Symfony is making most probably components that are basically so flexible that they can be used anywhere else. So that's how I discovered Symfony, and this is where it started. I am not a huge contributor of
Symfony. I've already contributed to small things here and there, and I don't use Symfony very much. I use it only to create bundles, and I don't need to go deeper in the code to do that because I implement my own logic into the bundles. Usually what I do, I create a library which is completely framework agnostic, so it can work on any framework, Drupal, Laravel, or Symfony, and anything. And then I create the bundle that goes around this library. This is what we do also at work. So the stuff that we are doing, which is open source, by the way, can be used and reused by anyone and adapted to any framework.
Marine: So how about Nix? Because you mentioned 20 years ago it was released. I had no idea. So I'm very curious, because can you explain to me what it is? I only discovered it quite recently, and it's fascinating.
Pol: To put it simply for the people that are listening, I would describe Nix as a package manager, a universal package manager that can work seamlessly in the same way on any Linux distribution, including macOS. So it's nice because it is the same command line that you are going to use on any Linux distribution and macOS. So this is already a big plus. Then it can also be considered as a builder, you know, just like a makefile is using make commands, like taskfile is using tasks, like just usually for a Rust project. Also, Nix is exactly the same, actually. It's a tool which is allowing you to build software, to build things, and that's how I usually see it. That's how I see it myself as well. On top of that, Nix is a bit complex for a lot of people because it embodies multiple things, a language, a programming language, which is functional. So Nix is a programming language. Nix is a deployment tool. Nix is a builder. Nix is a package manager. Nix is a configuration manager. So it's plenty of things at the same time. So when I do Nix, okay, what are you doing?
Marine: Exactly.
Pol: And on my side, what I do with Nix, I use it as a builder. I use it as a configuration manager, and that's both as a deployment tool. That's true. I use it like a package manager. Yeah, almost all the points. That's what I do with Nix. But yeah, if I stayed a simple user, I would have used it as a simple package manager. But since I am now one of the PHP maintainers in Nix, yeah, I use it in a more technical way and in depth, and I'm still learning. I'm still doing stupid things sometimes as well. But for me, doing stupid things is not an issue because I consider that making mistakes is the best way to learn.
Marine: Oh, I was going to say that. Exactly.
Pol: So for me, it's okay. You made a mistake. Okay, sorry. I will fix it. But I need to learn what's happening there. And this is it. This is how it started. But yeah, no, this is what Nix is. And how it started now, it started because of work. Because at work, we are using Windows machines, Linux machines, and Amazon machines. And there is no way to align our development environments. So all the people are using their own laptop, the laptop from the commission, Windows, Linux, one is using Debian, the other one is using Ubuntu, the other one is using Red Hat. So how can we make sure that we are all using the same tools? How can we make sure that when running an application on any operating system, it's working? And there is nothing which is currently fixing that at the moment. And yeah, of course, there are initiatives at work who tried to fix the problem by using Docker. And using Docker, we have to admit that it fixed a bunch of stuff, but it's not the best thing. I don't know if you ever tried to develop with Docker. But for me, I don't like to work with inside containers. For me, this is slow. This is adding constraints to the work of developers. And I'm extremely lazy. So for me, things need to be simple, accessible, and documented. And Docker was not that. At least that's my feeling. And there are some other initiatives using Ansible. But I won't talk about that because Ansible is definitely not adapted for what we want to do there. So yeah, some initiatives using Ansible were made, but they are leading to pretty much, they are not fixing the issue that we are having. So this is not really a solution. And I started to investigate by myself. And since I wanted to learn functional programming, I created some PHP package just to learn the concept and to try to do things using functional programming. And then I discovered this Nix. Okay, what is Nix? I never heard about it. And then I tried it. And it was love at first sight, basically. People are saying that if you want to try Nix, you should first use Nix on your own machine, no matter which distribution it is, and then install NixOS, which is the operating build on top of Nix. But I didn't do that. I immediately installed NixOS on top of my old Gentoo, who was completely slow and sluggish on my laptop. I don't know the reason. I haven't investigated what I did. I just bought a new hard disk drive, immediately installed NixOS. And this is still the first installation that I did, which is there.
Marine: Really?
Pol: Yes. And it works perfectly well.
Marine: That's amazing. But you mentioned you have to have a bit of knowledge to actually install it first, right? It's not as friendly as...
Pol: When I installed it, you had to read the handbook side by side and type manually the commands. But since then, now we have a graphical installer that has been released. So it's click, click, click, and it's installed and it works extremely well.
Marine: Okay, so that's much more friendly to newbies.
Pol: If you are curious, I really invite you to test it and to see how it works.
Marine: Yeah, I might.
Pol: This is amazing, really.
Marine: Now I'm curious. Yeah, for sure.
Pol: This is amazing, because your configuration is not volatile. It's in a file and that file can be on a Git repository. So if tomorrow your hard disk drive is failing for some reason, you can restore the same machine, the same configuration with just one single configuration file. This is amazing. At home, we have a couple of machines and all the configuration is in a public repository on GitHub. And they are all at the same state, basically. It's the same base. And I have a router using a Raspberry, I have a server in my basement, I have two or three laptops, and they're all sharing the same configuration, except the router, of course. But yeah, I can find my environment, no matter which computer I use. And installing a service is usually adding a line in a file. And then I know that tomorrow when it will be doing the automatic update, it will be installed. So this is super cool. If tomorrow my mother asked me for a computer, I would give it NixOS. Because I can manage it remotely. And if she told me, oh, I need this software. Okay, I can do it really quickly from my own computer and deploy on your computer, which is remote if needed. I would do that immediately.
Marine: So I can see the benefits for distributed teams, like you're saying, and different type of machines, you don't really care.
Pol: Yes, but this is NixOS. Now, Nix, the tool, can do also a lot of things. And even if you're not using the operating system, Nix on your Ubuntu on your Debian can do pretty much almost the same. For example, let's say that you are running Ubuntu, a clean Ubuntu without any program, and you want to do PHP, you can just run a command with Nix that will spawn a shell containing all the tools you need to develop in PHP. And as soon as you exit that temporary shell, all these programs will be deleted at some point by the garbage collector.
Marine: Okay.
Pol: So your original operating system stays clean. And Nix, it will never, it has an impact on your operating system, because everything that Nix is installing is installing a specific directory, which is slash Nix slash store. Everything is in there. So if you delete the directory, everything gets deleted, basically.
Marine: Very clean. Okay.
Pol: It's extremely clean, yes. And so just for that, it's worth it. And this is how I use it on the laptop from the commission. We are using Ubuntu, and I just have installed Nix, the binary Nix. And I have access to many programs in just a blink of a command line.
Marine: So, how do you manage so many packages? Because you are one of several maintainers just for the PHP packages, but do you even know how many packages are available on Nix right now?
Pol: Yes, it's in between 90,000 and 100,000 packages. This is the biggest package repository available. According to Repology, this is the biggest one.
Marine: Wow. So, how does it work? Let's say there's a new tool, how do you decide which packages you offer?
Pol: If you want to add a package in Nix, you just have to create a file into a specific directory in the repository. And that file is basically the recipe to build the program that you want. So, you will describe in that file how to build the program. And inside that file, you will have most probably a line that says, this is the version number 1.2.3. And then you will also have what we call the hash. Basically, at the end of the build, it will take a hash of the result. Of course, this is not technically true, but I will put it like that for the moment, even if it's not totally technically true. It will take a hash of the content and that hash needs to be written in the file. So, you can make sure that every time it is compiled on your machine or someone else's machine, it has the same hash and you can compare it, the builds are okay.
Marine: They're like integrity check.
Pol: Yes. Of course, technically, this is not how it's done, but this is just to explain in rough lines how it's being done. And the cool thing is that on the Nix OS repository, you have a robot which is watching the repository for outdated packages. And every time it discovers something which is outdated, it provides a pull request to the project saying, hey, this package needs an update. Here's the pull request. And usually there are two lines that change the version and the hash. And it's doing that automatically. So, it's the most up to date repository as well that you can find on the internet. Thanks to that thing.
Marine: That's amazing. Is it a bot that you also built at Nix or is it a third party?
Pol: It's a third party bot that is enabled on Nix since years, I think. And it's updating all the packages like that.
Marine: That's awesome.
Pol: And it pings the maintainers as soon as it's done. So, we are aware when there is an update, we can test it. And yes, this is amazing.
Marine: Cool. Okay. So, this file, is it using the programming language that you talked about?
Pol: Yes. This is a recipe written in Nix, of course. Yes.
Marine: So, yeah. It couldn't have been done with an existing language. What was the need for creating your own languages?
Pol: So, Nix is the outcome of a PhD thesis from Ilko Dolstra in the Netherlands 20 years ago. And inside that thesis, he explained why a language was created for this. Of course, we could question this decision why a particular language has been chosen instead of using something existing. For me, it's not a problem because I think this is a good idea to create a specific language for that, which is functional and lazy. Laziness and functional programming, I found this concept really amazing. And this is something we don't have in PHP, but we can mimic it, but we don't have it. And Nix is using those concepts. And for the deployment and for describing what we want, this is just perfect. I think some people are saying that Nix is not nice, but actually it's just like a JSON file where you add functions. It looks like JSON a lot. And there are initiatives like the Geeks Projects. It's basically the same as Nix, except that instead of reinventing a language like Nix, they reused an existing language, which is based on Lisp, which is GIL. And this is also exactly the same concept. It's a bit more verbose than the Nix language, but it's basically doing the same thing.
Marine: Is the language still evolving? You're introducing new things or does it...
Pol: In Nix?
Marine: Yeah. Is it enough to do what...
Pol: Actually, the language is actively maintained. Yes. And there are new things. Maybe not in the language itself because it's pretty stable, but in the libraries around it, there are always new things. And I am not into really the development of the Nix language itself, mostly in the packages. But yeah, this is still actively developed and maintained since 20 years now.
Marine: That's amazing. So for example, for you as a member of the core team, what is a typical contribution that you do?
Pol: For example, my biggest contribution so far is related to PHP. So basically before doing that contribution, it was not possible to build PHP application in a reproducible way. It means that maybe you already tried. When you try to do Composer install in your application, it will create a vendor directory. And if you take a checksum of this directory, the checksum will always be different. Sure. And it has been fixed in Composer 2.6.4. It was a one single line patch that I did two or three months ago now. So now if you do Composer install, it will always help the same thing. So this is already very good for the package manager, which is Composer. And with Nix, what I did is just a tool which is allowing you to, okay, this is my application, create a package that I can distribute all over the world of that application. So the person using an application in PHP written in Nix, it will maybe probably not know that it is written in PHP, because it will just do Nix run and then the name of the package and the application will be running on this machine. Because the application will describe in its recipe all the dependencies that it needs and how it needs to be run. So this is a very interesting concept. And what I did is that builder, how can we make sure that when I run phpStan, it works. But phpStan is distributed into flavor on the internet, either by the far precompiled binaries or using the sources. And my builder allows you to read the composer JSON, download all the dependencies in isolation, put them somewhere, build the vendor directory and then do the linking with the binaries that phpStan provides. And all of this is done now and working super well. I'm super happy to see a pull request that are removing all the cruft that they were doing before to reach that to do that. And yeah, that was quite a work to do that. Yeah, it was quite a work because I didn't know how to do so. It took time because I wanted to do things correctly. And this is quite touchy, because imagine tomorrow, I discovered an issue into my builder, all the PHP application that are using my builder might maybe need to update their hash. So it's very, I was extremely excited it was merged, I was a bit afraid also to release that. But now it's running and it's working well, actually, I'm surprised I only had to fix one or two small things, but nothing, nothing really important. So yeah, I'm super happy of the outcome.
Marine: So you kind of solved a recurring issue with dependencies, which is always a struggle.
Pol: Yes, this is something that I do not have since now three or four years I have. Yeah, on my laptop, I can tell you using Nix has completely changed the way I see a software, the building of a software, the deployment of software. This is issues of the past. This never happened anymore, actually.
Marine: That sounds like a great life. I'm interested. Yeah.
Pol: Yes, indeed. Yeah. And when I see all my colleagues struggling with that, I told them, look, install Nix, and then I will show you how you can create a quick environment using OpenSSL one if you need it. That's what happened last week. We just needed OpenSSL one to test one command. But since they were using a specific distribution, they couldn't compile it and use it. Or else it would break everything. So we just did it in a virtual machine using Nix and it worked immediately.
Marine: Yeah. Isolation. Amazing. Wow. So how many people work on the core? Like what you are doing, for example, because I'm guessing Nix OS is kind of different from the rest of Nix, or is it the same team? How does it work?
Pol: Here at SymfonyCon of Brussels today, I met one person, which is also a contributor and one user that I didn't know.
Marine: Wow.
Pol: So we are three. I also went to five conferences and three of them were talking about reproducibility. So I think this is a wave which has not yet eaten us in the face, but it will come at some point. And Nix will be more and more spread into the community. So I guess there will be more and more contributors. But right now on the Nix project, within the PHP realm of Nix, we are six and we almost do nothing because we are being pinged by the robot that says, Hey, there is a new version of PHP and PHP is done. Is it okay for you to tell me if I can merge it? Yes, no. And then it merges and that's it. But this is what I do. This is what we do. And I don't see a huge thing to do right now in PHP and Nix. It works very well.
Marine: Automation is key, right?
Pol: Everything is written down in a file. So once it's done and it's very well done, I don't need to touch it anymore.
Marine: But what about the rest? Because there's not only PHP, of course. Do you know how many people work in total?
Pol: Oh no, I can't tell you. The Nix packages repository is in the top 10 of the most active repositories on GitHub. So it can give you an idea.
Marine: It blows my mind that I've never heard of it and it's one of the 10 most active projects.
Pol: Yes, but I have exactly the same feeling as you. How come in 20 years I've never heard about this project, which is so amazing that I want to show the world how it works. It is so amazing. I wish I could have done a talk here at Symphony about this, but most probably it will be for next year. But yeah, this is an amazing tool.
I can only recommend it.
Marine: So how would someone go if I wanted to try it? You told me, okay, there's a Graphic Installer, you can go for the OS or just the package manager. What about contribution? Do you have needs maybe outside of the PHP realm?
Pol: It depends on what you're doing with PHP, but since I'm a PHP developer, I already make sure that all the PHP developers' needs are there and you don't need anything. So basically you just install Nix. It takes 55 seconds to install it.
Marine: 55, that's precise.
Pol: I know exactly the time because I made a presentation in Munich last month and I made small screencasts of the installation. It took 55 seconds.
Marine: Wow.
Pol: So it's just a binary in the end that you install on your machine and then you use it. Depends on what you want to do. If you want to go with Nix OS, it might take a bit more time to install it. But if you just want to play with Nix and do exactly the same thing that I do on my machine, which is Nix OS, you can use Nix on your machine, no matter which color, no matter which operating system.
Marine: Is there documentation? Where do we start?
Pol: The documentation in Nix is usually the pain point, but there are a lot of initiatives recently and there's a lot of work that has been done recently to improve that. So documentation is there and sometimes it's missing some parts, but it's being improved every day. There's a lot of people working on that. The people that are working on this are great and they are doing an extremely good job. And there are so many things to document. Imagine a repository containing almost 100,000 packages. There's a lot to document.
Marine: So maybe that would be where new contributors might help?
Pol: Yes, definitely. We are looking for people helping with documentation, helping with all of these things.
Marine: So what's in the future for Nix? Do you have...
Pol: Right now, Nix is, how to say that in English properly, he's the middle of a corner. This is my own point of view. I might be wrong from the point of view of someone who's there since the beginning, but this is how I see it as a newcomer into the Nix world. But basically Nix is in a corner, running at full speed into a corner. Imagine you're like in a car and you're in a corner. And why? Because you have basically the traditional way to use Nix, like Jerome presented during his presentation, using Nix-shell and then you declare your dependencies and then you work. And there's a kind of new way now since I think two years now, yeah, since two years, which is called the Flake. And the Flake file is basically a way to describe your local infrastructure for your project. And it's extremely flexible. It's extremely... Actually, it's easy to use. You just need maybe someone to explain it to you the first time and then you're okay. So there are two ways to use Nix right now. Either you use the old way, this is how I call it, even if it's not really the case, or you use the Flake way. The thing is that the Flake way is still considered as experimental. But the thing is that it's totally stable and people are working on making it stable right now. There are companies built around this tool right now with Flake and there are projects built around Flake. So it's not going to go away. This is something extremely stable. People all around the community are saying that it is stable. You can use it without any fear. Yes, use it. You will see the difference. And this is what I use. I immediately started using Flake when I started Nix. I don't know very much the old way. I know it because I know it. But I am using Flake all the time. This is just a wonderful piece of engineering and it has to be discovered by a lot of people.
Marine: Well, hopefully now they might. So basically what I'm hearing is you are kind of a lazy developer, but in a nice way. Yeah, it's like if you can automate, if you can make things simpler and share with people, that's what you like, right?
Pol: Yeah, kind of, yes.
Marine: I can understand that. Well, thank you so much for telling me about Nix. I'm really eager to try it now. I hope people discover something. It's amazing what we discover in open source every day, things that I've been here 20 years. Now I have a few silly questions for you, if you don't mind. Yes, so I ask this to every guest, but if you had permission to do whatever you want for a full day, what would you do?
Pol: What would I do in terms of IT or in just my life?
Marine: No, in general, just in life, if you had permission to do anything, something that usually you might not be able to do.
Pol: Oh, I would spend time with people that I don't see very often and my own family most probably. And I would spend time with people away from computers, not with a computer. I'm spending too much time in front of these screens. So I think I would take a day and leave my laptop somewhere in the house and leave and do something with the whole family.
Marine: Yeah, but you can already do that. It's not forbidden, right?
Pol: Yes, but there is always something that doesn't work. I'm not there, I'm not available. Can we do that another day? Or yeah, you know how it goes.
Marine: So the simple life?
Pol: Yes, definitely.
Marine: Good, interesting. And what if you could create your own permission? What would you do?
Pol: My permission would be to... in terms of a file system?
Marine: Anything.
Pol: Oh, permission.
Marine: Life, whatever. Someone bent physics earlier today when I interviewed Ryan.
Pol: I would not call it permission, but I would call it maybe constraint. Make sure that the software that you're doing is reproducible. That would help IT, definitely. Obviously, in the context of IT, this would definitely help. Make sure that when you do something, you can reproduce it for anybody and use open source tools.
Marine: Obviously, that's a given. You have no choice in this podcast.
Pol: Indeed.
Marine: Okay, and finally, what would you say your greatest power is?
Pol: Oh, laziness.
Marine: I love it.
Pol: Laziness. And when I'm in face of a problem, I like to understand it. And to understand the problem, that doesn't mean finding a solution. But for me, that means finding the root of the problem, which also means dividing the problem into smaller problems and fixing them and trying to find a solution for them. For all these small problems, one by one. And this would be maybe a strength. So, laziness plus that thing. I don't know how we can call it.
Marine: Yeah, ability to split into manageable tasks.
Pol: I don't know.
Marine: The step-by-step approach. I don't know how to call it.
Pol: I don't know how to call that.
Marine: Yeah, so instead of focusing on the global problem, you're able to split it into more...
Pol: By splitting it, you can easily explain it to anybody. You can share the problem and get help easily also.
Marine: Sure, you're a lazy analytic person.
Pol: Yes, maybe. That's a good description, I think. I should put that on LinkedIn.
Marine: Yeah, let me know how that goes. Yes. Well, thank you so much, Pol. That was super interesting.
Pol: Thank you.
Marine: I'm excited to let people know about Nix and to test it by myself.
Pol: Yes, thank you very much for the invitation.