So, I'm Jonathan Cameron, I'm the maintainer of Industrial I.O., and yeah, been doing this for a while and it turned out when we came to sort of time to submit papers of conference it's been pretty much ten years to the month since the first few emails went out and the first few RFCs. So, I thought we'd do a talk on that, that period of time really and what happened. So, going to break it down to a number of different things. First of all, to understand basically any piece of code, one of the fundamental things is why did it end up as it did? We all know that if we start again, we'll end up with a different answer to any given sort of software project than we actually did. So I'm going to provide a bit of information about what I wanted to do, what some other people here wanted to do and how we evolved into where we are now. Some stuff on interface principles, this is because one of the biggest things that Industrial I.O. really is, is a user space interface. This is true of pretty much any kernel subsystem because you can change anything inside the kernel but what you can't change is anything that will make a regression in user space. I have a very, very brief summary on the I.O. architecture and this is more about understanding some of the issues that we're going to come on to talk about. This talk is not meant to be a tutorial, I've got some good references at the end if that's what you're looking for, but it's been covered reasonably well in previous presentations. And then we're going to focus quite heavily on some of the mistakes we made. I made most of them so I can be rude about them. And finally, I think one of the most important things about an area of the kernel is the community that's been built up around it. So I'd like to add a few words on that as we get towards the end. So first of all, some history. Now to quote from the Cathedral on the Bazaar, the famous sort of open source text, all good software projects start with a developer's personal itch. So what was mine? I was working on an academic project called Sesame, which is an incredibly contrived acronym that I can never remember, but has something to do with sensors and sport. And what we were doing was we were sticking sensors on athletes. The main target was pretty good sort of national level sprinters. And that was somewhat challenging. There weren't many platforms out there 10 years ago to do this with. We did have one. We had a thing called the iMote 2, which was very similar to the gum sticks if anyone remembers the early gum sticks. It was based on a PXA 270 processor. It had sort of basic wireless capabilities, but not Wi-Fi or anything like that. And it had the sort of early versions of what we now call capes or shields, those sort of things. You could plug another board in or a standard set of connectors. Now one of the first things we did with that is we actually wanted to run a Wi-Fi chip on it. The very early SDIO open source drivers were just beginning to appear. So that was a Marvell Laberitas driver. And to do that, we needed to actually have the current kernel as opposed to the one that we got from Intel Research that was some years out of date. So we did that. Upstreamed that. Board support's still there. Then we came on to what we actually wanted to do was to measure things. So we were looking at sensor drivers. And the obvious question was, yeah, well, we've kind of got used to this upstreaming thing. It's quite nice. It goes forward with new versions of the kernel. We get the new features. We support new parts. So, yeah, it's upstreaming the sensor drivers.  They were in various states. And it was sort of, OK, so how do we do this? So now we come on to some requirements. What do we actually want to do? We wanted a simple interface option. What do you think? Very, very straightforward. Hardware monitoring had been around for a while, used for monitoring things like fans, temperature sensors. You just read a CISFS file and you get a value as a nice string. It's very simple. We wanted efficient streaming, however, because you don't actually get to do much sort of inertial measurement of a sensor on a sprinter's leg if you only pull it a few times a second via CISFS. So we could look at input, which has the whole event system. And it's moderately efficient. But I targeted at one very particular application, which is human input. So we did what you did in those days. We asked the Linux kernel mailing list. The key thing was, back then, a reasonable number of people actually read the Linux kernel mailing list because it wasn't quite such a far hose as it's become. It was still a good few hundred messages a day. But you could actually get replies. And then the answer was, oh, no, we don't really do that in input. Don't really do that in hardware monitoring. Doesn't really make sense to expand them. You have to do something new. Now, here's the first of the issues that we're going to raise during this talk. These were my requirements. I had one particular project. I had that personal itch. As we'll see, there were quite a number of other requirements came in from other users. So what is IO? It's called Industrial IO for reasons that I'd be honest. I can't quite remember. We got into a whole naming debate, and that's what came out. So I'll start with a slightly backwards definition, because this is one people often get a bit confused about, is what isn't it? It is not intended to be a replacement for those things that are already done well. So here I've listed it's not replacement for hardware monitoring. It's not a replacement for input. They both do their job. These days, we've had a few sensors that overlap with audio applications. Again, if it's an audio device and they're using it for audio, leave it in audio. IO is broad. We're not focused on one relatively narrow area. We actually tried that, because during the very early development of IO, Intel, or someone working for Intel, I sent a driver for an ambient light sensor and said, well, it's silly. It's a big complicated subsystem. And all I want to do is to measure a light signal. So we gave it a go. We got all the way to a pull request to merge our new little subsystem. So we moved over a couple of drivers from IO at the time, and various people chipped in at the end, including Linus. And he made a very good statement. As you know, if you've ever had a pull request rejected, it's somewhat of a knockback. But he was right. So he said, I do think that it's crazy to start doing new subsystems for every little thing. That way lies madness. Yeah. So we went back and carried on plowing on IO for another couple of months before we got anywhere. So now we get onto what devices do we support, because that sort of defines what IO is. So basically anything that's an ADT, so it takes an analog signal in, gives you a nice number somewhere in your processor. Digital to analog converters. So the DACs go in the other way. That was added a while later. But you get parts that do both. So it makes sense to share as much of the infrastructure as possible. And there are certain similarities, although there are also differences for what you do when you're coming in and when you're going out. So just listed a few things here. ADCs, you've got accelerometers, gyroscopes, magnetometers, IMUs, light sensors, chemical sensors. A lot of volatile organic compound sensors fairly recently. Things we measure in pollution. Dangerous gas sensors have started turning up. Health sensors, things like pulse oximeters, where you shine a light through someone's finger and you can measure their pulse rate fairly indirectly. Rotation sensors and others. DACs tend to be a bit simpler. It's mostly actual DACs and digital potentiometers. So now I mentioned earlier that the key thing is the interface of what? What is the interface for IO? It's meant, the purpose of having this interface is to allow generic user space code. So I've listed a few examples here. So we've got LibIO, IO sensor proxy, which is part of Nome, I think, and some work in Teldid on an Android sensor, how? There are others. Lots of people spin their own because they're doing one very particular application. And we have example code in tools in the kernel. Now, the key thing is it must be consistent. And one of my personal aims in any sort of user space interface is if a tool possible, you shouldn't have to read the documentation to work out what it's doing. And what that value you just read from CISFS actually is. So there are no magic numbers. So I've listed a few of the principles we built upon. So we decided, and this is different, for instance, from what input does. We decided that all control and metadata would be via CISFS. When you read from the buffered sort of interface and come out on a character device, you just get data. You don't get anything telling you what that data is because that's considered to be predictable because you've configured what you want to come out. We do have single channel polled reads via CISFS. So this is, again, similar to what hardware monitoring does. It gives you a very quick and easy way of just reading what's the value in my sensor now. If nothing else, even on high-speed systems, it's awfully useful for debugging just to be able to poke it with cat. We then use character devices for getting the actual main data flow out when we're running at any significant speed with FIFOs so that you don't actually have to have user space constantly ready to get the data. It can come back in an asynchronous fashion. We also use character devices for events. We do have some other interfaces for high-speed devices, but I'm not gonna touch on those much today just because there's too much to cover. So, very brief summary of the architecture and this will lead on to our second issue. So there were two sort of fundamental ways to use IO. You either use a simple polled read where you just read in from CISFS or use this concept of triggers and buffers. There was a talk earlier today looking at UAVs and he covered this actually quite well, so I'm only gonna touch on it fairly briefly, but the basic concept is that a trigger is, it's not like an oscilloscope trigger where you one signal fires off a whole range of captures afterwards and you get, well, whatever fits on the screen or whatever your buffers set to. It's much closer to the sort of trigger you'd use on a camera where you're saying capture me all of the pixels as close as possible to now. So what you will do is you will gather a series of concurrent samples from all the enabled channels. As I mentioned a moment ago, we use buffering. It's actually just implemented as a K-5o in order to allow asynchronous reads. So here's the simplest one. This is just a CISFS read. So we start there on the top left of the green block and we read a CISFS file. It calls down into the IO core, down it goes via callbacks, gets some metadata so it actually knows which channel it was. So it associates it with the file you actually read from. And at the end it chats to the hardware. Typically this is over I2C or SPI or any number of other buses. Yeah, pretty much anything, including weird and wonderful custom buses that people seem to like with sensors occasionally. And then on the way back, the value is returned up to IO core, which is responsible for doing formatting. So what it does is it takes a number in a particular and it has a specified format coming from the driver that says this is an integer plus some micro element, is the way it's defined. And this is just to give us something that's a bit close to floating point, but is a bit more constrained and easier to handle typically in the kernel. And then we return our string up to user space. Now the classic question we got asked in the early days and it's come up relatively recently with hardware monitoring, which is kind of slowly moving in the direction we did, is why do you have the core in there? You're just reading a file and your driver's returning a value. It could do everything. And the way it was done in hardware monitoring is it was always, the ABI was enforced by review. You just looked very, very carefully at what every driver was providing in the way of CISFS interface and ensured that it met with the spec. If nothing else, that makes review really tricky because you've got a lot of CISFS files and names to read. So that's one of the advantages. You enforce an ABI by making it sort of structured so that the core gets a definition of what it is going to read and you have to keep to attend. All of the file names and things are generated from that. And the other use is the first of our requirements changes that came in. So this came, particularly after a conversation at this same conference five years ago in Edinburgh with Mark Brown. He said, well, I kind of want to do SOC ADCs and they get used for everything. I want one subsystem. I don't want to have a different subsystem for doing touchscreens, for measuring the sort of battery voltages, these sort of things. It's all the same hardware. Obviously we need some stuff above to do the sort of user space formatting and ought to provide that information to where it needs to be. Now the problem was in IEO at the time, we didn't really have that layer of separation. But because we had this pass through the core, we can have a slightly alternative one. And so this is the in kernel interface that as you can see looks almost exactly the same. So you do a read, but now it's not from user space, it's from another driver. And it goes down through the same path, callbacks, ads metadata, all the way back. But this time we don't pass a string, we just pass the actual values and the description of what format they're in to the consumer driver. And this is used for a number of things. We've got a bridge driver to hardware monitoring for those occasions when you've got a nice fast, typically, so people quite often do hardware monitoring with one mega sample ADTs, which makes no real sense, except for the fact that they had a box of those on the shelf. So they use them. And we're not gonna have two drivers in Linux to support the very, very slow case where you're just reading a temperature a few times a second. So we do it using this approach of an in kernel call into an IEO driver. And there are other users, so thermal, battery monitoring and other IEO devices. We'll have some examples of those in a few minutes. So this is the more complex flow. So this is the one where we're doing the triggers, pushing to the buffers. So down in the bottom left there, we've got, A, this is a typical device. It has a data ready signal. It's self clocked, it has its own sequencer, and it's just feeding data out on its own sort of internal tick that you've configured. So the first thing you see on the left here is we actually have a separate chunk in IEO, which is known as an IEO trigger. Now this doesn't actually have to be coming from the same hardware at all. And also it doesn't have to just get fed to the same hardware. So in this example, we've got it split two ways. So we're actually running two different IEO devices off one data ready trigger. Seems an odd thing to do, but if, like I was in the early days, you're working with inertial sensors, it's quite common to want to be able to grab the gyroscope at the same time as the accelerometer, or at least as close as you possibly can and in some sort of constrained time difference. So from there, we go across and we say, okay, so we now know there's data to read. So we go off the hardware for the data, up it comes, and we call this thing called push to buffers, which originally just pushed into a K5O and up to user space. But again, because we had this ABI abstraction layer, we had the option when we needed the SOC ADCs to come along and say, well, actually what we can do here is we can put a DMUX in there. We can split the superset over all the channels that anyone's asked for into two different data streams and we can send one off to our consumer device or to multiple consumer devices. You can have pretty much as many of those as you like and one up towards our user space interface. So on the left in that branch to seven BI, I've got a bit carried away here, it goes to an internal, in kernel user and on the right, it goes towards our user space where we add it to the tail of the K5O and we have things like watershed interrupts. You can control how long basically it is before you send an interrupt up to user space and the user space sort of portion of the code can be sitting there using select or poll to wait until there's that much data available and then it goes in and queries and does the read and gets the data. So the problem we had was we've now come up with this situation where we can handle internal consumers and we can handle user space. Now, what we do still have is we have very tight coupling. That user space interface is not currently optional. It's been on the list of things to fix for a very long time and we sort of slowly occasionally moving in that direction. So the idea is that in many SOC cases, you actually don't care about the user space IO bit because no one's gonna read it. Now, I don't know if to anyone that looked a little bit complex. So the classic question we always get asked is why? Why did you end up with something so complex? And there's basically one word for that, flexibility. We had a number of different use cases. We had people starting to do software defined radio, although that needs a whole load of extra infrastructure which we'll talk about later because the data rates are very high. We had myself who was still trying to measure stuff on the athletes and we had the guys trying to do power monitoring, similar sort of applications or light sensors or to take someone's pulse. So the key thing here is not all devices have to do it all. Pretty much everything in here is optional and when you first try to drive it, you may well write only some small subset. You might just do CSS polling. So you just do the simple reads of a channel. Some devices never go beyond that. They're slow. There's never any reason to support the other interfaces. And as I mentioned with the triggers, you can actually end up in the situation where one device provides the trigger and this could be something like a high resolution timer.  We have CISFS triggers where you just poke a file in CISFS and that results in all of your sensors that you've got attached to that trigger, grabbing a set of data. And the other aim ultimately is that IO user space should just be yet another in kernel user. And the reason for this is that we only end up with one code path. So there's less code to look after. Flexiberty also lets us do cool things. So I like these examples. This is a fairly heavy contributor to my own recent years, Peter Rosen. And he always seems to want to measure really strange things. So in this particular case, he was looking at envelope detection. So this is where you've got a relatively fast moving waveform.  Obviously you could sample that with an extremely fast ADC, but the approach that's often used is to use a comparator. A comparator, if it gives you a value as your output, is effectively an ADC. It's just an ADC measuring the maximum, minimum, or one at a time of the waveform. So he implemented this using those consumer interfaces. So what we actually have is we have a comparator driver that takes the input signal that you're actually trying to measure, but it also is using a DAC via a consumer interface. Kind of the wrong name for it when we're driving a DAC. But anyway, it controls the DAC, and then you get a nice interrupt out if your waveform crosses the threshold.  And sooner or later, you convert to the right place. For reasons I never quite established, he also didn't actually have a DAC. What he had was a digital potentiometer. So we ended up with this chain of devices. So he implemented the DAC using a digital potentiometer, using the internal consumer interface, which was then used by the comparator. And then the ultimate thing, ended up building one device out of a number of independent components. And you can replace any of these with an alternative implementation. Just recently, we have also gained our first generic ADC touch screen driver. So this is a problem for a lot of touchscreen controllers because they often have some strange built-in sequencing hardware. So they're not easily mapped directly onto an ADC. But there is a class of relatively simple devices, particularly resistive touch screens, where you can do this. So you can have one driver, plug it in to, so you plug your touchscreen into an ADC and you can use it as a normal input device. So this is sort of the biggest issue with trying to design a subsystem. Even over 10 years, I've tried to think what it would be like in longer time period. It's very difficult to predict the future. Some of these, arguably, we should have noticed. ABI mistakes. So things not to do should you be trying to come up with an ABI. Don't ever think, oh, wouldn't it be nice if we could just get rid of that index there? Because it's hardly ever used. So we can make it optional because you end up with things like this. So initially we thought, well, if it's an accelerometer, it'll have a direction, typically associated with an axis. And we defined x, y, z. We also have, separately, the ability to give channels an index because if it's an ADC, obviously x, y, z doesn't make a lot of sense. But then we sort of defined it so that typically you'd only use one or the other. Of course, lo and behold, along came a three axis accelerometer with two accelerometers on each axis, covering different ranges. And suddenly we ended up having to have user space support what was in theory always possible but never implemented, which was both at the same time. So we should just have had the index there from the start. Here's another one. In the early days, we were trying to remain as compatible as possible with hardware monitoring, thinking, well, there's loads of code out there. Let's try and use the same naming. Let's try and use the same units so that people can just use their existing code. It's an ADC in a different subsystem, but otherwise you've just got to point it at a different set of files. Now hardware monitoring is targeted at one very particular application, which is monitoring pretty much currents and voltages and things like fan speeds and temperatures on a motherboard. And they tend to come in nice, well-defined ranges. So you tend to measure things in millivolts because, wow, you're probably not going above 12 volts, so plenty of room in a reasonably small number of bits. And then comes along some of the three phase power monitors and some of the stuff where suddenly we're up at, well, small numbers of kilovolts and then some of the extremely precise ADCs measuring at the other end and we're down in very, very small numbers of microvolts or picovolts. Now we do have the ability to cover that range because I mentioned earlier we do have this concept of a type that allows you to basically redefine what the value you passed out was as the gain sort of pseudo-floating point without the nasty maths. So what we should actually have done is in the first place just gone, we're going to pick a standard unit. We're going to go with normal SI units, volts, amps, watts. Don't get into the game of trying to match. The reason this is a problem is that you do have to look at the documents to know what the unit is for some of the very standard measurements, whereas if we'd just gone with the basic ones, everyone would have known. And I'd say once or twice a year, one gets passed and we end up with a fixed patch going, ah, this was out by a factor of 10 to the six, which is only noticed once it gets to some user space app and they get a crazy graph. So here's another one. We had this sort of wide range in IO. We have lots of different devices. Now, we spent a lot of time trying to work out how to abstract a new class of device so that we can represent it in a way that is consistent with what we've already got. Now we did this for counterdrivers. So this is things that are measuring quadrature encoders typically. They're measuring something that's related to rotation, but they may not be directly. They don't fit well. We kind of made it work, but it was getting stretched more and more and more. We were abusing various interfaces. It wasn't pretty. So actually, we've got in fairly final stages of review, a separate counter-sub system. It didn't make sense. Sorry, my screen disappeared. Yeah, so having moved that out, we've ended up with a much cleaner abstraction. It's much more appropriately flexible. It's flexible in the right places rather than allowing you to do things that make no sense on quadrature encoders. However, we do, of course, have to maintain the historic ABI. So those drivers that have been in IO for a while, they're gonna have to do both, which is not great. So this is probably the most complex ones. I'll only touch on this briefly, but one side effect of bolting in the sort of SOC ADC use case with the internal interfaces was that we have a problem with our original CISFS interface. Just if you've got an in-curnal user, say, a touch screen, that's sitting there wanting to read the X and Y axis of the touch screen and he wants to do it at nice high rates, it's very hard to stop that process because someone came in with a CISFS read and just wants to ping some random battery measurement. And this is because there's no sort of indication of interest. There's no way of saying, actually, no, I'm gonna want that in a minute. Could you add it to those channels that are gonna go be captured every single time and just buffer it so I can grab it later? We don't have any clean way of doing that and I'm very open to any suggestions of how we get ourselves out of that hole. Right now, we just dodge it by not supporting it. Now, here's another common question on IO, which is high performance devices. Rather helpfully, it's a load of analog devices guys here. So if you want to ask about that, there's that over there. But it brings some problems. You need a different way of getting data out of the kernel. You can't be running through K5O. The overheads are way too high. You've got to basically be DMAing into a buffer that's immediately visible from user space. Now, we've had DMA buffers for quite a while, but there are limitations in the interface because we've tried to bolt it in to our existing buffer infrastructure and the one classic limitation we were chatting about last night in the museum was that we don't support multiple buffers and certain devices are going to DMA different channels into different regions of memory. Often these devices have very complex triggering systems because you're capturing something at extremely high rates and you don't just want to capture the same eight channels, sort of 1D345678, 1D345678, you want to do something more complex. You might have simultaneous sampling of certain channels and not others. It gets really much more sophisticated than you typically do on a simple SPI ADC. You often need inline metadata, so sometimes these devices will auto-range at very high rates, so we can't just read it from CISFS. They can be self-describing, so you will often get the device putting a little record at the beginning of a thousand samples or every 10,000 samples or something like that, saying, what's in those samples? And we don't yet handle these in mainline, so it's an open question on exactly how we can do it in a nice generic way that works for a wide range of devices. So I think this is my final issue. This is the hardware we're dealing with is getting more complex, perhaps, every day. There were a lot of things that used to be done by proprietary microcontrollers wired up to a sensor and are now done. They've sort of got a nice Linux system there. We'll just move it on there. So a classic example of this is something like a pulse oximeter. Now, a pulse oximeter works by just shining an LED from one side of your finger and typically putting a sensor on the other side and measuring how much light gets through. It's a bit more complex than that, but more or less. Now, the algorithms to actually do that conversion from a light signal through to a pulse rate both rely on long-term data. You have to capture a significant number of seconds worth of data, typically, to do it. And it's all heavily proprietary. There are open source implementations. There are, they're usually things that came out of academic papers, so, yeah, use them at your own risk. But it's not something that's sort of considered generic. Now, the way we've handled this so far is that the actual signal you're measuring is still something we can describe in a nice, consistent way. It's a light measurement. It's often a series of light measurements. And then we can move to user space to deal with actually turning those into the signal you want. It's not ideal, but it's where we are. Now, I mentioned earlier the importance of community. To be honest, the IO sub-system is to a great extent the community. It's not really the code. Code is fine and, well, interfaces are very important, but the rest of the code isn't nearly as important as the feedback that everyone gives each other and the enormous amount of review and things. So, let's go through a bit more of the history, just to jump back again. So how did IO get into the kernel in the first place? First of all, we did the classic. We did some posts to LKML. There's nowhere else to send it because it wasn't an existing sub-system. We got some feedback every few months. We put a new version up. Everyone had forgotten what the code looked like. We got the same feedback sometimes. Sometimes we got new feedback, new people got involved. Wasn't great, but this was just around the period when staging came about. So we thought, yeah, we don't. We kind of know our code's okay, but we don't really know where we're going. We haven't actually figured out what the right answer for the user space interfaces and things are. So Greg said, we take a sub-system through staging. Yeah, okay. So we did. And actually it works pretty well. We got a lot of great feedback because it allowed people to get around to it when they had the time. We had people giving whole days worth of review comments. They obviously spent considerable time going through the drivers. Auden Bergman in particular did a very detailed review that changed a whole chunk of the interface and just came out of the blue because it was sat there in staging. It was great. After a while, we got to the point where our user space API was stable and we could finally look at moving out of staging. So I had fun gathering data just to show the sort of progress over time. So sort of on the left there, we started off. We had our principle three drivers, I think it was, in the first bit to go into staging. There were a couple more on the mailing list at the time. Around about 2.6, 0.36, we started getting significant interest from other people. I think I may have written the drivers up to there with a few contributions from others. And it took us a while. It took us three years before we'd actually pinned down the interface enough to really consider moving out of staging. And by then we had a number of companies involved with submitting drivers in the hope that we someday get it out of staging. So we did. And as you can see, a load of drivers moved over from staging quite quickly. A load more new drivers turned up rather faster than we got the existing ones out of staging. And there were still about 20 in staging, but we've had peaks where things have got very, very busy where we've had, I think the biggest was 20 drivers turn up in one kernel cycle. But now, typically, we're getting four, five, six drivers per cycle, so that's a more reasonable rate. And it is perhaps slowing down a bit. And I think this is mostly because the hardware manufacturers have finally started standardizing their interfaces. If you look at a new SD micro, accelerometer, for instance, it's often pretty much the same interface as the previous one. Whereas a couple of years ago, it was, oh, new device, new complete interface, every register changed. So you couldn't share a driver. So often now it's just a question of adding an ID and maybe a couple of little parameters to say what the range of the device is. So who wrote these drivers? Well, it wasn't me. I think in the current IO system, so we had 260-something drivers. I think I wrote three of them. I've got hardware for a few more, but not really very many. There are quite a few companies involved. I think we're at somewhere over 20 easily identified companies. I have no idea who some of the people work for, or if they're hobbyists or whatever. We do have quite a lot of hobbyists. I'll come on to why I think that is in a minute. We have some students. We also have always had, oh, for a long time anyway, we've had extremely good contributions from some of the outreach programs, so Outreach Program for Women, then Outreach Why, and also Google Summer of Code. Anyway, you wanna know who wrote something in the kernel. What do you do?  I was a bit annoyed, actually, that I still end up at the top of both these lists, but only just. So it's moderately close. There's some very familiar names who are sat in the audience on this list. But what's actually interesting is not really who the top couple of people are, to my mind. It's how long those tails are. So obviously there's a lot of data on this slide, but if we were to pick out the sort of level that means someone wrote a driver. So a short driver might be less than this, but if we take greater than 1,000 lines of code, so that means we've had 65 people contribute to Driver, of our 260 Drivers. We've had 11 people who realistically have contributed five Drivers, or one really, really big one. And yeah, significant contributions are in huge numbers. So overall, there's 512 people have contributed to IIO, but we do always get the ABI cross kernel changes, but they're down in the small number of patches or small numbers of lines of code. So now I think it's worth saying a few things about what makes a good community. I think this first one is very, very important. It also stops the maintainer burning out. If you haven't got good reviewers for a subsystem and people who are doing this a couple of times a week, they send out replies to emails and give excellent review, give mentorship. Often informal, they'll just spend some time talking to a new contributor, talking through the process, doing the classics, pointing out, please don't top post. And all of the other elements that come with it. Now, the key thing with this is that these reviewers, and we do have, I don't know, a steady maybe 10 people who do this now, is their willingness to engage. And one thing I put here is also to be persuaded. Often, and I do this myself, I'll review something, and I go, no, no, you've done this all wrong, as politely as possible. And then three or four emails later, they go, okay, I don't really understand why you're saying that's wrong. And then sometimes it'll turn out they were right, or it's somewhere between the two. So why do we get so many new contributors? One is we have extremely tangible things. It's motion devices. They're cheap. That's good. You can start simple. To just get SSFS sort of pulled into Face to Run, it's a few tens of lines of code. We have a history of new contributors. This is useful, because there's an awful lot of sources of information. It isn't our documentation. Our documentation is awful. So if anyone is interested in writing documentation, please talk to me afterwards. We'll get to it one day. So I just mentioned here briefly the Outreach programs. We've had some great mentors. So Daniel, Octavian, Allison and Greg have all mentored people over the years. And we've had some great students. I haven't lifted them here because they're in the reference list at the end. So one final slide, which is how to get involved. Perhaps this has motivated you to do so, or perhaps you've already been thinking about it. First of all, yeah, the usual. Subscribe to the mailing list. I definitely prefer people to send emails there, but I will quite happily reply to personal messages if you're uncomfortable with doing so, certainly for first posts and things. But you can get some cheap hardware, mess around with it. I do occasionally send to-dos, other people do as well, where we've found something that we're just not quite getting around to, and it's a suitable task for someone who's just starting out. If there isn't one at the moment, feel free to send a message to the list saying, hello, is that I'm new? Is there anything I can do? And yeah, we'll find something. We've still got a number of drivers in staging that need cleaning up. So to finish off, some references. As I said, this wasn't a tutorial. Some of those are. Some of them aren't, some of them are. Fun applications. I may have missed something incidentally, so if anyone's looking there thinking, you missed my talk, this is what Google gave me, because I couldn't remember them all. These talks were this week. One still to come. So, yep, there's an outreach why talk, which I think is tomorrow, in which Georgiana, who was a student earlier this year, is presenting, so do turn up to that. The other two people incidentally are around if you want to hassle them about the talk you missed, or you weren't going to the EL workshop. So here's very briefly is the intern blogs. Now these are great if you're getting started, because one of the things that all of these projects encourage is people to document what they did. Now if I get a new bit of hardware, I often check those first, because it's a lot quicker than trying to find the setup guide for a random I2C controller. And that's pretty much all I had to say. So, if you talk really quickly, you might get a question in. I kind of overran. Any questions? If not, I'm around, so just grab me. We're out of time anyway. Thank you very much. Thank you.


Hi you guys, Lindsay here. Welcome back to my channel, Inside the Hymn. Well you guys, that time is here. We have some new sewing patterns early fall. It's really hard to believe. I feel like I just wrapped up the summer patterns and specifically the McCalls. I feel like the McCalls release for summer was relatively like later in the season and so this, I mean it's probably been a month maybe since summer came out. So fall is here and I'm excited to see what they have for us in the way of some early fall patterns. So I'm assuming these are supposed to be kind of transitional between summer and fall. So depending on where you live, some of you could be making these now. If you're in the southeast like me may take a little bit longer before I can will myself to make long sleeves but I'll try and keep an open mind. All right, so this very first one is a maxi dress. It looks like it has some actual seeming details here.  Okay, I love the shape of the sleeve though. Here's a sleeveless version. Cute. It has elasticized waist also. I'm assuming and this one obviously has this really large ruffle flounce Douma Hick. Technical term Douma Hick. Here's a flutter sleeve one. Maybe even some gathering on the shoulder which is a really pretty detail. Yeah, then here's the one with all of the gathered panels and then here she is modeling it. Cute little setup for the background. Yeah, I mean I don't see anything particularly bad about this. I think it could be a great little silhouette for later in the summer for sure. And then to have this little bonus summer pattern is really nice. I'm not, I think I feel like this skirt even in the maxi version is a little on the slim side. You know it's not one of those maxi skirts that's going to be super billowy. So for those of us who are pear shaped you would probably need to consider some fullness in some way but other than that I think that it's pretty good. Nothing jumping out at me that's for sure. Loose fitting pullover dress in two lengths has elasticized waist, bodice and skirt flounces, multi-tiered skirt with or without contrast has front slit and belt. Also has a center back seam for the skirt which makes it nice and easy to add some fullness for your bum so you could add width this way and fullness through here through like a full seat adjustment I'm talking. The belt is separate which I don't also don't see any little belt loops or anything like that. Not super hard to add them but it is a nice detail. Oh something I didn't realize is the contrast is kind of like offset. That is interesting. The ruffles in general are all offset. Let's go back. Let's go to this one. Yeah I definitely didn't notice that but that's interesting. I don't know. Does that look like a mistake? Possibly. It looks all right in all one. Well you can't really tell there. Here's one and the the second one and then the third one down here. I don't know. I don't know what I think about that. It might be just like a little too designed like over designed like thinking too hard on how to make it unique. Fabrics would be crate, cotton blends, georgette, and stable knits. Great. You just need some elastic and bias tape. Maybe it's only half an inch so it must be for this. How do you get into this thing? Pullover dress. So it's not that. Half an inch. Oh one and a half yards of half an inch. Okay that makes sense. So one and a half yards might be the neckline guys. I don't love that but it sort of does make for a quick work. And then no information at all on finished garment sizes or measurements. So and then they have the two sizes six to 14 and then 14 to 22. Let me check that out. That's where's the sleeve? Oh there's the sleeve. Oh so it's not a bishop sleeve. It's just a longer flutter sleeve. Okay well that looks like it's going to get into absolutely everything but that's just a personal preference I guess. All right here's one. They've been doing a lot of these lately with the kind of I don't even know if this is considered empire waist or if this is just like a shaped waistband I don't really know. This is totally see-through but I do like this silhouette for myself. I'm trying to think of who it wouldn't really work on. It's really kind of an interesting take on fit and flare because you're fitted through the waist but then not really fitted anywhere else but the waist is the part you want to exaggerate anyways. It can go a little Victorian corset so you just want to be careful of your fabric choice. But I like this fun sleeve detail. I've never really still haven't totally gotten on board with the super funky sleeves but not that I'm opposed to them. I just haven't gotten around to it really. All right here's the short sleeve version with the little tie kind of a forward shoulder here with some gathers and then you have your bust gathers which is a very beautiful detail. It's like in lieu of darts you make these little gathers. All these buttons kind of a I guess it's a gathered skirt too. This one's really pretty. You could make this out of absolutely any light weight. I mean it'd be perfect in a shally perfect in a crepe. Beautiful. I love that. Oh here's one with a collar and a longer link. That's interesting. I don't hate it. Certainly don't have anything like it in my closet now. Let me just climb this ladder in my heels in my dress. Yeah they had to give her a little like slip thing so that you couldn't just see straight through her dress. I don't really know what they were thinking with that. That is not a good look. I don't recommend that. I would recommend sewing it in a fabric that's not sheer and if you do sew it in a fabric that's not that is sheer underline it for crying out loud. So yeah there are definitely some options that I can see myself making here and I already have some fabrics in my stash that I think would work well for definitely for this one and I don't see why I wouldn't make that one and this one I would definitely consider. So I am going to start adding the ones that I would purchase to my wish list so that at the end of the video you guys can get a recap of all the ones that I will be purchasing. Will that be fun? A new little element to our little adventure here. Okay so next up we have another dress. You guys know I love dresses so I don't hate that there's a million of these dress options. This one looks like it has let's see lined perfect fitted bodice great with hook and eye closure center back invisible zipper and length variations. So it doesn't say anything about this I'm assuming it's just a regular like little roughly sleeve cap thingy and then maybe some bodice starts a waist seam or maybe it's princess seams. We'll have to look whenever the fabric's not so hard to read and then this beautiful little slit I kind of love the length if I'm being perfectly honest I don't I don't hate that at all. D I'm sorry B has sleeve with ruffle D has arm hole ruffle and left front slit so she must be D and separate pattern pieces for the different cup sizes that's great. All right here it is okay so actually it's pretty basic guys this is a skater dress pattern they've been around for years and years and years and then this is also called a dirndl I think it's also called a d r dirt I don't remember how to spell it but yeah very basic just has your bodice pleats from the side seam and from the waistband and then this one has the kind of princess seams or a paneled skirt and then a kind of basic sleeve crew neck rather high which is appropriate for early fall here's the sleeve with a ruffle I mean it's a great silhouette is this is going to look amazing on every single body type in existence it's beautiful it's classic if you don't have a pattern like this in your stash already I highly recommend grabbing one and this oh what that's why it says closures well that's fun I was gonna say here let's go to the line drawings are any of the backs full no they're not okay I was gonna I was just about to say this will be a great one because you have so many options sleeve sleeveless long sleeve three-quarter sleeve you can do anything because there's already a sleeve that's drafted for this but because of this detail you don't have a full back piece I mean it's not impossible to just draw in a center back seam here but if you want to keep it super simple there are others that you can find that are completely just basic this one is a little bit extra but it's real cute has the side seam pockets and you know what it's really annoying to me whenever I know I have a good jillion different patterns with this front silhouette I don't have anything with this back silhouette and I'm sure I could figure out how to do it on my own but you know what sometimes when the patterns are on sale like it's just easier to pay someone else to do all that work for you oh man that is real cute real cute oh darn so I know a lot of you were like but you can't wear a bra what am I gonna do you have a couple of options because it's lined you can sew in some cups into the lining no problem you could even sew a shelf bra into the like front so the elastic wouldn't go around your back but it would definitely kind of provide some support in the front where your breasts are anyways so don't write off back details holy you just have to do a little bit of work all right crepes cotton blend shally stable knits and then lining fabrics perfect little short zipper and two hooks and eyes your sizing is 6 to 14 and 14 to 22 and look it doesn't even take two yards of fabric barely two yards for the upper sizing perfect and then look here's your okay so we have your bust measurements the lower edge width which is just hysterical to me and then the length which I mean that's nice to know when you're actually making it it doesn't really help me decide anything when I'm buying the pattern itself all right next up this is probably going to be a knit on guessing based on the silhouette so you have long sleeves oh it's actually got like a little oh god I don't know what kind of sleeve this is called it's like kind of poofy here and then fitted from here down that's kind of fun really pretty neckline I don't think there's any seams in here at all pretty straightforward so yeah there's a the sleeve again but this one just has a little cuff this is definitely a knit oh that's pretty you get a little bit of ruching at the bodice there nice oh and then this one is the first the top part of the first sleeve without a seam here I just carried and tapered down and also had a batto neckline I guess ready I don't even think there's a center back seam I think all the parts are cut on the fold that's fun all right let's go yeah moderate stretch and it's only front gathers with elastic it's just like no um no description hardly at all I don't know what that's about um yeah I mean we saw all this already so yeah lots of different neckline variations that's fun they also I feel like hers didn't have that little but maybe it does have the little ruching you just can't really see it yeah fun this would be a great contender for like double brushed poly knit um cotton knits jerseys interlock yeah rib knit would be great really great you need a lot of one eighth inch elastic front two and a half yards just for that I don't know about that maybe there's some in here a and c let's look a and c I can't imagine why you'd need two and a half yards of elastic for c it's there's that's definitely a typo all right you have two size combos extra small through medium and then large to extra large and then here are your fabric requirements like hardly any at all look measurement bust line measurement hip line perfect love that um so I would have to grade between a medium and an extra large which actually isn't that bad um for a big four sometimes it's like well I guess technically the number sizes so but anyways it's fairly easy enough to blend between two from because I would go from bust waist hip I would do medium to large large extra large like that but that also means I need to buy two of the same pattern which is annoying so anyways cute little knit dress all right next what is happening here okay okay so we've got kind of a lot going on so this has like a ruffled neckline with some cording and then gathers along here is that like a little is that a belt or is that sewn on waistband I can't tell and then you have a ruching in the sleeves and then maybe a little band what is this it's three different fabrics why is it look I don't know about this drawing okay um but it is like a sewn on it looks like the inside does it not um this is a sewn on waistband which is nice it also has like a paneled skirt and then this one they add a ruffle to the bottom also the long sleeve with a elasticized little cuff and then it also has this little necktie here it is kind of in its more basic form with a slit beautiful all of this little neckline here does anybody in 2019 look at this and think I need to have that um kind of the perfect fabric application I feel like for this sample they did a good job on that I also just love these muted colors for fall see now it ties we got to look at this little belt thing a little bit closer in the line drawings loose fitting dress with elasticized waist and sleeves so they're calling them waist ties which makes me think that they're sewn in partially and then whoops so they tie in the back um and sleeve variation a has trim details lower ruffle bias tape for sleeve casing b has neck ruffle according for necktie c has contrast details collar extending into necktie in a lower ruffle and d has contrast overlay in a left front slit contrast overlay like a sheer element see I'm thinking that the belt is sewn on from here to here and then it's loose everywhere else and so you can tie it which is nice especially where those of us with fluctuating waistlines and I mean fluctuating throughout the day not throughout the month um yeah this I think I must have like some sheer overlay or something which is that's kind of fun we'll look at the fabrics here next yeah so fabrics are crepe lawn crepe to sheen and shally and then overlay for d would be a sheer so you can have a lot of fun with that there's a lot of really great sheer fabrics out there these days you need some elastic you need some ruffle bias tape for just trim and cording a little bit that so yeah you kind of need a little bit of fabric for this one um just because there's just so much volume everywhere volume in the sleeve volume in the bodice and volume in the skirt and then those that have these little that are you know floor length are going to be even more so you can get away with let's see so c needs the most it's almost it's a lot almost three almost four but so is d so yeah you kind of just need a lot of fabric a is going to be your least fabric hogging but you can also do a without all the trimmings you know what I mean so let's see what they've got in terms of measurements they've got nothing all right not getting out into the bag but it is really cute next is the sky another dress oh okay so we've got a crossover like faux wrap into a gathered waist seam is the skirt wrap to I can't tell and then you've got I can't even tell what's going on with this sleeve this might be all one each the bodice and the sleeve are all one but it creates this very voluminous sleeve which I gotta admit I kind of like this this just looks super comfortable easy to wear obviously you can throw on leggings with it I don't hate it very loose fitting pullover dresses have slavery asians neck binding raised waistline and narrow hem sleeve and hem ruffles and purchase terms left all that so okay so no it is a raglan raglan sleeve and then you have self bias basically which they're calling neck binding um gathered waistline and also raised so it's a little bit higher than your natural waist then this one has this little ruffle and then you add on this little trim here so there's lots of great trim out there that isn't so like loud and contrasty you can have a lot of fun with this I think and still look cute even if it were like a white on white situation that would be fun so this one has two sleeve ruffles and then the skirt ruffle I'm making sure this doesn't look like a nightgown so far I'm feeling pretty good about it oh look at that tell me you don't want to just wear that and just be in like pajamas all day basically I love the extended um this is just beautiful I feel like you could really make something stunning with this depending on the fabric you know and then I like this shorter length too I really really like this sleeve yeah there's the back I mean I think she's kind of holding herself in an awkward way which is making this look funny but I think you know normal you look pretty cute I like it I love this version I love this version I feel like an array on shali or a crepe or something it would almost look like a gown like you could wear it somewhere really fancy these two versions would be maybes I'm not opposed to them certainly I think I kind of like this version without this but you know let's look at yardage lawn craved a sheen shali georgia okay lawn's a little on the stiff side but maybe but maybe what's flexible trim is an old trim flexor oh and it comes in letter sizing so extra small to medium and enlarge to extra large and then so if I were going to make them medium most likely let's see if they have any measurements nope so I'm somewhere between a medium and a large probably given that the skirt is pretty full so yeah two and a half three yards depending on the version honestly no three yards for this I mean and depending on where you shop you could probably get fabric for I mean you could make a dress that would easily cost like $250 for 30 bucks this is getting added to the push list added I love this one I actually can't wait to make that now I don't see why I would wait love it okay okay got some funky like 80s sleeves I've seen this on some celebrities you know doing the talk show stuff and it looks great on them with their little slim figures and not broad shoulders like I have um but I reserve those comments because look they made one for a full figured woman and it doesn't look insane on her I think this is a different sleeve than this though but the plaid is adorable I'm obsessed with this in a plaid I never would have considered that but it looks really good so you've got some front uh fisheye darts fingers crossed they're in the back as well here it is in like a shirting yeah and a different sleeve too we'll look at the line drawing here shortly I mean it looks so cute on her so cute okay oh yeah with the booty fun this is a very like fashion forward dress this particular version styled this way and everything it looks like we do have some seams in the back that's exciting I like it a lot in this like mini length that they have this is they did a good job with this I know some of you're going what the heck with the sleeves but all things considered this is a style right now this is a look this is something that people are doing and ready to wear so I get it I can appreciate it as a fashion item that looks so good on her I like this sleeve this sleeve is fun okay let's check out the line drawing yay so happy it just makes my heart so happy so yeah I would definitely make this I love the sleeve I'm obsessed with it in a plaid obsessed with it in a plaid I also love that it has these little angled side darts in addition to the fisheye dart just extra fitting and then this little like faux placket or maybe it's real maybe it's like a little button placket here on the side lots of great details here I like this one you guys the more I look at the more I'm talking myself into it I'm obsessed with this wool blends cotton blends pop blend velvet yeah totally I could also see this looking super cute with like some sneakers like imagine if she had like those white chuck tailors the converse sneaker that would be so cute and it just looks more comfortable to wear so the sizing is 8 through 16 and then 18 through 24 so I would be in a smaller size range most like actually I'm probably in between and because it's all one I'd have to do some math to grade it out probably easier to grade out than grade in on my opinion great easier to grade out a skirt than it is to grade in a bodice I think do you have no measurements okay um well anyways it doesn't take a ton of fabric as you can see most of them are under two yards or right at two yards all right I'm going to add this one to the wish list dependent on fabric if I can find a really great plaid shirting or poplin or something like that I will definitely grab this but it has to be one that I really love and I feel like a gingham it has to be a small teeny tiny plaid like this so good job and I love that they made both versions two versions of it very good very happy okay oh look how cute this one is oh it's allora ashley thank god they redeemed themselves from the last I'm having like a moment remembering that I need to like forget that completely okay so this is like um I think this is all like the sleeve is like a ruffle or the strap is like a ruffle and then there's a second ruffle ruffles on ruffles and then squared off neckline which is nice maybe a waist seam and then a regular skirt possibly okay no it is a full-on paneled dress which guys these are incredibly flattering incredibly flattering on everyone yeah um here it is with that little sleeve thing that they're kind of the prairie vibe that's been around for a little bit now here's a sleeveless version I love this this would be great in a satin oh so good in a satin and then here's a long version that's beautiful a little bit not I mean the 90s are like in full force right now with the neon and the fanny packs and everything else so this has given me a little bit of 90s vibes think of um like wasn't the um okay so my favorite movie growing up was pretty woman and I know that's not a great movie for like a young girl I didn't realize that she was a prostitute in the movie until I was much older but I did watch that movie like on repeat like wore out the VHS and I remember that um brown and cream polka dot dress I'm pretty sure it had a squared off neckline like this one the one that she wore to the polo match anyways that's why I'm getting 90s vibes I think but the ruffle version is obviously like I'm gonna love that yeah it's beautiful got a great fit for sure I haven't really seen many fit issues in the samples on this version uh this collection at all which is great clothes fitting dress in two lengths have invisible zipper and flared hem B has a front flounce C has gathered capsule with elastic casing D is front slip ABC above mid length mid knee length and D is above ankle length okay yeah this is happening I would make this one this one and this one not this one I don't know about this I mean maybe dependent on the fabric it'll be really great and then like an embroidered cotton or something would be really cute okay maybe I'll make them all I like how the back is squared too the back neckline is squared that's really fun okay the wish list is growing oh did I look at fabric or anything sorry I got ahead of myself I'd already said I'm getting it so I stopped paying attention okay crepes cotton blends yeah lawn and crepe to sheen yeah I think the lighter weight fabrics for this little flouncy one and then the other ones you can you can go into the cotton area with this for sure especially like the satins and even the lighter weight cotton's for that more prairie like one okay so invisible zipper single fold bias tape one hook and eye and then some elastic for that sleeve the sizes are six to 14 and then 14 to 22 and then fabric you need two and a half to three and then the maxi version you need obviously a lot more and then no much of it's cute okay next up we have the fun little top mrs tops okay yeah I'm not really loving it maybe it's the fabric application I'm not loving it in this shirting that they have here but I'm trying to like just look at the elements so we have like a a faced like color band kind of and then an opportunity for some contrast fabric here and then you have this like star trek looking with the sleeve with the cuff with the elastic waist with the trim it's just a lot like I can see it maybe if you took the sleeve off I'm having a hard time with this one there it is in some kind of cotton print it doesn't look a lot better there there it is with a shorter sleeve and they omitted that ruffle thing oh and then they decided to put like I don't know this is it without the elastic without the waist pulled in super tight either I don't know this seems a little fussy not all the way thought out I don't know maybe those fabric choices for the samples have just worked here's the thigh I do like the teardrop keyhole that's fun most fitting pullover tops have long or above elbow length sleeves sheer or non sheer yoke back neck keyhole with button and thread loop sleeve cuffs elasticized waist and elasticized sleeve yeah I don't know this is it's not it's not me as much as I do want some tops for the fall I don't think this one is going to be it the closest is this and it's still not great cotton blend stubby lawn crepe machine and then contrast lace um you need a whole bunch of notions and then kind of a lot of fabric you can make a dress with this amount of fabric you know I'm thinking that's why tops don't always make it into my closet because I'm like well if I need two yards I'm gonna just make a dress but all right that's a no for me but maybe for you here's a cutie oh look at that fabric it's so fun with butterflies and birds and horses and deer that's interesting okay so we have a loose fitting kind of short not necessarily crop top but kind of short him this is a dolman sleeve I believe and then like a little placket I'm sure this is like a facing there it is with like this ruffly thing into a tie which I don't hate there it is just kind of like a regular button down regular ish this is everywhere right now so this I can see being made up into 15 000 different fabrics and different fabric applications I see this on so many people cute outfit and then a little back yoke with a plate very loose fitting tops have yoke back front shoulder and back pleats and front button closing B has slants and ties C has cuffs D has tie-ins and C and D have shaped hemlines yeah yeah it's uh man okay uh I love this one that's an obvious but I think I would want to see the pattern pieces and I would want to see if D has a different front with like an extension here for the ties or if they've literally just taken like you know left this fourth fifth button undone and tied it is it just a styling choice or is it actually drafted in a special way so pending that I mean I could see myself making all of these and wearing them like crazy with skinny jeans like she's got and that is more my style now that I'm not going to like a professional office every day I wish there was like a maybe wish list so I'll add it reluctantly and then wait for it to show up at an actual fabric store so that I can go like look in the instruction booklet crepe shally crepe to sheen lawn yeah you need some buttons buttons buttons and then just an itty bitty amount of fabric yeah this could be one of those sleeper patterns where you're like kind of on the fence about it and then you make it and you love it all right next up we've got oh okay so someone actually tagged me on instagram upset saying that they knocked off my coral twist hem top and I agree that they're they probably could have chosen a lot of different colors and didn't have to necessarily pick a coral one but I also believe that they probably selected this fabric and made this sample like late last year or at the very latest early this year I don't necessarily think that they saw my top and were like go find coral fabric for this um this style with the little twisty thing has been around for a minute lots of indie patterns have been um making them so these I feel like McCall's a little bit late to the party with this but they did make all those like twisty bodice ones for summer so maybe not I'm not incredibly offended by it because I know that the way that it works they would have had to plan this months and months and months ago and even if they didn't flattery what is it imitation is the best form of flattery so I'll take it um but I do love that pattern mine is from itch to stitch um it costs a little bit more than this one would on sale so you know keep that in mind um but yeah I do plan on making some lightweight knit versions of this pattern that I already own from itch to stitch for sure so I definitely like this if I already didn't already have that one I would be adding this to my wish list but if you don't have one yet I recommend it it's very flattering how it kind of pulls up the hemline and shows off some more of your leg we'll see some better pictures here in a second but some other options with this one are a little cap sleeve a three-quarter sleeve and a little bell sleeve so sleeve options do not come with the indie pattern so keep that in mind but I like the long sleeve with it a lot and you can see here well actually you can see here so it kind of elongates her leg a little bit but still provides coverage that's why I like it so much and this looks complicated but at least in the itch to stitch version the instructions are very very clear I don't know how great of a job they do in explaining this um in the instruction booklet for McCall's obviously because I haven't seen it but it's not that complicated if it's explained well and then here's the back yeah close fitting tops in two lengths forms draped knot through front opening have neck band sleeves and hem length variation oh I didn't notice the hem length variation that's also nice the indie pattern doesn't have that it just has one length and I end up shortening it by like a lot to get it to hit like where hers is hitting so I mean there's a lot to be said for the big four guys like you just get so many options and you really can with a little work um make the version that you want um okay so then the different sleeves are also mentioned so I'm not really seeing length variations but maybe hard to tell them the line drawings there you go and yardage wise okay so stretch knits cotton it's jersey interlock ribbon it the letter sizing extra small to medium and then march to after-large and then yeah just a little bit of fabric all right next up is a pulver plush pattern they are known for having fitting tips um and instructions and um alteration lines drawn on the pattern pieces this one I'm not entirely sure what kind of alterations you need to make since it's so loose fitting but they're there uh close fitting pullover top or tunic has dropped shoulder and low armhole sleeve variations neck band cowl collar traditional or skewed okay not a silhouette that I love like a cocoon shape I mean you can imagine if you have hips how I mean she does not have hips and this is making her look like she has the largest hips so if you are more boy shaped maybe this would be good for you or if you're more full busted but um what would that be an upside down triangle um this would be good for you there's the cowl there she is standing without leggings yeah this is not not for me see tissue fitting method okay um here's the line drawings I mean I try to even like maybe with leggings but I just don't think I want this on my hip area I just don't and then this makes my top look larger than it is and this is already large then I just look large all over yeah I think it's just not flattering for me uh moderate stretch knits for sure sweater knits two eight to sixteen and sixteen to twenty four interesting that there's a letter number sizing on this you need quite a bit of fabric probably for that cowl neck two for sure and then the lower edge measurement and then the length measurement okay where are we now okay oh my god is this the big fabric don't I have that if not that's very close to that is it in seven seven seven four okay you have top and skirt so your top is a wrap with that really pretty like bishop sleeve did I say wrap already it has a little band on the bottom with a button closure and I'm sure it buttons over here somewhere on the inside and then your skirt has also a wrap four buttons and then two tiers but that right there you guys that is her leg so it opens up you know that mean like you can see in um here's the other one with the ruffle okay and then here's another version of the skirt kind of a tulip shape yeah I don't I certainly think it's cute on her like she looks like a million bucks and super cute and fun I just don't know that this fits into my life like at all and I'm not showing my belly button to anyone so maybe this is just reserved for 20s and younger not that if you're older you can't rock it but not with this not me not me but it is cute and I can see people like Kyra Proser Proser I don't know how you say her last name she would look fantastic in this um the skirt boss she would look great in this um it just depends on your personal style and I don't feel like I'm this is not me but fitted wrap tops have darts various sleeve links gathered to binding waistband with front button closing flounce with baby narrow hem finish waistband cut on cross grain okay no provision made for lengthening or shortening above waist fitted skirts have darts lounce variations with narrow hem front button closing separate pattern pieces for your cup sizes I mean even the skirt I just don't this would not look good on me imagine my large bum and then a seam right across the bottom of it it you know like no not for me not for me cotton blend crepes satin and linen and then some buttons and then different um fabrics for requirements for the top and the bottom I guess oh the tops are A and B and the bottoms are C and D so these are your tops and these are your skirts hey cute this one's cuter I think than this one but either way Kalia Ali I don't really know what she's known for I haven't seen a ton of her stuff um this is a top tunic and pants so the top has a mandarin collar with some kind of trim detail a button placket and then a curved elasticized waist and then this asymmetrical hem that's pretty oh I love this girl I started following her on Instagram she's very body positive and inspirational if you're wondering I don't love this pant with it I like the like a more narrow pant it just looks kind of old like doddy you know like not young and fresh there it is with a straight across that's like the top with just the straight hem here your pajama pants I'm just getting an elasticized waist pant yeah I'm not feeling the pant at all and this is starting to look strange that ties in the back with a back yoke some more trim here center vaccine I kind of just want to make the front longer and make it a dress you know what I mean well you don't have to worry about the pants it just becomes a dress but all right very loose fitting top and tunics have self-based yoke with forward shoulder upper and lower fronts or in lower fronts oh upper front lower front okay with inside casing for drawstring neckband front button closing and narrow hems a and c half sleeves b bias tape armhole finish and purchase trim b and c shaped hem wrong side shows c has a collar and side slits straight legged semi-fitted pull-on pants have elasticized waist side seam pockets and stitched hems I mean it's even cute without the tie but it's cool how the drawstring is just on the front I like this version I don't know about this this would be really cute with leggings though I think or juggings how are those different this b and c oh the sleeve and the and the trim I guess that's it oh also this looks different than b really want to like this okay I'm going to add it to the wish list just because it's a wish list not actually a purchase oh shoot I did that thing with the fabric again okay hold on the yardage is linen cotton blend crepe pufflin of course I would add shirting to that buttons trim bias tape elastic you have your sizes 8 to 14 I'm sorry 16 and then 18 to 24 so I'd probably be a straight 14 since the skirt is so full um and you just need a couple yards of fabric even for that long crazy skirt shirt train thing that's cool next up we have another little top here cute I wish so we've got I don't know what this is called but it's kind of like a collar that's sewn down kind of like a shawl collar that's sewn down and then you have that that kind of curved empire waist thing happening again this is really deep that's her bra right there and then obviously you can see through I mean it's not a button plucket it's just loops loops and buttons um they're doing the dramatic sleeve with the cuff I feel like this is a little long uh-huh but and then it hits it the hem is at the natural waist maybe an inch below and then here it is a little peplum there it is like hip length and there it is a little tie in the front that kind of camouflages those buttons different sleeve a shorter sleeve I mean again she looks great that's a super cool outfit I just don't know if I can pull it off where are the pants are we gonna see those later yeah tops have gathered front and back gathered front and back I don't know what that means self-paced joke button and loop closures forward shoulder seams and gathered sleeve variation and band B has a flounce a B and C have cuffs D has a sleeve band neck band and ties in one I want to like it but I don't think so I don't think so all right charmeuse crepes cotton blends shally your buttons and then a little less than two yards to pin two about on average two yards you have your bust measurements and that's it darn oh here are the pants yep here are the pants okay pleated shorts and pants with yoke mockfly zipper and side slant pockets I hate cycling A is has a cuff B lower side pleat A and B waistband with closure and C and D have a faced waist line so it has this little panel here and so the pleats don't start up here I can't think in my head if that's more or less flattering for someone with like a lower belly pooch area I think you would want it flat there that would be more slimming and again they look great on her but I mean she probably doesn't have a lower belly but like here they look strange right then I think I would actually not mind this landed pocket since it starts so low I normally don't like this landed pocket from the waist because it always puckers open but it puckers open because of my bum and I wonder if because it's so low it wouldn't do that but there's like the little cuff and also has belt loops supposedly this is a mock fly zipper oh I don't really know how you get in to them there's kind of a tapered leg this is one of those things that I would need to find in a store or I guess I could make a muslin but still so much work to not even know if it's going to be flattering the back just has single darts it looks like oh man again I want to like them she doesn't have pockets does she oh okay I see so this one has an actual waistband and this one just has a waistband facing but still has the I don't know leave a comment if you guys have any experience with these in terms of fit and how flattering they are I'm not going to add them to the wish list now I'll wait to hear what you guys say but I just can't tell here's the yardage so wool blends denim gabardine chino yeah some of those like rayon twills will be really good you need one zipper and one button oh the whole thing got shifted that's funny so the shorts do you barely need any fabric are there two shorts and two pants no which ones see oh I guess if you're not making the waistband you don't need as much fabric yeah I'm kind of shocked you can make c out of one and a half yards super shocked all right next up yeah we're close to the end here oh it's a bodysuit I love the bodysuit that I made earlier this spring like a lot so this one looks like it has oh it's a skirt too I mean I would never wear this skirt but I don't even think it looks that great on her to be honest like she is very thin um so we have what is this like a mock neck and then long sleeves we have elbow sleeves and a crew neck there's the skirt oh an exposed bag zipper very loose fitting very loose fitting I don't know about that pull on tops have elasticized leg and snap tape crotch closing never said that before um A has a neck band B has a collar above waist fitted lined skirts in two lengths have front and back darts and exposed back separating zipper closing okay two-way stretch knits only on the top and the skirt oh this is fun these two little darts here when different lengths but real close together two-way stretch 50 percent so not super stretchy rib knit jersey knit wool blends this is for the skirt wool blends faux leather and denim okay so not stretch for the skirt then um c and d are lined the skirt is lined and then your snap tape and zipper and all that so I mean one-yard skirt that's pretty epic yeah so I mean I would go all out and buy some really nice fabric for a skirt like this yeah not for me right now but not a terrible pattern either all right now we've got a skirt oh man that's a lot of really funky plaid okay so waist band button front some kind of maybe side seam pocket these are like forward these are not side seams these are like more forward than side seams here it is as is as a circle skirt and probably like a digital print linen it's really pretty they have a lot of those digital print linens at style maker fabrics if you're looking for some there's a really ugly version not ugly in design just like who needs a maxing length like beige skirt this almost looks like she used men's shirts it reminds me of paginunu and how she does her like all her stuff is upcycled men's shirts and then like the you know worn chambray shirt and then high heels like i'm confused online skirts with link variations have front band and pockets yeah gathered skirts have side front pockets c and d the circle skirt have layered skirts with side seam pockets and then a and c are above mid-length and b and d are lower capital i wonder if i would be more successful you know the little a line skirt that i made uh that i shared during new made may maybe i need something more like a circle skirt maybe that will be more flattering this is odd it's supposed it almost looks twisted right that's what i kept thinking when i was looking at her version like her skirt's twisted but it's really supposed to wrap around like that that just looks like a really messy look so but yeah i'd be tempted to try a front button placket circle skirt i don't know necessarily that i need to buy a pattern for it so i'm not going to add it to my wish list but something to consider cotton blends wool blends lightweight denim blend yeah you can make this out of literally anything anything at all i mean even in like a shawly or something it would just be like closer to the body and heck go buy some men's shirts you know go make one from men's shirts all right five buttons or seven buttons you have your letter sizing extra small to medium and then large and extra large and then you need like two yards or less oh look a hip line measurement which is pretty irrelevant since the skirt is so full i'd much rather have a hip i mean i'm i'm sorry a waist measurement i mean it's better than just giving me the measurement at the hem who cares about that all right so we're gonna skip over kids we're gonna skip over couples although weren't they so cute and then cute little that's actually a really cute pullover i would consider taking another peek at that another day no men's clothes no period clothes slash costumes okay well that is gonna wrap up early fall for mccalls i love how that rhymes i am going to flip through this real quick to make sure they didn't leave anything out but overall i feel like we had a lot of really fun cute transitional patterns definitely some things that i'll be adding to my collection yeah see that's cute and comfy um you know they certainly all weren't hits but they it was kind of like a love hate either well that's not true i kind of was um on the fence about some of them but the ones that i loved i feel like i really loved so excluding the two on the bottom so only looking at these these are the six that i added to my wish list from this collection probably won't buy all six in fact this one probably won't make the cut and after seeing everything maybe not this one either but this is getting made if i find the right plaid this is going to get made love this and this could be really cute too so maybe four four is more reasonable than six um anyways let me know which ones you guys loved try to give me some kind of descripting factor rather than just the item number i don't ever remember the item numbers but so for this one say like white asymmetrical top or blue see-through dress or something like that so that i can know which ones you're talking about but that is going to do it for this video i'm going to try and get back to the look book quickly um thank you all so much for watching and i will see you all very soon bye


This is Lynette Flage, NDSU Extension Associate Director. With disasters across the state, NDSU Extension provides educational information to help North Dakotans prepare for and recover from blizzards, floods, and other disasters. Do you need to know how to salvage household items that may have gotten wet? How to adjust your cattle ration with ingredients available? Or how to help your kids cope with the stresses? For more information, contact your NDSU Extension County Office or search the web for NDSU Extension Flood Info.


emotional disorders. When we are talking about the emotional disorders, we are talking about the emotional problems which are actually manifested in the internalizing behavioral problems. When we are saying internalizing behavioral problems that mean that the children are manifest these behavioral problems inwardly. You can understand this in such a way that the children are actually feeling stress and they are not manifested outwardly in a behavior rather they internalize those conflicts and problems inside themselves. That's why these sort of problems are not easy to recognize by the others. Because when the child feels sad, or the child feels low, or the child feels withdrawn, or his feelings are sad, then he will not be observable by others. Rather, he will keep all these feelings inside himself. That's why they are called emotional problems and they are called internalizing behavioral problems. These problems basically affect any child's psychological environment. But when we say that this affects the inwardly child or his psychological environment, then that does not mean that the outer environment does not affect him. It can affect any child because the sadness of the child is definitely if the child is sitting quietly at home, then his parents, his friends, or his siblings will affect him. But it won't affect him in that way like in externalizing behavior. The problem is that the behavior of the child is basically disturbing the other peer or his family member. So here, the child's psychological environment is disturbing and because of that the problems we classify in emotional disorders are anxiety, depression, eating disorders, etc. When we are talking about the anxiety disorder, it means that the child might be experiencing a phobia, he is afraid of something, and the fear of anything will be exacerbated by behaviors in which there can be avoidance and escape of certain situations. Similarly, if the child has anxiety, then the child will feel restless, the pain and anxiety of the child will start, his stomach upset, sweating, etc. So all these manifestations of symptoms will be bodily manifested. So all this is happening in the body or in his internal psychology, that's why emotional disorders are basically caused by your internal psychological state. Similarly, when we are talking about depression, then the child's mood will be low, his crime behavior can develop, there can be irritability, along with irritability, the loss of player will be caused by different activities, his personal hygiene can be poor, his weight can be reduced, and in rare cases, suicidality can be observed in the child, that means he won't feel good, he won't feel good, he won't feel good, he will lose everything, along with the suicidality, there can be ideation, a plan of suicide, so all these things will be happening in his internal state, that's why his emotions will be disturbed, that's why he is classified as under the heading of emotional disorders. Then the eating disorders, when we are talking about eating disorders, there are two types of eating disorder, bulimia and anorexia nervosa. So in eating disorder, when the child refuses to eat anorexia nervosa, then that is related to the self-image, the child is not comfortable with his self-image, and he wants his weight to be loose, although he is already very thin, but since he is not psychologically satisfied, he is not internally satisfied, that's why he stops eating and refuses to eat. So in anorexia nervosa, his weight becomes loose dangerously, that's why he has to be hospitalized. Now, as I said earlier, these two internalizing behaviors, and what is happening in this, it is happening in the child's self or psychological state, but it does not mean that his environment is not being affected, definitely when the child is hospitalized, his parents, his siblings, they all get affected, but they are not as affected by those behaviors, which has been done by those children who express their externalizing behavior, behavioral disorders. So, the problems in which our psychological state is affected, we classify them as emotional disorders. Thank you.