Mr. Speaker, I rise belatedly to add my voice to the debate on the motion that has been presented by the leader of government business, member for Cass Street South, and minister responsible for tourism, etc. Mr. Speaker, on a day like today, given all the theatrics, the commotion and the misguided enthusiasm. Mr. Speaker, as I was saying, I rise belatedly to add my voice to the debate on the motion presented by the member for Cass Street South, the leader of government business, and minister of tourism, investment, etc. And on a day, Mr. Speaker, like today, given all the theatrics, the commotion and the misguided enthusiasm we see being displayed on the outside. And on a day, Mr. Speaker, what the member for Cass Street East and Prime Minister in a previous parliamentary disposition would have referred to as flashing mirrors. Amidst all of that, Mr. Speaker, I am once again reminded of the mandate given to me by the people of Denver North, who after the general elections of 2011, 2016 and 2021, Mr. Speaker, they have sent me to the parliament to represent their interests. Mr. Speaker, they have mandated me to come into this chamber and to occupy one of the 17 seats reserved for elected parliamentarians. But they have also sent other people, Mr. Speaker, to this chamber to occupy the gallery as we saw earlier this morning. And so, Mr. Speaker, I am extremely grateful for that opportunity given to me by the people of Denver North. Mr. Speaker, the matter that is before the house today, as simple as it is, the importance cannot be overstated. Mr. Speaker, the parliament is the highest decision-making body of a country. This is where we make laws. This is where we enact legislation. This is where we approve budgets, Mr. Speaker. And this is where policies of governments translate into legislation. And so, Mr. Speaker, the business of this house is something we must take seriously. And above all, Mr. Speaker, the conduct and the disposition of members in this chamber is something that we have to watch and watch very closely. Mr. Speaker, our actions, our conduct, our decorum, Mr. Speaker, must be exemplary at all times. And I will be the first to admit that we have all, Mr. Speaker, on occasions gotten carried away by our own exuberance in the things that we say, Mr. Speaker. We get carried away from time to time. And all of us at some point, Mr. Speaker, have made pronouncements in here where we've been called upon to withdraw and we have. I remember my time in opposition, I referred to a particular member on the government side as a political hitman. And notwithstanding, Mr. Speaker, that this was a figurative expression. It was deemed inappropriate, Mr. Speaker. The member took offense, he felt slighted, and I was called upon by the speaker at the time to withdraw. And without hesitation, Mr. Speaker, given consideration to how the member felt, I was very quick to withdraw the statement that I had made. So, Mr. Speaker, when the member for Miku South today has been asked to withdraw statements he would have made, statements that were injurious to all of us on this side and is called upon to withdraw, Mr. Speaker. The member should have in the spirit of true parliamentary democracy withdrew the statement. He should have withdrawn, Mr. Speaker, and allowed the business of the house to continue. But today, Mr. Speaker, what we've seen is that this particular parliamentary infraction has triggered court action. It has generated a lot of debate in the public space, Mr. Speaker, and it does not in any way whatsoever portray our parliament in the light that it ought to be portrayed. Mr. Speaker, I believe there are consequences to behavior. There must be consequences to behavior. In respect of what level in the society you operate, you must be held to account for your actions. And in our case, Mr. Speaker, we have to be held to account for the things we see in this chamber. I cannot, as a minister of education, encourage principals and school administrators to enforce school rules and to say to children that when you break school rules, or you infringe the rules that are established by your teachers and your principals that you will be punished or you will be admonished. And then we come into the parliament where the country is supposed to take example, Mr. Speaker, and when we infringe or we violate the standing orders, we have a difficulty, Mr. Speaker, to admit that we have been wrong and that we can withdraw and we can show remorse for what we do. So, Mr. Speaker, I believe, as I said in the power of example, and if the children who watch us on a daily basis or on a weekly basis are to derive any meaningful example that can serve them well in the future from the proceedings of parliament, I believe, Mr. Speaker, we have to ensure and it doesn't matter who gets offended in the process, we have to ensure that the standing orders are upheld, the standing orders are defended and that the legacy of the parliament that we happen to constitute today will be won, that the next generation will be proud of. Mr. Speaker, I support the reinstatement of the member for Mikud South. The member for Mikud South comes here, like any one of us and he postures, Mr. Speaker, as we can and it's our right to do in the chamber. But we must never forget or lose sight of the fact that when we come into this parliament, we did not come in here because we went through an examination process or we attended interviews and somebody handed a seat to us in the parliament. We went through the electoral process and people in the majority in the respective constituencies reposed their confidence in us and that is why how we were able to take a seat in this house. So, this is not about him, Mr. Speaker. The reinstatement is not even about how he feels and his sentiments. But the people of Mikud South who rightfully deserve a voice in the parliament should not, Mr. Speaker, be punished because of the actions of their representative. And so, I support the reinstatement of the member and the member for Kastri South, Mr. Speaker, put it across beautifully this morning. There's a lot that he has to answer too and he can't answer from the outside. He needs to be in here so that he can be part of a spirited debate at every sitting that can allow us to distill and to ventilate the issues of state that are of concern to the people of this country. Mr. Speaker, the member needs to apologise, notwithstanding whether the motion is held in the majority and that he can rightfully take his place in here. But I think out of humility, Mr. Speaker, the member needs to come in here and make the admission that look I had, I was wrong on reflection and I need to withdraw the statement that I made which was deemed offensive to members on the governance side. Mr. Speaker, ours is a parliament that people speak about in very glowing terms across the region and you have demonstrated notwithstanding the barrage of criticism that has come your way, Mr. Speaker, but you have demonstrated that in the Caribbean you are one of the most celebrated presiding officers in the parliamentary process. So, Mr. Speaker, with that, I conclude my very brief presentation and as I said, it is my sincere hope that the member for Mikud South will find it in him, Mr. Speaker, to withdraw the statement, apologise and allow the business of the parliament to proceed. Thank you very much, Mr. Speaker. .


So actually I'll just let you guys introduce yourself if that's okay. My name is Dan Frazier most of the work I do on the kernel team is I-64 port work Hello So my name is Sven Lutter and I'm in charge of the port PC port of the kernel I'm Holmes. I work primarily on the two full kernel and security updates facade Hi, I'm Josh Kwan and I work on spark 2.4 2 6 and As well as do helping Holmes out with I 386 stuff when I can Hello Hello. Hi, I'm Andres Salomon. I work on two six kernels I 386 stuff and sometimes security stuff So yeah, we'll just take a few minutes break Okay, good so this head right before the two minutes. My name is Dan Frazier Most of my responsibilities are around the I-64 port So the outline of this talk is I'm going to give a little bit of history about How the Debbie and Colonel team came to be about a year ago An overview of who we are and the kind of stuff we're doing today A discussion about Debbie and patches, you know the kind of stuff we accept into the kernel stuff we reject and why stuff we're working on for the edge release and Stuff you guys can do to help should you want to So I'll start with this Herbert zoo was The king of kernels for I don't know how long whenever I start on the Debbie and project. He was maintaining the kernel source package Every release Herbert you know did a lot of great work and he was very responsive to bug reports very responsive to security as far as I could ever see But you know about a year ago, I guess this was May of last year. He chose to retire And resigned from the project and that left a big gap So this little timeline of what happened about that time so May 4th last year Herbert decided to retire The next day Andres proposed that maybe we do a kernel team citing the known team is a successful example of a team the Debbie and project TBM announces a tent to form its kernel team About two weeks later. I guess Wli William Lee or when the third Announces intent to in a new kernel packages, you know kind of before the kernel team was actually announced but that was just four days later and he did a first in a view of The kernel source stuff just changing the maintainer over on June 15. So as you can see this this all happened pretty quickly and got going So some of the initial challenges and I wasn't really present a lot of this Going back and looking at mailing lists Was understanding a lot of the existing patches So if you looked at a kernel source package from like the woody time frame You would see just a bunch of monolithic kernel patches one for each release He patches were split up by functionality and it was you know unclear about why certain things were in there so I remember a Christoph Hellwig and probably a lot of your work to going through all the different patches splitting them up Figuring out what needs to go upstream what we should drop What not and that that took quite a bit of time Then version sync was a big issue. So if you look back at the woody time frame Since Herbert was doing x86 and alpha stuff You would see that those would track the kernel source releases as they would come out very quickly Other architectures and I was doing some I-64 stuff at the time So I remember like having to just kind of pull his page to see when new kernel source was being updated Security release comes out, you know and unstable It wasn't there was no notification to the other porters that you need to rebuild against this later version for security fix So, you know versions got out of sync pretty quickly that way I-64 would be like a version or two behind just because we didn't know there was something new and So you know all their architectures had to track the source independently so in the woody time frame You know we had a 2 to 10 kernel source tree for power PC AP us 2 to 19 for arm 2 to 20 from 68k power PC and spark 2 to 22 for alpha 2 4 16 for x86 an arm 2 4 17 for us through 90 power PC AP us and MIPS 2 4 18 for alpha I-36 and power PC to 4 19 for MIPS and some architectures didn't even use kernel source Those were HPPA and I-64 I think at the time So as you can see this is pretty ridiculous and you know If you hadn't noticed there hasn't been a kernel security update to woody in some time And I'll bet you this is why doing a single patch into woody to fix a security update across all sources Means a rebuild of all these kernel source packages the porting effort that that requires and they're rebuilding all these architectures against it pretty pretty insane So there's a total of 10 kernel source packages that time All sitting in woody or still are So here's an overview of the kernel team Debbie developers and non Debbie developers. I think everybody here is a Debbie developer There was also William Lee Irwin and Kristoff Hellwig, which I don't think are Debbie developers, but they're very active Oh and Irwin What's this? Oh Yuri Smarkov. Oh, yeah, I'm Frederick Shuler. Right, right, right. So there's a lot of other people, but So We maintain a number of kernel packages the kernel source stuff and the kernel image stuff But we don't do everything right now that everybody on the kernel team is concentrating on Linux stuff There's no free BSD. There's no herd on the kernel team An arm in 68k are maintained outside of the kernel team. Although I saw the arm guy is here Hello, and it looked like you were joining the kernel team today or looking into it. So awesome Come on down if you want no, okay and We also do the maintenance of currently related packages if you look in our subversion tree, you'll see stuff like Internet Rd tools crown FS and make them linus You guys just jump in if you have anything to say So I'll go over some of the stuff where we're currently doing One thing we need to do often is work with a Debian installer team The Debian how many of you guys know about you dubs and how the Debian installers built up? Okay, so that's about I'd say half the people So the kernel image is a very monolithic package I mean it provides kernel modules But it has all the modules and the kernel image all in one big kernel image package Di is a I missed your correction. It's a highly granular System for a highly modular installer So we take the kernel image and we actually split modules into different Logical groups, so you'll have the XFS modules for the XFS file system You'll have a set of scuzzy modules the scuzzy core modules, which are what we consider the most popular Scuzzy modules you might want on a system So we take that kernel image and we have a build dependency on it to this little Or this links kernel DI package has a build dependency on that package Where it copies all the modules from the system into separate small UW components So that way with the Debian installer you can build a custom Debian install image that has XFS support By providing you know just the UW you need for XFS that way you can make it fit on you know a floppy or whatever so this transformation right here is a Mechanism for doing that. So you'll see links kernel DI packages in the archive This makes version sync problematic because if we have a 268 Version 3 version of a package and then we build Linux kernel DI from that We kind of need to have that both those things in the archive to satisfy GPL requirements But if we actually do something like update the 268 3 to 268 4 now DI is out of sync and And you know even worse than that and I'll get into a bi step more later But if the a bi changes then the package name changes There's a lot of conflicts that are brought up there So security is something that the kernel team handles for unstable and testing Horms is a lot of that work There's nobody on our team that's currently on Vindersack. So we don't you know similar to the testing Security team. We don't monitor Vindersack. We don't have We don't recognize stuff that hasn't come through a public channel yet But we do get security reports from various places including the testing security team I've seen the in boot two people give us lists of stuff. Where are the places do you get? Okay upstream stable trim so a lot of monitoring goes on there, but Really we count on users it seems to give us bug reports to which we can respond and patch stuff Horms is currently maintaining a security branch for Sarge But what's unclear to me is whether or not the security team will actually use that as that been decided Okay, so that's something that's very unclear right now Okay, sorry Sure, so he asked whether or not the security branch is actually going to be used by the security team and We have no idea Yeah, basically, we're hoping if we can get it up to scratch and then it'll be something that they want to use but Right now the security team in particularly Joe is very busy. So he's very hard to get in contact with So so right now we're not really sure if our team is doing a stable security support But but we're maintaining a branch just in case So a bi changes and why they suck And they do a change in the kernel an a bi change You know as a change in the kernel module a bi so something that changes an interface that would make your modules no longer be able to load Once you upgrade to the new kernel This is something that upstream Colonel that are people definitely do not guarantee They have a file called stable API nonsense in the kernel source tree which describes Why a bi and API changes? Aren't guaranteed and aren't necessarily a good thing for the kernel. They state reasons like Changing an interface will actually explicitly force people to update their interfaces and make sure that those are secure and Issues with maintaining back risk compatibility and not willing to waste kernel developments time with it We didn't or if you look at a kernel image source or kernel image binary package name You'll see the a bi encoded right after the upstream kernel name So right here you see 268 dash 2 so this is the second a bi role of the 268 kernel for 686 Often you know if you're running storage or something and you want to run a stable kernel You'll just want to be able to run app get update app get upgrade and track that for that purpose We provide a meta package My kernel image 266 86 so if you have that installed on your system and you have to get dist upgrade If the a bi changes you'll follow along with it. So in dash 3 comes out. You'll get the upgrade. Yes How do we actually check for the a bi changes Dylan Yeah, so he's asking how do we know when the a bi changes And as the also maintainer kind of sucks when all of a sudden his modules don't load in a kernel anymore So I don't think we have an automated process at this point. I know that you wrote a script that can check and examine that Ubuntu is actually using the script right now. We're working on a single source packaging and That script will be in there as well So I have some scripts that I run which basically compare It actually just does a diff on the system map and I run that before I upload kernel sources So if you see kernel sources uploaded by me and chances are they don't have an a bi change You weren't expecting that that's not always the case I have I saw something to say about that I feel that all the people like you which maintain third-party modules should integrate more with the kernel team and have some My my intention is that we have some infrastructure in case of a new kernel upload There is an abh change we know about it and we trigger an automated or semi-automated rebuild of all the externals Kernel module which means that you will have should maintain your as a modules inside or other modules inside the subversion repository or a separate Subversion repository or some infrastructure which will allows to do automated new builds I have sent some some mail about this to the kernel Baby and kernel mailing list, but it was mostly ignored So I hope this will change Yes, okay Well, you could have Okay, so but for the other module maintainers it will be great if we cooperated and maybe you will have some as a Out of CVS or whatever Just to paint the picture of the whole a bi change thing a little better Well, for example the last big time it happened and we had all of this DI suckage as a result it was just because of security fix which I believe it was related to What's that the TTY locking stuff? Yeah, so when a struck changes and obviously when a variable Disappears or is renamed and stuff like that That's what causes the a bi change to prevent modest from being from resolving the symbols and loading Yeah, so I just wanted to make sure people understood what it actually was the last time this happened was particularly problematic because It was problematic because firstly we didn't see it coming But the thing that made it really hurt was it was a change essentially to the task struct Which basically mean almost every symbol changed so it wasn't like a couple of modules broken. It was everything bro Yeah, right now. We're in a situation where there's a pinning security fix That you will change the a bi that we just can't get in yet because Of issues with the with devian installer. So I get to that in a second. So one issue With the with the a bi changes is that it changes the package name So kernel image 2682 becomes 3 so that forces us through new so when we're doing this right about release time We need to get all these architectures rebuilt Uploaded into incoming and then they off the pin new and so that has its normal delay It's not kind of slows stuff down a bit But also what the package name change is that it breaks an interface with the I di has inside each release A list of kernel image names that I shouldn't you know suggest as installations or the stuff. It actually uses as an install kernel Once you change that then it can no longer down down download udabs from a mirror and pull The proper version so you can't have a dash to Version a di running a dash to a bi of a kernel pull down the dash three version of the modules They just won't load and that's intentional So this sucks for di and that also and that makes it so we can't really have a Cohesive way to upload new a bi changes. Hopefully security at demi.org Won't have this restriction because in theory you can install with the I Upgrade to the latest version in stable and then pull a new a bi version over from security at demi.org But that also means that when we do point releases and stuff that we need to spin di so I'm going to go on to an overview of Debian patches the kind of stuff that we provide in Debian and what we don't So kind of patches the kernel team likes is stuff like security fixes driver fixes and stability fixes These are all things that are in theory upstreamable Things that make our users lives better. You know, there's really there's really no reason to say no to these things But those patches we generally reject is stuff like new features You want the latest version of software suspend that has been accepted upstream? It's probably a reason has been accepted upstream So we try not to keep that out of there We also don't want to maintain interfaces that may change before they actually get it accepted upstream Stuff like attitude drivers same situation if the driver hasn't been submitted upstream Who knows how long it's gonna last or who's gonna be maintaining it We don't want to provide something for users and then take it away later And even worse than that would be maintaining it ourselves after the fact and You know, just just your favorite patch set, you know, whatever. It's not something that Needs to go into the Debian kernel. So pretty much, you know, if you really think this patch should be some put into Debian submit it upstream submit it to colonel.org let people review it Get it accepted into a later version I've often seen these guys backport fixes or new bits of functionality from later versions that our users want As long as we know that there's a forward path for it So going on Sarge is now done. What do we do about 2.4? This is a big question that Horms has right now Can we drop 2.4 from sit and testing if we could it would make our lives significantly better We'd be able to ditch in our d-tools in theory because in a ramifest is up and coming If you guys haven't looked at the inner d-tools source code, how many of you have how many of you have seen it already tools? Yeah, so it's It's very horrible. It's this huge huge piece of shell You say something I was just going to ask how many of you wish you hadn't Saxony Right Yeah, so his comment is is that he works with herbert and this is the kind of stuff herbert does is write huge bits Of shell code to do stuff when it could be like 10 lines in pearl Yeah, and I I learned a lot from reading herbert shell code He uses a lot of stuff that I've just never seen before and have to figure out What's that? Yeah Yeah, I remember when I took over i64 packaging I went on and I just created my own set of packages Because I could not understand what he was doing over the period of the next year I would gradually figure out. Oh, that's what he was doing back here and pull out bit of code back in And over time I just essentially went back to what he had. I just now understood it So it's less if I don't have Okay, so It'd be great if we could ditch internet e-tools problems with going to a two four kernel is that nips doesn't have a two six currently up It has I guess upstream just hasn't been ported forward and you were saying the spark 32 s and p sucks and two six It's just completely broken Yeah, and um, there's talk of actually Because of the advantages for all the rest of the architectures Migrating to two six There's a just emotion to just drop the whole s and p thing because heck your toaster is probably faster these days anyway My spark 32 is best served as a monitor stand right now Grant was asking for an example of a multi-way spark 32 box and you said spark 3000 So are there other issues with two six that you guys are aware of or two four They're the main I wasn't aware of the spot problem, but mips one is the main issue. I'm considering right now Well, basically the only thing reason I'm considering doing two four at all Um, basically my consideration is that by the time we get round to doing edge Anyone who can be using two six probably will be and so two four is going to be pretty marginal As one more data point and Sven Luther, maybe there was a little bit about this I followed the m 68k build and devian 68k lists um At one point there was an m 68k sub arch that had trouble With two six as well. Has that been addressed or is that another case of just digit? I don't remember which one probably I mean this slide is really we're trying to open a discussion about this Which will go beyond this uh presentation if Wouter sir, maybe he can tell us He's right here There is work on uh, two dot six from six. Okay, but uh, last time checked. It's not really stable yet on Most sub architectures, they're working on it But they're working it for quite long now and I'm not really Sure, what's going to happen with it? But yeah Not not really yet most sub architectures support, uh, two four in fact all sub architectures except for mac Support two four very well Two dot six is not not really yet. I think All right, thanks And on on the poor pc side, we we still need uh 2.4 for the apus port. I took simon is working on it and I had some nubus patch that nobody tested Yet, which is not yet ported to 2.6 and we have also some problem with the old world miboot Miboot yes miboot Installation method so but that are very minor problems and we could drop them because Apus I believe apart from simon nobody's using it anymore and uh the same for the other architectures sub architect So there's likely going to be problems with di as well because you know devafest is now deprecated in two two six kernels So I have a feeling they're going to want to do something, you know That doesn't rely some sort of hybrid detection that no one relies on devafest Is and that kind of leaves us with sysafest and stuff like that that's only in two six so It would be great to get rid of it get rid of 2.4 That's a lot of stuff that's been happening lately. I've seen andris and Yuri working on quite a bit on irc is moving to a single source package right now there's a Right now building a kernel is multiple layers. There's a kernel source package that we start with and we all share as a base Then from there some architectures have kernel patch packages specific to their architecture Um, that's pretty much gone away in a lot of cases with two six Then there's also the image build on top of that. So we we have multiple layers um What we're moving to now is going to a single source package So that you have one one package that you build on different architectures and the kernel images are split out there This will help keep a lot of things in sync. It'll let the build these do the work that we've all been doing by hand as porters Um, and we'll still provide the kernel tree for external architectures, which I guess there's just one now, but The kernel tree mechanism How many people here are familiar with kernel tree versus kernel source? Do you know the differences? Very few so I'll I'll go through that in a second And one other thing this single source package will give us the opportunity to do is actually rename the package to linux kernel because We may no longer be the only kernel in debian for much longer So with with that, let me give you guys a brief like, uh, do you have a kernel source installed here kernel tree? Oh, well, okay, so let me go on to the next slide and then I'll let me check Sure go for it I know it's installed there Um, oh non-free firmware is a slide. I just added because I'd forgotten about it. Um, one issue we're working on right now is There there's various dfsg non-compliant bits of firmware in the kernel source tg3 is the best example that most people familiar with your question About the linux kernel for a name.  Not quite. We had a discussion about it. Um, and Basically, we're talking about the source package name calling it linux dash two six And then the binary packages linux image two six twelve or whatever Although yeah, but we need more discussion about that I'm just asking because I maintain the glumach pistachio and I'm part of the k3bsd team So it will be nice to unify the the the name for all kernels in debian. So If it's not yet, I mean if it's decided, uh, I like to to to change the The names of the other packages you should are you subscribed to debi? No, what I should I know Yeah, we should probably discuss on debi kernel. Yeah, sure. Okay. Yeah, maybe at some point we can have like debi and cross os kernel list or something too so that you don't have to see all the noise on debi kernel um All right, so non-free firmware. So Um, how many guys are familiar with the with the binary blob? Do you know what that is? Okay, that's most everybody here So binary blob is just a dump of hexadecimal and a dot h file or a dot c file Um, that is actually a compiled code Compiled blob of firmware Obviously, that's not dfsg free if you consider that that firmware as the software that's under the dfsg so What we've been doing so far is uh Going ahead and shipping it in sarge sarge we left all that firmware in there But now undress has been working on a kernel modules non-free package Where all the modules that can be redistributed Live So so they're non-free but distributable and that's a fine line there so The difference there is that uh, non redistributable stuff Is stuff that we haven't given permission to even send out to our users You can usually tell by looking at the license go ahead. There's about eight drivers in the current Linux kernel tree that are non-distributable Because of their firmware for those of you that use the tg3 driver You'll notice that initially the firmware was stripped because we could not distribute it At all do the licensing We've resolved that with two six twelve so that one will be going back in But there are still six or seven more that we need to work on to get permission to distribute So, um, undress and Spin some as well been working with the copyright holders upstream to get that permission And actually get patches upstream into the kernel source that changed the licensing to explicitly say that the stuff is redistributable It still doesn't make it free by debbing his definitions, but we can at least put it in the non-free repository That'll of course have implications with di because if you need the tg3 driver to install Then therefore you need to have some you deb of these non-free kernels as well On the media. Yes There's a wiki page here that these guys put together that list kind of the current status of where Where we are with each of these copyright holders And which drivers are currently in this non-free section, which ones? are not Init ramifest is something that jeff bailey's been working on from buntu How many people know what in it ramifest is? Okay, so it's about half again It's a new feature in two six, which is A replacement for in an rd and it tends to replace in an rd in an rd is a symbol block device Or a symbol block file system I would say right a block file with a file system on it that has All the modules and stuff you need for booting and that's what the inner rd tools creates for you when you install a kernel In a in a ramifest doesn't require file system code at all. It's a cpio archive. It's kind of tagged on to your kernel image So right now we have cramifest has to be installed in every kernel It has to be loaded all the time, but we'll be able to drop that if we do this Unpacking happens early early enough to say Load firmware should you need it for your sketchy device or whatever These things are actually stackable so you can have multiple In a ramifest cpio archives tagged together and they'll just overlay on top of each other as you load Some stuff i'm not too familiar with but magic root dev naming goes away I remember they used to do stuff with dev root that I didn't understand the shell But now the name scheme is going to be the same before boot and and during boot Um And right now the way in a ramifest works or did whenever I put together this paper Was it had hot plug in udev built inside? And it just had all the modules that you need You could possibly need to boot and let's hot plug in udev You know go about its business of Doing hardware discovery the same way it would if you were booting into a normal system That works well from boot 2 because I think they have you know memory requirements that aren't as stringent as some of the Debian's users will be So we don't know if that'll work for us or not. Do you guys know if there's been any Discussion about that So i'm not sure what we'll do for devion as far as hardware discovery and stuff It'd be ideal that if we don't have to do the nrd tools thing of Creating an nrd image in the post install. It'd be awesome if we just have it all prepackaged That would take away a lot of the differences between installations And bugs and bugs So harm said about half the bugs we see is related to nrd tools right now And we get a lot of bugs so that's that's a big number And the uber feature of this is that it may just get a bit of nrd tools for us if we can get rid of 2 4 Uh, what can you do to help? So a lot of people in the devion community. I'm sure just run your own kernel But if we can get more people testing the devion kernels before we do a release We have a question sure In response to that patch you just mentioned which looks quite interesting. I do have one question The current average kernel size right now for the normal kernel not the boot up kernel for di Is around 15 megs, which is already fairly huge in my opinion And by the time you had the built-in udev and hotplug implementation We're probably going to be getting closer to 20 megs right and that to me the Default deep in kernel size is a big concern because I get to do a lot of installation on hardware that has Extremely limited size for the boot partition for instance So I'd like to your your feedback on how you intend on keeping the kernel size to more reasonable And ideally shrinking it from its current size Can I apply to that so first What you are mentioning is not really the kernel size plus the kernel plus in eternity size And the only reason it's growing so fast for you is that you are you are using In the slash etc slash mkineeterd slash mkineeterd.com file You have modules equal most the default which will put most modules in it and make you a huge huge huge Uh In eternity, which is the problem the same thing is to change to modules equal depth Which makes a much more reasonably say that module The the not not so good and okay the problem with that is that The intel people or the main kernel people they don't like it to do that because they were not sure it will not break in some case And we had history going on and in eternity tools were not so nice and stuff like that So it is possible to have reduced kernel size on per pc We will kernel which fits in four megabytes Including the in eternity and there is no major problem I don't know how it will scale with the in it any tram fs stuff But it may be a problem Okay Yeah, I wanted to ask about can you hear me? If you guys had any thoughts about dealing with Out of tree kernel patches, um, I deal with two kind of intrusive kernel patch packages and It's for the user There's kind of a high barrier for actually using those patches because you have to download the patch Applied to the kernels kernel source and then build a kernel your own kernel So you can't really track the kernel images as easily So i'm kind of curious if you guys have any thoughts about how to Um, make that process a little easier for the users I know one thing I could do is with a kernel patch is build images And then users could install those image packages, but that's kind of a pain and um I don't know if there's any thoughts about making module assistant type interface for kernel patches or I was actually going to mention module assistant. Um, that is something I would like to do in the long term Is to get an interface like that to both manage Um currently installed kernels as well as external modules that are compiled against it and kernel patch packages I've brought it up before but Until we get the single kernel source Thing worked at we recall kind of you know struggling to just keep up at this point. So that should uh, That should allow us to get some free time to work on such things So this is a follow-up to mika's question. Um, I'm the maintainer of the suspend two kernel patches now whether you guys like that It seems to be Bit of a problematic issue. Anyway, um, we were thinking about working on converting it all to modules so that we can actually Integrate this with the running kernel, which would kind of solve this problem I'm wondering whether you guys have experienced with that and whether um, this Would be possible on a generic level or whether this is going to be really hard to do for the Average kernel patch. So there's a question around like maybe having an upgrade automatically build a set of modules Well, not really no, I'm A kernel patch changes the source and then has to be with recompile the kernel module Replaces it's monkey patching in some ways it replaces parts of the code With other implementations and you could in theory replace those parts that you actually patched with separate Function calls that you load from modules so that the functionality comes from modules Which you can then insert into the kernel images that you provide rather than having expecting the users to Build their own kernel images after applying the patch Well, not that I've any useful information on this, but that would be cool. That's you're basically talking about adding kernel hooks for modules for like functions that aren't impaired for that sort of Well, lack of a better word intrusion uh, so I think this is the kind of feature that we would like you to submit a patch for Yeah, I'll have it up by tomorrow. Thank you I think we have time for just one more Maybe too much Okay, there is a small question about the real-time patches, these normal patches And I know that they have resulted in upstreams and there has to be a lot of these customy kernel mailing lists about the real-time patches And I think that they have been most effective because They improve a lot of Rismo's time in interacting with the application, but they may be forced one or two percent They not be forced on web server applications And I also know that because they have a deeply internal failure They can't be so easily applied by normal users So is there really any discussion about this real-time The empty patches or even having Like there is currently this S&P kernel as Parallel a real-time kernel that could be used for monthly re-applications And I think that this was not that that no one uses monthly media because if you like code for like apropos I think you have this resource in the kernel that could be used for this kind of monthly re-applications and music So I just hope that this get under discussion to having kernel with real-time patches And I also like to have opinions about like Uh, so simply you want to know if we have separate versions of kernel with preempt and real-time support I know that we have preempt on right now in some kernels And we really shouldn't have been a lot of them My guess is that the virtual right now has a problem with the preempt But I don't really know if you guys have discussed it There It kind of relates to a discussion we've been having with each other Which is how can we reduce the number of flavors? Which is basically where The current thinking is the overhead of having S&P kernel running on a new processor Machine is probably negligible. It's not worth the effort This ties into your question because Essentially if real-time is working upstream, which I believe is currently not Every time I see a discussion of our own In this kernel mailing list There's several schools of thought don't want to agree with each other But if that was working and if it only presented a small overhead to set the web server I don't think there would be any problem with incorporating the Debian kernel But there's as I understand the status of code is just Not ready So in the future yes now Okay, I'm dreadfully sorry, but we can't take any more questions throughout the time But please feel free to come onto the kernel team and ask them Sure, they'll be happy to answer any questions you may have And thank you very much


Matt Brady is a 22-year-old college student from the United States of America. In 2009, Matt was working out on a treadmill at home with the earbuds of his portable music player plugged in, but playing at a volume that his parents could hear a flaw below when he suddenly experienced a pain in his head and couldn't hear anything anymore. He suffered permanent hearing damage and has problems hearing when there is background noise. Matt joins us in the studio today. Matt, you participated in an event organised jointly by WHO and ITU called the Joint Stakeholders Consultation for Safe Listening Devices. You were invited as a keynote speaker to this event to tell your personal story. Can you tell us how that came about and a little bit about what happened to you in 2009? So back in the summer of 2009, I was using my iPod regularly while I would run on the treadmill and for recreational listening as well. But when I was using it, I was using it at a very high, high volume and eventually using it at such a high volume caught up with me and ended up damaging my hearing so that to this day I can no longer hear conversations in loud settings and sometimes struggle with using headphones for a long period of time because that can cause discomfort. What was it like speaking at the WHO ITU event and sharing your story? It was very powerful. I believe that education and advocacy is the best way for us to express to our young people that there is a problem that can come from extended use of listening devices at high volumes and so having the opportunity to share my story with the people who are going to be the leaders of that change was very important for me so that they know that this problem is real and affecting people. And what happened to you exactly? It's honestly very hard for me to describe because I'm still not exactly sure what happened but what I did notice was on that day that when I was done with my run on the treadmill and disconnected from my iPod, I was in pain and unable to hear which lasted for the good portion of that day and then as the summer dragged on I noticed I was continuing to have pain in my ears and my head and was beginning to have trouble hearing people in noisy situations which I never had before. Was it easy for the doctors to link the hearing damage that you suffered to you playing your music too loudly? Absolutely not. It took almost a year from the time I first noticed a problem to the time a doctor was conclusively able to link that. So it took multiple doctors from my pediatrician, my neurologist, multiple ear doctors and audiologists all who failed to grasp what had happened partially because any test that they ran came back as normal. So it took someone who really understood noise and noise-related hearing loss to say, yes, your iPod did cause this damage. What's your hearing condition like today? Today I still struggle immensely with conversations in noisy situations which for me is a big problem anytime I'm in a lunch room or restaurant or even sometimes in a classroom setting trying to have a group discussion that I can't hear people more than right next to me that if there's someone two people away from me I may not be able to hear what they say. And so that's an immense struggle trying to have a conversation with someone when you can't hear them. And for me when I was in high school that was a struggle because it was hard for me to make friends in the lunch room when I can't hear two people next to me. And what's your advice to all the people who listen to music too loudly? I would beg them to not keep the volume too loud. Surprisingly around 50% of the maximum volume which is what I use now is a safe level. Safe levels are not super low that you can't still enjoy your music with them but you just have to be responsible in what you're doing, be smart about your listening and if you're going to be listening for an extended period of time don't have the volume all the way up. What would you expect the industry and organizations such as WHO and ITU to do in this field? I would hope that they could be educators and advocates teaching people how to use their devices safely with the technology that exists and could potentially get developed to help that process and make them be better educated consumers aware that extended exposure from music players can cause long term hearing problems. I would not look forward to having my generation be extremely hard of hearing when we get older so I think education is the best way to help people learn that there is a problem register that what they can do is simple and take the changes that they need to protect their hearing for the long term.


Hi guys My name is my name is David Newn I'm a full-time developer to you, but by night I play MacGyver you can see you can see me at the karaoke bar in in Torrance at Max karaoke belching out 80 songs and today I'm gonna tell you about a journey some of the journeys I've taken and some of the things I've made with Gutenberg, you know Gutenberg is a powerful tool and I'm gonna tell you how to play with it. This is MacGyver plays with blocks All right, all right, so MacGyver plays with blocks. So who here is familiar with the Gutenberg blocks? cool Who here likes using Gutenberg blocks? That's more than I expected. So we're in a good place All right, so, you know This guy's great. This guy's my hero.  How do I do this? Well? You know, I was a I was a Laps where I press developer myself and then until I found my way with Gutenberg Gutenberg and Gutenberg has a lot of has many excellent features That love and it's really great. It really lends itself to making a lot of new tools There's me with different with like worse hair back then Talking about talking in the work at Riverside about, you know, I'm rendering Gutenberg content native experiences I don't know who the other guy is So over there me and then we talked about, you know, hooking up Gutenberg to VR and fax machines I have a little video for we'll play. Yeah spoilers. All right So videos and slideshow is always a perilous journey I'm not sure if it'll work. All right You so we don't get sued. All right. So we have Gutenberg Before you saw the CTI now we have Gutenberg and a fax machine Now now we're faxing to Gutenberg and Gutenberg texting And here's a wapoo and Then here's some of some more people. All right But anyways, I'm greenberg. So there I'm demonstrating is a greenberg and power a lot of different things besides just like, you know WordPress web web posts Ah, it's perilous Thank you. Well, I escaped to I escaped too hard All right, good boys great. Okay, we can all agree there So we can't be mad new editor Gutenberg the new editor. Okay. Hey Gutenberg you have blocks which are discrete units of content you can go and rearrange around and the best part about that is in the classic editor the only real mode you can think about a post as this is a big blob of HTML but I can think of your posts as as a series of blocks of stock of blocks that you can move together really easily instead of, you know, just having Just having one big blob of text. So Harrison Jenga blocks Jenga blocks. There's a rumor that someone made Jenga blocks flavor Gutenberg block somewhere Yeah, I don't know where to buy them, but if someone knows, please tell the audience later All right But today we're gonna talk about, you know, making some crazy blocks So here we're gonna talk about using blocks to power Native mobile content, you know, it's typically what you would see a typically use case and then we're gonna use Gutenberg blocks to authorize interactive content like quizzes which is quizzes is a legitimate form of of news now and Also a little extra using Gutenberg into a Vita production pipeline, which you know, it's it's if you've ever been on social media You see those, you know square videos that says business insider. You won't believe how this world has changed It's like a flying like plane or whatever and they're all awful except when they're about food and they're great And you know when they're about food, they're great I love them and then I was wondering and it's something I wondered myself as like How can you automate this because you know, it's very cookie cutter, right? And apparently a lot of people have spent a lot of thought into this. So, you know, I thought this would be very apropos all right, so Later on today, you can go to snackable app and it's it's it's a great site It's mainly about junk food and a diver. So, you know, a browser at your leisure after this talk and Also coming soon Coming soon, there will be a snackable app Android app in the play store. So please click it. I'll look forward to that Anyways, let's talk about that app MacGyver means a junk food scrape So When I was building the site like about that app, I did have some guiding principles first First one of the things was I did not want, you know You know, I've mentioned already like the classic editor classic editor had all all your posts as like one big HTML blob and You know who here in the room is a developer? Okay, so You know and we've all been before you know You scrape up a bunch of HTML soup and then you think it's gonna be a straightforward, you know I'd select there to grab like this part of the elements in this big list and turns out Like 15 edge cases you didn't account for and parsing that data is very difficult, right? Well when when I first saw Gutenberg out one of the things I thought was like wait I don't have to define my posts in terms of like, you know, big text blobs, right?  It's like this. It's like thing on the left and then this is how, you know I I feel about the classic editor, you know, because this is the kind of output you get And you know, you know when you're building an application and using like, you know WordPress is like fundamental to your to your content strategy it's like Which would you rather work with, you know a bunch of a bunch of blocks or just crumbled up receipts, you know You are correct All right, so Exactly, so that that is That is you have one data source came in on the left and then you can project it in many ways in different forms All right Another thing is in second law app all the data in the posts is Strictly just content meaning that I'm not using any of the column layouts I'm not using any of the any of like the presentation layouts because because in that scheme is like all of that should be done on The theme side on the theme side on the theme side on the client side What would be your native client a game client or all whatever is ingesting it? So that way that if you need to make changes to how things are laid out or You need to make big changes to multiple big sweeping changes to your data like your content They're not mixed together and it'll be a lot easier to reason about And I'm sure we've all been there before where you have a bunch of like Presentational divs you go in the code editor in the class editor and you put in a bunch of you know cheeky divs everywhere And it works great. It works great for like, you know a year ago And then when you go back and because your clients or whoever, you know watch you look at it You're like What did I do again? You know we've all been there before so Having a discipline where you think of your content strictly as data We really you know remove that burden from you. It's a little bit more work upfront, but you know, it's a lot easier down the road so I think about as you know, the difference is if you were disciplined and you think of your There's content spread for your presentation layer Think of it as a Swiss Army knife.  And who has ever used short codes to embed rich widgets or like no data or whatever inside your post, right? and whoever and and like, you know, I'm gonna show you something that We've all we've already all poly experience before you know eventually when you when you work with a post, right when we're supposed and you want to do something I want to do something a little more complicated when they have like rich because everyone wants that rich nice media experience The pierce solution like you know, what's the good post your cards together, right? But you know, we actually look at it and I'll put you end up with something like this and then this is a little scared look at right and and I don't care if if you know if you're someone who you prefer if someone who prefers like to edit the code themselves and I like for this kind of things because I See, you know 15 places right here where I can make mistakes We can make mistakes and you know short codes can be very fundamental based on how they're implemented and you know you put like a wrong wrong Bar somewhere and all of a sudden your post is broken. You know, you have phone calls before in the morning, right? so Now this is not optimal Content-edited experience, right?  You want as little cognitive wall as possible So then What we're going to show a look at later is this so this is a little plug-and-die route for authoring quizzes You have a sidebar right here where you define your topics and you can use blocks on the left to Off your questions and Other nice things for example It the plug-in right now Requires you that you make all options equally possible and That's great because this because that's a rule that's enforced inside the editor So you don't have a situation where it was like, okay the intern the intern You know food bar to question and the whole thing breaks because you know the mac doesn't work out And also like when you look at it you see where it really clearly That okay here's question block. Here's a question block. Here's a question block now the thing about this is is that instead of having Having just a custom plug-in or custom UI interface for editing just quiz content, right? Because it's a good block Gutenberg blocks. You can also do things like Embed and insert other block other good books by blocks installed in your site So you can do things like, you know, it's no reason why you can put an image at the top Put some copy paragraph box blow each question Or like, you know, what we're gonna do later is put a big five picture of a diver at the bottom But you know, I think you know, I Think and don't add me and this is a bet a much better editing experience than just editing shortcuts all right content types so in Snackable there are Three content types the content types the article normal posts One thing I found about Gutenberg recently is which is a really cool feature is you can restrict what kind of blocks The Gutenberg editor is allowed to use which is great because sometimes, you know when you When your client wants to give you the tools asked for the tools to work in the site which is which you know sounds great in theory because This that's ideally less work for you But then you realize you left some less indoors unlocked and you know, they do something bad It's all broken But you know typical repress post and the outputs the Gutenberg block output is Is a pretty partial pretty easy reason about which means They can be interpreted really easily by the main devices There we go. Let's wait The extra for the quizzes so in this game we have quizzes as a separate post type because really When you think about the kind of are because you know when you're going to consume a quiz There's something interact it's an interactive content where you have your Reader or consumer actually participating in the content and like interacting with it But as opposed to more passive right and it makes sense to have that separation But for all intents and purposes is a normal post you can use post blocks like your typical Post creation blocks like paragraph and mention all that with it as mentioned earlier You have Controls in the plug-in and check them plugins to make sure the quiz is still valid Which you know, we all make mistakes and we want to make sure that You know, we were we have our bags looked after and also their generation so Taking that quiz to get a we can Spit it out to WordPress and spread it out to your native client and then trip out data as a quiz But you know why not go a step further and make those fun videos for the asking questions and bunch of drunken statements, you know But the ones that ask what time do I come in the morning? so In a bit I'm gonna ask some for some audience participation. We're gonna make a quiz and then we're gonna turn into a video All right, and the one thing I want to cap us off with is is using thinking of WordPress this way. It's not just strictly for presentation, but as a way to just, you know manage your content, right and I said something to manage your content is and You know having this point to make sure all the content is separated from all the little presentation logic It allows your data to be consumed by you know a bunch of other devices and experiences that you might you might have earlier I talked about how Me and my friend up there Leo we used Greenberg to power text messages fax machines VR VR and I think There's a TTY in there, but we also Can you can use it for other things like you know video generation and I'm sure if if one when present individual want to you know bring up to a toast Into a toaster, but the reason why this is possible is because the data is very is clean Structured and and easy to interpret in a format. That's I can be consumed by and understood by many many different devices so You know There's no reason why you can't have your WordPress Content I have an endpoint in the rest API go and have it be consumed by service function or a service function that runs a job to generate PDFs or no books or pamphlets or whatever or You know like any games like if you're a game developer you want to have You want to have all your content in a separate place because games are really complex so you want to be able to You know have the authoring team offer all the content And that means like characters lore images and all that right while all the game engineers Worry about work on the client and then you know if we have a clean contract into clean API between the two You know, that's what makes you know big games possible I think it's possible because otherwise, you know if you have sufficient where Very yes someone. Hey, so I tried parsing the HTML again. It broke You know those are conversations no less want to have All right, that's what we got so The source code will be available here, but I'm not sure if I made it public yet, so I'll just do that really quick check All right So while I so while I check this does anyone have any questions for the demo? Well, let's see This is this is embarrassing Hey, so we have all the WordPress code here settings Danger zone Thank you. We're on the same page friend All right cool do do do do this is called Thank you. Okay Right We call it the danger zone for a reason dude, dude dude, dude, dude All right, all right double check cool, all the card will be available at GitHub comm slash mackable apps All right, so let's go to the let's go to some demos All right, so let's show the quiz All right Sergio Pop quiz You know what pocket is? Yes. All right, cool So he's been since me a bit bad time. So I have a question. What time do you wake up in the morning? That's a good answer What kind of burger do you like your choices are in and out five guys MVP in islands What is your favorite Gutenberg block paragraph image column or quiz? Good answer, I can't find my crissie here we go. What kind of pierrot do you like? Yeah So so so Leo could you explain what a pierrot is?  I'm not logged in Damn it. All right, dude. Do you do you do it? Hmm Right, oh There's more. Hmm. What is my password? I Think this is it Exactly, all right All right, so let's go in here Let's read it again. Make sure All right, cool at the post All right, so here's a big picture of pocky What time do I come in the morning? So each of the questions are blocks, right? Each of the questions are blocks and You know Instead of just doing what I did before why I showed before with the short codes We're in the classic editor and you're doing a bunch of like weird brackets everywhere and doing choice one for attributes and all that and you know having to do a bunch of fiddly bits in order to Compose your contents All that's done for you in the Goodberg editor in these nice blocks blocks and you know, you can include permission elements like include Results at the bottom So if you really want to so now let's change it Let's go here and move to the bottom Go to the middle library Pick some cool ranch Doritos Update it and view the post And you can see we have an image block up here and we have an image block at the bottom and The quiz still works So I'm pick some random options Don't pocky. So how so with the rules of the quiz how it works is each Each answer to each questions is is associated with a With a Topic so and what it does is it takes them a maximum of Each of each of the topics and then that's the topics you get based on the answer and What's cool is is the good Greenberg API? The API, you know, it's a bit of a bit of a pain in the neck, but let's get past it. You can do cool things like this If I add a block if I add a topic here It shows up for all the questions. So lots of what's in the flavor pocky There is a run pocky Well, what time would it what time would a rum drinker wake up in the morning? 4 p.m. Is a good one what can I bear burger with a run pock run pocky eater? like Burger King a run a run pocky is favorite Greenberg block YouTube in bed block nice Favorite pure oak flavor bacon All right So then let's insert a block below the image perg up lock Find out what pocky you are Are you vanilla vanilla AF?  All right update Did we break a client site? No, we're good.  It's Burger King likes a YouTube in bed block and likes bacon prerogs run pocky all right so That's all cool and all but I also said there would be There'd be video, so let's go look at that so originally I was going to introduce Introduce video generation and pointing to something to like a video editor that won't rename remain unnamed that cost thousands of dollars But I think I was like no, that's no that's a little and that's like you know not not I'm a very MacGyver thing to do so we're gonna I'm sharing example using all open source for us software and You can take this today With a little bit of MacGyvering in fact a lot a lot of MacGyvering With a lot of MacGyvering and you'll be able to instantiate this and Have your own video content by pipeline with the code you see on the repo so I'm going so I'm using this thing called I've been using a Python notebook to generate this if you don't know about the great because it lets you have code along with pros and Your notes of you know, you write doc self-documentating code and it's great for one of those things where you do You're messing with much of code and you're not quite sure what you're doing like I was all right And also for those in the back or wherever where you can't see it very well. Let me know second the zoom in All right We good. Yeah, cool All right So here we have this is a public endpoint every can read. It's read only. I hope so here is the uri for the quiz that we were working on and if our and will do is go through and print some blocks about it print some information about it So it'll put the title and then this is what the blocks look like So This is this is um somewhat human readable, but But you know, we're not we're not the ones gonna they're gonna be consuming of this The programs the programs and things we build are going to consume this and this is much far easier to consume than just like you know a bunch of Like this big ball they should all that you like poke out with jQuery But anyways, anyways content you can so you can see like you can see like the 4 p.m. Here is something we added at it Right, and then we can go through and with our clients with our client edits Interpret this content into wherever we wrote where we want All right, so there's a little sanity check because we want to make sure our stuff works first, you know All right, so here's a text-based Interpretation of the quiz you wrote so you know if you're old school you can just Send this to your own printer All right, so So I'll have stories and I can tell you the happiness part for you just it so Here I want to make sure all our quizzes show up so all our Rampock options are there cool All right, so I'm using this library called movie pie, which is a nice convenient wrapper around f of mpeg Because right f of mpeg on on its own is a soul of crushing activity in this nice light life This nice light library, you know abstract side which makes it which makes a lot easier so I have this nice nice little function that makes a caption makes a caption and I have this Function right here is Python function right here that takes it and displays the video I'm having trouble with the caching time. I'd have to fill the explorer for a bit and let's change the text to Hello Word camp Santa Clarita And the scratchers fingers hmm.  So let us Look at this and hope it's not cashed. Cool. It's a little small. Let's make the font size bigger Do do do do cool. All right, that's a little too big but you get the point so So what's great about this is is that you can take this and deploy it Deploy it like if when they put something like this take videos and templates done by your design team or your video production team and then ask him to Put empty spaces for your text and then you can write a program like this and deploy it on say Say like a easy to instance or land an instance and on-demand just generate these videos Right and it's great. It's great to have this kind of thing because you can do it for like say building proofs Like if you ever have to like do a quick edit for proof with bunch of video, you know It's also a soul crushing activity sometimes But you know back if you attended Sergio talks Sergio's talk earlier, you know, these these are Kind of things like those things to do again and again where you want to automate, right? So I think that the point take away of this is no if there are soul crushing activities You do on a daily basis try to automate them All right So we have our data and we have a way to make video. Let's try to combine them So here is a bunch of logic goes through and make some stuff and it iterates through it iterates through all the Choices and then on the post there is the topics are saved as many data on the post Post and what it does it goes through and combines them all in a way that we can interpret later I'm not gonna go into this unless you really want to ask me But but just just know like what this code does it just goes through and combines all data together So we can go through and generate our clips That's if it works It's going through it one by one generating clips takes time and Now that the clips are on memory Let's make sure they're there cool As in doubt we're good. All right, and then let's generate the video All right, I don't trust the cash so I'm just gonna you know take take my destiny to my own hands. All right So it's very big text We could spend five hours trying to Trying to make the text all nice and neat, but you know You don't have time for that, but what I will do is superimpose MacGyver's face on the background image So We're gonna go to our media library Find this nice picture MacGyver And save image as I don't remember where I put my stuff It's good. This is rooting television people snackable Video Mackie Mackie Mac dot jpeg Save cool Much time we got all right And then we're gonna open up a Certain image editor No, no it runs off of 4k I wish I were though actually Let us Actually, you know, I'll be a little bit more interesting if I do this Mac dot jpeg So what it does is is I originally was gonna crop and do nice things with it, but you know, we want the raw experience So I'm gonna go. Oh god. All right I have a time limit guys. The bomb's going off. All right. All right, cool All right, I am generating content right here generating content right here and then I am I am going through making sure it's correct. All right Now that now that I have the now that have the all the clips of memory I'm going to set them all together concounting the videos together like how you would in a sequence in any video editor All right, no errors and then we will go in here and refresh Something happened. Oh no, it's too small. All right. I'm gonna go back And change what we did. Oh, this is the one Okay. All right, so I cut the wrong wire, but no one died yet. So All right All right All right, okay. We saw the first one video. I will open the not to be named text of photo editor All right, we're gonna find my way back. Cool. Go here And then we got nice nice multiply cool say for web All right, you know because you know, that's how MacGyver does right? All right, let's go back We're going to go to the data make our subclips Make sure they're memory. I'm really scared right now. I think my laptop. Oh my god Oh, no, oh, no, there is I don't want to hear it. Yeah, we got it All right, we got it cool All right, we got 10 minutes ish questions Yes Yeah, and again all the source code If you want if you want to look at it and put the inspected They're all on my laptop died. Well Yeah, so So all all the code is available on GitHub if I inspected The is code in a bunch of languages Unfortunately, we have time to demo the mobile app of the mobile the but the mobile app It's written up there Is it's up there if one look at it to and it's someone kind of experience of web on the web you'll be able to like take the quiz also and It's the repair of this little dance. I didn't I didn't put any documentation up yet. So see me but Possibly So movie movie pie is a So maybe pie all it is is a method to to construct videos Like with ffmpeg so it's akin to asking if like, you know Why can't open shot or like or like the kitty video editor upload to YouTube right cuz that's not really its job Yes, exactly So if if one was to enter president's visual one could have this pipeline crazy pipeline where you where you take your Posts take your posts and then plug into some like, you know workflow thing It's really complicated it costs lots of money and then you pick that and And then how to do the approval process where where you have five people that it and then it and then just have That the content go through the same method for producing video and then after that proof it and then and then Whatever treatment you want to do is it and I'll play to it. What are video sources to but that? But the idea is is you have to encode so you can describe you can actually build those things Inscribing instead of just having to have five plug-ins or whatever try to coordinate together So so what you're saying is if I I'm an enterprise in publisher, I work for a company called snap feed Yes, we're based in Los Angeles Yes Mm-hmm, and so you're saying is I can make mean content in Gutenberg that then appears in video form That then syndicates out my content everywhere. Correct But also all the coast gpl. So, you know, just you know So I can say thank you for propane accessories. I could be propane feed exactly All right any more questions All right, any more questions yes So right now It's a lot of my guy ring But perhaps some other in the enterprising individual in this room does that MacGyvering and Publishes that MacGyvering open source and then shares that with you Yeah, exactly All right, any more questions You have several options So so the question was so so how to make a kind of questionnaire where where you say if you do this then the second block appears okay, so That is very possible with the Gutenberg API Very possible. So, you know, I can like Bitch and complain about the Gutenberg API for days That's a straight by anything can bitch by anything, but it's very powerful and those are the kind of features Features that's really meant for where you have like the ability to describe very describe logically logically process like that in your content However, it does and how run it in order to create that experience You have to get really familiar with react and the redux AP redux, which is what the Gutenberg API lucky pay uses but once you get once you get get that down then Then creating that experience will be relatively straightforward, but you know, it's still a lot of work to do All right, there's one question over here So this is a way of life because this this laptop right here is ridiculously expensive and has like a Xeon and like an Nvidia Quadro in it and It's also way too like 10 pounds, but one thing I always do is for it to plug it in And you know when you when you live that life you live that life, right? All right, how are you doing on time? Oh Right exactly, okay So I'm a competing enterprising publisher with my stackable feed comm And I'm really trying to get some competitive advantage. What else could I use the Gutenberg API data to do? Hmm well You can use to make it any experience where you need your content you want to make rich content and You want that content to behave in a certain way in certain way because you can verify the correctness of that content in the editor So, you know, that's what what it's really powerful about Gutenberg editor is is you know, it's clunky It's weird. It's weird bug sometimes, but but the future is the hope is You can have all these nice APIs where you can go through and make more powerful editing tools like for example What if you have a plug-in where you know Apparently people really care if you spell wordpress correctly with a capital P What if you plug in right in that your editor where it'll automatically change all your paragraph knows to spell wordpress correctly?  Sorry. All right. Any other questions? I think I got I think I got this from Taobao It was in sketchy packaging, but but if you want it Joe he want this wig you can have it Yeah, I mean I mean I shaved my head In order to wear this wig so you know You know it's a solicitation, right? All right. Cool No questions Yep, or practically you said you learned the Gutenberg API throughout this project and a couple of projects he worked on Cold coming into this how long did it take you to pick up Gutenberg? Was it a worthy experience and are you looking forward to using it for the future or are you kind of skeptical? Okay, so it took me about so okay So it took me about like a week to learn Gutenberg API But that's because I already had react and read experience So most of my my experiences with the API was was finding the ambiguous documentation But it's still working in progress and people were working on it But about the time the documentation for Gutenberg API block API wasn't very good But after working working with because like I'm someone So I was allowed I was allowed for a press developer and I came in right when Gutenberg started happening and people started liking uh saying the world was gonna end um So as someone who despises the classic editor, I you know, we'll embrace our Gutenberg future already Any other questions If at least 15 people DM me on twitter asking for that specifically then yes Right I mean, I mean it'll be there, you know, I'll look at it and then but I'll ask for the 15 total DMs All right, I think uh bring on time All right, so I will be wandering outside after this look for this Look for this and if you want a if you want a Demo of the mobile side or like, you know, like walk through to the code. I'm more than happy to by the way Thank you for coming to my talk


Welcome to Toffy TV, we've got the brand new Everton HomeShare for this coming season 2021-2022 made by Hummel, sponsored by Kazoo and it's here. What are your thoughts, Baj? What are your thoughts? It's a little bit different, it's got a dazzle design on the front of it which is apparently a camouflage used on ships which has an association with the city. Okay. Interesting. But it is interesting, it's tenuous. So it's different, it's got this pattern on the front, it's got like three different blues right and I'm just going to say this, the light blue reminds me of the diamonds on the 87 kit, another way there was the diamonds in the kit, this light blue reminds me of that. Okay. That's all I'm going to say. Obviously we won the league in that kit, 86, 87, you can't argue with that. Yeah, it is a little bit different, it's always difficult with home kits isn't it, because we don't want to mess too much with the blue and I'm sure there'll be people who are unsure about it, there'll be others who really like it. I like the yellow on the kit, it does give me Lukaku, Ross Barclay type vibes from 2000's Ronald Cooman's first season, the round neck and the little bit of yellow on there. I always think that's a nice accent for the home kit, but it is a little bit different and yeah, I mean the dazzle makes it different. The dazzle does make it different. The dazzle, the dazzle. You've obviously got the Hummel, you know, the Chevron's on the sleeve as well. Oh, it's trademark. Trademark Hummel. Which is, which is. The yellow reminds me of also the, around 2008, something like on there, 2007, 2008 when we had little yellow accents as well on our kit and 2007, 2008 it was I think which was a really, really nice kit as well. And that had the umbral diamonds on the arm as well, so that's similar to that. But as you just said, it's always hard with the kit, the home kit, because what do you do? How do you make the difference? I mean, here's the last season's home kit. So if you put that next to it, I mean what you do, do you know what I mean? It's very hard to make too much of a difference. You know they've got to be royal blue. So what do you start doing with them? One thing I'd say straight off the bat and improvements on last season's shades is there is an embroidered badge which straight off the bat is brilliant because last year was like a plastic pressed one, which obviously for a lot of people didn't work. And the other thing as well, the shades are actually lighter. Oh, it is a nice feel of the shade. I had it on before and it does feel like nice, it does feel light, it does feel like a shade that you could wear on a summer's day and not be boiling after all, which is a problem. I haven't worn football yet, so I like the white kit. My only thing is, and I know we're slightly different on this, I'd have liked more emphasis on the colour. That's just me. I mean, it's fine on all that, but I think I'd have liked maybe the white. What issue I do have with it is I'm not sure on the placement of the badge, it seems low to me. I don't know whether that's been done to fit this pattern in, I don't know, but it just feels low and then the sponsorship feels like it's faded down. Again, I'll just compare it with the other one. I just feel like it seems a little bit lower, but it might just be my eye. Yeah, because when you put it side by side, it looks, it actually looks. Okay, maybe I'm wrong. I think it's because of the badge. Maybe it's because of the pattern. And I think this pattern draws your eye to this big space rather than to the badge. So I think this is going to split opinion on this one. I remember a couple of years ago when the last on-road kit was very, very similar where we went to see it and when we first seen it, we weren't too sure about it because of the pattern on the top. You do have it there. I'll just pull it out. The old bus seat design. And I got used to it, I wasn't too bad with it. Now after a bit of it, if you come thingy, but I think you're right, I think some people are like it, some people won't, but like we said, right at the very start, it's difficult to do with evident home kits without radically changing it. It's obviously like you say you're starting with the blue, so I think it is a little bit different and it differentiates from last season. But again, the yellow accents for me, I think I like that said. And you write the embroidered pattern, all that makes it better. The shorts. Shorts have the design on it as well, the dazzle. Got the dazzle on it. It's got the yellow accents on it as well, that's on the shorts. So there is that little bit of a difference on the shorts. The socks are white with a couple of blue chevrons on it as well. What can you do? There's not what you can do with the socks. But seeing that, I think this is going to be one of those kits where like the likes of kids love their kits, they love it because it's different, because it's got a little bit of a pattern on it. Traditionalists, I don't know whether you'll like it that much. Available to pre-order today. Yes. Available next Thursday in the shop. There is a new goalkeeper kit as well with the same design, with it's black, yellow and blue. And again, the Everton bring out the goalkeeper kit individual goalkeeper kits as well with the short sleeve. People are buying there. I've seen loads of people last year buying the black goalkeeper, the pink goalkeeper kit. So again, another kit to buy if you don't like this one. But the way you want, obviously, people love that, some people don't like it. And obviously the third kit will be coming out over the summer as well. So let us know your thoughts in the comments on this one. People loving the training gear as well. So I think so far, Hummel has done something for everybody. I think they've been excellent so far. They really haven't in a kit. I think most kits will always split a pinging for the first time as well. This kit will be available in the women's team version. So it will have the Megafon sponsor and the Yotte sleeve sponsor. So if you want to get the women's version of this kit, I've already seen them the away version, but I don't think that's on sale. But the home version of the women's kit will be available to buy for the first time as well. So if you want, if you fancy that, if you fancy having Megafon on your chest rather than Kazoo, you can go and do that. So let us know your thoughts in the comments on this one. Are you a fan of the new Everton home kit? I think we like it, we need to see a little bit more of it, you know. Before we give our it's a grow it. I like it just like you say it again. There is that thing of what can you do with the home kit? Chains nearly enough without being a totally wreck. So it's an interesting kit. Let us know your thoughts. There'll be a link in the description if you want to buy this shirt, buy it through our link and we get like, I don't know, like no point, no, no pencil or something. But if enough you buy it, then we can go and buy a box of Jaffa cakes for the studio, which is all it's all about, keeps the energy flowing in the studio to create these videos. So there'll be a link, you'll see that on our socials and in this video as well. So there you go. Get this video, like, subscribe if you haven't already. If you want more great videos, join us on page and we'll see you later.