All right, welcome everybody, good afternoon. Thanks for joining my talk today. So my name is Thomas, and as you can imagine, based on what's written in the slide, I'd be talking about build route. Before we get started, I'll introduce myself shortly. I work at Bootlin. We are a consulting company providing and below Linux expertise. We do engineering services. We help our customers doing development of their Linux BSPs for their custom hardware, doing Linux channel driver development. We do a lot of build route or Yocto integration, real-time, boot time, security, multimedia, pretty much all things, embedded Linux related. So I think this is important to point out that we're not a build route only consulting company. Sometimes we've been seen that way, but we do also a lot of Yocto work, and my colleague Alex, who is in the room, will be talking about some of the work we do on Yocto tomorrow at this conference. We also provide training services around pretty much the same topics. And the reason I'm talking to you today about build route is because I'm one of its co-maintainer. I've been working on these projects since 2008, contributed thousands of patches to it, and I've been deeply involved for a long time in its community. I used to do some amount of work on the Linux channel, and I speak regularly here at ELC, and I'm also part of the program committee of that conference. And you've heard me speaking for two minutes, and you've realized I'm French, and I indeed come from the southwest of France, namely the city of Toulouse. So today, I want to start with some really basics on what is build route, just to make sure that everybody in the room is on the same page with that. Briefly compare with Yocto, because that's kind of the question that always comes up. So rather than waiting for the Q&A session, I thought, okay, let's address that question right at the start of the talk. And then we'll get to the bulk of the talk, which is what's new, what are the new things, or the changes, the improvements that took place in build route over the past two years. And you can see already a list of the things that I'll be covering. So what is build route? It's an embedded Linux build systems. So for those of you who do embedded Linux work, it's probably a familiar wording. It's a tool that automates the process of cross-compiling the different software components that you need to build a fully functional embedded Linux systems. So build route can build your tool chain or an order cross-compiler. It can build one or several boot loaders. It can build your Linux scale image, and it can build a complete root file system with an arbitrary number of user space applications and libraries. And all of that is done by cross-compiling directly from source code, which gives you a lot of flexibility. You can upgrade or customize any component in your system. You can optimize how they are compiled. So compared to binary distributions, which are more like used as is, you can, with a build system, much more finely tuned what goes into your embedded Linux system. So it has a similar aim as Yocto Open Embedded, as OpenWRT, as PTXDest, with, of course, some differences, but the general aim is kind of the same. Build route relies on well-known technologies. Sometimes this is one of the reason why people like build route. Build route is written in Mac, which is a technology that's pretty ubiquitous in the embedded Linux space. Not necessarily the easiest and simplest, but it's ubiquitous at least. And it uses K config for the configuration, which is also widely used in the Linux scandal, in Uboot, and in many other embedded Linux, let's say low-level software components. It's simple to use and learn. That's the other reason why a lot of people tend to you to like build routes.  So the starting curve of learning build route is really smooth. There are over 2,800 built-in packages in build route, which means we have lots of major software stack pre-packaged, things like G-streamer, Wayland, and Go, or Node.js, or all these big software stacks are pre-packaged, so you don't have to worry about packaging them yourself. And of course, that can be extended with more packages, and many packages get added maybe not every day, but on a regular basis, and that's part of the things that we'll be covering later. It's driven by a very active community of developers and users, and I'll have some numbers later in the talk, and it's used by many companies. We see contributions from Silicon vendors, from companies making final products, embedded products. We also have a lot of OBS contributing to build routes, so it's really a diverse community that is actively maintaining that build system. And I think we're probably the oldest still maintained build system. Build route was started in 2001, so even before Open Embedded was a thing, and we're still actively maintaining and extending that tool. So now, the one question that everybody asks, as I said, is, okay, why would I use build routes? Everybody is talking about Yocto, so I wanted to kind of summarize some of the differences. If you want to learn more about that, Alex and myself gave a talk exactly on that topic I don't know, many years ago at ELC, so you can find the video and slides online if that's relevant to you. But kind of the summary of the main differences, at least from my perspective, I think everybody can have a different opinion on that. The first main difference is in what it builds. What is the product, the results of what Yocto or Open Embedded, and build route gives you. Of course, at the end of the day, it's producing an embedded Linux system, but the actual result is slightly different. Yocto, Open Embedded, really builds you a distribution with the concept of binary packages and a package management system. So out of Open Embedded, you can get a number of binary packages, you can select some of them to be directly installed into a root file system image that you flash on your device, but then on your device, you have access to a package management system that allows you to install, remove, individual software components or update them individually. Very much like you would have on your Ubuntu, Fedora desktop distribution. Build route does not support anything like that. There is no concept of binary packages at all. Build route generates a fixed functionality root file system. So it speeds out, let's say a SquashFS image or EXT for image or whatever file system format you like. And there's no package management system built in. And that's kind of a feature. It's the way we think it should be. We don't think binary packages are really needed in most embedded Linux systems. So that's not something that's supported. And that's part of what makes build route somewhat simpler. The configuration. So how you tell those tools what to build and how to choose what to build is done in very different ways. In Open Embedded, Yokto, you do that by filling a number of individual configuration files with some specialized syntax, which is extremely powerful. It allows you to describe in a very fine-grain way what you want to build. But the known side, it's quite complex to get into that and to understand what is going to be built and to customize that configuration exactly to your needs. A build route, as I said, uses K-config. So all the configuration takes place from the usual mini-config X-config interface that many Linux developers are familiar with. So you feel really at ease with that. It's really easy to get started. But the known side is that it's sometimes a little bit limited in what you can express in the configuration. Then the build strategy is also somewhat different. In Open Embedded, there is a very complex and I wanted to say heavy. If you look at the disk space that the Yokto Open Embedded build takes, it's fairly, fairly heavy. But it has, thanks to that complexity, it delivers really interesting features. It is able to cache build artifacts so that if you build something once, you don't have to rebuild it again if you do a similar build for a slightly different platform but as uses, let's say, the same CPU core, for example. It also has lots of mechanisms to rebuild only what's needed when you make a change in the description of your system. At the opposite of the spectrum, build route takes a much more simple but also dumb approach. So there's really just a make file that builds things from A to Z and there's no mechanism to cache build artifacts. So if you redo a build, you do the full build from scratch again. If you build a different system but that is fairly similar, it's gonna redo the full build anyway because that's completely dumb. So full rebuilds are very often needed for some config changes. When you get to experience, you usually need to do that less and less but still when you get started, it can be a bit annoying and it may be annoying for some big projects. The ecosystem is also organized a little bit differently. In the open embedded projects, they have these concept of layers which are a collection of recipes to build packages and images. And they have a common base in the open embedded project itself but then there are many third party layers provided by Silicon vendors, provided by some vendors, by other communities that package Python or virtualization technologies and other things like that. Which is great. It means lots of different communities can provide extra recipes, extra layers. The downside being that the quality and the maintenance is varying depending on who is providing the layer. Some layers are really well maintained and they are of really high quality and some others are not so great. They do weird integration things which can cause problems. In Bielvoet, we take a little bit more and approach that's similar to the Linux channel in that we encourage people to bring everything into the main tree. So all the support for all the platforms, for all the packages, they go into the same tree which means there's, yes, a bit of friction to get in but there's more review going on, there's more consistency, there's more uniform maintenance over what goes into the tree. So two different approaches. I don't think one is good or bad is just like different trade-offs that are being made. Complexity learning curve is also another big difference. Open embedded has a somewhat steep learning curve. The tool that controls the orchestrate, the build, big bake, remains a magic black box for a number of people. It's kind of harder to get into what really is happening. BitRoot has a much smoother and shorter learning curve. The tool is simpler to approach and reasonably simple to understand but has its own limits as I've shown earlier. So it's kind of a different trade-off and some tools will, sometimes for some projects, BitRoot will be more appropriate and sometimes Yocto will be more appropriate. And there's also a very important aspect, the personal taste or preference. Some people will feel better with one or the other tool and not really because of any objective criteria but just because you feel like, yeah, that works better for you and that's also an important thing. So with that said, I wanted to talk more about what has been going on over the past two years in the build community. So first I drew some graphs on the activity of the community. So here it's not over the past two years but over the past 10, 12 years. And what we can see fairly easily is that the community is acting in a very stable and mature way. There's not much change in the number of commits per release. So we are of about 1,500 commits per release on average and it's been like that for many years. So it seems like we've reached our cruising altitude, I should say. And we can see pretty much the same with the number of contributors in every single release. We have about 100, 120, sometimes a little bit more individual contributors and that has been stable for many years which is kind of matching what we've seen with the number of commits per release. So let's say what looks like a mature community that is maintaining an open source project. Traffic on the mailing list says it's pretty much the same thing, right? Since 2014 or so we've been at pretty much stable in the number of emails on the mailing list. There is pretty heavy traffic. We use a contribution model similar to the Linux scandal. So all the patches are posted over email to the mailing list. They get reviewed there. Some people will call that old style. Some people will call that good style, contribution model, depends on the perspective but that's the one we use which also explains the traffic on the mailing list because lots of discussion takes place over email. But yeah, pretty stable. I am, well, traffic on the mailing list which reflects the activity of the project. And the other and last graph that I have is the number of packages which is, I don't know if it's an important metric but it is a metric, especially because we pull in the tree all the packages rather than encouraging really people to keep them on their side. So it's growing progressively. You can see it's almost a straight line that shows, yeah, it's progressing and more and more people are contributing more and more packages. There's not an explosion in the number of packages just a normal growth based on what people use in their Pitwood base projects. One thing that we've started doing a little bit over two years ago but not much more is having a slightly longer maintenance period for some releases. So we have releases every three months in the project in February, May, August and November of every year. And it's been like that since 12 years or so. So this is a very well followed development model that we've had. But in about three years ago, we decided to pick one release every year, the February release to be maintained for a little bit over 12 months. Actually it's more 13, 14 months just to have some overlap. So that's what the graph shows here. You can see that the 2020-02 release which has been made in February this year is gonna be maintained until March, April of next year. So that there's a bit of overlap with the next long-term maintenance release. Of course some people can consider 12 months as not being long-term and I would tend to agree. But that's a starting point and we hope to kind of extend that later but for now that that's where we are. So this has been ongoing already for 2019-02, 2020-02, and so we've recently started the cycle for 2020-02. So that process works fairly well now. The way it works is that we have one of the main painter of the project reviewing all the comets that go into the master branch and decides whether that comet is something that's applicable to the LTS branch. So whether it's applicable is mainly related to whether it's a security fix or whether it's a bug fix. So that's really the two main criteria and if that's the case then that comet's gonna be back ported. So there's fairly significant effort going on to review all those comets and decide which ones can or should go into the LTS branch. So I just picked some numbers here from 2020-02 and 2020-02 and number of comets that we have back ported. I was actually surprised to see that it was less in 2020-02 I don't have really much of an explanation there. Maybe less security fixes but other than that I don't really see much other reason. We make also point releases throughout the life of those LTS and usually that's one per month but even in between those releases the branch is publicly available so if you wanna pick security fixes earlier than having the next point release those branches are pushed pretty much every day with the latest fixes that have been back ported. So right now as I said 2020-02 is our current LTS branch. The previous one has been end of life on April 6th so we gave like a two months window for people to move on in addition to the fact that the schedule being known, a number of our users are not planning for those migrations a bit of time. The other thing that we've added over the past three years is also related to security is helping match the set of packages that you have in your system with the list of known security vulnerabilities as listed by the NIST database. So there are two databases published by NIST or probably more but the two ones that we're using are the well-known CV database which lists the known security vulnerabilities and there's also another one that's somewhat less known called CPE for common platform enumeration which is a database of identifiers for software releases. So by itself it's not a security related but those identifiers are used in the CV database to identify which software is impacted by a given security problem. So we have added this make package stats target which takes the set of packages in your current configuration and their version and matches that with those databases and produces an HTML and JSON output that tells you which of your package has known known security issues and which of your package has known security issues. So as I say, I check these packages that are affected by known CVs and also if they're a CP identifier and I'm gonna get a bit more into that is known into the CP database because if it's not known then maybe we may be missing the CVs for your package because it's identified with a slightly different name in build routes than in the NIST database. So this works thanks to extra metadata provided by the build route packages. So in build route every package has a make file that describes where the source code can be fetched and how to configure it, how to build it, et cetera with lots of different variables and we extended that with more variables. They are let's say two main, it's a bit more than two but there's the two bullet points here. The first one is ignore CVs that allows to tell build routes to ignore a particular CV for one package. So you might be wondering why would you do that? It's mainly when we backport locally into a build route a security fix for a problem. Let's say version 121 of a software package is affected by a security issue then make package that will tell you oh, this is affected by CV 2021, 1234. We backport the security fix. So the version is still a one to one but we have locally the security fix. So we want to tell that to okay, this CV you can ignore because we know we have fixed that issue. So we can write in the package ignore CV, CV 2021, 1234 and make that package that will stop reporting that CV. Of course, next time we update the package to and let's say version 122 hopefully the security fix is in we can drop the patch, we can drop that line and we're happy. The other variable set is the package CP ID and there's a number of them for I think vendor products version and so on. That allows to override the default CP identifier because as I said, the CV database is using CP identifiers to identify which software package is affected by a security problem. And those CP identifier, they look like this, the CP 2.3A and then the name of the kind of organization that provides the software package then the name of the software package itself and its version and there's a whole bunch of other metadata. So by default, Beedroot is gonna come up with a kind of a default value for that but it may be wrong, right? So the default value is that one. So for the OpenSSL package, it would be CP 2.3A, OpenSSL underscore projects colon OpenSSL and then its version, which probably is not the one that's used in the NIST CP database. So we have extra variables in the OpenSSL make fine let's say for that package, the vendor value and the product value may be this and that. All right, so that allows us to match better with the CP database. And that allows us to provide an output like that. So obviously it's maybe much bigger. Here I just pick four packages to illustrate different situations that can occur. So we have ATTR, ACL, 8-top and BuzzyBox, which identify like the four main situations that can take place. So here it's mainly the last two columns that can be relevant, the rest is also interesting but for other reasons and the last two columns is really what matters from a security point of view. So here we have a first example of this ATTR package. So this package has at least some of the CP ID variable defined. So it means that one Beedroot developer has already done the effort of adding this metadata in the package. So this developer has verified that, yes, in the CP terminology, that package is referred with those particular values. And the CP identifier actually matches, there is a match in the CP database. So we're kind of confident that when we tell you there are no CVs, we're relatively confident it's the case because we know this identifier is really the one used in the CP database. The second example here on ACL does not have any CP ID variable defined. So we try to do a match in the CP database based on a default created CP identifier but we cannot be really sure it's the correct one. And if it's not the correct one, we may be maybe entirely missing the CP information. So if you see something like that, you should be a bit cautious and say, ooh, this is a bit strange. Maybe I should dig into the CP database, find what is the right value for the ACL package. And if it turns out to be different than the default value Beedroot comes up with, you need to fix that up to make sure you detect the CVs. So we've done a lot of work to add this CP metadata to a number of packages, but it's not done yet. Here we have a different situation. You can see in the column before the last that there's a matching CV, so CV 2011, 3618 here. So we found a CV matching our version. But the CP apparently is not known. We have some CP ID variable defined in Beedroot, but it's not known in the CP database. So you might wonder like, it doesn't make any sense. I mean, if a Beedroot developer has gone through the effort of adding CP identifiers, why isn't that matching? It's because the CP database contains one entry per release of the software. So whenever the new version that is published, the CP database needs to be updated. And the NIST does that on a regular basis, but they're not doing that necessarily for all open source packages on an extremely regular basis. So that may be what's happening there. Probably in the CP database, there are other entries for ATOP, but not one matching the 2.6.0 version, all right? So here what we could and should do is contribute, and we've already done that a number of times, to the CP database, and the NIST is welcoming contributions and they update their database based on that feedback. So here we have a similar situation for the CP identifier, but in that particular case, there was no CV identifier in the CV database. So that's the short thing that we can know produce out of your bid route configuration and the NIST database and the make package stat automatically downloads the NIST database. So if you run that in a crown every day, then every day you're gonna get the latest NIST database and that will be matched against your package stat and you will know if you need to address some new CVs. Security wise, we also changed some default settings. There were a number of features that we already supported, but that are no enabled by default. So all new bid route configuration will get those things enabled right out of the box. And those are, I would say, some of the basic security mechanisms available at the tool chain level that helps harden a bit the user space code that you have. So things such as position independent code, which is needed for some of the other security features in that slide, stack smashing protection, the F stack protector feature of GCC, Railroad, which makes more parts of ELF read only to prevent like being overwritten by exploits or Fortify source, which is implemented in the C library and adds more checks for both of our overflows and that kind of thing. So all of that is no enabled by default, which means more people hopefully are gonna make use of those same security features. Also security related, there's been quite a bit of work related to a Selenix integration because some of our users deploy bid route based systems in critical environments where a Selenix is mandatory. So here are some of the improvements we've made. First, we've made it possible to set the Selenix find security context at build time and not run time. Until then, it was necessary to do a first boot to set the context of all the files in the file system at boot time, which obviously prevents read only root file system and is anyway not really good. So now we do that at build time as part of the build process. So it's much, much better. We've also done a lot of work on the Selenix policy, which is the kind of the database that defines which entity in the system is allowed to do what on what objects in the system. So basically define the security policies and the default policy provided by the Selenix project is quite huge. So we've made it possible to keep only the base Selenix policy modules by default and then extend that. So it's stripped down by a factor of 10, the size of the ref policy, which not only saves space but also kind of makes it a little bit more manageable. Let's put it that way. Then we've allowed the ref policy package, which is in build with the package that downloads the Selenix reference policy and builds it. It's not code, but kind of builds it into the binary format that's expected by the Selenix tools. And we've made it possible to enable additional modules because if the default policy is no much more minimal, depending on which software packages you integrate, you will have to enable more modules to allow those extra packages to do their work without facing Selenix denials. And we've made it possible for that package to provide additional custom modules. So they are not in the reference policy, but they are modules that you have written for your own system. They can be integrated and be built as part of that ref policy. And then we've also allowed individual packages to provide their own additional Selenix modules. So a package like Nginx or like T or SystemD or other things like that or other system services that have their own Selenix policies. They can either enable modules that are part of the standard ref policy. We're using the Selenix modules variable in their package. So that's gonna extend the ref policy with some of those standard modules. And they can also provide their own custom Selenix modules in Selenix sub-directory of their package. So that's a lot of ways to customize the ref policy. So we've gone from something that was completely monolithic. We were building the ref policy as is with all modules enabled to something that's much more modular and that adjusts depending on the packages that you enable in your configuration. So we've annotated many packages with this Selenix modules variable. So here is an example in SystemD. So that's a line that comes from package systemd.mk. And you see that we enable the modules SystemD, UDEV, and XDG from the ref policy. And the other thing that we've done which is not in PIDRUT itself but we also made contributions to the upstream Selenix ref policy to make it work with PIDRUT. It was making assumptions that were not true in the general, yeah, the next system such as the one PIDRUT would build. So we made extra contributions there which have gone upstream. All right, so that was about Selenix. Another big area of work has been around go and rest support which I'm not gonna tell you that they are becoming more and more widespread in embedded Selenix systems. And do's languages, they are not the only one but do's two specifically have language specific package managers which usually the community behind do's languages law and people doing build system hate because they do have some challenges for build systems. So do's package managers, they do a lot of different things but one of the things that they do and which is the part where they kind of conflict a little bit with what the build system is doing is that they automatically download the dependencies. So in the go world you have go modules which can download tons of other modules that you depend on. In the rest world we have do's crates that are described in cargo.toml that describes what extract enough libraries or modules you need to build your rest application. So this is all great but this breaks some fundamental features of build systems. Build systems and that's not specific to build route. I'm pretty sure open embedded is as faced the same challenges and open WRT as well and others. They all have some sort of download infrastructure that allows to cache locally the load nodes to avoid re-downloading things. They also have reproducibility concerns where we want to be sure that if you do a build today and a build in a year you'll get the same results. So you don't want dependencies to be like dependent on the day you build. You get a slightly different version of a dependency for example but also they do build systems do legal license information collection. So they collect the license information from the software that you integrate in your embedded system so that you can comply with the open source licenses in the proper way. And that is made a bit difficult if some random go or cargo package downloads random set of dependencies out of nowhere for which we don't really control the licenses. And so they represent some unique challenge. So in build route we have some let's say initial way I don't know if it's perfect yet but it has at least allowed us to move forward. So we've extended our download infrastructure to be able to inject some specific actions depending on the type of package. Until now the download logic was only based on where we are downloading from. So we're downloading a table over a key or we're calling for McGit repository or we're checking out some subversion thing or whatever but it was not dependent on what we were getting. So now we have what we call post download helpers that allows us to inject a little bit more logic within the download step. We have no two of those helpers, one for go and one for cargo and they are run again within the download step so that we can download the actual source code of the package, tell the package manager either go or cargo to download the dependencies and bundle all of that into the table that will then contain not just the source code of the software package but also the source code of all its dependencies and all the license files. So that means that locally we have a cache with everything that we need to do the build. We can have a hash that makes sure that this table is always the same. If there's the change we have a reproducibility problem. It also ensures that we have all the license files of all the dependencies. All right, so that's what we've done. Hopefully that's still working. So in the past we're just downloading a table, putting it aside or cloning a Git repo, creating a table out of it, putting it aside. No, we have an intermediate step in between where we can invoke the package manager system to download the dependencies. So it looks like this. Actually in packages it's almost invisible, right? Here is a package called TinyFire which is implemented in Go. So it uses what we call the Golang package infrastructure and we just describe where I want to download it from. So here it's from GitHub, what is its license and the Go mod where it is located inside the source tree. And so it's totally invisible but what's gonna happen inside that is we clone that Git repository. Then we're gonna run Go, mod, something, whatever magic Go needs to download these dependencies and all those dependencies will be in the table that get extracted into the build directory before doing the build. Similar thing for Rust. Here the build package infrastructure is called cargo package, but exactly the same will happen. We're gonna clone that GitHub repository called cargo to retrieve the dependencies and then create a table out of that to verify that this table has the hash that we expect it to have so that you and me when we do the builds we know we are building at least from the same source code. And then we can start up the build. All right, switching completely to a different topic, Python. So you might wonder, Python also has some package manager like PIP for example, but in BitRoot for Python we've decided to create individual packages for every Python module. So we have many BitRoot packages that package Python module. So we have kind of a different strategy between Go, Rust on one side where we rely on their package manager and Python on the other side where we create individual packages for the different Python modules. So on Python what we did, one thing that was important is we finally removed Python 2.x. I think lots of Linux distributions had to go through that process, so same here. So it was finally removed in 2022 or two. We probably kept it a little bit longer than other Linux distributions because we know embedded people may be a bit slower at moving things to like new technologies and especially in that case, the new version of Python. And, but we really wanted to get that done before 2022 or two, because that's our new LTS onto which we do a lot of backports. So that was really great to get rid of that before we entered that maintenance period. And also that allowed to remove a lot of complexity that we add internally. Wasn't necessarily super visible to users, but internally it was a bit messy to handle the Python 2, Python 3. Sometimes you have Python 3 on your target, but you need Python 2 on your host to build all the things. Sometimes it's the opposite, it's a result of cases to handle. So no, it's basically all Python 3 everywhere, which really simplifies things a lot in terms of complexity. The other thing that's been added more recently is support for, I don't know how you call that, PEP 517 build system support, really a crappy name, but that's how they call it. So if you've done Python, I'm sure you know, setup.py, build install, which was kind of the traditional way, which used either distitiles or setup tools. So it's been a standardization around a new way of describing how to build a Python external module using a pyproject.toml file. So instead of being a Python script, it's no more metadata oriented. And in Bealwood, we've added support for Python modules that use flit-based build systems. So PEP, if I understood correctly, 517 kind of mandates this pyproject.toml, but multiple build systems can be used, one of them being flit, and which we support. So this setup type variable, I know if my laser is working, yep, here, this setup type variable, we already add support for distitiles and setup tools so that Bealwood knew what to build before your module so that it could successfully install. But now we also have support for flit, which ends up bringing the dependencies that are needed before we build your particular module using the appropriate invocation. So that's now been supported. We don't have that many packages yet using that, but probably there is a fairly strong trend in the Python community to move over that. So we expect to see a broader adoption of this in more and more packages in the future. Obviously, one of the things that we've done, you've seen this curve, right, this kind of flat line of new package addition over time. So we've added more packages over the past two years. There's no mystery about that. So we've added about 290 new packages over two years. So I tried to make an extract of significant ones, but of course, what is significant is very subjective and I had to skim over a lot of new libraries that looked interesting, but were maybe not that relevant. So here I took an extract, so you can see. We have tracing utilities that's pretty strong, liburing for doing IOuring things with the channel, Zabix for monitoring, Wireplumber to do audio together with what's the name. I'm gonna forget it. OpenCVE and new Qt5 modules, obviously a lot of Python packages as well. So that's it for packages. We've done CI improvements as well. So we've already, we're doing a lot of CI around build testing and runtime testing. We've extended our build time testing to test more random configurations. They were already somewhat random, but only partially randomized. No, we test fully random configuration all the time 24-7 to detect incorrect dependencies. On the architecture support, we support many, many CPU architectures, probably more than any other build system, at least that I know of. We've added support for S390, yeah, that's pretty crazy, not really embedded, but people at IBM contributed that. They used bit route for some of their work and we've added support for RISC-5, 64-bit, no MMU. So we already had RISC-5 support, but no MMU support came in. And we recently dropped NDS32 because that's got dropped from the next candle, so we kind of followed that as well. And my last slide, because I see I'm progressively running out of time, is on tool chain support. So for the cross-compiler, in bit route we support two mechanisms. Either we build it from source or we use a pre-compiled compiler that you have from, I don't know, your hardware vendor. And here the main improvements were on the internal side, so when we build the tool chain ourselves, is basically keeping up to date with the latest version of GCC, binitils, G-Lipsy, UsoLipsy, Muscle, and all those things. On the external tool chain side, what we mainly did was do integration for the tool chains that we provide at Butlin, so we have a separate website unrelated to bit routes called toolchainsbutlin.com. It has almost 200 pre-compiled tool chains for many different CPU architectures, and now there is pre-built support for that in the bit route tree. So if you go and look at the screenshots at the bottom, you can directly from bit route choose, okay, I want this ARM64 tool chain, building age or stable in different versions, different C libraries, and that's readily available in the tree. All right, time is up. So that's my last slide. I'm teaching a course on bit routes in September. Our materials are freely available. We're a fully open source company, so all our training slides are free on our site. There's even a GitHub repo with our source code for our materials, but if you're interested in learning more, I will be teaching this course, so if you like this talk and you're interested in bit route, that's maybe a good opportunity. And with that said, because time is up, I'm gonna open up for questions now. Questions? Yeah, please. You can maybe find a mic somewhere. Oh, or I might have it. Oh, okay, you're handling it. I'm curious why you made the design decision to you do Python packages differently than the Rust and Go packages. Yeah, that's a good questions. It's somewhat tied to how people expect things to be built. In the Python world, the build process of one module expects the other, the modules that it depends on to already be installed, right? It doesn't take care itself of downloading the other things. While in the go and Rust world, it's more really part of the build process that it's gonna grab the dependencies. And also there in the Rust and Go world, they're more often tied to one particular version of their dependencies, which means that one package may need a dependency in version A and another package may need that same dependency in version B, which would be a challenge. It's not perfect, right? But it's kind of the line we've been so far able to draw between the two, the two camps. Yep, go ahead. Aspom support, question mark? Yeah, so we already have a tool for collecting the license information of all the packages because we have that metadata. We collect all the license files. We have hashes for them. So I think we have, I believe, pretty much what would be needed for proper Aspom, but we don't yet generate something that complies with the Aspom format itself. But that would definitely be something to look at. Yep, so I think that's it. Yeah, we're running over time. So I can take questions in the old way. Thank you very much for attending and yeah, enjoy the rest of the conference.


The Abbot and Costello program brought to you by Camel, the cigarette that's first in the service.  Eddie Ritch and his orchestra, the songs of Connie Haynes, tonight's guest and famous columnist is Heta Hopper and starry, but Abbot and Lou Costello. What just happened? What happened? Here, read this telegram. Now let's see it. It says, your uncle's will has just been read and you have inherited three million dollars. Yeah, Costello, that's great. Why are you crying about, though? It ain't my telegram. I found it on the street.  Now listen, as mayor of Sherman Oaks, I've called a meeting at City Hall tonight to decide that we've decided to publish a paper. We need new ideas. Oh, well, Abbot, I got an idea for your newspaper that'll stand people on their heads. What's your idea? Print your paper upside down. That was a funny joke. Alright, never mind that. We don't want those kind of jokes. Just talk sense, please. Okay, I'll talk sense. Now look, Abbot, when do you want me to take charge of the paper? What do you know about the newspaper business? I wrote a four-page article in the examiner this morning on fresh milk. Here, look at it. Four pages on milk? Four pages on milk. I only see two lines. The editor condensed it. Condensed it? Skim to news. Skim to alright, Costello. You don't know anything about news. Hold on. Did you know that the Joneses who live across the street from you had a fight last night and Mr. Jones left the house for good? Are you sure that he left her for good? I'm positive. He even erased his ring from the bathtub. Oh, Costello, that's not the kind of news we want. We want stories about important people, celebrities. Ah, then I'm your man, Abbot. I'm the kid you're looking for. Now you're talking. Did you know that Aunt Sheridan lives right next door to me? She does. Yes. And did you know that every morning she sings in the shower? Costello, that's news. You said it, and that's not all. Not all? No, this morning when she was singing in the shower. Yes. I sneaked out my back door. Yes, yes. I tiptoed over close to her house. Yes, yes. Brother, can she sing, Costello? Costello, will you please be serious? Oh, here's Ken Niles. Ah, good evening, Costello. Hello, Mayor Abbott. Say, Bud, I understand you're going to start a newspaper, and I'd like to write a daily column on household pets. I know all about animals. I'll see you too. Look at that old horse you married. Now, stop that. I think Ken is just the man to give advice on the care of pets. Oh, yeah? He gave me a fleek cure for my dog. Now I can't find the dog. Look, all I told you to do was rub the dog down with alcohol. I did that. The fleas got drunk and dragged the dog away. Girdle again. Girdle. Girdle.   And another thing, Bud, your newspaper will need a woman's touch.  With that beak, she looks more like a pelican. She looks more like a pelican. Oh, I heard that remark.  I said it. Mrs. Niles may be very valuable on our newspaper. Oh, she may be. This is somebody's line, and it's mine. Thank you. Go ahead. Go ahead. Now, come on. Yes, sir. Be a nice boy. You could put her picture in a weather column. The weather column. Wait a minute, Costello. What would my wife's picture be doing in the weather column? After looking at her face, nine days of rain would be a pleasure. But that's your nice quiet, Costello. Just a minute, now. It's a push on that key. Now, wait a minute. If Mrs. Niles will accept, I'm going to make her the fashion editor of the woman's page. Ah, you've made a wise choice, Mr. Rabbit. Just look at it. Doesn't she dress beautifully? Oh, Kenneth. Oh, Mr. Rabbit, this is just an old thing that I wear to peel potatoes. It looks like the old thing the potatoes came in. Maybe it took off some of the potatoes you wouldn't look so lumpy. You should talk. The mistake was clean. I'll say, just look at him. The drape in his coat doesn't even cover the droop in his pants.   If Vivi McGee is listening, I'll trade him too old. Stop insulting people. You never make a newspaper man. But I'll be the best reporter you ever saw. I've got some hot news right now. Yes? What is it? I just saw Shirley Temple when you were eating a sundae. You call that hot news? Certainly. It was a hot, hot sundae. Oh, don't be silly. I want headline news, news of worldwide importance. Well, why don't you say so? Hang me that telephone. What are you going to do? Hello, operator? Give me Adolph Hitler and Berlin. Adolph Hitler? Yes. He gives me all the news. No. Yes. Hello. Yeah, come to the town. Yukon, deep into Alaska, is Big Delta, last major stop before Fairbanks on the Alcan Highway. To American soldiers in Big Delta to United States bases and outposts throughout the world, go camel cigarettes by the million, by the tongue, for camels are first with men in all the services according to actual sales records.  Yes, today, more people want camels, the fresh cigarette, the cigarette with more flavor. More people want camels now, both at home and overseas. If your store is sold out, remember camel cigarettes are worth asking for again. C-A-M-E-L-S. Camel cigarettes. Camel standard of costlier tobaccos is the same for soldier, for civilian, anywhere in the world. To play a new cold-porter tune, I love you. Since you started your newspaper, the circulation of the evening sun is going down. Of course, we should stick to us gals. What are you doing? Aren't you just trying to see if the presses are working? I'm telling you for the last time, Castello. You've got to stop wasting time around the office. From now on, you're going to be our police reporter. Police reporter? Yes. Now, let me explain your duties. Now, let's suppose you're standing on the corner first on Main Street. It's three o'clock in the morning. Am I with a beautiful girl? Certainly not. Well, a police reporter and you're on duty. Suddenly, a car whizzes around the corner. A girl leaps out and yells, help, help, I'm being kidnapped. Oh, boy, kidnappers, that's my meat. You've got to go after them. Oh, good. That's my meat. Oh, there's going to be shooting, murdering, bloodshed. Oh, boy, that's my... I'm a vegetarian. You must tear after the kidnappers. Where's your car? Standing over the Atlantic curve. Oh, oh, new car, old top. No. Stop. Oh, quiet.  Wait a minute, Abbott. First, I've got to put on new pair of pants. New pants for what? The guy that sold me the car said I had to put on new seat covers. Oh, no, no. You go chairing it. I don't think that one either. Never mind. I don't like it either. Just keep quiet. You go chairing after the kidnappers. There they are. They're gaining on them. They're gaining on each other. You're in right in back of them. Then what do you do? I stop. Why did you stop? I'm on a gas. All right. You're out of gas. Quick.  Suppose it's her day off. Will you... Will you stop that? Just tell the man to put Ethel in your car. Why should he put Ethel in my car? I don't even know that girl. Look, Costell, all I want you to do is to get tanked up with Ethel. Tanked up with Ethel? Yes. Oh, forget it. You get your gas. And away you go again. Suddenly you see the gangsters' car. You pull up alongside of them and put on your handbrake. Put on what? What do you put on in case of an emergency? My bathrobe. Oh, come on. They get your bathrobe.  Without my bathrobe? Yes, without your bathrobe. And jump over to the other car. Why have it is going 90 miles an hour? Whoops. What happened? You slipped. You're hanging on by a hair. Which hair? What's the difference with hair? Some of them are falling out. All right. Never mind your hair. Rich nose. Never mind that. You climb into the kidnapper's car. You knock them right. You knock them left. Yeah. You take the girl in your arms. Good. She looks up at you tenderly. Yes. Horizon. Yes. She says... Good evening, everybody. This is head of hopper. What's cooking? A couple of hams. They're here now. Come on. I bought the girl that I'm saving. Why? I had castellan. This lady really is head of hopper. The famous columnist. Don't you know head of hopper? Don't I know head of hopper? I know her whole family. You do? I went to school with her brother Hippity. Hippity? Yeah. Hippity hopper. Oh. And her sister works at a drive-in. Car hopper.  She's got a knuckle that's a waiter. Table hopper. Oh. I met her husband, Brass.  Really, you look very charming tonight. Oh, thank you, bud. And you're as handsome as you are tall. Hey. What about me? Well, you're as handsome as you're tall. Shorty. Shorty! Don't talk to me like... Now, what would I be doing with a vacuum cleaner? Where else could you get all that dirt? I don't talk like that, Castellar. I miss Hopper. We'll never put you in her column. Well, she don't have to. I'll give her my own news. Hey, head of... Did you know that Hoosers who was up with watches over at... You know Hoos. And they said so-and-so about, uh... What's-a-ma call it? You know, I heard about that. You did? Yes, but this is the first time I ever got the details. Uh... Head of, I invited you over here tonight to offer you a job... Of gossip columnist on our new paper. The Sherman Oaks Gazette. Oh, thank you, Mr. Mayor. I'd be so happy to help you out. I know everything that's going on in Hollywood, New York, Chicago, Philadelphia, Boston... No, it's the old day, ain't she? Castello Gossip is Miss Hopper's business. I know all about her business. She peeks through keyholes. Castello, I do not peek through keyholes. Then how come you're only bloodshot in one of your eyes? Now, be careful what you say, Castello. I am. I ain't gonna give her a chance to talk about me. I don't think. Where am I? I see my place. Thank you. I'm gonna show him her Sherman Oaks Gazette. I don't think you can see. She's gotta prove to me that she can write a gossip column. Castello, Heather has wonderful contacts. She has a host of friends. That's right. I don't carry grants from the RKO lot, Heddy Lamar from the Metro lot, Bing Crosby from the Paramount lot. Yes, but do you know Cuck-Eye Louis? Where's he from? From the parking lot.  In your tune, spring will be a little late this year. Worse than your cigarette. Has wartime flatness hit your cigarette? Are you looking for a cigarette that won't go flat no matter how many you smoke? Well, then get camels for more flavor.  Keep from going flat no matter how many you smoke. Yes, camels do have more flavor because they're expertly, matchlessly blended of costlier tobaccos.  Your own taste will tell you that camel cigarettes have more flavor and your throat will give you the last word on camel smooth extra mildness. And remember, camel cigarettes stay fresh.  C-A-M-V-L-N. Camel cigarettes, they're first in the service. They've got work to do. What's that? You in trouble again? Just getting jammed. And I'm always getting you out. Castello, who was that? Dick Tracy. What's up? All right, quiet. Did you get any advertising today for our paper? Yes, I just got a classified ad. What does it say? Rent it. Rent it. Rent it. That late. Wait a minute. Didn't you get any advertising? Yeah, here it is right here. What is it? Man with income tax blank. Would like to meet lady with income. No. Castello, do you realize that the first edition of the Gazette goes to press at midnight and we haven't got a big front page story yet? Where's the editor of this paper? I've got to see him. I've got a great story. Take it easy, pal. What's the yarn? I've just become the father of triplets. Hey, would you mind repeating that? Not if I can help it. Castello, we're wasting time. I've got to have a story. I'll tell you a story, Abbott. What? There was a traveling sales. No, not that story. It's clean. Never mind. I'm leaving, boys. Oh, it's Hedda Hopper. Are you ready to go to press? Yes. Come on, Hedda. First, I'll press you. Come on. Now, you press me. No, no, no. Castello, you can't do that to Miss Hopper. Now, you keep out of this. I belong to the press club. Let's test those presses again. Boy, you sure can be happy with your nest egg. What nest egg?  How, Castello? What time do you feed it? Just a minute. Don't make fun of Miss Hopper's hat. She's famous for her hats. Oh, this hat I'm wearing, I got it at Sax Fifth Avenue. At $50, it's a goodbye. Yes. Goodbye, $50. What time do you expect it to go south? Now, look. Look, you two, I hate to interrupt, but our newspaper goes to press in two hours. And we still haven't got a big front page story. Oh, that reminds me. I can tell you how to get a great story. My dear friend, the Duchess of Frappingham has just arrived in Hollywood, and she's having a big housewarming tonight. The whole Blue Book has been invited. Meet me there, and I'll introduce you to the right people. But how are we going to get in? Well, aren't you in Who's Who? No, I'm in Who's This. Well, you both join me at the Duchess of Frappinghams, and I'm sure you'll get a story. I'll see you later, boys. Here we are, Costello, the Duchess of Frappinghams. Now, remember, mind your manners. When they pass the food, say I'm not hungry. When they pass the drinks, say I'm not thirsty. Okay, but when they pass the girls, I'm gonna add lib. Not quiet now. Now, be careful how you act, Costello. We must get a story for our paper from the Duchess.  Yes, it's very classy. Look, here's the butler announcing the guests. Listen. Presenting the invitation, I cannot admit you. This is Van Venterbilt, and I rub shoulders with Mrs. Arster, Mrs. Whitney. You rub shoulders with them? Yes, and when my back stopped the chin, I walked away. Side door. I couldn't let you in the front way without an invitation. Now, come with me and I'll introduce you to the Earl of Buckingham, the Earl of Brittenham, and the Earl of Cunningham. That's a lot of earl. That's a lot of ham. My, Miss Hopper, this place is certainly furnished beautifully. Everything comes from England. All this furniture is covered with mohair. The sofas are covered with mohair. The chairs, everything's covered with mohair. It's a wonder mole's got any hair left. We've got to get a story. Where's the Duchess? There she is, talking to some friends in the trophy room. Hey, Abbott, look at that big stuffed moose head by the... Oh, now come along and I'll introduce you. Oh, Duchess, may I present Abbott and Costello of the Sherman Oaks Gazette. Salute, Navy Lieutenant Nathan G. Gordon of Moralton, Arkansas, pilot of the Catalina patrol plane Black Cat. After an American raid on Kaviang, crews of eight United States planes shot down by anti-aircraft were floating in the enemy harbor. Lieutenant Gordon landed his Catalina right under enemy guns, picked up aviators, and repeated this three more times, all under heavy fire, until he had rescued 15 fliers. In honor of you and your crew, Lieutenant Nathan G. Gordon, the makers of camels are sending to our Navy men in the Pacific 300,000 camel cigarettes. Each of the four camel shows honors a yank of the week, send 300,000 camel cigarettes overseas, a total of more than a million camels sent free each week. In this country, the traveling camel caravans have thanked audiences of more than three and a half million yanks with free shows and free camels. Camel broadcasts go out to the United States four times a week, a short wave to our men overseas and to South America. Listen tomorrow to Gary Moore and Jimmy Durratti. Saturday to Bob Hawking, thanks to the Yanks. Monday to Blondie. And next Thursday to Aberdeen Costello, who will have Blondie and Dagwood Bumstead as their guests. And now here's Bud Abbott with the final word. Thanks, Ken. Well, Costello, don't forget our guests next week will be Blondie and Dagwood Bumstead. Oh, I know that Dagwood very well. He gets in a lot of trouble, don't he Abbott? What do you mean? I went to grammar school with him. Once he came home with hives and the teacher threw him out. No, they can't throw you out of school for having hives. These hives had bees in them. Oh, quiet. Good night, folks. Good night. Good night.


How you been? Hold on hold on come here. Come here. Appreciate it. Hey as a quarterback. Okay Yes, sir Come on big guy. You stand right here Right here big camera Appreciate it. My pleasure. My pleasure So hi session. Hey, hey, hey. Thank you boss Uh-huh. Yeah, sir. At the end of the day, we made it back home Man Once you daddy go to work, see what I do outside of hitting people. I'm not more Let's make some noise all through the stadium, baby. Let's get this thing rocked. Put those fours out


Good morning, everyone. Good morning, ladies and gentlemen. Welcome to this fireside chat at neon's fourth or fifth Conference, so congratulations to exchange for media team and thanks for inviting us. I represent add-on more Which is the largest digital out-of-home Publisher in India and we are joined by mr. Ajay Mehta in today's fireside chat And Ajay generally doesn't need any introduction. He's a Celebrity in the OH media world. He's added a lot of change and bringing a lot of transformation In the industry So Ajay, welcome to this fireside chat Ajay will need a mic So welcome to this chat and And You have led transformation in the industry for many years You've been driving Current transformation and defining future rules. We have a lot to learn today and get a download from you And So welcome So we're observing the industry is observing a lot of transformation right now with with various technologies Into playing infrastructure changing Lot of new companies. Thanks to limb Leticia. Thank you. I think this was a great presentation and a lot to learn Now you've been observing change now change We can potentially see with technology is either building transparency like we saw In terms of reach of media itself, which has been Kind of a question that has been bothering brands and marketers for many years It also helps in bringing agility in terms of turnaround time today On various digital platforms out-of-home platforms, you can activate a campaign on the fly Which was not the case in terms of what we saw earlier. So there is transformation happening Today reach can be figured out transparently agility interactivity today I can Hear out the audiences, which was not the case earlier. You can interact with with with various media How do you see this change and what's the future? Firstly, I don't think even half of what rajiv said about me is true. So that's marketer's exaggeration, but thank you nevertheless Firstly, I want to talk about what is digital out-of-home, right? I don't think the industry at large understands what is digital out-of-home Most of the time if there's a screen put up at any point at any place People assume that is digital out-of-home for me. That is not I mean all we are doing is changing a static image to a video or a J for whatever but that really doesn't qualify For me anything which is powered by at tech right where technology is an enabler To make it more contextual to make it more relevant That that is digital out-of-home and If we put that filter or look at DOH from that prism, we are really at the first stage Or taking baby steps In in this in this direction. So so let's get that out of the way. We are very early in the DOH revolution or the do DOH journey As far as measurement as far as you know analytics and everything else is concerned When when you're asking me that question what I was remembering was a quote from David Ogilvy that said 50% of advertising is wasted But the question is which 50% right? So when when we move down This route or this journey of of enabling advertising through technology and data What what we are doing is ensuring that 50% wastage Reduces if not goes away and and makes the whole thing more relevant I'm pretty new to the out-of-home space, but when I joined I looked at the overall TYNY numbers which group M publishes every year and I found out really a weird Train when it came to out-of-home If you'd really look at it from a five-year perspective and add inflation to it this industry hasn't grown Right. It's probably it probably grows less than inflation. I'm not talking about the covid years But just overall if you look at it covid years obviously dampened us even further And one of the reasons according to me Why why this is the case Is that there was no measurement around it. There was no Knowing we did not move with the times. We did not move into the digitized world We were the oldest medium and we seem to be happy being being the oldest medium What this revolution which you spoke about the modern infrastructure the technology what it does is it brings the oldest Industry into the digital world and as we move in that direction We have an opportunity of becoming Not an industry which is not growing But but probably the fastest growing segment of the media industry Sure, I think that opens up a lot of interesting questions Switching very quickly to the next part which again, I will bring up leticia's presentation Data is gold Now doh or oh will become doh largely with with data intervention like you just mentioned Now data could be used for audience Indicators their preferences location based indicators. So let me quickly tell you or at at Like 30 seconds on it. So add on more we have built around a screen network of 30,000 plus by end of the year we should be 50,000 plus screens And we are capturing a lot of first party data At a location level at an audience level their preference their engagement with media with regards to dwell time With regards to their interaction. How are they behaving when they're seeing the ad various things? So first party data on how can I plan better etc? Now, so that's what we are trying to do our bit to the digital side of the business How do you see this happening across a larger? Expans of out of home Data coming into play data being utilized and data being trusted In previous presentation. I was about to ask leticia saying you are saying this data perfect Is there a third party layer of validation? Do you see that happening in new course or how will this data story shape up? So I read somewhere 80 percent of the data stored on the internet is location based data Right and what is out of home? It is location based advertising So the relevance of data to out of home Advertising or location data to out of home advertising cannot be overstated. So let's get that completely clear You spoke about third party verification, of course, I mean one of the Faults of of this industry or of this ecosystem is That we haven't united Uh in the way some of the other industries or some of the other mediums have Getting third party verification is an essential and not just from anyone from an extremely credible source I mean, I don't even think I mean, it's funny that in 2023 we are even debating or talking about that that's a given And we should the quicker we move into that direction the better it is The question is how do you go about it? How do you make sure it is credible? How do you make sure it is accepted by the industry today You spoke about add-on more and the 30,000 screens going to 50,000 screens just a basic Back of the envelope calculation and we were just discussing it earlier Would actually make add-on more larger than some of the print Uh leading print media owners or the reach which the print media provides But when it comes to your share or or the share of even digital out of home in in the total pie You can't even compare it to print So there in that lies the opportunity and that you're just one of the players right taking that as an example and you Look at it touch point after touch point digital network after digital network And the opportunity is immense I mean We as I said earlier, we are one of the older mediums Digital out of home and data intervention can make us the newest medium Digital out of home is a separate medium as far as I'm concerned than traditional out of home It is at a cost. We are at an inflection point If we get it right We are poised for 10 years of or 20 years Of superlative growth if we get it wrong. We are living. We are going to be living in a flat Industry with hardly any growth an anarchic Way of functioning so according to me There's no choice The quicker we do this the better it is and what I find is Every network or every agency is going down its own direction With no common standards with no common Parameters on how to judge Audiences etc And that needs to change Absolutely, I think you're absolutely right. I think we need to come together as an industry and identify various So natural segway from this discussion becomes Talking about the elephant in the room ROI modeling If I'm putting x amount, what am I getting in return? And that leads to attribution So a lot of times we have observed in fact to our teams. We've got a pretty large team of 200 plus people We tell them Don't pick up budgets that are like mercy money. We we use the term I I learned from someone recently No mercy money because if you take mercy money, you get it once you kill the client forever So that's So with lack of attribution and with lack of data, which will bring to attribution There will be challenges in terms of growth, etc So what is the industry doing as per? Say kinetic is the largest Agency group M has the largest access to brands and information everything What do you think in terms of attribution and ROI modeling? Where we we should be knowing audience's interaction There should be a like we just saw in the previous presentation a marriage between devices And uh measuring individuals and maybe not their ids India will adopt a gdpr plus plus. We are going to do Control c control v and add five more points. It's going to be complex data management future With that as a given How will ROI models get built and how will attribution shape up? So firstly what we are doing, I'm not going to reveal in this room A lot of my friends and ambassadors are sitting over here. So that's not something I'm going to talk about But firstly, I think before you before I answer your question directly Do people in the room realize that it is a responsibility As media owners as media agencies to provide ROI to clients That is for me the essential question it When someone invests in our medium, it is our responsibility To showcase what we deliver for them If we don't Like I said, and I like the term mercy money You know, we we'll be doing a disservice not just to the client but to ourselves and the industry will never grow Attribution today when everyone has has a smartphone in their pocket And like I spoke earlier about location data being widely available Is something which which is very easy to do it is something which is naturally one should be doing it And if you ask me why Enough of it is not happening Is because I don't think we've up up skilled or upgraded our teams our work the people in this industry to be able to do that Till the time we don't do that Any kind of ROI calculations ROI modeling Is not going to be Is it's not going to happen in a meaningful manner The first step before you go down on this journey is to upgrade and upskill Our own cells and bring ourselves And the entire ecosystem into this digital and data driven world The moment you do that and you can confidently speak About ROI and and You know stuff like that to clients And your orientation changes Today there are enough models available From the digital ecosystem which can be adapted and applied to the out of home world So the first thing for me is actually to start with our own people Fantastic, I think that that is a very critical point that you've highlighted Adoption will be a function of knowledge And acceptance of change around completely with you There can't be a discussion that can be completed today without artificial intelligence Google has released a kind of an answer to chat gpt called bard Again not available in the european union for their own gdp r norms, etc Now artificial intelligence Can it be applied in oh it seems like a farfetched thought but if you think about it It could be used for various things. It could be used for Dynamic creative optimization It could be used for Measurement it could be used for mood and kind of a sentiment analysis on if I saw the creative Was I upset happy, etc Unlimited scope that comes to mind Process automation is the least honestly speaking Programmatic in digital is largely to step one is automation In artificial intelligence usage that goes without saying looks like Out of home industry will have to Leap And jump and move to the next stage and maybe adopt the future of technology today How do you see artificial intelligence? Which is going to be touching everybody's life and every business every brand And oh h and where do you think that collaboration can happen? so uh You gave some examples of where it can be used according to me in the first stage where it can get used is predictive analysis, right? What is the reach which a campaign can deliver that can be predicted? through artificial intelligence, we all speak about measurement, but Measurement is a post-factor event It begins with actually predicting or for us as an industry which is between two three four percent depending on which report you go by Is to first convince the client? To invest in this medium and their artificial intelligence can play a huge role also The internet of things right object recognition face recognition mood Recognition all of those can help us calculate the ROIs in a much stronger manner Something which this industry is not doing much or doing it very slowly People or organizations who will move down this journey will create a lot of value Such as what what you guys have created with with your fundraise and and I think that's just a first step in in a long journey It will also convince a lot of clients to invest a lot more Because if we keep playing in the out of home pie It's one of the last budgets to get approved a lot of it is mercy money A lot of it is savings from another medium, but the moment you bring artificial intelligence and other technologies into This what what you're doing is you're opening up To reach out to the digital budgets, which we all know today are the larger budgets And there is a certain fatigue which is already coming into digital advertising which set into out of home Advertising a few years ago and the moment you use technologies like this You are refreshing not just digital but also out of home And answering questions and talking in a language Which clients today speak internally and expect to be spoken to So so for me artificial intelligence is a huge game changer It's something which we are investing in and we think that is going to be the next leap forward for the out of home industry Perfect. I think that was that was very reassuring that you are adopting it and you will be guiding the path for the industry as well We are happy to collaborate as a company. We are we work closely and We are setting a lot of data that we believe can be leveraged Etc. So conclusion looks like There is no way that data technology artificial intelligence will not intervene without a form Like you said manpower needs to be equipped first We need to accept enable move on I think we need to take a pledge that next year when we are back in the conference Today I want you to rate. Where do we stand on digital transformation? You are driving so you can give a number and next year we should be at least two points ahead of that And give some advice to all friends colleagues and industry veterans sitting in the hall On what should be done to make this move faster? So to rate it on a scale of 0 to 10 I think we are at probably 0.1 or 0.2. I think we are that slow And I think as you spoke India specializes in leaping technologies Right, we go from one generation of technology to the fifth missing 234 And that that's really my ambition for for not just Group I'm out of home and kinetic but also for the industry at large So I think in a year's time we should be reaching three four If we don't we are doing a disservice to ourselves And sorry, any other advice that's I have only two pieces of advice and two pieces Of thoughts rather. I'm nobody to advise Anyone but two pieces of thoughts are first Recognizing that change is the only constant and if we don't change with the times we'll get left behind And if we recognize and accept that which which is always difficult Because we are set in our ways a lot of people have been In the media industry for the last 20 30 years and never needed to change that much Uh is first recognizing that change is the only constant and The world belongs to people who change with the times Otherwise you get left behind and second is Upskilling yourselves and our teams to capture this opportunity you do these two things The opportunity is extremely large The opportunity is now And and as the previous speakers spoke Globally it is already happening So there's no reason why why it shouldn't happen here But it begins with ourselves about our own recognition That we need to change and then moving in that direction to actually make that change fantastic So I am very motivated as add-on more We are committed and we would like to contribute Inching from point one to maybe four next time. We need a leap jump. Thanks a lot for your time And thanks for being so patient with us. Thank you so much Thank you


Going on everyone Sam here with late sports guards when mega triple case MLB 23 tops definitive inception and 23 bowman draft choice baseball number one Random team stuff. There's a look again at your random results as always you can find those on the website under the results tab Where else can you find them Sean? The Lincoln chat. Yeah Yeah, do you know top loaders are like oh for eight when I do that. Yeah, everybody messes that up. Yeah Bofa, I've heard a billion times too. It's just you always when you hit me with it. I'm just never ready Bofa not even close. No, Jake was completely off when I tried it. He was Jay I tried to Jay with it. He was like the website. I was like the Lincoln chat. Yeah The Lincoln chat Larry two spots in one-in-one. Let's go Larry. Come on, baby down to four four to go We have over 10 spots first Larry. Yes. Yes, Tony. Terry F On one-in-one Nice, that's it. What should we do first inception? Yeah, well, we're gonna do the definitive last obviously First person to say inception or bowman chrome choice first. That's what we'll do whatever first person to chat Whatever you want to do. Let me know we'll do it two One and it's not we're not doing definitive first and nobody's listening Just go all right Yes Are we did we lose connection? I guess hello? Danny says inception Not too late Tony. Oh, everybody said inception so too late at least fair. We're only doing it cuz Danny said so Thank you, Danny. He's in this thing too. Let's go Danny Yeah, you're in this right you can't even monster right here get him a monster You have them.  Yeah, not not not so much hockey I'm in I'm in I'm very in we got the rain is that rangers Rangers lightning. Yeah, okay That place Brew crew let's go Danny. I'll see us go That is Vladimir Garo Jr. Riley green and Grace Rodriguez Ryan Bayo as well the Cabrera and JJ Bladet for the Marlins on the honor card, but who? Nice one there. Yeah It's going on Josh, okay Patrick Bailey green Clain to 75 for the Reds the red red and Anthony Volpe. Yeah, I'm down. Whatever you want Honestly, I mean we gotta wait this over. Oh, yeah, sure. Pascantino Gabi Moreno to 50 Nice one there Yeah, I mean it started because we got I Guess an inception. It's a little tougher Hey, what's up Patrick welcome welcome welcome buddy Hell yeah, let's go. Are you in it Patrick? Welcome my friend. Yeah, welcome man. Good to see you JJ Bladet mate. Oh that is let's go Chris. Oh Man, that's happening. That is happening Eloy damn Chris Zeke Duran to 150 and Yuri Perez Chris is sniping me box 85.  Congrats. St. Louis get that into a man. That's pretty cool, man Who had the cards? Jacob F. Oh, no, he's Lester To missing orders now. Yeah, hopefully that ends up ends up there For sure. Sorry about that Joshua. Mr. J. Hobbs with the Eagles We are over halfway sold out on NT football now everybody. We're at 15 to go Dan and the wise man. What's up, buddy? What's going on Danny boy? Happy New Year, man. Happy New Year. It's right everybody out there. Yes. Yeah, you don't mind To me and Woods Richardson Purple Corbin Berns the 150 and a is three Ruiz Yeah, it's a JV O'Neill Cruz and Adley Ruchman to 75 Going into the Orioles see love with that last spot mojo See love See love. Let's go, baby. Thank you Andrew with some personals. Yeah, I will get to every personal I can tonight But if it doesn't go tonight, it'll go in like eight hours at that point with with Kyle tomorrow morning pink to 99 Rafi devours and Joey Weimer Gunna CJ Oswald-Prasa Nick Prado on the orange two of ten RPA for it the at Royals Prado auto Prato auto Chris Bryant Blue is 25 wander and Miguel Amaya It's all good I'm always in on a new stick Chris. I could tell you that for sure. I can tell you Chris that I'm not Ever Just scored again Did they really damn? Trocek Adley and Nicoledolo on the silver ink signature 30 of 99 for the Reds Reds sincey Nicoledolo drawing carnation Spencer Trollfelsen and Oscar Colas Simeon Wood Richardson Christian Yelich Jarrar and Karnaz and Gabby Moreno for the BJ is 249 second Moreno auto of this break not to shabby for Toronto All right, Freddie Freeman Justin steel green Jordan Walker, I love this JJ Bleday thing. I Really do. I really really like that Chris. That's funny man. That's funny Way to blow it Chris. That's funny Riley Greene and Max Meyer 15 of 99 nasty patch on that For the Marlins rocking the city connect in the photo as well Yeah, I almost bought a uh a chiseled of that at Lids once. Yeah I'm gonna scoop a couple things when I go down there. It's probably smart. Honestly, you're gonna get some new uh something new dolphin jersey Brandon Crawford 299 wander and Kodai Senga. Who are you thinking right now? Yeah, Marino. Oh Yeah Roserena stone Garrett train Turner and Larry Walker Dawn of greatness 10 of 20 for the expose. Let him go to washington. That's cool, man I love these. I really really really like these. Tom C. Congrats, buddy 10 of 28 and Carlos Stanton purple 150 is bobby wit jr And Edward Julian then and freddy freeman josh wenkowski to 125 for the red socks on the green auto Let's go jonathan c with a one-in-one spot. Come on jonathan. Let's go jonathan Christopher L with a one-in-one spot. Thank you guys down to two to go man two to go and it breaks next. Let's go Half the remaining spots were just bought in that last like two minutes Two to go on one-in-one one and one here col and zack neto downs christopher morrell and Jonah bride. That is 101 out of 149 RPA for the athletics channel two is a bot lobby full of stinking That is tanner bibby red says azuki to 75 And hunter brown rizzo lubeb and Caleb killian 150 Thanks, james. No I'm out of here. There's three Caleb killian for the cups to 50 That was That was so funny dude the first time you go Because you were like you were like annoyed about something over there already and you saw that and you like and now you have spider man water bottles What are we doing?  Yeah? Yeah? Yeah? That's where that came from That's where came from. What are you three ski ball really? Melon gorman Then we go to let me go to freaking davin busters And then i'm like go ask that they got ski ball.  You're the one that freaking brought it up Remember that we didn't want to ask Never before to uh to a shame.   Yeah over there in the corner Hasn't worked in 50 years to 249 is very fast. Can't you know? Uh Everybody gave busters.   We're losing. I know it's only 7 30. That's the problem. It's scary, man. Jesus I just thought all that it's all coming back up Year in review is coming back year in review. Jesus Nice bsa7. That's not bad james. Hell. Yeah, dude. Michael Jordan rookie sticker graded Huh 150 prep 80? Absolutely shintaro fujanami Corey seager brice harper and fernando tatis jr. 39 is 75 Congrats on that one there. Padres. That's awesome It's real, man There you go pods Let me look that one up really quick. Thank you blake by the way taking the rams and nt. Appreciate you, buddy Really nice patch. All right, keep it moving Chrome dust has broadened your brain. Yeah, dude. It's it's brutal About 600 on fever. That's not bad honestly That is out of the rushman Let's go dolphins. It's a 99 manual valdez over in the corner That nervous attention everybody damn busters We have a couple of ski ball Got a couple guys. Hey can someone help these guys find the ski ball Shots really got nick vesby rookie auto to 99 looks like you got two hits in this uh box Oh, man, that's on that orials and david vr Uh rookie auto 299 silver signatures for the giants. Congrats on that same friend Oh man So sad that's pretty bad though. They didn't even have it in there That's not a great sign They do not support sports card breakers. Yeah, whatever they love us That is Salvador Perez green col regans green for the uh royals and a manual valdez Sandi alcantra erin judge one soto Another two. Yeah, another two auto box t swag travis swaggerty to 125 going to the pirates That's on that hitsburg and then miguel vargas. That is to 249 for the dodgers. Congrats dodgers Let's do the bowman draft choice now everybody Just gonna do That one six box case of bowman draft choice officially released an official statement saying that the Steeler stink I get on board with that. You know what I'm saying? Especially ones with giant gangster chains and ones with horrible shticks Well, I that's speaking for one of one of us because I don't have horrible shticks. I have great shticks No, so no, sorry. I get it with the chain, but the shticks parts. That's true too. They're terrible How many are left in nt one second everybody? 14 to go in nt two and 14 16 group break spots left Steelers do stink. I can't argue that. Nope that fair. See? Yeah 13 to go on nt football as well And let's tweet that 13 to go All right bowman draft choice. Good luck everybody Horrible list new word has been invented for it. Good lord, man. We've got a Paul wilson choice exclusive to 150 There you go tags Got a hunter holland to 99 on the green lava for the reds And first base auto set keener going to the white socks That's on that chicago Nice great start man. Wyatt Langford first base auto going to the rangers. Congrats on that texas peter m Get that into a mandatory buddy. Not too shabby at all Wyatt Langford first base auto We've got a another first base auto that's on quinn mcdaniel going to the higantes six flags at lantis Yeah, oh hell yeah, I saw I used to see a bunch of conchers back. Yeah, hell yeah Two 150 choice exclusive michael carrico for the cubs used to go to six flags all the time Oh, that's a red wave That is a red wave everybody That is a red wave From the ocean. It's true. Yeah, no, you're not wrong. Now. Yeah, hoonan For the giants first base auto It was dope though back in the day, man. I loved it the color all the time. It's still open That is a cave color first refractor auto For the braves nice one there to 4.99. I'll see a huge red right here. Sean. All right, there it is For the raw uh, no wow johnny formello for the mariters Congrats on that one one of five Aficia ask congrats, buddy. Let's go That's pretty nasty grand pre-race and mama. Yeah, remember that monkey jungle Johnny formello get that into a maggots course. I got pulled enough. I think I pulled two of those now Weirdly enough safari That's still around They don't let you take pictures with the whole the tigers I had a picture of a tiger and me and my brothers I'll show it to you like a bait like an uh, baby. Oh still nowadays that Oh joe is on it growing that Nowadays, uh, no that Not does not happen. Probably. Yeah All right, schooled shimmer tommy hawk to 50 Yeah, man for sure Going to the guardians Rats Cleveland got a true green first for the Mets ej ewing a j ewing to 99 Rats on that one uh Mets And that choice exclusive first is another Wyatt Langford Not bad man. Congrats beat 67 of 150 two Wyatt Langfords in one case so far Here you go. Peter. Peter M Peter And stuff buddy Not bad We'll take that It's a good case two Langfords and a red wave of a like a decent guy to Fromello was the first rounder. So I'll take that all day.  Um, oh fanatics a lot. I want to see how well how many spots are left in um My fanatics for the almanac All of my house. They can't even come up and of course package. Yeah, obviously, of course, dude You know how that goes Joshua. We're going to 12 to go Kelly park. That's close to where you yeah, uh I haven't been tubing down it, but I've taken like my kayak or yeah. Yeah. Oh, yeah Kelly park what kind of springs all that. Yeah, I've fished all that stuff dude Those are the days Nolan mcclain first refractor out of 499. I swung there. Nolan mcclain for the mess We've got first base auto Brandon winnaker going to the uh twins. Hello rich. What's up rich? What's going on, brother? Yes, sir. Yes, sir same to you, bro And first base auto charlie soto going to the twins Grats on that Minnesota. Hi, what's up, buddy? Yo, what up strive? I know I had 363 birthdays in one year The amount of freaking times everybody said happy birthday to me. I don't know how he's Yeah, I know strive honestly. I'm shocked. I got home Justin Reimer 150 Congrats on that one red sox We've got uh, two at one or 499 that is uh Plug the cannons go south Charlie soto congrats on that one twins On the refractor first again and and rekay bradfield jr. First refractor out of four at the oryals It's one there. Yeah, we currently have uh 45 minutes It's definitive case I said I took as long as I possibly did you did to anywhere at a half an hour It's definitive case I said I took as long as I possibly did you did to anywhere at a half an hour on those two gates Because normally I'm sitting here Yeah, exactly like I'm trying my best here. So we'll just let's talk about it Let's talk about it. Go through every single one All right, guys, let's talk about what we need to fill up real quickly Yeah, that's gonna be one in one basketball one in one first and foremost to go on that It means 13 spots have come in already. Let's go. We got 48 people on the site right now Hello, Mitchell Mitch What's up, buddy? I keep telling Mitchell I'm gonna smoke him in darts.  Kyle too almost smoked Kyle in darts, too They got a dartboard at the house tell sabb everybody have some money on him tomorrow Because we're gonna throw some darts tomorrow I gotta pay for these, you know, I gotta get paid for my time over there. Yeah, true. You know what I'm saying You want to show up at those you should be seen with those dorks. No, I'll just tell them this is a paid Uh, advertisement Chris D with a one-in-one spot. Thank you, Chris. We're down to one One to go everybody Time for definitive I think I stalled opening definitive as long as I possibly could. Hold on. Wait a minute. Wait Are we throwing darts? You guys better practice tonight Ruins and lightning need to do this crazy thing and score more than the other team I just bet on the port anytime touchdown tonight, uh Spencer I'll smoke you too, Shane Smoke you and darts and we'll smoke Kyle tomorrow Please Raymond first touchdown Devin you can see some reds in here. Here we go Empty empty. Yeah, this product is is nuts man product is absolute nuts All right, doesn't matter, Shane We've got a Liam Hendricks 26 of 40 Nice one there for the white socks Congrats on that chicago. Nice one here. How about 18 of 30? That is going to be my trout Congrats on that to angels. Nice one there.  You're on Alpress Just your kids ain't eating that night, Chris Harper selling us out. Let's go Harper Harper happy new year, brother. Happy new year is right Thank you Harper sold out on one one. All we got left is NT Football Harper. Let me know what the keggers at true. Yeah, I'm in on that too. Come on. I'm in on that too Ain't no party like a heartbeat party You know I'm saying Can't imagine Harper beat party don't stop Uh, how about three of 50? Corbin Carroll.  Van L. Congrats van. It's pretty fire. That is awesome three of 50 Congrats on that one there, uh, Arizona Chris goes now. They'll be easting Nice little Corbin Carroll action Very nice. Very nice Yeah, yeah That from what up, man Stephen, what's up, buddy? What's going on, right? We've got rod karoo. That is going to be eight of 10 This one there for the twins rodaroo eight of 10 from minnesota that one second Is shipping not till february this month as early in the summer Uh, no, it should be in the uh, what's up kelton. How you doing, buddy? What's going on kelton? Um, it should be in the um, it should be in the first like the first week of uh They're they're all caught up too. So it'll be it should be pretty quick. Are you full over there in that can again? Uh getting there. Yeah, all right.  Shane? He's he's What 70s. Yeah, he's gotta be, you know, he's yeah Okay, there Uh 7 to 25 is no one ryan Congrats on that one.  Yeah, I know The one of 30 is going to be anthony rizzo w riz Congrats on that yankees and a defining images is going to be mr. Many machado Congrats pods nice one there podre's very nice. Thank you mr. Harry picking up a spot in Harry Prism a bob koozie still signing at 95. That's pretty insane Yep for him, man.  Yeah, man Okay, we've got raffie devils. I don't know kelton. I don't know I think michigan's gonna win it Raffie devils nice one here. I'll put a one of one for the twins burp lie levin No, no, not for the twins for the angels the angels. Excuse me. Sorry about that california angels Burp lie levin, but why? Think so, yes, you should never let them in true. You wanted somebody else to win it Don't put bam in there. Yeah, I guess that's valid. You know Especially because they snuck in it Oh, this is gross How about eight of ten codice senga on the rpa a nice one there matt's Give back this one as well No, uh the senga Congrats on that new york very nice very nice very nice very nice We've got that is 26 of 50 chris for moron For the cubbies Me too. It needs it. It needs an expansion I'm with you on that kelton chris from row. It'll be here next year God one of 40 that is a palm odder for the twins game used bad auto game used bad to auto Five of five is randy johnson Oh, that's cool Nice big unit for the dbex Plus seven bullet games and run that's true I just feel like they're just gonna go all in this year chain like I don't think harbaugh is gonna be there. They're losing their quarterback.  That's nice, man. I'm in I'm in congrats on that uh dodgers. That's really cool And 32 or 35 Game used jersey game used bad to a lotto byron buxton and tori hunter going to twins. That's pretty cool. That's nice. I'm in Love me some tori hunter. So do I Very nice. There you go. Minnesota showed you my favorite picture of him. Yes Many of times that's why I love him so much. Plus he's he's good and he was a good dude Yeah Pistons up by six with 11 minutes to go. Wow, let's go Uh-oh, we just got Rise erin judge 27 to 30. Yeah, what am I if washington won? I don't see that happen. I don't either They're they're they're they're defense isn't good enough Uh eight of 15. That is pita lanzo Grats on that mezz That is nice little rpa action for the a's Shale anglers 37 of 50 Fair that's fair shame God's a leover maguero rookie out of 15 of 25 Be going to pirates Congrats pirates 15 of 25 on the green rookie on 31 of 50 big poppy david orteez Game used jersey on there you go. Uh red socks. Very cool. Plus their posey. Whoa That's dope Wow, that's nasty 13 of 25 bust their posey.  That is kind of a crazy card, man Really really really really nice patch on that Incredible patch on that. Yeah, that is good. That is gonna work just fine That would go right into a mag and then really nice one here for the red top of 33 at 35 Barry larkin and eric davis do a lot of Eric Davis, I don't know why he's not more proud of me. I agree on that man. He was freaking. He was really good Oh, well everywhere you went to it was good. I just remember the red. Oh, yeah These days the red is freaking awesome Very nice Okay, let's do a quick recap here everybody They sit no match for the posey bear tony says the says the Giants fan Okay We've got enrique bradfield jr. Charlie soto. Charlie soto again randon winker Nolan mclean cape color a malia huna when mcdaniel seth keener to 150 jesson rhymer Michael karako paul wilson to 99 a j ewing ronzer holland to 50 tommy hawk Yeah, nam cue nam cue has been killing it this week for sure definitive jerseys pita lanzo Aaron judge Raffi devbers might trout to 30 and 40 is leon hendrix That does look a little different. You could still make it out though You can still make it out, but I see what you guys are saying All right, mcgill vargas travis swaggery, uh david vr That is nick vespy Uh, benny passantino, uh, larry walker jj bladay bladay, mate Renato t's jr Killian donor bride josh wankowski max mire gave gabby marino nick ledolo gabby marino again and nick parato to 10 Our unmag definitive hits are gonna be Eric davis and mary larkin buster posey david orteez A leo verguero shea langlears 250 Uh, buxton and tory hunter walker bueller nasty patch on that Uh, randy johnson to five paul molleter a christopher morrell Manny machado anthony rizzo gold frame nolyn ryan the 25 rod karu and yordan alvarez And mag cards from all three products start off with three at 50 corbin carol for arizona rookie auto We've got a base wyatt langford first auto for the rangers got a Uh adley rushman 10 to 75 for the orils That is a triple auto nolyn gorman matthew lebertor evan herrera for the cardinals Uh, johnny farmello that is uh to five on the red wave auto for the mariners We've got one of one for the angels berth y11 on the letter plate the y and y11 Uh, that is going to be a wyatt langford to 150 on the choice exclusive first auto for the rangers again A codice singa rpa eight of ten Nasty one there for the mets and then a one of one page ro martinez Uh gold frame ruby auto coming out of a definitive i'll do it for the break everybody. Thanks again for the fill Coming up next is one and one