respects freedom. Our next speaker is Nicole. She's currently the CTO of purism and she has this role because she's been involved in embedded systems engineering for a long long time and now she will talk about how to make a phone that is actually truly free. Please give her a warm round of applause. Yes hello thank you very much for having me here. We have a lot of ground to cover so please excuse me if I'm a little bit frost. So what I want to explain is the story that has different facets and it's about a quest to create a mobile phone that respects users privacy and uses freedoms and that is really truly free and I will explain what I mean with free and it's also a story about a journey that we started over two years ago now and which is still ongoing then because making a smartphone or mobile phone these days is incredibly hard and that's also why it's called hardware. So the kind of freedom that I mean is the freedom not as in free matter but more as in freedom and it's similar to what Paul explained just a few minutes ago what he called sovereignty what I call is more freedom it's similar to the ideas of freedom that the Free Software Foundation has which is the freedom to use it for any purpose that you like to study it to change it and also to be able to share these changes because we at Purism and many others in the open source and free software communities we believe that only if these are guaranteed then a system can be truly trusted and it really can be made in a way that it preserves the user's privacy. So to understand what the challenges are you have to look at the mobile phone market the current market every year I don't know how many of you are aware of that about 1.2 billion smartphones or phones are built worldwide so this means that every seven years every human being on the planet Earth could have a new phone which is really quite amazing. So what this also means is the mobile phone and smartphone market is gigantic it's really huge about 30% of these of all these smartphones of one of those 1.2 billion are made in just one single city which is Shenzhen in China. So the largest wealth of experience in making mobile phones is in this location which is also quite amazing and this also led to this enormous experience and amazing experience that we just had by building the phone we went to Shenzhen and asked arbitrary companies for our project to build this phone and within half a day we got a quote for designing the PCB for our phone and do this in the Western Hemisphere and Western World engineers will ask the hell out of you. So this is totally amazing what is happening down there they have the biggest experience and they are really fast to do things. Looking further at the market you will quickly find out that the majority of the market is currently just governed and ruled by two major systems and two major companies which is Google running the Android platform which is about 85% of the overall global market and Apple iOS which is almost 15%. So basically almost all the rest has run into insignificance so where we used to have Symbian and all these other different platforms there are none these days so it's mostly dominated by Android and Apple iOS and this has a huge impact on the hardware market also. For making a phone you need chips and these chips are made by chipset makers and there are quite a number of chipset makers worldwide and also in the chipset market there you can see the dominance of certain companies and one of the major players here is Qualcomm. Qualcomm owns more than 40% of the smartphone chipset market currently then 20% about by Apple 15% by MediaTek which is also an Asian company mostly Chinese little bit of Samsung and then we are 15% others like Huawei and others. So there are only a very few companies actually creating these solutions. If you look inside just the Android ecosystem because the Apple iOS system is pretty close inside the Android system this ecosystem is dominated by just two which is Qualcomm and MediaTek and if you then think that 85% of the global market is Android this means in other words about two thirds of the smartphones that you find out there is just dominated by two or three companies if you can't Google them which is really really amazing so that's a huge market and very very few companies actually ruling this market but then there's not only hardware but also the 3GPP standards so if you want to introduce a device which runs on those sell in the networks you have to comply to those standards and these standards are governed by the 3GPP organization which is the third generation partnership project in short 3GPP is a standards organization which develops protocols for mobile telephony. These 3GPP specifications are in general open so you can download and read them and try to understand them it's huge but they are not so free to use and here we come into the pretty ugly area of patents and especially software patents and I will come in a moment to why this is all important. So 3BPP standards are covered by literally thousands of patents and every new generation from 2G to 3G to 4G and now 5G the number of patents grows almost by a magnitude so we're talking about thousands of patents and due to the patent legislation and the legal restriction or the legal legislation for patents a patent is granted in country or jurisdictions and this is why we have about 80 million patents worldwide on 3GPP standards and about 250,000 patents which are standard relevant that means if you want to create something that runs on a cellular network which complies to 3GPP standards then it's about 250,000 patents for 4G which are potentially in your way or kind of in your way which you have to which you have to use and the larger patent holders are in this order basically Qualcomm, Interdigital, Ericsson, Nokia, Huawei, Samsung and a few others and the first two or three have more than 50% and by coincidence Qualcomm is also one of the number one chipset makers especially in the Android area so this means we have a market which is controlled and dominated by very few companies so why is this important because of this the smartphone is used today everywhere by everyone so it's a dominant platform everywhere on the planet and growing many people or the smartphone has by far surpassed the relevance of ordinary computers many people have ditched their PCs for in traded at this in for a smartphone or a tablet and even tablets are now running out of importance smartphones are ubiquitous and universal and yeah so smartphones have become the platform the computing platform of basically almost everyone's everyday life and they store everything about us our whole digital life communication all means of communication text emails voice calls encrypted are then not encrypted of course also location movement everything secrets we store on our smartphones like passwords or access tokens to almost everything our bank accounts so this is exactly why it matters to create something that we own that we control and like Paul said that we are a sovereign of because this is our digital life that is controlled by these devices and we entrust these to just a handful of companies that's critical so how to change this and how to engineer a smartphone or a mobile phone so the things you need is basically a CPU which is in the embedded devices usually in SOC system on a chip which controls memory storage RAM things like that it also drives the screen through GPU IPU and all these things controls the cameras and different peripherals peripheral interfaces so that's the main CPU and then you also need those wireless interfaces that everyone currently expects from a smartphone these days which is wireless a wi-fi bluetooth and of course the cellular modem it's a phone so you need a cellular modem for all the current technologies this sounds kind of simple but it isn't so the main challenge in the smartphone is first of all the size it is incredibly small and everyone expects to be very very small these days and many of these components the CPU the SOC and also the radios consume a lot of power and so this itself is a challenge and this challenge is shared by all hardware manufacturers they want to make a mobile phone which is also the reason why the chipset makers like Qualcomm MediaTek and the others have created solutions for that and remember the market is gigantic so there's a huge demand and the demand is of course answered by those manufacturers and they created system on chips which integrate all of these things including also the radios onto one piece of silicon which is perfectly neat and perfectly fine for many of those smartphones very tightly integrated and conserving power and storage and all these things but this has some problems the advantage is that for example the cellular modem these days has become incredibly complex and you have seen this or I talked about this with the patent situation there is a lot of knowledge that goes into developing the firmware for such a modem to control the radio and all the protocols that go on so the modem firmware itself and controlling the radios is extremely complex needs a huge firmware and if you have it into the same SOC silicon you can share a lot of the resources that you would usually just also use for your main CPU that drives your applications so you can share the RAM you can share the flash and a lot of other things and you also also have fast data interconnection from your host CPU to this modem so that's very convenient same saving of course also applies to Wi-Fi and Bluetooth but it's less than with the cellular modem so these 250,000 standard relevant patents in 3GPP 4G are pretty much not in vain because it's so complex and you can see this also if you look at the the binary firmware of a cellular modem these days these are usually 30 megabytes just binary firmware of these modems so it's really huge piece of software which then runs in your SOC and has access to the same Rambos for example as your applications which is a concern as also Paul laid out you're probably not sovereign of your own data anymore because the modem could spy on the Rambos and there was fun fact many of those modems actually run the linux system and there was a very good talk at the 33c3 by Harald Wielter and Heuger Freiter which you can look at at this URL and they actually dissected one of those binary blob firmwares and now even if you wanted to do something like a free modem implementation implement these 30 megabytes of binary thing and do this it's really really hard because then you have to license all those patents the 3GPP patents must be licensed there is legislation for that by the patent holders under so-called friend terms which means fair reasonable and non-discriminatory but these patent holders still use the patents to control the chip market and this also led to one of the lessons learned that we did when we first started out the research for doing our phone that we learned that there are only very few back in 2017 very few modem modules that you could buy which would actually allow you to make voice calls because at that time modem manufacturers especially a company called Qualcomm wanted to sell their smartphone chips for smartphones that do actual voice calls and they didn't want to sell modems to others to also do modem to also do voice calls and build phones with that so it was pretty hard at that time to find decent modem and to have something customized for us even that we are talking about 10 000 devices that we want to build modem manufacturers like these wouldn't talk to us at all so integrating a modem and asking for custom firmware something like that for us at our size even talking about 10k not an option and so here you see the the grip through software patterns from manufacturers on the market and what the market can actually do so what we wanted and now coming to the actual realization of what we do is we wanted to create a phone and a smartphone which is binary blob free at runtime that means that the host CPU does not have to handle any binary mystery code that to download to any devices we don't want to use any proprietary drivers no close source drivers no close source firmware and we wanted to have the radios cellular the wi-fi bluetooth separated from the main cpu also to reason to what what paul explained to be sovereign over there over the data and it should be based on free software only we're striving to get um respects your freedom certification from the free software foundation and of course it should be a open design hackable for everyone schematics will be available to everyone without nda so it's completely you can own it and you can change it and you can do whatever you like with that what we came up in 2017 as the solution on the best solution that we could find at that time was to use the nxpi.mx8 quad as the main and host cpu which features for cortex a53 cores running at 1.5 megahertz or gigahertz not megahertz we have enough peripheral interfaces for driving screens and cameras and all these things and all the peripherals needed and also for sensors but most importantly the idot mx8m at that time was the only soc that supported free drivers for the gpu the the graphics engine that drives the screen in the end and which allows for graphics acceleration and this is the gc7000 light from vivante for which there is a free software implementation driver which is called etnaviv which is vivante backwards and for this you have upstream mainline kernel drivers and including and the drivers also have been pushed upstream to mesa already and this is working pretty nicely already today there are more choices unfortunately now two years ago they haven't been just to be fair the mali gpu is also working quite nicely now and also the the port of the free drain or driver to the adrenals gpu's of qualcomm also become pretty much stable and available what we also wanted to do is to have the radio separated out of the cpu so that they don't cannot interfere with the data that is stored on the cpu and then and the applications that are running on the cpu on the main cpu so we separated out the the wifer and bluetooth on an m.2 card and this will also be implemented in this way in the final phone um m.2 is a pretty much well known standard it's connected using sdao the firmware sits on the card the host cpu doesn't touch it for the cellular 4g we have two options also sitting on an m.2 card um one is the gemalto pls8 which is made in germany and partially in the us the more the card would be made in the us and also the broadmobi bm818 which is made in china um the broadmobi is available for more regions of the world and that's why we chose the second one and in theory for the phone later on any m.2 card that that can use the same interfaces as we use them now and are supported in the firmware and in the hardware can be plugged into the device and also other radios if the antennas of course will be tuned for the 4g bands and for wifi and bluetooth and if you have another radio they're going to use on there of course just plug it in for example for these uh hf radios that also palm mentioned would be a possibility and it will be very interesting to see then what we also implemented in the hardware our hardware kill switches um so that you have a switch that really physically severs the hardware like the cellular baseband the wifi cameras microphone and also the sensors from the host cpu so that so that even a malicious acting um application cannot get access to the to this data and do some bad things for you so your privacy can be really safely and secure what we also did is we integrated a smart card rear so that you can use a smart card like for example the open pgp card or arbitrary other smart card to store your secrets in a very safe place like um encryption keys um and also the the smart card reader for this we have a separate project we're collaborating with vana kochen niby utaka here um for implementing a free sir a free firmware for this smart card reader which is based on an stm32 l432 kc which is a microcontroller and this will be accessible for everyone so what we did in the first place is we started to create the development kit end of last year and this is part of the pcb i will show the real device in a few seconds um and this we did based on a so-called system or module which implements all the heavy lifting for ram and flash and all these things and we designed the baseboard for that so that we get something out some hardware out to developers that are interested in developing the software and helping with developing the the software as soon as possible and we started to distribute these at the end of last year and this is the real hardware probably cannot really properly see the picture but you can see the separated modules here for the modem and the wi-fi and the system on module in the middle and the phone screen on top and this is actually working now um that's pretty nicely working the software is making progress and next i can show you very proudly this is the first boards that we just got received from from china that's the first time that these are shown to the public for the final device which has been developed in parallel in china uh this location where they have this incredible huge experience and this is one side of the board this is the other side of the board with the cpu in the middle and you can also see the two m2 slots on there the gnss module and a little further stuff so we are getting there but hardware is hard everything takes much longer than anticipated of course and to give you a idea of the complexity of that board we have on this board more than 160 different components and that's over 1200 parts placements on these boards so that's an incredibly dense board the pcb has 10 layers so 10 layers of routing the smallest parts are 0201 for the electronic geeks now the smallest ball pitch is 0.4 millimeter that is the the distance from one ball to the next of those bga devices the smallest diameter of drills and holes for example for vias is 0.2454 millimeters which is incredibly small and all of that is condensed onto a pcb which is about the the size of two credit cards and this is what hopefully the final device don't don't name me down on those size numbers in the bottom right corner but this is about the the design that we intend to have in the end so we're getting there so this is the hardware part on the software side of course as already mentioned we want to have everything open everything shall be free software on that so everything what we do inside of purism for the project will will and is copy left license so gpl or l gpl v3 and all the contributions that we do to upstream projects which are quite a lot are of course according to the upstream projects our motto is upstream first that is if we can push our changes into the upstream projects then we will definitely do so this has several reasons one of them of course is maintenance but the other is of course also to avoid obsolescence of the of the platform and of the software we want this software and this platform to to strive and to live on and this is only possible at least in our opinion when the things are mainlines the bootloader of course of the system will not be locked in any way it's a standard u-boot that also comes when with the nxp cpus and the bsp for that the u-boot will will live in the emmc of the board which is the embedded multimedia card which is similar to an sd card but sold out onto the board and we have one tiny issue and this is what where freedom is limited by the hardware and today there's almost no way around it for the ddr forum you need initialization somehow ddr4 is pretty fast and it's parallel signals on the board so the the attachment part that is inside the cpu has to very carefully tune the signal levels to talk to the ddr forum and there are a lot of patterns on doing this and this is also the reason why these ddr4 initialization sequence for almost no platform at all currently is open source the ddr4 controller is a small microcontroller and you have to download the firmware and just mention it here these are struggles that you have when you start to develop things you suddenly find oh there's a piece of binary code that we have to use and there's no way to avoid this so we handle this by a second cpu that is also inside of the idot mx8 it's a cortex on forecore which then pulls this firmware out of an spi flash and puts it into the phi and the phi can initialize dram and we can continue to boot but that's pretty stubborn and i don't like that approach but there's no way around it the kernel that we're running is a mainline kernel currently it's a 5.2.0 kernel all the patches that we do we are heavily working on the vivante driver and also a lot of other things trying to mainline all the drivers that are needed for the idot mx8 we're doing a lot of work that nxp should be doing but well we're doing that porting all the stuff forward and all the patches are sent upstream into the kernel community and get merged over time then on the operating system side we're running a debian derivative so purism also makes laptops and on the laptops we have a debian distribution which is called pure s and we're using the same pure s basically just compiled for arm64 on the phones too which means you have the same packages and and everything available on the phone that you're also used to on the laptops which is pretty awesome which also means that you can install arbitrary debian arm64 packages on this phone we also want soon to introduce flat pack for application distribution this has several reasons one of them is of course the the possibility to sandbox applications and to ease also application development because dependencies can can be handled a little bit smoother with flat packs and the flat pack distribution but this is still in the works for the graphic user interface environment we use a system based on wayland and we had to write our own compositor and shell on top of wayland using wr roots which is which is a toolkit to write compositors and shells and these are called foc and fosh phone compositor and phone shell these are two of the very few parts that we wrote from scratch because there was nothing that we could contribute to for the application environment we chose to go with the free desktop org standard and we chose the the gnome approach and we're using glab in gtk for application development for native applications which works pretty nicely and one of the reasons also to choose this approach is that we are now working very closely together with the gnome community to enable of gtk and gnome application applications and the whole gnome environment to run smoothly on mobile phones also using a responsive defined design methods so that applications that are written for the desktop can be made in a way that they also run on a small screen or smaller screen like on a mobile phone without having to reprogram or recompile them and we're developing specialized widgets for that and also all of this is going upstream currently it's in a separated library but we're working with the gnome community to accept this upstream for those that are interested in participating or looking at this development we have quite some development resources developer purely as mlibram 5 this is the the main side where the development also documentation is stored they can also find instructions how to download a virtual machine image for running on your laptop or pc so that you can try the software on your pc without the device and also develop against this virtual machine of course source pure as m this is the the side where all the source code management and also continuous integration management happens it's all in the public there we work together with gnome and with with the kernel forks then here are some pictures of the actual applications you maybe wonder how this actually could look like and this is how it looks like this is a modified version of the gnome settings dialogue and you can already see that on the left hand side you have main menu of the gnome settings which now folds kind of in this responsive way it's the different views of the different settings on the right hand side you can also see the first implementation of a virtual keyboard here then here are some other examples how to do this so let's see initial setup customized for the smaller screen which then also works in the same way on desktop which is pretty nice here we have the composite and shell working and it's not just the shell it's really a shell shell on the right hand side of course you want to have a shell on a mobile phone here is contacts setting up so a lot of things already working and being adapted here's a web browser we use the the gnome web application for that which is based on webkit on the left hand side there's a web page the purism web page in that case on the right hand side you have the the the tab handling how open tabs are handled in the browser which is actually pretty neat you can flick through the open tabs and do something and now this interesting time oh we are running out of time i'm afraid but in general i have a dev kit here which is this thing and in theory someone could call it but we don't have the time now to wait for that i'm afraid but it's working so the whole software stack is running we can do this later on you can find me in the cows west village and we can do this there if you're interested in now summarizing a little bit of the challenges so we have seen there's a lot of parts that we have to do to create this mobile phone and the one or a few of the major challenges are of course handling suppliers um because if you want to do a hardware you have to work on all these suppliers and work to work with them to get the supplies which is parts PCBs parts for the case and all of that this is an immense effort so developing something is one thing but getting all those suppliers in line is really a huge undertaking then the other part is if you want to do something with computer consumer electronics and to put this into production and seers production and mass production at the moment there's almost no way around china because the whole production facilities are there there are the people that have the experience there are the people who can crank out stuff really quickly and at a decent price it's not cheap anymore i can tell you but it's at least a decent price but it's very tough to work with china because of the language barrier only very few people speak english down there so you always have those translators and interpreters in between and this really makes collaboration really hard additional to the time zone differences and then also consulting suppliers the components forcing for an electronics product like this and especially if you want to build a thousand or five thousand or even ten thousand you really get into trouble we have on some components we have lead times up to 20 weeks so this means that you have to plan all your logistics way in advance before you start the mass production and this is a huge challenge in undertaking and then of course there are all those regulations and certifications especially if you have an intentional radiator like the cellular phone or the cellular modem which does radiate of course in certain frequencies and to be compliant to all those regulations that's a huge undertaking you have to go to laboratories doing all those certifications and things so that's really challenging especially for a company that hasn't done this before the other challenge that we also see is that due to the lack of hackable hardware in the mobile space for the past years because android has become so dominant there's only very little knowledge out there in the free software communities about these devices and how those base technologies that are needed for those devices can be done and there's only very little free code out there so this is also a big challenge and was a big challenge for us and we are now working together with the different communities and empowering people handing out those deaf kids and trying to create this community because we think that we must change this we need to free this knowledge and enable the hacker communities to liberate people from this oligopoly of a very few corporations who currently run and govern our digital life and clearly at some point they also exploited just look at this Cambridge Analytica scandal so and with this i want to close we need power to the people free the mobile and hack the planet thank you very much well thank you for this great talk so everybody we have about 10 minutes for q and a you know the drill there is a microphone angel somewhere in the middle i literally can't see anything but i swear he's somewhere there and just wave at him or queue up behind him and then we will get to you and if you're on the stream hop into the isc or on twitter and then the signal angel can read aloud your questions do we have people wow do we have any questions from the audience yes okay please go ahead thanks a lot for your talk welcome i think a big challenge is the application environment only i've heard that only china has more than one million android application developers and we need a lot of good applications on such a nice platform what do you think about that and maybe there is an option of running android open source project or selfish or as on your platform what do you think about it okay so that's of course one of the number one questions how do we want to handle applications so of course first this device is not intended to be the replacement of the average android phone so we don't expect to have those millions millions applications there what we want to achieve is to create a platform that is conserving and respecting the user's privacy and also be secure and these for for this we only need a handful of really good applications like a web browser something that does the calls handles messaging and all these things the the most basic applications and what we also see in the in the community around the the liberum five right now is that a lot of people are very interested in working for this platform creating applications of course we will not be quickly at this one million application or developer stage no way no but we're getting there and for the first time or for for the beginning it will be dual use you have your android platform with different applications and then you have this other platform which is probably the liberum five which conserves your privacy and where it can be secure about your digital life and probably at some point we can also talk about enabling running android applications there are some open source and free software projects about this which could be possible sailfish i'm not so sure if this works in parallel we can support qt applications in general but a whole sailfish i don't know how this can be encapsulated thanks do we have another question i think there's someone walking up please go ahead yes hello thank you for the talk i'm this is a very exciting project um i was wondering if there's people running the development software on other devices and if you're if purism is supporting that at all or interested in having this not just be for the upcoming hardware which does look cool but there's a lot of old devices out there yeah of course so um you have to keep in mind that purism is a quite small company so um supporting other projects is tough for us but we do our very best so if it's something that we can explain about things that we did of course we're totally open to that but of course the the liberum five is currently the the main driver for us and this is also the thing making hardware costs money employing all those people developing this this software stack and also the hardware costs a lot of money and we have to take we have to make some money and this is why the liberum five is of course our main target but anyone else can join our communities on the matrix channels and get in touch with us we do our very best and we want this platform to to be yeah usable as widely as possible and now a question from the internet yes um is there any information on the cellular modems firmware a source available user adaptable or protect against updates by digital signatures that's a very good question so um the short answer is no because we're dependent on module makers and modem makers that provide these modules and modems to us and with the 10 000 devices that we're intending to make we don't have much leverage on those modem makers and so the firmware is binary only we cannot do anything about it we just can try to separate it as much and as possible and to control the interface to the modem but there's no much way to control the firmware itself and this is also the reason why we have the separation and um yeah the separation yeah sorry okay from the room hi thank you that was a very interesting project very noble intent um paid to be the beam counter how much are you expecting to charge for your devices um oh i'm not the right person to ask for about finances currently you can pre-order the phone right now from the purism web page and if i'm not mistaken it's seven hundred dollars right now six ninety nine does anyone know approximately seven hundred apparently um do we have another question hi thanks for the talk and i want to ask you some clarifications i don't know if they a hundred percent configure as a questions but they could be answered as yes or no so maybe i'll get away with it like um i from what i understood in the end you sat down for um ips like cpu and gpus and communications that were not open right in the sense of the schematics were available and the other thing was did you do the integration into so c of the ips by yourself or did you have to contract subcontracted to people that maybe because what i was interesting is if it's something that is doable with only open source tools and the very last thing is the gpu drivers that you pointed out for the gpus um are they reverse engineered open source implementations or are they actually maintained by the vendors that was one day thanks sure um so i hope that i got the the the question right um a lot of the knowledge that we used to to um upstream the the things and implement them in the kernel entity into mesa is based on the on the bot support package that comes from nxp so there are a lot of drivers they're kind of free software um the problem with those bsp is not only from nxp is usually that they have a huge wealth of code which is not suitable for upstreaming so what we do is we kind of cherry pick a lot of things from this um from this vendor kernel and upstream this into the into the mainline kernel and there are some other parts like the gpu driver that you also mentioned which is closed sourced in the vendor kernel the vendor distribution this is an free software reverse engineering project the vivante project which has already been going on for many years started with the imx8 if i'm informed correctly and that's a huge amount of effort to reverse engineer this and by the uh first reverse engineering of the vivante some gpus for the idot mx8 a lot of knowledge was gained so that the reverse engineering for the idot mx8 the gc7 house light that's in there um has been lots easier and faster than it was for the idot mx6 so it's in part it's partly partially reverse engineering partially using code that comes from the vendor kernel porting this upstream and yes it's doable for experienced hackers from the open source community to dive into such a development project but it's hard work and you have to know a lot about hardware internal workings of specific hardware for reverse engineering a gpu you have to know after know a lot about open gl and vulcan and all these drivers how there's work how these work to understand the binary and try to disassemble and understand how this works and trying to develop this open open source driver and integrate this into the kernel framework all right a question from the front i think uh yes thank you for the talk you've shown in the beginning that the actual problem is not that much of a technical problem but it's more like a political problem that there are a couple of companies uh most of them in china that have actually a monopoly or oligo oligo oligolopoli uh of the uh technology so my question is what must happen uh from a political point of view to solve this issue oh dear from a ability point of view it's very very complicated because if you start to rule into companies and try to tell them how they're supposed to work um it gets very very messy very quickly um from regulation political point of view i don't actually know how to solve this problem i think one of the well what politics could do is to um much more support research efforts for developing these things at universities and in a free manner to support free software communities to develop all these things let's say for example the risk five cpu core is an awesome platform for doing that and for integrating a gpu a free gpu implementation into that and for integrating all the other peripherals that are needed for those embedded devices this would help a lot and the other interesting part that politics probably could also do and this is something that's maybe immense to what paul said is to make it easier for for communities and also universities and in general the the ecosystem let's say to develop free radio protocols and access to its radios because those bands that are used for that are highly regulated so it's very complicated to develop something in these bands to develop a free implementation of a modem for example or some alternative to a cellular modem or a built-in network which is alternative to the commercial networks um this would be a very good thing that politics could do to deregulate some things an area where we can freely live and hack and work all right do we have another question or do you want to use this last minute to accept a call on your phone we could probably oh now it's off i don't know why it works perfectly well now we're benchmarking the boot up time under stress yeah but we can do this later on in the chaos west village if you want to it's pretty hot so power management is still an area we have to work on all right then please thank our speaker


trembling with fear. Ten-year-old Faye Jackson darted out of her bedroom and down the stairs to her mum. She had just seen the wispy image of a person who had hissed into her ear. Can you hear me? It was the first of hundreds of ghost sightings that would plague the young girl and lead her to believe she may have psychic powers. Incredibly, Faye's younger brother Ashley has now started reporting similar eerie sightings, despite not knowing anything about Faye's. Their mum, Lynn, has come to accept her kids have supernatural powers and that, just like the movie The Sixth Sense, her children can see dead people. To Lynn, by the way, not really her name, we've changed the names in this to protect them, Lynn says this is anything but a special gift. She sees it as a curse that she would love to break. The 39-year-old from Walton Cross Hurts says, It feels like someone's bullying my children and I can't do anything about it. It would have been easier to deal with if they had an illness, at least I'd know where to go for treatment. Faye's got used to it and now she enjoys having this ability but Ashley hates it. Surveys in the United Kingdom show that one in five Brits have seen or felt the presence of a ghost and 53% believe in psychic ability. The research coincides with Matt Damon's film, Hair After, about a reluctant medium. Faye, now 13 years old and Ashley, age 8, can relate to that. Stay at home mum Lynn says the first sign was when Faye started primary school. She used to tell me one of her friends was purple or the teacher was red. So one day I told her no darling, that boy isn't purple. She said mommy, I mean the color around him. Now they both believe that Faye was recognizing the glow which is said to radiate around a person. Ghostly sightings started when Faye turned 10 and appeared nearly every day. Once Faye reported her bed being shaken by a frustrated female ghost. Another time she said that she could feel the energy of an old woman against her back while showering. She even says that at times she could feel ghosts playing with her hair. Lynn says how do you deal with something like that? She was terrified. I did start off thinking it might be attention seeking but you know your own children. She was shy and not a storyteller. In her skinny jeans and patent Doc Martin's petite Faye today seems at ease with her powers but her huge blue eyes still betray her fear during one of the most terrifying incidents. She says I walked out of my bedroom and there was a mirror at the other end of the hall. In my reflection I saw a person's head on my shoulder. It was red. I was so scared. But now I understand that it's my granddad and that he is my spirit guide who is protecting me. Faye matter of factly goes on to relate how she encounters these unexpected visitors. She says it's not like seeing something solid like a chair. It's like a glimpse of the person. Mostly I can sense something or feel the energy there and the picture and the details come into my head like their name can pop into my head or how they died. If I close my eyes I see their picture building up. It happens so quickly. I have all this information in a couple of seconds. I used to be really scared. I wouldn't like the dark and I wouldn't like looking in the mirror in case I saw something. The double blow came when Ashley began to see ghosts as well. He refuses to discuss the idea that he might be psychic. His mother Lynn says, We've been careful to keep everything that was going on with Faye from Ashley. I didn't want him to be frightened. Then about a year ago he refused to go into our conservatory and wouldn't go to the toilet alone.  My blood went cold. How do you tell a seven-year-old that some people can see dead people? Lynn's husband, David, age 45, is clearly concerned and supportive yet like Ashley prefers not to discuss the issue. But supernatural powers might run in the family. Both David's dad and Lynn's grandmother believed they saw spirits. Lynn says Faye has tried to tell Ashley it's okay and happens to her but he doesn't believe her. She's intrigued by it now but he hates it and is terrified. Through talking to other mediums Faye has learned to cope with the sightings but Ashley is very much in denial. Instead a friend who does distant healing called Theta Healing has focused on Ashley asking that he doesn't see anything frightening. Lynn believes this has reduced the sightings but says he still has what he calls bad thoughts. Faye, who has learned to channel her ability into learning Reiki healing says I can close down my chakras, points in the body from the head to the feet. You do it by thinking of those points as light bulbs and you shut them off so you're closed to the spirits. I can also ask them to go away and I can imagine a white light around me to protect myself. When it first started I was seeing spirits every day but now it isn't as often. Faye adds I've only told one friend at school she was fine about it and accepts it but I wouldn't tell anyone else because I think they'd tease me. I'd be the witch girl. Lynn and Faye plan to write a book together on their experiences. They've also launched Facebook group Children with Spirit. Lynn says one of my issues is that there is no real help out there for people like us. Talking to other psychic children has really helped Faye so hopefully it can help others too.


Guten Tag! Espreche kind Deutsch! Presentation Alf English! So, I'm Emma, better known as Emma Jane. Emma is my muggle name. Please feel free to use whichever one you're most comfortable with. I wrote a book a while ago called Frontend Ruppel. Yes, there is a new version coming out soon, soon. And I'm also operating as a company called Design to Theme. I'm based out of Canada, so this presentation will actually be in Canadian, not English, and I think this presentation is a, for me, a really interesting one, because I think that it, base themes are ultimately pretty misunderstood. So the agenda for today has morphed a little bit from the original version of this presentation. We'll start out by defining what I think a base theme is, and it will perhaps be the same definition that you're used to. I will then go through the, as promised, scheduled presentation, where I do an evaluation of some of the more common base themes, and then in the last little bit, I will go off the handle and rant about the developer experience for front-end developers and ask the question of whether or not we should keep the folder called themes in Drupal 8, or whether the web has simply outgrown this concept. So the the last part, I have to admit I'm a bit nervous about, because it is a radical change from where we are now, but everyone that I've talked to in the professional theming community has looked at me, rolled their eyes, and said, well, thank goodness you've finally gotten to the same conclusion. So hopefully it will be a welcome addition to the talk. As I said before, I think base themes are misunderstood too often in the PoundDrupal-themes channel. I hear people come in who I'm guessing are relatively new to Drupal, and they say something to the effect of, I'm looking to upgrade my site from six to seven, or coming in from somewhere else, should I use Zen or Omega, and that's the end of the question. There's no context about their skills, there's no context about what they're trying to accomplish. It's simply this little this little nugget of joy that's dropped into the channel, which almost always results in a not a conflict, but perhaps a spirited discussion from community members over whether or not the Zen framework is better than the Omega framework, and it doesn't, it's not always very productive. So I'd like to go back to the definition of these two words. I'm going to start with the word base, and the base, I'm not sure if you can actually read any of those words, it's when you go to Google and you say define colon, and then the word base, we're basically looking at the lowest part. This is the foundation that we will be building on. Later on there's a quote from from John who's in the second row over here to my right, which basically says a base theme is complete when there's nothing left to take away. It's what you want to be building on top of, but there's definitely nothing you need to take out of to make it work. The next part is the theme, and the theme is sort of the the cluster that we would normally think of as if you're in, how many are designers, because I'll probably offend some of you at least twice. Okay, and how many people are very joyfully clueless about design? Great, and then there's probably a few in the middle. So theme, I'm going to call for today's presentation and design. I'll refer more to decoration, because ultimately as themeers, it's our job to take the designed-based solution that our designers have provided and converted into a Drupal website. But for the most part the technical bits that we're implementing, the decision-making stuff from a design point of view is finished, and we're working merely on decorating at this point. So the theme is what do these three buildings have in common? They have a theme, they have some paint, they have a little bit of specialization in terms of the color of the door, but ultimately they look the same. And when we think about base themes, yes we are starting from a point of the base theme looking in common, but what we shouldn't have... Oh, where's my slides? I apparently moved one. So what we shouldn't have is a base theme that tries to actually design our site for us. And what we too often find when people start theming is they start with the base theme, what they think is an appropriate base theme, and then they start ripping things out, because it's not quite what they wanted. So this is a picture that I discovered when I was renovating my house, and right in the very center of the picture, what you can't see is a structural post that's had a unit cut out of it, and a 2x4 has been nailed to the outside of what used to be a structural post. And too often this is what happens in theme land where we have a workable base theme, it's not right for us, and so instead of choosing a different toolkit, we simply rip out some of the fundamental parts, some of the most important parts of that base theme, and then try and tack new stuff on. If you're doing this with your base themes, you're doing it wrong. You've picked the wrong base theme for you. Ultimately, when we're working with Drupal Core, we're working with a series of overrides. And at the theming layer, for the most part, all we're doing is overwriting what some four-module developer thought was a great idea three years ago. So we'll be on this presentation focused on the outer parts, on the blue, the base theme, and I won't be referring to it very often, but your theme sits on top of that. As we get progressively closer to Drupal Core, we've got our templating engine, which for the most part is PHP template, but maybe switched to twig for eight. We have our theme system, which is an API and an ink file totaling, I don't know, maybe it's about 3,000 lines of code, someone probably knows that answer. And then we've got Drupal Core itself, and I haven't even talked about contributed modules, but it's a series of overrides. And if you're starting with the base theme that you're already having to rip a bunch of stuff out of, you've got enough stuff to worry about as it is. As part of my presentation, I looked at a lot of the comparison charts and also worked on my own comparison charts. And I came to realize that these comparison charts weren't really doing us much favor. And that's why we had people coming into the IRC channel and saying, is this, you know, should I be using Zen or should I be using Omega? And in my mind, you don't get to compare those two. They're not, they're not in the same circle. When I looked at all of the more popular base themes, I came to realize there's a sense there are essentially three different kinds of base themes. There are base themes that adapt Drupal Core's markup. There are base themes that adopt outside technologies. So for the most part, CSS Grid frameworks. And there are also base themes which essentially annex or bring together many different kinds of things. And for me, the, the annex base theme, skipping ahead, let's go patiently through these. The adapter base themes are striving to improve Drupal's core markup. And for the most part, when we think of an adapter base theme, or if we're going to be using this new definition, we're thinking of the Zen's, the Boron, which is the HTML5 version of Drupal Core and also mothership. They're not bringing in any new technologies, they're simply fixing what's there. And one of the interesting things for me when Zen came out with ZenGrids is that it kept it separate from the base theme. You can pull it in, but it's a separate entity, which is why it remains as an adapter theme. Adapting is like doing a renovation of your house. You're essentially keeping the same structure in place, you're just fixing it to make it work a little better for you. The next one is the adopter section. And in the adopters, we've essentially got some kind of non-Drupal technology that's being pulled into the base theme. Right now, it's typically CSS grid frameworks, but there's, there could be other things in the future. There's no module to install. It's simply a set of files that exist. So it could be either JavaScript, jQuery or CSS by my definition. And here we're looking at things like 960, SquareGrid, Blueprint, name your favorite CSS grid framework here. Adopting is like buying a house. You have the limitations and the potential when you get that new building, but ultimately it's, it's one single entity that you're bringing in and it's shiny and new and very exciting. The next one is the annex. And this is, it was mostly the alliteration, but the word annex actually fits here. Because you've got a concept that's growing out and pulling in all of these different things, but under its own brand. So although Omega uses the 960 grid framework or started out with it originally, it doesn't try to adopt it into its name. It simply assigns a new name to it. With this definition, we're also going to say that we need to install at least one set of modules. So with Omega, you've got the, is it Omega Tools, Fusion? You've got Fusion Accelerator, Adaptive Theme, G-Panels, but you're, you're adding something else. You're adding some kind of functionality. With these ones, I think we also start to see what I, what I have come to, not in a negative way, but what I've come to admit is more of a WordPress approach to theming, where you're essentially getting an entire install profile and a new way of thinking about your site, but at the theme level, and in our case in the themes folder. The annex is a neighborhood in Toronto. So whatever definition or whatever connotations you want to give to the word annex, you can think of it as a neighborhood. This isn't a single house. This is a collection of houses. It's a collection of families who all have their own problems that you're going to be bringing into your own system. None of these, however, are a base theme that tries to decorate your site. You're not getting a pile of building blocks that also come with color. Yes, you get some regions in place, but it's not meant to in any way define the visual aspects of your site. For now, we're going to be ignoring the workflows that aren't using base themes that fit into one of these three categories. So for example, we'll be ignoring base themes that are starter kits used by, for example, a university department, which does have branding in place. So if the head of the university has said, this is our starting kit or our base theme, you keep the colors, but you're welcome to adopt the banner, change some of the navigation, those kinds of, we're going to ignore that. We're also going to ignore the workflow whereby you start with no base themes. Both of these are absolutely valid approaches to theming Drupal, but for this presentation, I'm really interested in what's happened in or what have we created in the base theme ecosystem and then what does that tell us about core? Because really, these three things, I think define most of the base themes that we have come to work with, appreciate, acknowledge, and that NX1 makes me a little bit concerned. Concerned in a good way, but also in a way that I think with Drupal 8, we've really bumped into some limitations and we've started putting functionality and non-base theme-esque stuff into the themes folder. What it does show us, though, is that core is really flexible. The fact that we have these three different starting points and we can grow and as a community, I mean, we love to have our little arguments about whose theme is better, but we acknowledge that they're all valid starting points for some people. We can swap them in and out. Thank goodness we didn't put the 960 grid framework into core. We waited. The web changed. We can swap stuff in and out. I think that this is really healthy and it's good, but it's also showing us the core is broken. That's where the NX themes are really, they're really showing us our limitations. The fact that, and I will acknowledge the Drupal 8 work, that's happening, but ultimately what we're seeing is that theming kind of really sucks right now and the workarounds that we're developing, we're spending a lot of time in theme contrib, but maybe that work should be going into core as well. Maybe we need to completely rethink the problem. There's definitely something that isn't working. This isn't just about whether 960 is better than blueprint, is better than square grid. This is a different kind of problem. So where do you start? How do you actually figure out which is the best starting point for you? Now that I've broken it into those three categories, some of you may already start to recognize what feels most natural to you, but it's not really, I mean you see now where I get frustrated when the Zen versus Omega question comes up because they're different. They do different things, but you still have to decide for yourself what the starting point is going to be. When we look at base themes, how many people are working as a solo developer? Let's start there actually. So solo, you do the site building, the theming, the everything. Just maybe 10, 20, 30%. And how many people work as part of a bigger team? Good because that's the balance of people. Sometimes they're not the same. So when we talk about our starting points, we're ultimately looking at not just our own skills. So skills in this point could be do you know HTML? Do you know cascading style sheets? Do you know jQuery? What are you personally able to accomplish? What are the tools that you're working with? So for example, have you decided that you want to be working with some kind of CSS preprocessing tool, whether it's smacks or sassy or sooty or whatever the, I don't know them all. But what's your toolkit? Is it GUI based? Are you more comfortable with a point and click UI or are you more comfortable at the command line? And then what does your team look like? Are you actually needing to integrate with another team? Because if you are, you'd better be able to push those configuration options out of your theme to be able to share them with your teammates. So that's kind of your starting point. And only you can answer those questions. And if it's a matter of writing out some notes and saying this is where I am today and therefore this is where I could be tomorrow, that's what you need to do. But I can't answer those questions for you. The next part that we really need to take a look at is what happens when we deliver the website? So of course, as a former web standards team member, I don't know if you guys know the WASP project, I love semantic markup. However, my clients have never paid me to deliver a semantically valid website. So some of the stuff that we as developers like doing, we like the technical challenge, we like the elegance and the beauty of these things, they aren't necessarily what we're being paid to deliver. And that's where if the community of volunteers in terms of the Drupal community is interested in taking that and putting it together as a base theme, by all means take advantage of it, but look carefully at what you're being asked to deliver and then reconsider and not change your mind, but reconsider, am I choosing the best base theme for what my team or myself as a solo developer has been paid to do? The next part is phase two, and this is where, great, you've delivered your website, congratulations, the web is not print, it will get changed, and is your client the kind of client who wants to make changes on their own? What's the business model that you have for your company? Are you wanting to be paid on a regular basis for website maintenance? How many people think that's awesome? Okay, there's like two of you who are willing to put up your hand. Most of us are like, move on, thanks very much. So consider how this website is going to be maintained, and if you have a technically savvy client, they may actually really enjoy using one of those annex base themes, which gives them the opportunity to point and click and change the configuration, change the layout of their site. All of the designers just cried inside, but it is something to consider. So these combination of factors, your personal skills, the tools you want to work with, the team that you're working with, and the workflow that you've established with your team, what you're asked to deliver by your client, and how your client is going to use the site in the future or grow the site in the future, all of these things will shape the decision on which base theme is most appropriate for any particular product that you're shipping off to a client. And that's where deliverables in phase two, you may not use the same base theme for each project that you put together for your company. I've got this one up here because I think that teaching theming has made me cry inside a lot, but it's one of those things that I've come to see that there's a progression that makes sense for my students, and for my students for the most part, when they come to Drupal land, they don't know web technologies. And I have to say that I'm really glad I learned HTML in 1996. There was a lot less to learn. And for the most part, I was able to keep up with the progression of changes over time. If you're coming into the web today, there's a lot of stuff that you're being exposed to. And so the progression that I go through with my students is similar to the progression that I went through from 1995 to today as a web technologist. So the first thing that I teach is layout and markup. We work with big containers, big shapes. When I'm teaching this in Drupal land, I tend to use an adopter theme. My personal favorite is 960. I'm not also fighting with responsive design at that point. I can simply say to people, you've got 12 columns divided up into smaller sections. The reason why I do like 960 for this is because my choices are either 12 or 16. There's not 30 columns or 35 columns to subdivide. So for me, this is a major bonus. For you as professional design firms, you may be well beyond the point where you're trying to teach someone how to use a grid layout. But that's where I start, is the layout and markup. The next step is decoration. So now we've got the fundamentals in place. We've got essentially our wireframe. They're comfortable with that level of configuration or styling or building or development, whatever verb you want to use for it. Now we start looking at the nuances of CSS and adding visual elegance to our sites. At this point, I tend to flip over to the adopter themes. I learned to theme for the most part on Zen. The documentation was outstanding even many years ago when I first started, and it has only improved since then. What I like about this is it starts to force people into learning more of the Drupalisms and more of the code that I would like to see out of someone who's progressed beyond novice. Maybe they're an advanced novice at this point. The next step that I take him through is into what I'll refer to affectionately as volatile systems. And this isn't to mean that volatility is bad. It's simply acknowledging what happens on the Internet. We could not have predicted responsive web design five years ago. And yet it's three simple little things. It's a media query. It's a grid that's aware of its context and it's squishy pictures. That was it. That was the original article. So simple and yet has revolutionized the way we build websites. We don't know what the next responsive is going to be. We know about mobile. We know about this stuff. But we don't know what the next sort of major disruption is going to be. And that's why I refer to these as the volatile systems. What I learned today may or may not be what I'm going to use tomorrow. And now we start getting into annexors because at this point we're bringing in a lot of technologies you're having to learn a very complicated system if you're doing the theming work. If you're doing the sort of pointy clicky stuff as the client in phase two of the website, you don't need to learn the underlying systems that make it work. But it's risky as a themeer to choose one of these systems because we don't know what's going to happen on the web tomorrow. And that doesn't make them bad. But it does put huge pressures on those theme developers to keep those themes modern, current, whatever the right nickname is for it. And ultimately the holy grail of theming is that you choose whatever system is most appropriate for you. And this in some cases means writing your own base theme. Because you pull in the parts that make sense for you, you adapt the markup where it makes sense for you. And in some cases you may also be bringing in extra modules if you're a panel or a display suite or a context kind of person. But you're starting to make those decisions for yourself once you've gone through those steps. So that's the progression that I use when I'm teaching theming. I don't think that there's a fixed way or a right way to evaluate base themes. As I keep saying, it depends on your context. Over on the right hand side, I've got things that I never, never is a really hard one for me to use, but never would consider when evaluating a base theme. In part because I would trust that the decisions that are made at the theming layer are, well, let's be honest, how many people have seen an SQL query statement in a base theme or in any kind of theme, rather not a base theme. And there's more than a few of you, right? So we're setting cookies that are then hard coded into, like I mean, like there's, yeah, there's some ridiculous stuff that happens in themes, but I would never expect that of a base theme. And so I tend to ignore the right most column, especially if it's been published on Drupal.org. And I trust the community to have done that evaluation for me. So the left hand side of the column, these are things that may be of interest to you, the number of installs, the lines of comments versus the lines of code, buzzword compliance, encode documentation, ease of installation, whether or not there's labels on the UI text. Sometimes there's not. There's just magical buttons that you have to click on things. Online documentation, so not just within the theme itself, but what's the documentation like on Drupal.org. And finally the support, both community free support and also professional support. And I really respected what Fusion and Topnotch themes did with their base theme because they were accountable to paying customers. I trusted that their base theme would work because they had paying clients who would complain to them if things were broken. So these are some of the things that I've considered. The previous issue of Drupal Watchdog had an article by Michael J. Ross, which is not online yet, but hopefully will be soon. And he had a great comparison chart. Do the equivalent for yourself. Put the stuff across the top that's, or down the side that's important to you. If HTML5 is really important, if responsive is important, everyone should care about accessibility, but it may or may not be something that you're being paid to care about. Again, if you're not being paid to care about, make sure your base theme takes care of it for you. Create that comparison chart for yourself and start to think about what's relevant for my clients today and are there different kinds of clients for whom different base themes are more appropriate. Again, base themes have nothing left to take away. And when I tried to get the original source on this one, you may have been awake or not. It was an IRC, though. We can go back and look at the logs. So whether it's Antoine Saint-Tucs de Piree or John Albin Wilkins or Leonardo da Vinci, they're all in the same camp, aren't they? So ultimately, we're looking at, with nothing left to take away, what do we build on? Where can we start from here? Morton had a great idea. Morton's the developer for the base theme mothership, and he had a really great idea when I emailed him a draft version of my slides. He suggested that I contact the base theme developers and ask them to evaluate their own base themes. So this is the email that I sent out. I'll show you which base themes I sent it to in a moment. But ultimately, we'll read this email together. Hello. I'm giving a talk on base themes. As part of the presentation, I'd like to highlight a few base themes. I'd like to include an honest evaluation of what developers of the base theme think of their own themes, strengths, and weaknesses. I'd love it if you'd take part. Please email me back with the answers to the following questions. Each answer should be not more than 140 characters, and I will trim at 140 characters. So this is who I emailed, and they're sort of grouped a little bit according to whether they are an adopter, adapter, or an annexer. Not everyone got impact back in touch, and that's totally fine, but you can see that there are themes in here like OM, which I didn't reach out to. So from this list, here we go. Four categories, your theme in a nutshell, its best feature, the worst thing about your base theme, and a notable difference from other themes. So the first one, and these are not in any particular order, but you can see up in the top left which of the three categories I think this theme fits into. So Zen was the first one, and Zen is a sass slash compass-powered smack-loven, drush-buildable, HTML5, Drupal-sterger theme with a responsive mobile first-grip design. I'm not going to read all of these words each time, but the slides are uploaded, so you can get all of this text. There's also a handout, which is about 11 pages, and isn't just pictures, it's actually essentially my script from this talk. So what we can see from Zen, though, is that the designer of the theme, the developer of the theme, is giving us for the most part some technical details about the theme. So I would expect this theme to be a technical theme. This is not a, hey, jump in, and everyone can learn how to theme, it's going to be the awesome. There's some words in here that you need to know before you can start working with Zen. Or as you work with Zen, there are some words you will need to learn. The next one is mothership. Lord love, Morton. So this one's short, I'll read it to you. Cleans up the markup and gives me what I want. That was two points. I could have put it into a second line, but I thought it was charming the way it was. Worst theme looks like Stark, and you have to know what you're doing. Smiley face. And the fourth point, which in our case is the third point, this is the most notable feature of the base theme. The most notable feature of the base theme, you get to swear like a pirate and wear little white sailor hats. And I'm amazed that I was able to say that without completely cracking up. Thank you, Morton. I'm sure that I'll be punished later for putting this on a slide. All right, so the next one, I'm not sure how this theme is actually pronounced. I believe it's Detomo like Alamo, but I'm not entirely sure. This one is an interesting one in that it's, I couldn't decide where to put it. And then I set up, but if I'm going to use my rule of annexors, you need to install a module. It easily fit into the adopt, although definitely with a lot of adapt stuff as well. So this is working with the 960 grid, but making it fluid instead of fixed. And it has a fixed with 640 pixel tablet and 320 pixel mobile layout as part of it. So it's taken 960 and adapted it to also be responsive. I think the big one for this one, and especially for, I tend to find that the European crowds care more about semantic markup and the American crowds tend to care more about how many classes they can use because it's easier to work. It's easier to work with those classes. So this one for me, the worst part is definitely relevant. It won't appeal to those who don't like non-semantic grid classes, and you'll have them for the desktop, tablet, and mobile grids. So for me, this is a huge warning that there's a lot of stuff to rip out if you want your base or your starting point to be semantically valid. That's the biggest one for that one. 960, this one definitely a true adopt base theme. It's bringing in the 960 grid framework. There's a little bit of math in the template.php, which allows you to automatically have regions stretch and squish. But essentially it is 960, as the name says. For me, the interesting one on this one, for almost all of them, the interesting thing was the developer's opinion of what the weakness was. So in this case, with the rise of SaaS and Compass, and responsive design, the 960 grid system is no longer the best starting point for grid-based design. I still love it as a teaching tool, but it may not be something that you want to use to deploy your client websites. Maybe it's perfect if it's on an internet that will only show up on a desktop, and your team that you're working with has limited web tech skills. So there's going to be times when it's still great, but for the most part, we may have moved on as a web development community. Square grid, this one gets props for having one answer that's exactly 140 characters. So this one, again, fairly technical. One of the things that I do like about this in the positives is the child theme could be done in two to 400 lines of commented CSS. Now, square grid, you do have the 35 columns, which I think is a lot, if you don't know how to work with that. But ultimately, it is what it says it is, it's that grid framework. On the notable side, this is a theme, this is not a theme that tries to make your coffee. Settings are minimal, and power is in the square grid CSS. Blueprint. This is one of the classiest answers that I got. So the blueprint developer said, thanks for contacting me about blueprint. Unfortunately, at this point, I will have to back down from this opportunity to answer questions about blueprint. Since I took over the development, my interests have moved beyond what blueprint provides, and I am no longer able to maintain or develop it. At this time, I would like, however, to find another developer who can take the theme on and really make it shine. Blueprint is great, but as I have started to use responsive design technologies in my designs, I have moved beyond the limits and begun to use, how do we pronounce that word? I love how everyone just hissed back at me, that was awesome. But this is a classy response in the sense of it took a while for this email to come through, and I'm guessing that this person had to decide whether they really wanted to admit that they're essentially abandoning the project. And I think that as the web changes and it's going to continue to change very quickly, we need to evaluate the projects that we put up on Drupal.org, and we need to be saying sometimes this isn't the right answer anymore. 960 did the same thing. I mean, I love 960, so I'm really glad that Todd actually completed the email for me, but it's something that we need to consider. When do we outgrow our stuff, and then how do we politely let people know that there's other things out there that they may want to look into? Adaptive theme, another answer that is exactly 140 characters, kind of got a kick out of these. Yes, I actually went through and counted everything. So the notable ones for this one uses responsive plugins to support panels, panelizer, and display suite. The rest of it is interesting, but for me, for Drupal 8, this is the one to start with on 7, considering the changes that are coming in 8 with the layout tools. So if you want to get practiced now on using this kind of functionality in your base themes, and you want the extra overhead of using an Anexer base theme, I think this one is an interesting starting place. Under the limitations, I do quite enjoy the undocumented Easter eggs, but again, they've all got the same kind of flavor in terms of buzzword compliance and technicalness. Finally, we've got Omega, and how many people are using Omega right now? So this is a different kind of answer that we've got for this base theme than the other ones. Most of the other ones focused a lot on their technologies and buzzword compliance stuff. This one, it's weak point is that it fails to make my coffee or clean my house. I don't want that out of the base theme. I don't consider that a weak point. So whereas that was a sort of a positive thing for some of the other base themes that were focused on the grid frameworks, this one is a, I expect it to do everything, and it's going to be the awesome. And it's just, it's a different flavor of answer to some of the other base themes that we saw. It also, I'm sorry to say, is the only one that failed to actually limit themselves to 140 characters. So this was the, in the final answer on the notable features. And it does have a very passionate community with it. I think part of that is to do with the learning curve of Omega. There's so much in there that you need to learn. Once you've accomplished it, like with Drupal, you want to be able to share that knowledge with other people, and you want to be part of the experience of this thing that you've invested so much time into. So I think we're seeing part of that reflected in this answer. So again, we've got these, these three essentially categories of base themes. We have our adapters, our adopters, and our annexors. And within the adapt, there's Zen, Boron, which I didn't even mention in that list, mothership. And they're going to rewrite some of Drupal's core markup. And in a lot of cases as well, some of the contrib markup, so that you get a sane starting point. And this could be for workflow reasons, semantic purity. Maybe you're wanting to use JavaScript or jQuery libraries with your work. And you need to get exactly what you expect each and every times that you can drop in these other libraries. Those are your adapters. Your adopters are for the most part bringing in some kind of external best practices. These were the ones that for the most part were also referring to being deprecated. It's no longer the right way to do it. So the adopters, they're perfect at the time. You can leverage that technology that's been established outside of the Drupal world, but don't expect it to stay forever. It's still valid. It just maybe isn't as up to date. And then finally, we've got the annexors. The fusions, the omegas, the adaptive themes. I'm sure there's more of them out there as well. These are the ones that I sort of affectionately refer to as my volatile systems. Because they've got a huge learning curve to them. They make a lot of changes. They make a lot of decisions for you. They're fantastic for clients who want to be able to maintain the layout of their site in sort of the phase two of your theme. But they're also kind of risky. If you adopt an annexor, and it isn't able to keep pace with the way the rest of the web is going, you've got a lot of parts in there. You've got a lot of components that you're going to have to rip apart or tease apart to move forward with the next generation, as opposed to just swapping out a grid framework. So, I did promise a winner. However, let me lie. No one gets to win at base themes. And again, this is just going back to, yes, seriously, going back to what I was saying about it's what makes sense for you and your team. And I'm hoping that by showing you, by breaking down those base themes into different categories, you can start to make perhaps a more informed decision, or you can start to think about those base themes a little bit differently. It's not just who's got HTML5 or who's got responsive or who's got SCSS starter points for you. It's what makes sense for me, where I am today with the skills that I have, what makes sense for my team, what's the easiest to collaborate with. And you may have to, you may be using something that's just a grid framework to bash out a prototype. And then you've got, you strip out the base theme and you start with custom work for your clients. There's lots of different ways to use these tools. And I don't think there should be a single winner. But it's, I guess it's more than that for me. Because for me, it really, it shows how the question is completely wrong. If we're saying which base theme is the winner, which base theme is the number one, we are fundamentally not respecting the problem space that we're in right now. And so that's the first bit of the presentation. And now, now I want to stop in and basically reframe this question. And I ran for political office last year. I'm here today because I didn't win. Well, I'm here today for other reasons as well. But one of the things that we got in political training was a lot of exposure to George Lakoff. And one of the biggest takeaway messages for me is that as, as a politician who's receiving questions, I need to decide if I'm going to accept the frame or the language of the question. So perhaps the, the biggest or most famous quote that we all sort of throw around is once the issue is framed, if you accept the framing, if you accept the language, it's all over. You're now playing someone else's game.  How is it that I want to present the answers to this problem? And for me, it's not to do with base themes.  Now some of the dead animals have hats and funny noses, but ultimately there's still dead animals on a wall. Part of my concern is that with the changes that we're looking at in Drupal 8, like punting, I shouldn't put, I shouldn't put negativeness on it. By putting twig into core and either giving alternatives or completely replacing PHP template, I'm worried that it's like putting a hat on a moose. I'm worried that if we don't go deeper into the problem, if we don't also look at the theming system, but just the templating engine, we're going to end up with something that doesn't actually meet our needs as a front end development space. And so this is where, this is the part that for me I got kind of a little bit nervous about, but everyone in the audience is like, yeah, we know this. So I don't need to be nervous. So the rant goes, something to the effect of this. Front end development is frigging hard. And we need to start actually giving respect to the front end developers who are doing this work. Sequel query statements basically haven't changed in the decade that I've been doing them. HTML has changed. We're on version five. And I understand that my SQL is different. And yes, we've got Postgres and we've got no SQL and la, la, la, but an SQL statement is still an SQL statement. So what I would like to see is that we start as themers and designers saying, this is the framework that we actually need to do our job. Get your frigging CSS grid frameworks out of core. We want it to be adaptable. We want it to be responsive. We want it to be, but not responsive in the sense of today's responsive. We wanted to be able to respond to what the web is doing. We need to actually put the energy in, though, as the theening community to decide what that looks like. And it's not good enough for us as a theening community to allow developers to make those decisions for us. We can't simply say it's good enough to have a hat on a moose. We need to actually make those decisions. Last year at Drupalcon London, Eaton was already, and I wouldn't count Eaton as a professional femur, but he was already making jokes about how horrible our theening system is. I don't know if any of you saw this slide, but the bottom right, that's a theming issue. Shouldn't get laughs anymore. It should get outrage and frustration. We know that it's a problem. He told us about it last year and he's not even a femur. So what are we going to do about it? Well, ultimately, people are already doing things about it, but fixing themes is going to take more than a single step. You can see that there's a series of platforms on this staircase. And each time we get to a new platform, we need to look back and remember where we've been. And we also need to look forward and think about the changes that we want to have. How is the web changing categorized? Like I did those three, you know what, we've got adopters, we've got adopters, we've got annexors. What are the kinds of things that as a femur, you need to be able to do? Do we get rid of this folder called themes? Do we have palettes and layouts and framework, grid frameworks? Like what does this look like when we start to imagine a front end framework? Not just a developer framework for module developers, but what if we learned how to do module development? What if we weren't trying to decide whether something belonged in a theme folder or in a module folder? What if we all had John Alvin's amazing capacity for tiny little modules that do exactly what we need? The work is already being started. So just in a second here, don't make me click you again. All right. So work has started. If you are currently working on Drupal 8 core theming stuff, stand up please. I know there's some of you. I know there's some. For those of you who are not in the room, there was two people standing up. This is important stuff and this is stuff that you can contribute in. You have on the ground experience. You know what it is that you're bumping into. You know what isn't working. You may not be able to imagine the toolkit that would make it easier, but you know what the problems are. So what I'm going to get now is everyone to stand up and take the theming pledge.  We are not going to put a hat on a moose. What we are going to do is we are going to say all together now, I promise to help make theming rock in Drupal 8. Thank you, everyone. If you are indeed interested, you can sit down now. I promise it wasn't meant to be a standing ovation. So if you want to be part of the solution, there are two sessions that I think will be of utmost interest to you. There's a designer friendly theme system in D8 session, which is this afternoon. And then there's also a new theme layer in Drupal 8, which is tomorrow. So those are the two sessions that I would say, even though they're core conversations, you don't have to be a core developer to show up and have an opinion on things. Yes, we need you at the sessions.  The first one is going to be introduction to the entire system. And so if you don't know anything about it, that's a great place to come in. And the second one is going to be a conversation of how you can help out and contribute to it. Those don't need to end up on the internet, so you can just put your cameras away again. Thanks, John. So get involved. Have your own little rant, but also do some thinking around what could this look like if it looked better? And for you, that may be taking the components that you currently work with and subdividing them, like I did for those three different kinds of base systems. So what is it that you do on a regular basis and what kind of front-end developer framework would help make your job easier? Thanks, everyone. Don't catch sharing. We have four or five minutes left. There may be questions. I don't see a mic on the floor. I'm just as happy, though, people head out to the next session or lunch or whatever it is. If you happen to have them, that's great, but I don't expect any. So thanks. Stick around if you've got them. Wave your hand if you do. Yes? Yeah. So the question, I'm just going to repeat it for the recording. Do I have suggestions of other theming systems that I think work well for designers? And to be perfectly honest, I haven't been looking. Jen has spent a lot of time, Jen Lampton has spent a lot of time looking at other systems. I've been mostly focused on getting Drupal people trained, and I'm seeing a lot of pain, but I haven't been looking to see who's doing it better than us. And I'm sure that other people will have answers. So stand up and wave your hands wildly. So, and everyone, if you have the answer to that question, that's who's, I'm sure everyone wants to know, but anyone else with questions? All right, go away. Bye.


Hello and welcome to the session. I am Lipika here. Let's discuss the question it says. An insurance company insured 2000 scooter drivers, 4000 car drivers and 6000 truck drivers. The probability of an accident are 0.01, 0.03 and 0.15 respectively. One of the insured persons meet with an accident. What is the probability that he is a scooter driver? Now, here we will use Bayes theorem according to this theorem. If e1, e2, so on, en are events which constitute a partition of central space s. That is, e1, e2, so on, en are pair-wise disjoint. And even union e2, union so on, union en is equal to s. And a be any event with non-zero probability, then probability of ei upon a is equal to probability of ei into probability of a upon ei over sigma probability of ej into probability of a upon ej, j varying from 1 to n. So, this is a key idea behind that question. We will take the help of this key idea to solve the above question. So, let's start the solution. Now, according to the given question, an insurance company insured 2000 scooter drivers, 4000 car drivers and 6000 truck drivers. So, let e1, e2, e3 be the events that the insured persons scooter driver or driver driver respectively. Therefore, probability of e1 is equal to 2000 over 12000 and this is equal to 1 over 6 because 2000 scooter drivers are insured and total insured persons are 12000. So, probability of e1 is equal to 2000 over 12000 which is equal to 1 over 6. Similarly, probability of e2 is equal to 4000 over 12000 which is equal to 1 over 3 and probability of e3 equal to 6000 over 12000 which is equal to 1 over 2. Again, we are given an insurance company insured 2000 scooter drivers, 4000 car drivers and 6000 truck drivers. The probability of an accident are 0.01, 0.03 and 0.15 respectively and one of the insured persons meet with an accident. We have to find the probability that he is a scooter driver. So, let a be the event that the insured person met with an accident. Probability of a upon e1 that is probability that the person met with an accident is a scooter driver. This is equal to 0.01 because it is given in the question. Again, probability of a upon e2 that is the probability that the person met with an accident is a car driver and this is equal to 0.03. Again, probability of a upon e3 that is probability that the person met with an accident is a truck driver. This is equal to 0.15. Now, the probability that the scooter driver met with an accident, this is given by probability of e1 upon a. So, by using Bayes theorem, we have probability of e1 upon a is equal to probability of e1 into probability of a upon e1 over probability of e1 into probability of a upon e1 plus probability of e2 into probability of a upon e2 plus probability of e3 into probability of a upon e3. Now, we have probability of e1 is equal to 1 over 6. Probability of e2 is equal to 1 over 3 and probability of e3 is equal to 1 over 2 and probability of a upon e1 is equal to 0.01. Probability of a upon e2 is equal to 0.03 and probability of a upon e3 is equal to 0.15. So, probability of e1 upon a is equal to 1 over 6 into 0.01 over 1 over 6 into 0.01 plus 1 over 3 into 0.03 plus 1 over 2 into 0.05. This is again equal to 1 over 6 into 0.01 over 1 over 6 into 1 into 0.01 plus 2 into 0.03 plus 3 into 0.15. This is again equal to 0.01 over 0.01 into 1 plus 6 plus 45 and this is equal to 1 over 52. Hence, the answer for the above question is 1 over 52. That is, the probability that the scooter driver met with an accident is 1 over 52. So, this completes our session. I hope the solution is clear to you. Bye and have a nice day.


Okay, let's do this. I am so excited to be back. I feel so good, but a two week vacation, we'll do that two weeks and some change, we'll do that to you. So welcome to all of our new subscribers and to those that have been with us since 2018, August. It's been so long since I've been doing this. It's really cool. My name is Benesia and I am the community Outreach Specialist for the Pascal Sheriff's Office. Hi, so I just wanted to hop on here and do a very short video. It's been so long since I've actually done a video. It feels very weird, but just to let you know, a couple of things. So the next couple of videos that I will be uploading may actually look a little weird and out of place because I actually found some good footage from 2018 that just kind of got lost amongst all of the footage that I do have. So things like roundup, I went out on day four. I wanted to go out the whole week, but I didn't wind up going. The fishing tournament, the Sheriff's Citizens Academy, that one actually, we need a lot of work because I realized I didn't do an intro out or I didn't explain much for that video, but just some things that I don't want to go to waste. So I think I may push those out first. I also want to change the uploading schedule, which I don't think you guys are even concerned about, especially if you have your notifications on, it wouldn't matter, but to upload Thursday and Friday as well. So yeah, that's just a couple of small things. Also, I still want to, I have some really good ideas that I've been holding on to and trying to make happen and waiting for people to come back from vacation and maternity leave and different trainings and being out of the state. So things like going to the hangar, which is where our aviation unit is and doing like a tour of their place, sitting down with forensics and basically having the presentation that they do to different adults and different kids and different groups and entities, condensing it down to a really cool YouTube video for you guys. I would love to bring you canine stuff as well. That's, I know you guys are going to comment that you want to see that you always do, but I also just want to respect those that have not been able to just solely do their jobs. Like a lot of our canine handlers are over the camera and their face and the media events and the photos and the TV show. So I just want to respect and have boundaries when it comes to pushing people just to get content for you because it doesn't come across that great on camera.  So I like to have that respect for everyone. Deputies, detectives, corporal, sergeants, child protective investigators, everyone. So comment below if there's something that you do want to see that maybe I haven't thought of. And I do want to bring a few more educational things to the channel as well, just to bring more awareness to certain issues that we do work with, work on as an agency. I think that that would be really interesting too. So, and things like the five things videos, I think they're getting old, but I think you guys still enjoy them. It's a very easy thing for me to edit, but maybe like a rapid fire burning question version, something like that. Or let me know if you guys do still enjoy the five things video. Yeah, it's very easy for me to try to pull five facts or like eat facts about someone out of them and get them to say it on video if they don't mind. But just a couple of things that were on my mind and I felt I would comment and share it with you guys. So I don't want this to be too long. I think that is about everything. I hope all of you had an incredible holiday season and that you've started off 2020 seeing clear. See what I did that. And that you just roll that over into every aspect of your life. I know I'm trying to. So I hope you're being kind to yourself and I hope you're being kind to others. Don't forget to like, comment and subscribe. And I've actually noticed YouTube has been disabling comments on a couple of our videos. So if you're not able to just head over to our community tab or we'll find some way to communicate on other platforms. So again, thanks for following along. Thanks for watching and watching this very simple boring video this far into it. But I will see you guys next time and have a great day.