All right this working can you hear me all easily in the back so give one moment did not want to start early technically here we go so welcome this is what the heck is good though and what have I been missing out on and first thing up we're going to cover well who the heck am I because when you receive information it's helpful to understand the viewpoint of the person who's given it to you so you know what they've looked for what they've maybe not and you know where their experience brings things to them so this is me um early on I did some freelance with a major game publisher getting into 3d before any home computers had 3d hardware when everything was pre-rendered saved to sets of floppies and distributed in a big block as a game if you were lucky then um I did uh as a contractor I did the animation and 3d modeling for one of their early decent games they were highlighting at ces then I went on to work full time at a multimedia startup led the engineering one person myself I was the engineer who could do art then we had an artist who could also engineer and then the boss and a sales guy that was it by the time I left we built it up into a larger art department I was in charge of 10 people and we were cranking out multimedia Hollywood pictorials um you know there's a uh unfortunate link to certain individuals now but just in the industry is like oh I'm embarrassed for them as an actor but beyond that um and then I also got stuck over and over at several companies including after this doing karaoke children's karaoke pc karaoke online if I wasn't if the entire Asian economy hadn't collapsed at once I was going to help the company go IPO on it since then I've been aside from my day job stuff involved in open source I've heavy developer with inkscape I was on the board for 10 years helped get that going so I continued to be involved in that even though I was doing other things and then open clip art library which is back and doing decent now and I was going to pull a lot of assets from but pulled back on this time just I gave a hand getting that started not I don't want to claim and this by the way this is the game I worked on it's pertinent see I don't know has anyone ever seen this in the stores in the past it's on it had gone on to good old games and a couple people yeah and it's on steam now too and I think it's even on sale so I might actually pick it up more I threw it in my wish list just in case but pertinent thing that was a physical box in the store with a holographic insert and the holograph the the skeleton was not but all the rest the dungeon that was holographic that's that's my dungeon and that is why it's pertinent and we'll come back to that later but just want to show that as a reference so now next what the heck is this well it's not it's good to know what it's not because then you also know you know what it is and your expectations are better so this is not a tutorial I'm not going to walk through the steps we need an hour and a half easily to do a nice tutorial for you to be comfortable with it and a lot of equipment not academic research it's not that detail also it's not pretty that is on purpose and I'll mention that in a moment it's not official I am not a good developer or associated with the project or project and so you know this is not a skewed bias view but it's also not an insider view an in-depth view from that view also if you have caught from what I'm saying it's not probably not going to be slow so at least hopefully we will finish on time so the idea though is what this is is going to be fast subjective my viewpoint on all this check it for yourself see if it matches with your desires your goals your needs but no this is my view and that's what it is it's not I'm not trying to be objective here I'm trying to give you my feelings on this and hopefully inspiring you in a way that you can go something to play with something explore how I would say not just if you should check this out and try some things but what you should try it with because I feel anyone should at least give it a try there is no monetary cost the time cost maybe a weekend and you can see oh yeah I like this or yeah that isn't for me but you'll know that and so basically a crash course introduction I'm going to go back one second one of the things here officially not pretty have um has anyone here ever worked in film animation or game development at all a couple people yeah you are you are you familiar with good storyboards thing I did when I was in college I made a mistake for my animation class one of them I did storyboards on the computer because at the time not many other people were doing that and I made them really fancy with all these that distracts from the content your I don't want you to be looking at my styling my slides my content I want you to think of it as a blank slate for your ideas your style and what you want to do so that's that's one of the things so I actually pulled I had a lot more graphics in here that I pulled out because I did not want to skew it incorrectly so that's where we are so now let us move into the inner an overview of everything first of all the players happy mr. Goddow now part of an introduction how do you pronounce it multiple ways officially this is actually the name was inspired by the Samuel Beckett play so it is waiting for Goddow but it was originally written in French and presented in France by an Irish man who spoke English also so and then the project was started by people in Argentina who do did not speak English as their native language so there are different ways and most say it Goddow officially it's kind of recommended but even in some of the plays production some of the actors especially with the uh not an American actors uh you British have different accents and some of them like sir Ian McKellen actually slipped into saying Goddow a lot and which is how I used to say it purely so I'm going to slip back and forth a little in that there the other players the big gorilla is on the block unreal engine and unity and does unity ring a bell with anyone of the late uh okay good uh at least a third of you out there so we'll touch on that and actually with the players established we now get into the drama well especially Samuel Beckett play okay so the play reference the drama is does anyone recognize this raise a hand raise a hand so I get an idea how many uh a third half okay this is The Lone Ranger established in a 1933 radio show then books a TV show that ran through 49 through 57 comic books cartoons and The Green Hornet was actually a spin-off from The Lone Ranger in case anyone had heard of that recent movie even with that okay so but that's not pertinent so we'll move on and then films films of The Lone Ranger does anyone here remember 1981 even in some of the older people don't remember that was that all right the movie called The Legend of The Lone Ranger what happened is the people who were producing the movie did not want the TV image especially because at the time the 60s Batman was thought of as cheesy and funny and not serious so they did not want to bring that onto their movie project so they sued TV's Lone Ranger so he could no longer appear in costume in a mask could not go to conventions could not do go to openings which he had been doing a lot because that's what you do when you finish a very popular show I mean just look at the Star Trek circuit for conventions and actors then they gave a cameo to the guy who replaced him on the TV show for the last reason when season maybe when there were contract disputes so that was just rubbing salt in the moon it ended up a critical and commercial failure critics hated it that's fine you can still make money Michael Bay is proof of that commercial failure because of the backlash it wasn't a great movie and then they did not have their beloved ranger Clayton Moore in their boom it's over now brings us the next connection I'll jump up to Dungeons and Dragons has anyone ever heard of this thing a couple of people okay okay so why is that related to what I'm going to be talking about well in November of just a few years a couple years ago they were updating their open gaming license which all sorts of other people and companies were playing Dungeons and Dragons producing modules compatible with and all sorts of other stuff then they got in that November they decided to change their licensing and lock it down really bad where you could not even go on YouTube and broadcast your game of playing it which so many streamers I mean anyone ever heard a critical role they would not be allowed to continue without paying the company lots of money things like that and it was like oh no this can't be then in January the full text got leaked and yeah it was that bad or worse and so they tried to back backpedal I didn't work because first of all who were the target customers who plays Dungeons and Dragons rules nerds who love to argue about fine details of the law and the rules you think these people are just going to let you change a license on them and tell them they can't yeah that's not going to work so they gave up and they finally relented and said okay we're good we're not doing that anymore we're going to use a Creative Commons license how many people are familiar with those most of you good but there are several levels if you're aware with different degrees of freedom and limitation like oh you can't make money with this one well it turns out no no they went which which one did they go with they went with CC by 40 which is just as long as you acknowledge their source you're fine you can make money you can do which is basically from where they're locked down position from November that they started out they had to actually let go and release it even further to keep the customers happy so why would they not go forward with their money grab but actually back up well I think the biggest one of the big reasons was I guess is why would they have given up their rights in this regard because they were about to release a big budget movie and somebody reminded them of what happened with the Lone Ranger you do not piss off the fan base before you put your really expensive movie out there otherwise they will lead boycotts and scare people away even if the people don't buy into it so that is I think why they backed up there so why am I doing this I'm establishing a pattern that companies kind of do this over and over until we come to unity does anyone here know about the unity drama okay a good good portion of you so basically what happened in September 12th last year they announced that they were going to do a change basically they were going to charge per install when before it was free and so people saying demos if someone installs my game to run a demo am I going to get charged is someone returns it do I get charged if someone's playing on the web does every time they hit the website and it downloads to the web browser is that an install yeah they didn't think the company didn't think that through at all and then it got and it was going to apply to games that were already out there so even if you already released a game two years ago this would could kick in for you so this was going to be bad bad bad bad company realized it was a miscalculation they tried to recover they fired the CEO they reigned in the changes but still it's did they just slow wait so they can put these out one at a time or they're going to do something next quarter you can't trust them anymore they tried once they are going to try again and then I'm going to mention a brief thing about the CEO who was fired was his idea to do all this he's a former EA executive okay people know EA reputation in the game industry not good to begin with former how bad do you have to be to be a former executive from EA I and at least one report said this was the executive who wanted to charge players per real world money per in-game ammo reload said look they reload ammo all the time we charge him a few pennies every time we'll make lots of money no you'll have people who stop playing your game no wonder he was an ex executive so moving on can you get these yes you and you can use them without paying money but there is a cost so be aware of that so Unreal Engine if you go the website this is what it looks like and the background cycles between different games that have been made with Unreal okay I mean Unity okay Unreal is very similar except for this one thing that's on their website now most trusted game engine they Unreal Engine earlier in the year had done their own licensing tightening and got people a little upset but then Unity pulled what they did and now makes Unreal looks look good by comparison that's only by comparison by the way so keep that keep that in mind that again this is all my opinion if I have reasons backing up my opinions if you want to talk sometime but yeah so then that finally brings us to the main question and if you're familiar at all with the subject of this talk you're going to you know you know what's coming and I but I have to say it have you been waiting for God oh okay and well well I have impression and my strong opinion on this from having worked early in the game industry then in multimedia and then staying in touch with everyone for over the years Godot for wait no more see this would be a movie style poster with wait no more as the tagline splashed on it but I don't want to influence your impression of what you can do so we saw the Unreal and Unity websites a moment ago this is Godot looks a little cleaner a little simpler but the same thing every time you hit the website you might have a different game show up in the background and importantly down here in the bottom they show you what game by whom which is nice because then you go oh I might want to check that out you have the info right there so go ahead so where is Godot now I think it is um good blender is to 3d animation what Godot is to the game world so blender if people are not aware the 3d modeler in animation software open source free free as in cost and free as in rights Libre and you have the same thing with Godot you have they hit with 2014 song of the sea which if you like animation and you haven't seen it you must go see that dig it up find it watch it it's amazing then one of the more recent things was I in an interview about the huge hit unexpected hit everything everywhere all at once they were using that for the move some of the movie effects it was one of their tools among other things I think maybe six artists working remotely did the effects for that movie that's it what that among other things if you're dedicated and you have open source supporting you you can do that you can pull off Hollywood competing things maybe it didn't look quite the same but that was good they leaned into that they intentionally didn't want it to look like a Marvel movie and it worked and the bagel yeah the bagel was from blender and it was it's just another tool in the toolbox and a professional can switch to whatever's needed for the task at hand and Godot seems to be hitting that tipping point there are plenty of games on steam and that are done with Godot if you want to go and pay for some play some for free they are both you can hit it's it's your whichever however you pronounce it all great source for indie games and it's all over there and even in an article from a top gaming magazine I just pulled up because I was looking for a few more games to play this weekend I pulled up or no not this weekend just two days ago I pulled up this article oh steam spring sale I start going through the list best ones under ten dollars oh wait a minute that was Godot that was Godot oh best in a fight that was Godot and then I went to another site that lists ranked by popularity all the games on steam that were done with Godot it's like wait a minute my wife played that one that was a fun game that's a great game so now we get to the other thing what can it do Godot has a 2d engine and a 3d engine if you're going to do a 2d or 2 and a half d or something they have an engine dedicated for that they have a 3d engine which is fairly capable now really nice and the platform support mac linux windows and yeah windows too I guess you have to have that web you can deploy to web games you can do mobile phones tablets all that you can do consoles and I have an asterisk there because that does involve some third-party publisher support to get on to switch or playstation or whatever you want to do but there are services for that and in fact the Godot the Godot developers formed a separate commercial entity so that they can raise money and focus on that work because the game consoles aren't really that compatible with open source you have to sign their agreements and other things so so there's an in-between that goes between there but if you do want to you can do that and VR support with Apple now AR but I'm not sure I don't know how AR the apple stuff is but yeah so VR AR you can go through on Godot now also you can do apps and tools and the Godot game editor the editor the the GUI that you bring up is a Godot project written in C++ so then that also brings us to the language support it's native it has gd script which is a domain specific language they worked out for it because other languages weren't working well and with a domain specific language you can either be locked in or you can be enabled for the abilities of the platform I I mean macro mind director macro mind 3d those um those were a few not not any of the others but macro yeah early I I've been around a while but oh I so I've been exposed to all sorts of different languages I've done commercial professional work in pearl python um little java script jsp you know but gd script I think as a professional coder who does c++ or java and c mostly that's it's a great language for what it does and they supported well c++ support is in there now you can get csharp versions if you're a csharp developer who has to use csharp you can bring your code over personally I think it's worth it to look at gd script and take that approach because it brings you more efficient coding for a game you know csharp's a great general language but if you want to gain language for doing these games and these nodes and everything else gd script is great now we're going to touch a little on what games you can do if you were in earlier before the talk started I had a video running up there that was the 2002 showcase if you go to gado's website you can play that video and see what it was that they was done with gado last year and that just came out like a month or so ago or then you can look at steamdb.info this is the place I went to find all the games on steam done with gado that ranked by whatever you want by default ranked game rating and then youtube oh go search on youtube add gado engine and boom you'll find people playing it people making it tutorials all over it is crazy and so if you go to the gado website this is where you go they'll showcase individual games they have that demo reel at the very first the oh 2023 because it was released this year actually they have a 2022 showcase reel too then these individual games so I just went and grabbed a few you know the thumbnails the previews to give you an idea so that we don't have to try to hit a website live in the middle of a presentation because that always works doesn't it no it does not okay so here's one the first one is like a sweet very japanese feel um bunny island thing where you decorate you make your island nice and then bunnies start to move in and live there and this is just nice then there's this 3d angle you know top down isometric ish shooter game with a cute little dragon dude I think I'm not sure I haven't read the details on the lower on that game but yeah you can go go the webs go to that showcase link go here click on these see these um a very top down oh I forget it there was a Kickstarter game actually that looked very much like this with some of the same things the man of the health in the bottles and yeah if you're in the mood for a game like that yeah this can do it um this one this gnome game looks like paper cutouts I mean has anyone ever seen the movie mike made a maze it's weird indie kind of maybe whore maybe comedy but it's very much in that vein I think although the gnome is not that hardcore and scary the game um oh apparently dome keeper where you go through defending your dome against alien attacks and then mining for resources in the ground this is a very popular one this last year and you can get and rotato chewed out the enemies then this beautiful one coming up on the left and then this game until then very interesting it's a 2d kind of retro looking gamer except it's done in 3d but it's 2d ass it's very interesting check it out yeah multiple 3d planes for 2d assets is basically what's okay and it's it's just beautifully done so take a breath well let's pause and see where we are we're gonna go through real quick try to finish up gado itself first question can gado do this what is this this is the dungeon that in 1990 I did for interplay for stone keep and then took them five years to finish the game and there's whole big stories about that and the race between that and my daughter but we won't talk about that now but the main thing is can you do this answer is yes so this fall I was playing with this took me three wiggins to model column set up lights do the lanterns the same um that's it uh I don't have the demo with me now because last month or so my laptop got fried the power supply went bad and fried it and it's I couldn't just pull out the hard drive and plug it into some way hardware to recover it directly because it's a um envy ram you know a solid state drive so I have to get there was like okay but then again it's not about what game can I make I'm not showcasing my game I'm trying to tell you this engine can do this so yeah and then the it had a limitation the lighting and the shadows wouldn't work in the compatibility engine by the way doing 3d you can pick different engines targeting what you want to do full pc only or full desktop mobile only or the compatibility one that can run on both so you can make one game to work anywhere that can be handy but um oh yeah then it was already in the next release I went I said oh it can't do these shadows the way I'm doing this in this horrible wetro 1990s approach to it this is not how you do it but I'm going to try oh yeah next release oh and yeah they're already at beta 3 for the next release it's going to be out next month okay I'll wait for that put aside and then last month you know it's 4.2 I can do this now I go into my computer died oh well horrible so is it demo time sure we got a couple minutes and let's see if we can break their setup here let's see so by the way that's the showcase web page there at Godot duplicate these displays does it work I hope the recording catches this and then here is Mr. Happy Godot the robot so open this up it says please confirm you don't have any projects now we can open asset library and go and pull down demos tutorials are sorts of things I'll go get to those in a second say cancel okay new project by the way because the technical difficulties I am having to run the presentation windows usually I'm into Linux I have not put any proprietary drivers on this in yet because it's a brand new computer so I had to fall back for this so there is nothing on here so let me pick a project oh and here I go I can pick between one of three renderers and as you go between them they will give you the options and I like the compatibility because I like options but you'll have more and it even knows about git built in support all that okay so let's call foo create folder now it will let me create an edit boom that's it that's all you have to do to start your project and here we go I can look at the 2d I can do 2d or 3d and then I can add a node and that's the thing you build it up out of tree of nodes and then add child node oh and look at all this all these different nodes it's like oh node 3d animation player animation tree multiplayer spawner multiplayer synchronizer anyone want to do multiplayer games it's right there I mean go through the documentation this is what I have to see and then node 3d what do we have camera collision grid map marker path shape skeleton 3d and now normally you can build up through shapes and nodes and other things in here but a probably more preferred way would be to create or get your assets in blender now you could use my or anything else but blender you want that so that you have freedom and of rights usage and it won't disappear on you it's another reason to use Godot they can't take it away from you unreal next quarter they might change their mind unity might go back on their their word who knows Godo if they do something stupid like that somebody else will fork it for like build systems how many people use Hudson oracle bot son and said oh we are going to lock this down because everyone use it and we will make lots of money and all the developer says no open source boop Jenkins everybody uses Jenkins now same thing so the people who do Godo know if they get stupid the users will just leave so you go in here you set this up you go in you can add nodes do scripting add scripts on different to your scene to your nodes individual things and as I said personally I think it's a really nice language the handlers are good and you name them with like on whatever but not on button clicked you do something else you give it the name of what you're going to do when the button clicks in case you want to add a keyboard to do it also you know it's little things like and the tutorial covers that that is what I really liked so let's see showcase I had shown that and how you can go through and click on these different games like the rabbit game or sagishima tail quest was that cute oh it's little fox guy not a dragon my mistake you know and all these different games you can just go and check out but more importantly let's see tutorials and resources so this is the important point this is where you get going next you search for the Godot it's in docs.godotengine.org or you hit help in the program introduction go through this they have a whole thing with including your first 2d game and your first 3d so your first 2d game content setting up your project organizing it finishing up let's see if they have yeah and so here's a 2d game they they walk you through creating this this took me a couple hours sitting at the kitchen table with my in-laws to do beautiful this and the 3d game and then they introduce how you do this same thing in 3d let me see if they have a yeah so in 3d that's what you get from just an hour to a poking at gd script and this walks you through all that and by the time you're done working through the tutorial you'll get an appreciation of what the language is and how it works and then if you want to use c-sharp you can bring in your c-sharp version if not you can or c++ if you're hardcore you can use that if you want to if you hey but i think gd script is probably the best case so let me see if i can find my settings again quit don't save because i didn't do anything in there so that's how you get started i'm not going to actually do something because that will color your what you try to do you do your thing and this can do anything so whatever it is you're thinking of it can do so now let me just display how to get started in specific slides so we'll just go through the whole presentation again real quick i'll say everything no i won't say everything really fast because they'll get confusing so going through the steps i just did i i had recorded the key points on slides just in case it crashed or whatever but then here's the other thing you can go through that other tab when you open up you can get all these demo and resources just go to pull this up and it's a live page so you can try all sorts of things first before you try to create your own project but work through those two demo projects first so you're gonna feel so this is the link for those the tutorials i was just showing how to get at them i'll leave that up for a second for people who are making notes because your cameras are so helpful and then i was able to show the tutorials live because this is scale they have great wi-fi here this is the sublink to getting started so for you you should be able to find them easily but if not it's there and then i showed them so now we have a couple minutes hopefully for any questions out there anyone anyone or should i say first one to ask a question gets a muffin i've got a speaker oh this is a special speakers muffin don't tell them i gave this to you you can give it to someone else i don't care but use the mic so everyone can hear history i know that a lot of times they're talking about using unity and good and like unreal engine how like gotto expand into like bigger triple a like industry and stuff okay i'm wondering if that was working or not yeah so he was wondering how gotto enters into the industry using unreal and unity it's changing and the big thing with all the unity drama that just happened what you're going to see i think is smaller and indie studios first are going to be wary of putting all their eggs in the unity or unreal basket because they just saw how likely the company is to just kick them over at any moment and just like with blender where oh you can't afford mya anymore okay just use this suddenly their sales drop and then there was other things earlier where the workstation software where we can get in the whole thing happening there use wave wavefront i think or alias and you don't hear about these companies anymore because they tried to do that and everyone just said no i'm just going to use my pcs instead of the sun workstations they're good enough so so i think where it's because of what happened last fall they're doing this you won't hear about it for another six months maybe but then the stories will start to come out in other questions yes i'm not sure if this is work again it's on it's on somewhat so um with all the questions about licensing i'm wondering does godot impose any kind of copy left terms or anything like that um i worry about that from both sides oh yes very good question so he says does godot impose any licensing any copy left anything like that i forgot to include that that is a key thing godot is under the mit license mit license says basically take it mention that you're using it that's it that's all you're under restriction to so it is for a game development group that's what you want someone saying here use this if you want to give us changes we'll take it if not just say you used it that's it that i think that's pretty simple and non-verdism but very good yes i i definitely needed to mention that anyone else couple down there still working and you passed the mic down have we seen any triple a games developing being developed with godot yet or not okay have we seen any triple a games being developed with it i'm not sure i think uh like dome keeper was a couple months ago i think hit a million and a half in sales so you're looking at that for the moment but you know how long does game development take it's not the five years plus it took on the game that i worked on but it's still you've got a big lead time so bigger games might be coming out and as more small developers realize they can get into this for no i mean unity unreal engine you pay thousands of dollars per year per developer if you have five people using it you have to pay five times that five thousand dollars things like that so for basically what i'm waiting for is the triple a game equivalent of everything everywhere all at once it's all there it's tools easy for creative people to use it's affordable and unity just made people notice it so i'm sure one of the big factors for unity backing off their claims is how many big studio how many indie studios announced they were switching to godot and how many big studios privately told them change this or we are switching because godot is good enough it will do the job so i think i think we're about to see more and more until sometime while there but you're looking at a good godot game can net you know over a million dollars a couple million probably easily nowadays anyone else good or doesn't really support uh concurrent gen console so uh how can you try godot to perform on the consoles now that takes third party publishing things and money that i personally don't have just to spend on the weekend but i think it was either summer or fall that is where the godot developers formed the separate company so that they can pursue that because of those questions so i forget the name of it right now but just do a search for that online and they are the group trying to make this happen trying to make it easier and they'll they'll have those details i think so that's that's where to look for it but yeah they they are trying to answer that question and that need so real quick any last question well i'll get to you real quick yeah what's the asset ecosystem like if i'm a developer who doesn't want to learn any blender how easily will i be able to find assets for my game oh how easy can you find assets check that online source that is in godot itself hio i think has a lot of assets and just google godot 3d assets and you'll find free ones ones you can buy one license or buy depending on the terms there are a lot of resources out there are there any good resources you know of uh where you can find a list of like platforms and hardware and it'll tell you like what constraints to work within like for instance i've been trying to make things for the quest devices and i'm finding can't use depth maps don't use anti-aliasing don't use like volumetric fog is there somewhere i can find what's like reasonable okay question is is there somewhere you can find details on limitations on specific platforms what features not to use so that it can work on quest or some of these other pieces of hardware well i would say um from what i've seen godot the website the front the group godot itself has forums that they just revamped so that they could scale up to better support um so that's uh one of the two places to check the other is reddit there are so many resources a few uh few different subreddits do cover those kind of questions if you might so there might be godot subreddits and quest subreddits and other subreddits and they are discussing those type of issues constantly i just browsed a few to see what was going on i don't have anything memorized but that's where you can go and get a lot of answers and then for tutorials or okay how was it a couple weeks ago then you can go to youtube and search for videos and because indie indie people love putting youtube videos of their work up there so you will find out quick now hopefully i haven't oh wow on time thank you very well a little over the break but thank you for coming and hopefully you can look at this and have some fun maybe really talking to it oh yeah all right well i'll just just eat the mic then that's fine i can do that here we go that's probably a lot better all right i'm gonna start in a couple minutes just wanted to do a mic check is my mic close enough to my face hello is this going through the speaker at all people near uh yeah all right beautiful beautiful because i will get a little animated talking about fiber arts but not so animated that should blow out the speaker all right so we are one minute past i think we'll go ahead and get started uh thank you everybody for coming to a talk about fiber arts i really appreciate that and also some electronics in linux and open source too uh but mostly fiber arts so uh my name is kyle ranken um hello uh i am a tech author uh i used to write for linux journal magazine written and i've published a number of tech books most recently i was uh chief security officer and president for purism who made uh free software running phone in a laptop and things like that since i'm no longer with them and right now i'm just sort of looking around looking for the next job uh so if you have an idea you can want to talk to me after that's great um let's see what's my plugging i wrote a book in my my time off uh about how to write a tech book so it's very meta so uh yes oh well thank you fan section uh so uh so yeah if you want to if there's a lot of people who are like no tech really well and maybe have thought about writing a book and but they're not sure whether they're you know what what what it would take so i kind of like did a brain dump of everything my experience in that okay enough about all of that let's uh get into the talk so brief introduction um i have a lot of hobbies uh and and i mean a lot of hobbies and and every now and then when i talk about this i'm trying to in people kind of wonder why and i think about why is it that i have so many hobbies and i think really what it is is i like i like the process of learning new things i like the process of getting new skills whatever that is and you get to this at least to the certain plateau of like yes i feel like i have this down and then you sort of main at least maintain that and then every now and then a hobby you get you dive even deeper into but i tend to dive pretty deep into the hobbies that i get into um so for example some past hobbies um i got really into barbecuing and then curing meat so like made my own bacon um you know made some um i got as far as curing a holiday ham one time uh from scratch which was actually the best ham i ever had got really into i've been into 3d printing for like a 12 13 years or something like that i did a scale talk about that a number years back um i got into really i got into playing the banjo um i do a lot of home improvement and got really kind of enthused into plumbing most recently i got into uh historical mechanical calculators and started collecting those that was like a deep dive where now if you were to do a zoom call with me you would see behind me this wall it's kind of like an anti calculator museum with like uh like a lot of you know that kind of stuff in fact one of them i was rewatching it's a wonderful life and we had a pause so i'm like wait i have that one uh so but the thing is is that like i got really into um that and that goes down a rabbit hole of understanding the history of computing right and we start going into the history of computing uh you'll realize there's a lot of crossover with other things you start you eventually land on people like Charles Babbage and Ada Lovelace uh and when you start looking into their history about programmable computers you learn about a man named Jakard who invented a loom about a century before that was programmable with punch cards and when you're someone like me who reads that then it plants a little seed in the back of your mind like okay looms weaving punch cards that's kind of interesting okay we'll get back to that so i didn't do sourdough bread during COVID but i did get into weaving that was sort of my COVID hobby that i dove into for this reason i it's sort of like one hobby led to the other one so a couple of examples of this i got really into it so i spent you know i have a a vast library now of mostly out-of-print weaving books that i've gone through and get really into the history of it um i actually this last year entered a couple entered a competition for the first time so there's an example of a double weave cotton reversible towel that i submitted to a competition actually won uh so yeah towels um thank you very much uh but yeah so like it got really into that sort of technique um most recently i woke i i wove a stole made out of silk for my wife by surprise for like valentine's day this is using like an undulating twill for those of you who are weavers um pretty complicated the most complicated pattern i've ever woven and probably the fastest i've ever had to weave because she was gone for a short amount of time and so i had to really like spend like hours and hours and hours like getting this done before she she got back for a surprise all right um but enough about that so basically that getting into weaving sort of like opened up a world generally into fiber arts as a pursuit um and as i mentioned before there's a lot of intersections with technology and fiber arts in particular with weaving and the automation with weaving but also with knitting um a lot of the automated machines that uh that started like the industrial revolution were around automating fabric production uh which spawned a revolt by people knows the luddites who were revolting against that technology in particular how that technology was taking control out of the um the more skilled hands and making and commoditizing it without any alternatives and there's actually a really good book that just came out this year called blood in the machine that documents the history of that whole thing because traditionally these days when you hear about luddites you think of someone who doesn't like technology and that actually wasn't the case the people who were who were around the luddite movement in the uk were actually not afraid of technology at all they embraced technology generally speaking but they didn't embrace how technology took control out of the um out of the craftsman's hands and put it into just the owners of the factories so recommend that read if you're interested in that um that's another diversion but that's okay we'll get back into it okay so um briefly I was like man I really oh yeah there's there's like all these other automated there's these intersections with technology and fiber arts and I and I was like you know I saw someone on like online and social media post about a computer controlled knitting machine I'm like I want a computer controlled knitting machine that would be really cool so I kind of start searching for that like man well they're kind of expensive oh well there's kind of one or two that you can find um there's some flatbed ones that used to be programmed with floppies but you can then like uh uh the uh craft magazine uh in combination with may came up with some interfaces for that but anyway that led me to searching on craigslist like you do and I found a free flatbed knitting machine now it was an electronic one it was the previous generation so it was programmable only with punch cards uh but that's still okay so now I have this flatbed knitting machine to where like we have some people in the middle row doing it the hard way where it takes some time and focus to knit whereas with me it's sort of like one row is and then the next row is you kind of go like that it's about the size of a casio keyboard right well that kind of made me interested in the process of mechanical knitting uh and I was like that's kind of cool uh and again another seed planted just to sprout later on and ultimately ultimately that led me to building a knitting machine clock from scratch uh so this is a story all about how uh I did that so um I named it tempus nectite which is the closest latin I could find to time knits uh and so that's the name of the project and let's go into it so this talk in particular I'm going to talk about the inspiration of the project I didn't conceive of this idea myself uh the design uh there's a lot of design elements into this that I that was the heaviest part of this project for me uh the assembly uh which wasn't so bad um set up an installation so after it was built how do how do I set it up and get it ready to go I'm going to talk about the 2023 scarf so this machine knits a scarf every year uh it takes a whole year um it's a pretty long scarf and I'm going to talk about uh some particular highlights of the 2023 scarf um and then talk about some future plans for this machine and for the things that it produces uh and then some closing thoughts so let's get going with that so the inspiration uh was this this was a hackaday post that I saw in january of 2023 uh an artist by the name of siren elise will help some designed a project clock so this is like an art project that you'd put in an installation and the way that it worked is it would knit a stitch every half an hour um and every day it would knit a row so there was 48 hooks around this circular knitting machine every hour every half an hour do a stitch which means 48 of those is a row so that's a full day after a year it would drop a completed scarf onto the ground okay and it's sort of like talking it was a commentary on the passage of time and there's probably some references to um some some Nordic tradition as far as like the uh valkyrie not the valkyries but the furies and they're um using of loons to stitch people's lives kind of like the greek fates there's a lot of this stuff probably tied into that um regardless of that I wanted one um but there's no build plans uh the thing is is you could commission the artist but whenever you go to a site whether it's an enterprise vendor um who says ask us for pricing or like artists is like you can commission me like oh okay never mind I can't afford that uh but that's okay so I just I was like chatting with my wife about it sent her a link I'm like I want one of these and she's like well you should make one I'm like oh okay um that sounds like a good idea sure I got I got approval and everything so let's let's go so the thing is um there's no there were no documents on how to make one of these things right like there was no guide there's so I had to figure it out but the thing is when you think about what this clock was doing you can break the design down into a couple of components so the artist clock was a 48 had a 48 hook circular knitting machine I'm sorry if that font's kind of small but you can just hear what I'm saying uh so it's a 48 hook circular knitting machine there's a stepper it had some sort of stepper motor that was attached to what otherwise the circular knitting machine usually operates by hand crank or you can get an attachment to hook a drill up to it which is kind of sweet um but instead of a drill uh you could also just hook up a stepper motor so clearly there's some sort of stepper motor that controlled that uh some sort of electronics to control the stepper motor um some software that then told the stepper motor to turn one stitch every 30 minutes right um so I took that as those are probably how it was made and so my personal project ended up breaking into a couple of sections so electronics so I needed some way to control a stepper motor with some kind of electronics I needed some kind of software so that I could rotate a stepper a certain amount of steps every period of time based on the schedule I needed a knitting machine um I was I wasn't going to make one of those from scratch I was going to pick something off the shelf and there's a couple of uh examples out there that aren't that expensive and I needed a case I needed something to put everything in so that's sort of like the the breakdown of the project so it's talking more detail about each of these so for the electronics um my first proof of concept is can I control steppers from a raspberry pi um whenever my you know yes you can probably do with arduino's for sure um that's not really my strength I have but I also have tons of raspberry pies lying around because you eventually get a newer model to do a thing in your house and then you have the older model kind of sitting on the shelf and I'm pretty sure like this didn't need a whole lot of horsepower to do what it was doing and raspberry pies for arduino people are already way overkill uh so but I was like hey I bet there's some way to control a stepper motor from a raspberry pie and of course there certainly is um and if I could do that then I didn't have to get into arduino programming uh I could just use my raspberry pie and I could also easily SSH into it was just kind of cool SSHing into your clock so um I used an Adafruit motor hat Adafruit makes this really nice little hat that sits on top of the raspberry pie and is designed for controlling both a stepper and and regular electric motors um so I combined that with I mean most of this there's some purchased things here but a lot of this was like stuff that I had lying around my house because I'm a geek and you collect things so you have the drawer of power supplies where you're like I'm going to use one of those someday and everyone's like you're never going to use one of those well I proved you wrong because I did use one of those uh for this project but I so I had a spare raspberry pie lying around I also had a spare stepper motor because I had some spare through old 3d printers lying around right um that were no longer like fancy I have like a fancier one kind of and I have these old old school ones so like okay well I can just take the stepper motor out of there and it'll probably work um so I just basically followed the motor hat docs oh I didn't mention I've never worked with stepper motors before I mean technically yes I use a 3d printer so that uses I've never programmatically managed stepper motors I just had a vague sense of some ideas about it and read some docs so that was like a brief crash course the motor hat needs something between a 5 volt and a 12 volt power supply um so I went through that drawer that has all those old bricks that you have and I found both a 9 volt and a 12 volt um there's some things that if you've worked with stepper motors in particular 3d printing that there is a relationship between the voltage and how much power you're going to get out of the stepper motor but there's also a relationship to the sound so the more voltage you're going to get more power but it's also going to be louder the separate motor is going to make more noise typically I mean they sell quiet stepper motors and things that are compensate but I knew that relationship just because I read it one time and it was stuck back here somewhere and so I was like well I have a 9 volt and a 12 volt let's see if I can get away with a 9 volt also the brick is smaller um I went with the 9 volt mostly for that reason because the 12 volt power bricks that I had in my in my drawer were the gigantic ones um so I went with like a 9 volts a little bit smaller I can make the case a little bit smaller so after that I had okay I could control a stepper motor it was spinning I would type a command and it would spin um SS agent to my Raspberry Pi like you do and it would spin but the thing is is I kind of realized as I was doing this I wanted hardware buttons on this thing and uh because it would be really useful to be able to control the steppers manually but in particular control them manually without saying well all you have to do is SSH into the the clock and run this python script and then you could you know I didn't want to have to do that so I was like it would be kind of nice if I had two little buttons on the bottom one would go forward and one would go backward uh there's I'm sure I know that Raspberry Pi's can do that um not that I've ever done it before but I know they can do it so I went through my my stash of conference badge like electronic badges you know if you've gone to enough conferences you'll see these kits that like make your own badge that kind of stuff well I have like a stack of those and so I went through the stack and and found one and like oh yeah there's all these great little push buttons in there I'm sure that would probably work fine so got that um followed the GPIO guide and learned how to like wire those and all of that stuff would you get in crash course and that but that again not too challenging the docs are there so you read the docs you hook all that wire that stuff up and then you have hardware buttons I settled on just two buttons one would advance forward um some amount like about a stitch and one would go backward about a stitch and this was also kind of useful for test testing other things all right so that's the electronics now on the software side um basically it's a Raspberry Pi running Raspbian I want to do that for a couple of reasons one Adafruit's examples were all based on that so I didn't want to veer from that and also it's just like the simplest approach I didn't I'm not trying I don't need it to be like super lightweight whatever that would mean for a clock um so it didn't really matter so I just went with the basics I'm glad I did I needed to write custom software though because I needed to control the knitting machine with very precise steps I'm trying to move it just a certain amount and this actually becomes more important halfway through the design process when I get thrown this giant curveball so I have to control it precisely um all the examples are in Python I do I did a little bit of Python before that but just like here and there because um mostly like and this is also a connection to fiber arts I learned in Perl uh first uh so that's a knitting joke sorry everybody uh so uh but then but you know because like Perl and Bash so but this was in Python so let's learn some Python so this in Python the key though is figuring out exactly how many steps to tell the stepper to move to go forward one stitch um there's not and it's based on the machine that's hooked up to in a couple of other things in the gear ratios and things like that so it's not like a that's not documented so you basically have to do trial and error um so that's what I did I found a 3D printed part online for someone who wanted to hook a drill up to their circular sitting knitting machine and I just printed that out and hooked it up to my stepper motor uh there's this nice little trick if you take an aquarium tube and put it over stepper motor and then kind of squeeze that into the drill hole um it provides enough friction and grip that you can control the the gear that way so did that hooked it up uh sort of like in this really hacky way first because there's no case so kind of hook it up to the kind of have it suspended hanging from the knitting machine um and do some trial and error run some scripts and figure out exactly how much I have to move to go a stitch um then I wrote a couple sample scripts as I was doing this because I wanted to try out a couple different ways to advance things so for example here's a script that would advance one stitch all right most of this is relatively straightforward you're half of its importing libraries um and the other half is a single for loop uh you'll see a couple a lot of commented out examples here and this is me iterating I kept this on purpose this is me iterating through there's a couple different ways to control stepper motors uh with this motor hat as a couple different types of steps and so in this case I'm experimenting with a lot of the different ones and some of them require sleeps in between some of them don't require sleeps and I'm experimenting with a couple of things one how much power is that step providing because the the knitting machine this isn't a high precision knitting machine it's like a very cheap plastic knitting machine and so it has a tendency to bind because there's not like high precision between the parts and so you you kind of have to overpower that with like a little bit of extra open when your hand cranking it doesn't really matter you just kind of like crank a little bit harder but for a stepper you don't want it to be just sort of stuck um so I experimented with a couple of things there um and so for example it took a lot of experimentation to find the right type of step to do the right speed of step um and any sleeps in between uh there are what's known as micro steps which are way quieter it just makes a slight kind of noise which is really kind of sweet although it's also kind of weird um it's it's more precise um in terms of compared to some of the other stepper types but it's also way weaker and so I ultimately ended up going with well there's also a single type of step it's called a single step which is way stronger louder um but again more powerful dub and there's a double step which is um even stronger and also even louder I ended up uh noticing when I was doing this I would it would skip sometimes when actually with just the knitting machine by itself with no yarn in it I could use some of the weaker skipping some of the weaker stepping types and it would go through and it would go through fine I could like knit hope go through whole uh circles uh cycles through it but when I started putting yarn in that added just enough tension especially at the very beginning when you're first casting on that it would start binding so I realized I'm going to need more powerful steps and at first you could kind of get around that by sort of forcing it through and then once it it was a little bit better but I found I needed to get one thing I needed to do the most powerful step I could I also ended up buying a more powerful stepper so I just went online and found like a equivalent stepper like with 3D printers nowadays you can find these steppers very easily online I found one that was rated to be stronger and I have links later for this I settled on the double step which is the strongest but also loudest step um with a short sleep in between and that combination you can kind of control the volume a little bit by how long you sleep in between each time it tries to move the the motor so then I needed to somehow programmatically control this so I first I considered a cron job this seems like the perfect use for a cron job because I want to do a thing every half an hour or every hour or whatever well that's what cron was made for but I also added those hardware buttons and so that means I needed some sort of demon already that was sitting there in a loop listening for a button events so I could trigger actions based on that so since I already had a demon that was always going to be running I decided to combine that demon for button control with my with my clock essentially everything that controlled the clock I ultimately wrote this demon that runs in an infinite loop I sent a link here it's actually longer than it'll fit on the page and you can just click on it if you're interested and it runs to this infinite loop at first when it very at the very beginning of the loop it uh it checks the time if it's at the very top of the hour then it moves the stepper forward one increment whatever that ends up meaning what I ended up doing is not just move forward but I also started I noticed it was well it got louder here I also noticed I needed to move backwards a little bit first to kind of sometimes help it unstick because again this isn't a high precision machine so every now and then it would kind of bind and I noticed if I went backward a little bit first before I went forward again it kind of would loosen things up and so that helped and so I added that in the other thing I decided to do was instead of doing the entire step for one for one hour together so instead of just going like I what I did was I slid it up to chime the hour so what I mean by that is yes one o'clock would go but like three o'clock would go and so the idea was you could be well it's kind of loud you could literally be in another part of the house and you would just sort of hear you would hear it start and like oh wait oh it's six o'clock already okay um so you could actually hear the chime uh based on how how I did that and I was back and forth about doing that but I'm kind of I like that I did it now so I we kept it um after it chimes um it advances the stepper it sleeps for 61 seconds that's on purpose so that it there's no there's no possibility that it could go back into the beginning of the loop and chime again at the top of the hour because it will have at least be one minute after the top of the hour at that point um otherwise if it didn't chime at the top of the hour then it then it looks into text button presses and acts based on those um I also added a very simple system to unifile uh that runs this automatically a boot so there's no I don't have to deal with this at all I can just sort of plug it in um and it starts up and it gets the time from the internet and then gets going all right so now I have electronics I have software uh I need a knitting machine of some kind uh here's here you go here's a prototype um I started with the Centro 48 hook knitting machine this is a pretty inexpensive clone of uh some more expensive circular knitting machines that are out there that are plastic like um adi I want to say uh makes one that is very popular it's it's about three times as two or three times as expensive but there's you get what you pay for um this is pretty cheap so I this is a fun project so uh I went with that uh the other thing I wanted was I wanted the machine hook count uh to match the machine hook count in the original project now why does that matter uh it makes sense as a clock so if you think about it uh if you have 48 hooks then that means in a in you want a row a day then it makes sense to chime every half an hour then that way you get 48 chimes or 48 stitches every day so it's easiest to calculate that with 48 hooks you know that every half an hour it advances one hook and then keeps going um I might just set that slide so uh my my original plan was to basically use a back and mount everything to the back some sort of backer board and then build a wooden frame around it kind of like a birdhouse design and the reason that that made sense one the original project did that but the other reason it made sense is you have the circular knitting machine and there's a stepper motor sticking out of it at some place and so it makes sense that they have like mostly a box around the the round object and then wherever the stepper motor sticks out to build a little roof over it to so you can obscure and hide that stepper motor um so I copied that design and went with that originally was just going to get out the woodworking tools and start making that so I mean uh things progress pretty quickly here uh you start diving deep into one of these projects and with you know two-day shipping on most of the things that I didn't have uh from the start I had everything completed in about two weeks from like conception like seeing the hackaday pose getting approval um to like going through buying every buying this knitting machine and prototyping and writing the software and I had like a finished project and you can actually see that stage of that project right there in that picture but I put it on the board I put it on a kitchen table and both my wife and I look at like look what I did and so we both kind of look at it and we both you know walk around and look at it and like this is giant I mean this it the knitting machine itself a 48 hook knitting machine is about this big um and by itself it seems like well that's kind of big but if it's on the wall it's not going to be you know there's clocks that big you've seen the big face clocks but that's one thing it's another thing when you imagine the big wooden birdhouse that you're about to build around this thing and you're like that's that's too big uh that's that's crazy so that's not going to work and we both realized that I'm like uh because I was going to have this really sweet thing where like look I finished this I've from start to finish like three weeks and I built this crazy project so not going to happen all right back to the drawing board so take two what do we do turns out central also makes a 22 hook machine that's a lot cheaper it's a lot smaller um the the mate the bigger knitting machine was kind of is designed to automate the making of things like hats or you can make like big panels to stitch into blankets and things the smaller one is more aimed for like socks or small scarfs I guess you would say um it's much smaller it's like half the price you can get one if you shop around for about $35 which is even more within budget of I'm doing this project with no practical use of my house kind of thing um but 22 hooks messed up the whole 30 minute stitch plan and 22 hooks is not you know well divisible into anything related to like a base 12 system thanks Samarians but that's just how it how it goes uh so what I did instead of a half an hour chime is I went with an hourly chime uh and the cool and I went through a couple design questions with that like okay if I do an hourly chime do I just divide an entire row um an entire row of a stitch like a tire circumference around with uh a day so every day does it do one knit a knit one row or does it or do I make it match the hour I decided to have it match the hour and I'm glad I did so what I basically what I mean by that is so on this knitting machine there's a bunch of hooks and there's these little hook covers and they're all like the same color I took some foil tape and marked one with a shiny piece of foil to mark the hour hand all right so every hour like if it's straight up and down it's midnight or noon at one o'clock it advances to the one o'clock position like at three o'clock it's you know on the side on I guess what facing you it would be east um so anyway it does that just like a clock would well to do that means it has to do two rows in a day so but it also meant I could go look at the clock and know what what time it was within an hour of it being accurate um but which doesn't sound that useful uh but well and plus I already have the chime so I kind of can hear it from literally anywhere in the house because the the resonance of this thing is kind of crazy but but the other thing that was useful was I could also know if I'm losing time like for example if I lose if I if it bound at some point in the middle of the night or when I was away or whatever I could see just sort of like if you have a clock and you haven't perfectly tuned the pendulum in the olden days when you have mechanical clocks that you would have to tune them from time to time I guess based on listening to the church bell ring and then you would like line it up right uh so in this case I could I do the same thing like I walk around it's like wait it's six o'clock um but it doesn't say six o'clock so then I could like adjust the time so it's kind of useful to do that hour hand with foil tape so yeah two full rotations per day as a result uh another problem was the central 22 so the central 48 knitting machine basically sits on these four little plastic feet this sort of sits above everything and all I really had to do and they were removable so all I had to do was remove those feet and replace them with posts and I can mount it to whatever board I wanted to very easy uh to deal with I didn't really even have to take the machine apart other than removing these little removable plastic feet no problem because what I I like the idea of this being reversible if I wanted wanted it to be um but the central 22 has a completely different case design um one that doesn't allow you to do that so the only way I could mount it to something was to take it apart um and when I took it apart I couldn't just easily there's a lot of the outer case makes certain assumptions that the inner case makes some assumptions that the outer case is there to hold things in place and so you can't just take the the mechanism out and have it work uh which I found pretty quickly um so I disassembled it to mount it to to the wood what I realized because of that is I would need to add some structural elements underneath this mechanism so I can mount it to something and have it be uh up high enough that you know the the scarf could come out of the bottom and all of that uh and so I'd have to design something and maybe 3d print it or something to kind of do this in the process of doing that um I realized well I have to think about the case well what I realized is when I took this machine apart out of its case it actually fit on the bed of my 3d printer uh where the previous one did not it was way bigger I'm like huh so this fits on my 3d printer bed you say uh I wonder if I could just forego this whole woodworking project and maybe uh 3d print a case for this uh so yeah totally an option uh the only problem was I didn't really have any 3d modeling experience now for sure I had been 3d printing for like I said 12 plus years now I've had 3d printers for a long time but I've never actually made my own stuff I always use somebody else's design for things um but I decided well let's just do what you do uh the solution was a three to four week crash course in 3d modeling uh using TickerCAD would like you do um and you can see here there's a picture of one stage of the case the bottom part of the case here um so what it's an iterative process I got a pair of calipers and started measuring things I started prototyping sections at a time so for example the orange piece in that picture is the part that the main knitting machine mounts to that was one of the most critical parts to get right and had the the most need for precision uh for how it was fitted so what I would do is basically design everything but designed it that separately first printed that out a few times and got the fit just right because ultimately what you're seeing there is one giant part um I didn't want to start fastening a bunch of individual parts together if I didn't have to um just let the printer fuse it all together like I said the most critical part was the machine mount everything else would sort of fit around that but if the obviously if the machine didn't fit well then you're kind of lost it's that's the key to this design so like the other one I decided to mimic a birdhouse uh the way it was designed is that the the back part or the bottom part is the part that is against the wall everything would mount against that and then I would put some sort of cover on the front and a roof on top kind of like a birdhouse for the same reason I said uh the top itself would split into three sections so I made this little design channel so it would slide down um in place and then the the top would sort of slide into place and so it would cover the front um but it was in three sections whereas the bottom case was one big piece uh the reason I did it this way is it allowed me this design let me take every all the top part out and mess with the electronics without disturbing the knitting in progress because I figured I knew for the most if I didn't design this in I promise you like sometime in June and halfway through a year there would be some sort of problem with some electronics somewhere I would need to take it apart and I would have to this is take the whole scarf out so this allowed me I can put the scarf kind of back into the knitting machine and or the yarn into the knitting machine to take the whole surface off and get access to everything if I need to to make a fix so 3d printing uh here's a picture of my uh my bottom case in progress uh it took two days to print uh pretty big print it completely filled the print bed like to the point that the skirt that you normally would print around I didn't print around because it would it exceeded the size of the print bed so it like literally filled up the print as big as it could be um but fit barely um it took three prototypes to perfect uh because 3d printing and it was the kind of thing and this is after doing other iterations so this means it took a two-day process that you would then get and you'd put everything together like oh great that's man this is looking really sharp and you start putting things together like oh uh that hole is supposed to be here like there's a two millimeter difference where this hole is supposed to be and I measured everything but it's not right okay we'll take two um but that's okay because what you would do is there's certain bugs you would find in the design that you're like well it doesn't really matter um I can live with that but then you'd find some massive mistake and like okay cool then I can bring in all the other mistakes a lot like with software releases uh and you can like squeeze it all together and and ship it all out so in addition to the bottom case I designed a couple of extra parts so I had to design plastic button covers because you have these little electronic buttons push buttons while I wanted to have basically a little tube uh that wasn't just a tube but that would sit inside the case the bottom of the case and protrude so you could push it and it would ultimately push the button underneath I had to design some clips there's a ring gear inside of this knitting machine that actually does all the magic um and you needed I needed some clips that would hold that to the case because it wants to float and it's expecting its old case I took it out of is it has these little channels in place so I had to replicate that with some clips um some standoffs to mount the raspberry pi uh to the case um I needed a spool to hold the yarn and figure out where I wanted that to be um and all of this I have a project printables page so if you wanted to make one of your own you can just download all of those designs and print it yourself all right so assembly the full installation steps are on my project page you can totally make one of these uh this like the hard work's already done so all you all you have to do is follow steps and I'm a technical writer on the side and so I wrote like a 4000 word fully detailed step by step professional to my opinion uh document documenting the whole process all the codes there all the design files are there everything's there so you can just follow step by step and have one of these in your house um full bill of materials is right there many of these things you might already have except for maybe the knitting machine but if you do that's sweet too um the rest of it is pretty easily accessible I didn't want to get anything that was too hard to find for the project and again most of this I found around my house all right so the bottom case assembly looks kind of like this uh fully assembled so basically everything attaches to the bottom case like I said and then the lid slides on so I started with the raspberry pi first a lot of this has to do with access to screws to get things in and everything so the raspberry pi gets mounted first then the knitting machine then the motor what's the knitting machines in place then I can slide the stepper motor in and get that uh attached and then the motor hat goes in uh and then uh the push buttons go in next and I designed this I think it's kind of neat a way to slide the buttons in so that they would slide in not pop out and if you looked at the design you'd see like well Kyle like nicely done nicely done I'm like yeah I know it's my first time designing anything so thank you for your yeah but um then I mounted the ac outlet uh did a lot of zip ties because that's what you do uh fasten those in fact the design features like little slots in the back where the zip ties go through so it can bind everything nicely tidied up the cable management because I'm a sys admin and that's very important um all right so bottom case done and and actually you you would think you could test it with that but you can't really because the top wants the top uh pink piece on here wants to float you need to actually push it down the top case keeps it in place so the top case uh looks like this separate you can see there's three different parts um the uh I just said that's split into three parts I had to do it this way because the full thing would not fit on the three printer bed again the bottom case fills up the bed so I had to split it up into three parts just to be able to print it that's one reason but there's another reason um well I'd split it for the easier access to electronics as part of it but the other thing is the bottom cover has a different print orientation than the roof just so if I even if I could fit it all in the same print bed the printed all as one piece would mean I something would have to have crazy support material underneath it and that's a huge waste I didn't want to do that there's already a little bit of support material for the roof um but for the most part this print was designed with either built-in support material for the bottom case there's this little arch that the scarf comes out of that I did add I I added support material in the design for and everything else um like I said you can mostly print it without that said that all right so now we we printed out the top case uh so to put this into place uh at first it would seem like and I designed it so that it would just slide in uh and it could accept that this knitting machine always has one hook sticking straight up in the air and so there was no really good way when you're sliding this down there's always a hook that's way in the way all the other hooks are down but there's at least one hook that's really high in the air so the only way to get this on was at an angle so basically you would um have to slide this sort of in at an angle and then you could sort of flex the plastic a little bit and kind of get it in the next channel and it would sort of lock in place and you could slide it back down into place um like I said the hooks were I didn't think about that part when I was first designing this like oh yeah that guess that makes sense there's always going to be a hook sticking up but I found a workaround and that was all right um this particular part of the case is important because the plastic hook covers just float with gravity and gravity's not going to be its friend when it's mounted on the wall and so it kind of has to hold in place if you don't have that in place you start doing test prints or test runs with yarn uh it'll it'll start flopping over the place and it'll start dropping stitches which is like the worst so um after that there's the B and C part of the case so uh let's talk about B first uh this is has the name of the project on it which I thought was kind of cool and I also tried to do like a like an ancient Greek kind of thing like the U is a V and all of that right because it kind of it had this sense of of like a of uh like a call like a stone project right um plus it's in latin so what are you like it's roman but anyway um so the other thing I did was I was able to use two two colors to make the text more visible it was visible kind of if you just did a single color but I liked having the the black on the background and the switch to the white um because it made the text pop and so I'm pleased with that result um and also the middle piece covers up the join between the two other pieces if I only had a a main piece and then the roof you would see this line across it um where the two joined regardless of how nice the join was there would be some sort of visible line and I didn't it's like aesthetically I didn't like that so the fact that I have a name plate um intentionally kind of covers up the join between the other two pieces and it makes it look cleaner um the C part is basically you can see here that there's a stepper sticking out of the top right and so I wanted to do something to cover that up and so that's the roof part um it's sort of basically just slides over and covers the stepper motors is the main purpose and it actually makes it look like I said like a lot of some like cuckoo clocks and things that look like a birdhouse so here's what this looks like a symbol I also have it up here for those of you physically here um in the front you can check it out later um and you can see here it is assembled and set to midnight slash noon because you can kind of see the little shiny foil there all right so now it's built now I need to actually install this thing so you start by casting on waste yarn which this basically you want to get some sort of yarn that you're not going to use for your final scarf there's a number of reasons for that I won't get into here but basically the knitting machine instructions go through all of that if you like even the sparsis instructions explain how to add some waste yarn a number of rows to kind of get this the scarf started and then after that you switch over to your your real yarn you want to use for your scarf after about 10 rows or so I had that all set up and I had then I added about 10 more rows of my regular yarn and then I ran a script because here's the thing is I was inspired by this project in January of the year of 2023 and at first I thought well cool I'll get it done before the beginning of the month but again it took a couple extra weeks to learn 3d printing 3d modeling and do all that stuff so it was in the end of being sometime around March early March when I finally got this ready to go well I just missed like three months so I needed to advance I wanted to document the year so I had to had to basically add that to the year but I also wanted to document events I'll get into that but so what I did was I ran a script that simulated a day so I would just run that so I could I made sure I didn't like have it be incorrect and it was so here's the script in python to to simulate a full day it's basically just like doing an hour chime kind of except it just does it all at once and it's really cool I have a like I have a video on my side of it going when I was doing this and it's just like you know it's pretty awesome to see it all and work and I mean honestly even if you didn't want to make a clock if you're just a super lazy knitter you could do this project and just like do a scarf automatically using this in like I don't know like 10 minutes maybe at most you cast on and then just run scarf script dot py and it would just like and you'd have a scarf at the end which is pretty sweet all right so my idea behind this wasn't simply that oh this is kind of cool I also wanted to document our life I really got into this idea of having an individual scarf not just be this thing that talks about the year but actually document our year and so here's here it is on the wall and here it is with the majority of 2023 hanging from the bottom up and I noticed I had to add a hook because I started the hook around the time it got to cat height in my in my house and then would constantly adjust it as it got longer and got down back into the cat danger zone I would just bring it back up but if the here's the problem though if it's not free hanging what's going to happen is you're getting twist in it right like every day it adds like two twists to it and that's fine I found I could survive about a week's worth of that before it got so twisted it was a problem so you ended up having to take the whole scarf off the hooks and untwist it and what I ended up doing is like twist it the other way a little bit so I'd have a little bit of a buffer so I didn't have to do it as much so I decided we would mark notable events good and bad with colored stripes in the scarf so the base background of the scarf would be black and then anything notable that would happen like think birthdays anniversaries things like that or or holidays we would mark with colored stripes in it so you can look over the scarf and see your year well it turns out it was a pretty eventful year for me 2023 so for example the scarf documented major holidays so birthdays anniversaries like valentine's day st patrick's day things like that awards and residencies that like my wife won a couple of notable things and we documented that with these cool little stripes to kind of mark the event my layoff for my job seemed like a notable event so that had a stripe related we took like a three a three plus week a road trip around the country about 9000 miles uh starting from california went up to main as far up as main and then went down to georgia then went back so it sort of lapped the country and so if you see in that picture there's a really long yellow section and that's what about three plus weeks looks like um in the scarf a lot of pre-twist so like I heavily pre-twisted um and then like then it was it was enough that it was all right um also documented a stroke of member of my family got ahead of so my mother uh got a had a stroke that year uh which was interesting um related uh also documented a giant road trip to move my mother across the country uh to live closer with family uh also documented a death in the family so this is like you don't know this when you're making a scarf but that's documenting the year and I don't know whether you're talking about like um again Icelandic fates that control your life with with threat but it's kind of interesting to see your life uh documented in a physical tangible fabric form here's what it looks like um all set up I split it in I split in the quarters uh so you can kind of get a sense of where it was it starts at the top the the little brown stretch is like a short road trip that we took I'm not going to go through all of these we actually plan to we have we meant to do it earlier to get like little tags and tag all this because we're already starting to forget some of them we're going to have to go through our calendar and and see what things were uh but yeah and you can see the giant road trip um in the second half there um and then a lot of like I said a lot of other little colored stripes and all of that was just from my yarn stash if you are into knitting or weaving or anything you end up collecting a lot of yarn uh over time and so when an event was upcoming we would basically I just bring in a couple of the giant bins of yarn and go through and like okay well what color really signifies this particular event like like Christmas was I I found some red and green yarn and kind of twisted it together and then had that and I started figuring out around how much yarn I needed for a day's worth of a stripe um it ended up being about like a meter a meter and a half of yarn for for that it's surprising because it's looping so much and so I would figure that out wrap it around my finger put it on put it on the little mechanism and go we're doing okay on time so so the question is how do you join it so there's documentation on like the the circular knitting machines and how you do how you change yarn out basically you don't you overlap it now some people this is controversial you kind of waited into like a v i e max thing so there are some uh you didn't know it and it's okay it's okay it's okay I I don't take sides on the debate I'm just gonna explain both sides uh so there are certain there are certain people who believe you should never have a knot in your knitting um and there are other people that believe it doesn't matter whether you have a knot in your knitting and so the people who are fine with having knots in knitting would say that you would tie a knot between those two to secure them other people who are not a fan of having knots in your knitting would say that you don't you you lay them over the top of each other perhaps and then you can weave them in there's other techniques that you can use to secure them but frankly speaking they're not going to really come loose um so it's not that big of a concern you might crochet them introduce there's other things you can do to secure them if you're worried about it so depending on which side of that holy war you fall on you might uh add a stripe in a different way right and so yeah so if you don't want to do it the right way that's your choice um it's your scarf right um all right so that was oh that's right that's right yeah just yeah you yeah you yeah you just planned you you always have to plan for emergencies so you yeah yeah come on yep yeah yeah all right so that was 2023 now it's 2024 I have a year's worth of learning uh and using this this machine and documenting my year so uh where's some of my plans for it uh one thing I did part of the way through the years I tweaked how much it's slept in between each step to make it a little bit quieter uh so both pro and con I put this in my living room uh because it's a great conversation piece people come over to visit and they're like what in the world is that and then you 10 minutes later they understand and some slide deck they understand like uh like what that is they're like oh well that's that's cool Kyle nice nicely done Kyle um yeah oh yeah right um so but so that's really cool but the the one slight slight downside to having it in the living room is that it does chime on the hour and um the box makes a pretty good resonator and it's not that stepper motors are quiet anyway the stepper motors actually not exactly the problem the problem is the mechanism because it's not a precision device it's like plastic that's kind of floating around in negative space and kind of can move a wiggle a little bit so when you use this especially quickly it's loud it's kind of loud and then the box kind of like it amplifies that sound a little bit so the first couple of weeks we would be watching tv and then it would strike eight o'clock and everyone kind of jump um by like you know April or May we we didn't really notice it as much anymore we mostly just sort of like and then back you know go back if we miss something important or otherwise just like whatever um but it was still kind of cool it's still going to live in the living room but it is a little loud but then again if you have like clocks that chime that's the thing you have to do with anyways they're going to chime on the hour anyway so but I did make it a little bit quieter by changing the sleep amount and that did change the vibration enough that it was actually markedly quieter um I also noticed and this is not fixed yet uh the ring gear that came with the the actual knitting machine wore down in a place basically as there was a little bit of bounce up and down the 3d printed gear was like nice um but the ring gear was cheaper plastic I think and not as hard and so when I took off the scarf and started examining things um at at the end of the year I noticed like a lot of little white plastic in the bottom of the machine I'm like huh and that explains why I would get it stuck at a certain time of day like I would notice like huh sometime between eight and nine o'clock um it always just sort of stick and bind like there's a in your troubleshooting this without thinking without looking at the machine but there's a couple things that are that probably isn't it's probably a worn ring gear and it was so I need to replace that um ultimately I will probably 3d print one but for the first step what I plan to do is just get another machine this one this is wasteful kind of I don't like this but get another machine get the ring gear out replace it and then use the broken ring gear to template my 3d printed ring gear for the future because then I can just take my time because what I don't want is this to be off the wall for like a month while I'm trying to figure that out and losing time so I'll probably do that uh sometime this year uh in the meantime uh what I do is and you can tell this is happening because of the hour marker right so I can look and like oh it's stuck somewhere between seven and eight o'clock again and it's 11 o'clock now so uh what I do is I basically just grab the ring with my hand like a combination lock and just sort of go you know and you just twist it and it works fine you just sort of twist it in place and you twist it to the right time just again a slightly more violent version of what you would do with a mechanical clock that's out of time right we just sort of gently moved a little hour or the minute hand over into place I just do that with my hand um and that works for now it's a little annoying uh but it works for now um I've noticed I never actually used the buttons I think mostly because I noticed I could just grab the machine and just sort of move it where I wanted to go uh that I never I never used those little buttons at the bottom uh which did complicate the design quite a bit I mean it's neat um but I never actually used them so if I were to do this again I probably wouldn't add the buttons to the design because it's I mean if I were if I were going to sell this as a product to all four people who want one to want to pay good money for one um then I would probably add the buttons uh but but otherwise I probably wouldn't all right also there's a 2024 scarf in progress if you come up here you can see see it we already have some interesting stripes like our whole family got covid that was pretty cool to put in um so that's documented and you'll have to check with me next year to see what other fun things happened in 2024 that we have in the scarf ultimately one of our plans for this is we might when we have enough years we might stitch all of these into a blanket I really like the idea of like if it was a round number like a like a decade or something be kind of cool or something like that where at the end we have this blank all right so uh let me see where was I before all right so yeah I'm going to make the blanket if you didn't see that on the you didn't hear me say that um all right closing thoughts so this was inspired by hackaday it actually got featured on hackaday which is like this really cool full circle thing I was like super excited about that um they also like clocks a lot on hackaday if you if you follow that it's kind of a fun thing uh so it was featured on hackaday which is neat um here's the thing is my clock you could say my clock was made from scratch but they're not really if you look at it um like I made it but not I didn't really make it exactly because the thing is is like open source tools made this entire thing possible like this wasn't anything I invented at all like this was me taking this and this and this and this from the open source store um and gluing it all together uh with other open source glue and then having a thing uh so everything from like the raspberry pi to the art ate a fruit hat to the open source scripts and the prototypes that I used that copied and pasted in and modified and all that is all like other people's work and it's all open sourcing available for everybody to use um because of that because I didn't have to learn how to um design a circuit board to control the stepper motor from scratch and fabricated I didn't have to learn all these other nuances I was able to go from like hey I kind of want one of those oh you should make one okay cool I'm gonna make one uh to like having an actual functioning prototype in two to three weeks right and the only reason I was able to do that was because there's all of these projects out there where people have already done the work and are willing to share their knowledge share their code um share all these examples so that someone like me who only knows a little bit about a lot of different things can learn more about one of those things um by following their examples so it's true I had to learn new skills but those but all that was possible because the community is willing to share their knowledge so I didn't again I didn't have to learn all this stuff from scratch everyone was willing to tell me oh you want to control a stepper motor will a billion of us have done this already just do these things and you can do that and it wasn't so bad because again I had great examples and plenty of guides so in the end what I want to sort of leave you with the thought of is that open source software makes hard almost impossible tasks accessible to non-experts I'm certainly not an expert in pretty much any of the things that I that I do I guess um but I'm pretty competent at those things in particular because there's really good documentation for things I'm I like learning things so I'm I have I have what I bring to the table is a motivation to learn the thing um and what the world provides in return is like all of this knowledge that people are willing to share and examples and everything else um and that's true for all of you too I mean I I'm sure that you felt that when you wanted to do something new and you look around and you realize okay well other people have at least gone 90% of the way there and I just need to add that little extra bit and then hopefully you're sharing that extra 10% with the rest of the world so the next person needs to take your idea and move it a little bit can uh thank you very much and I'll take some questions and since I'm doing the secondary the failover mic here what I'm gonna do is you you can talk to me and then I will repeat your question uh so go ahead yeah so the question is it's a leap year so that means there's gonna be an extra day is there any appreciable difference the appreciable difference is going to be there's going to be two extra rows in the scarf now I don't pretend that this is so precise that my current scarf if you were to count it it would have probably documented every single day because there's a thing here and there where something messed up or whatever and went on a trip maybe a bound and sometimes when it binds you're like I think I caught this in time to just rotate um 12 hours of it sometimes you know so in the end if I make a blanket out of it if we take this scarf and the 2024 and 2023 scarves they're gonna probably be more than just two rows different anyway so yeah thank you had another question yes have I the question is have I thought about automating weaving um I love the idea of doing that I've seen one there's one or two projects out there where someone has done that where what they did was they took kind of a production a production loom that had a fly shuttle so a fly shuttle uh for those of you don't weave if you've seen people weaving they they throw a thing black back and forth and that's called a shuttle and like the space shuttles named after that like basically everything that you do in life is probably comes from the fiber arts or one of these other ancient crafts right you don't realize or or sailing right you don't realize how all of this terminology for example in this front row this is the heckling row right well so the reason that we call it heckling is that if you are producing linen the way that you do that is you grow flax and then you let that rot for a little bit and then you take the outer shell out and you take this tool that has all these little needles sticking out of it and you scrape the inside of the flax and it separates the inner fibers from the outer and use those inner fibers you twist those into linen thread well that tool is called either a hackle or a heckle so when you are heckling somebody that term means that you are needling them with this tool that's stuck with needles anyway that's a whole other talk but yeah so there's there's a couple of there's a couple of projects that took a fly shuttle that goes back and forth by pulling a string and this person actually worked in a production on a production loom for a while that just was fully automated and they added like servos and a couple of other electronics to programmatically have it go back and forth and advance things and it's really advanced if you look on YouTube for like an automated fly shuttle loom you'll probably find it the best examples are sadly like twenty thousand dollars plus because they're actual production looms you can every now and then like you can some of them are even like from the turn of the turn of the 20th century you know like they're relatively old used to make denim some of those are still in production used today to make like it's in particular in Japan there's this whole group of weavers they're there I mean that's their companies but they make like really expensive denim for really expensive denim jeans and they maintain these old looms from like the heyday of denim that automate the whole process and when the part breaks they either fabricate the part to get it from a one of the spare antique looms they're doing same thing kind of goes for an antique French lace weaving where they have the same sort of thing where they maintain all these old cast iron Victorian era looms that are automated but in particular I would love to automate weaving kind of and I kind of really like the separation like one of the reasons I got into weaving was because it was completely manual like I don't even have an electronic bobbin winder I got one of those Swedish hand cranked ones because I like to have at least one thing I could do with no electricity right and so I can when I sit and weave I'm sort of like unplugging from all of that stuff and it's very meditative to kind of just like throw the shuttle back and forth and make fabric so if I did that it would be like a separate thing that's kind of why I was excited on the machine knitting part because I'm like that's that's the knitting world over there like I'm a kind of partially a weaver so I will you know stick over here with the manual stuff all right any other question yeah so so the question had to do about yarn thickness because the circular knitting machines have a range of yarns that they are optimal in and then a range of yarns that they're not and so for example the larger knitting machine is sort of the optimal hit largest you could go is about worsted weight for knitters is and then because I'll like you go to a store now it's all sort of aimed at knitters so it's all named after that like I'm used to like numbers because I'm a weaver but uh-oh it died wake up all right oh no oh well you saw the slides it doesn't it's not the end of the world um so anyway uh yeah so the bigger one would be worsted weight I think the worsted weight for this one would be a little bit too much but it would it would kind of work but the the key is for it to be relatively consistent thickness so for this the 22 hook one's more designed for socks so I would go I wouldn't go any thicker than DK um I have most of my most of my stash is DK or smaller for some I have some worsted but like I wouldn't I wouldn't go any thicker for for my scarf I have a lot of thinner than that yarn though so I have like a lot of what they would call lace weight um and in those cases sometimes I would I would have to double it up uh so that it would be thick enough because it really for this I defaulted the kind of sock weight uh for this because it's kind of made for socks and so the other thing is um this knitting machine like I had to add this to this uh design but the circular knitting machines also have a tensioner that sticks out that has a couple of different holes and yeah you you can adapt you can adjust for different yarn thicknesses by which and how many of those holes you use and some of that's a trial and error and some of it's also a function of the yarn so some yarn is just uh grabbier I guess um it has to do with it has to do a twist it has to do with what it's made out of is it super wash or not things like that that can cause it to be slicker um and sometimes if it binds a little bit you can have problems too so it just it's a trial and error yeah so the question was was there still trial and error on my case with the tension even knowing that about that and so I mean in my case I knew I was going to sit somewhere in the middle uh to be safe uh and I I did test I tested it first with a couple I just wanted to find the upper end so I put some worsted weight in there to see what would happen and of course it was like hard to turn and it would like strain the stepper motor right and I knew lace weight was too small you would get this like really spindly little tiny scarf and so yeah somewhere between DK and sock for me like had the best result um but yeah it definitely took trial and error with the tensioner I ended up running it through all the tensioners on mine uh because the way I designed it because I kind of I like the angle it entered into the hooks the way it grabbed um but I also designed it in such a way that you didn't have to if you dealt with us a thicker a thicker yarn you could skip a couple of those and get away with it any other questions yeah yes so the the question is when I'm making the scarf over time it gets a twist in it and why does it get a twist in it it gets a twist when I hang up the bottom of the scarf on a hook so the cats don't get it um and so when it's hung the the circular knitting machine is doing a full a two full rotations in a day and the scarf that's coming out of it is rotating because the the thing that's coming out of is rotating so if you were to look up front here you see this big circular like a clock hand and so if you imagine if you imagine a clock that you would attach a string to right and kind of hold the string like out from the clock so well from your perspective there's a clock here and I'm holding a string out this way and you just hold it and you put it on the minute hand every time that minute hand goes around it's going to add one single twist to that yarn um and every day it's going to add or every hour it's going to add 60 or every hour it's going to have one twist to that yarn and every day it's going to add 24 twists to that particular piece of yarn if you're holding it out in this case instead of it being out it's in so the scarf is being formed on the inside of the machine it's coming out the bottom that's being formed behind this circle so it just it adds it just naturally adds two full twists to that scarf and in 24 hours yeah yeah any other questions any I can do knitting questions I can do weaving questions too um yeah oh so the question is have I considered adding a a sensor to sense the binding um I haven't uh that's that'd be kind of an interesting addition honestly if I were going to modify it too much I would probably also want to just put like a higher quality knitting machine that had higher tolerances so I didn't have to worry as much about binding because even I've like I added lubrication in different parts and things like that to try to improve it and it kind of did but ultimately just comes down to you have non-precision parts that are kind of floating back and forth and just every now and then they just get in the right sweet spot to kind of bind a little bit it's just low tolerances so um any other questions all right well if you have other questions we can I'd love to talk about basically everything in this uh so we can talk outside thank you very much fair enough to see how many people are here today that's the whole point that's how one does is supposed to be we'll give it a few more minutes before we start that's sure in only six months to me security updates that require a reboot oh there's some major I mean cloud CA is all based off of cloud stack uh Canadian cloud provider yeah they're all running cloud uh no quite a few more servers than that um there's also some bigger ones in Europe yeah there's now even some uh now time to start I think so this is talking about cloud stack building your own cluster for $500 you can build on the cheap I'm sure there's quite a few people in here that have their own home servers that are running or have run in the past this is something very very doable uh first some about me uh I am the IT for my house as I'm guessing there's a few other people here uh I generally program I've been using doing software development for well over 20 years now so I am the one that fixes the servers or the computers or the internet or whatever breaks at home there was a time I worked on implementing an MLS trusted operating system and also implementing a system that run ran on trusted operating systems for those of you who have done that you know that that sort of screws up your view of security from there on but that's not what this talk is about this talk is about cloud stack and what I did to build a small useful set of cluster a small useful cluster uh for less than $500 I did this quite a few years ago this is actually a updated talk that I gave at Apache con a few years ago about this exact subject same talk um so now why would you want to do this first of all I just wanted to see if it was possible if it was possible to actually now it doesn't work at all if it was possible to build a cluster that would be useful for $500 could you get it would it be able to do any useful work could you keep it that cheap I'd been using AWS private clouds for quite a few years before this uh before this and uh wanted to have some other uh some other can people hear me still okay I can't tell from back here whether you can hear it or not um so I wanted to see some other clouds to see what actually underlaid the underlaid the cloud kind of those old hardware architecture classes that I was required to take in comps I because to really understand how it works to see how it works under the hood is really really helpful so that was one of the reasons um it matched up with a proposal at work so because of that um I think cloud stack was one of the reasons I looked into that um of course just it seems fun because running your own server whether it's Plex at home or Squeezebox or or your own DNS or whatever maybe sometimes for a lot of us that's something that's really fun to do and to have have enjoyment doing that so that was another deciding factor on why I wanted to try to do this uh and then when I actually got it running it turned out to actually really be useful for some of those side projects you're doing at home or maybe that learning of a specific distribution to take a look at so you can have a more informed opinion about it so why exactly did I choose cloud stack it's open source which is definitely something I think a lot of us would be a key deciding factor um it's probably one of the simpler full clouds you can deploy um open stack seems to have approved that recently there are other solutions like proxmox that aren't quite a full cloud cloud stack is a full cloud is used in production um for some pretty large numbers especially in Europe so that's one of the reasons I picked it um as I was mentioning earlier it matched up with the proposal I was doing for work and I figured might as well just get an early start on it and as I was mentioning before I really wanted to use a different cloud because all the clouds are slightly different and having a wider range especially as we were moving into a multi cloud deployments is really helpful so one of my requirements requirements are obviously as cheap as possible the cpu must support 64 bit with vm extensions that's required as part of as part of cloud stacks requirements I figured a minimum two nodes before it would be really useful so I'd need at least some storage something to manage it and then a compute even though there are quite a few options for cloud stack for storage I chose to do nfs figuring that that would be the easiest most straightforward to do it but there are a lot of other options you can pretty much any storage you can you can run under under class stack if you want to I was targeting to be able to run about three to five instances the more would be nice and figured a reasonable amount of memory for doing that was 16 gigs and so that's where I started so what am I not counting for that cost in here a big one is the network switch I just done an upgrade at home and I have plenty of ports I still have plenty of ports so I did not count that but you can reasonably get a two or three port switch for this to dedicate without too much trouble I also did not buy cases as you can see as an example of what I built it's just going to sit in the closet it can look ugly I took as you can see quite a bit of inspiration from the some of the minimalistic crypto rigs that you see out there and I had lots of scrap wood so I just stuck it together attached stuff as needed and that has actually worked out really well it's held up fine I've been a move of those servers a couple of times to reinstall os's or to upgrade hardware because hard drives failed or whatever it has been no problem so what is the process about doing this first I started with the cpu what was the minimal cpu that I could find that would meet the requirements find the cheapest memory without too many doa's if you look on whether you're looking on amazon or new cloud or whatever your preferred places usually you can see the reviews there and have some idea how many are being returned I chose yeah I could have gone cheaper with memory but it just wasn't worth the hassle of doa's so then I just found a cheap power supply looked at this is this reasonable a couple times I looked at I'm like yeah I don't think this is reasonable it's not either not gonna have enough power or it was gonna be too noisy or any number of other reasons so then I started over so I found something I thought was reasonable and then I just picked the biggest hard drives that fit within the budget so that ended up with 250 gig hard drives is what I started with that's not what it is on now it's now an SSD is about the same size cheap hard drives fail even more than other hard drives do so this was originally ordered in the fall of 2017 so it came to 487 dollars and 52 cents and I've looked a few weeks ago and you can get something pretty close to this or a little bit more powerful for a very similar price without any any issues at all I'll cover how some ways to maybe even do this cheaper as I mentioned I'll cover how some ways to maybe even do this cheaper as I mentioned this did not include cases or network if you want to do cases you're probably gonna add on 10 to 20 dollars if you're buying this cheaper cases you can find more if you want a nicer case um and that was including I got some rebates on top of that 400 so it was even less so what have I upgraded since then um the 250 gig hard drives died um and I buy replacement ones and then they died so I said no um and I that by the time that I replaced them it wasn't really that much more to just buy 250 gig SSDs and I'm only using storage on one of the nodes so I was like eh it's cheap enough I just did it it didn't really make much of the difference if you look at current prices now on smaller hard drives you can't really save much money at money on them SSDs sometimes tend to be cheaper um until you get into reasonably larger hard drives in 250 gigs now I've also split up my or changed my management storage server to a Raspberry Pi uh that was inspired by after attending a class at collaboration conference a few years ago um as they were talking about that and there's actually one of the community members that builds packages specifically for Raspberry Pi so you could do a whole cluster with a Raspberry Pi I just chose to do the storage and management and then make two compute nodes um so that was another 170 but realistically we probably have some hardware around the house which brings me to the next way where you can save money on this you could do all Raspberry Pies it's doable there are people who are actually doing that now and making useful getting useful clusters out of that and they take up a lot less space and they take up a lot less power uh for some of this power can be a consideration in California so you can also realistically do you have extra hard drives how many people here have extra hard drives yeah exactly you can skip the cost of the hard drives you can probably end up with a bigger hard drive than I did um for less money um there's also probably a few of you that have extra CPUs laying around from upgrading previous servers yeah I see someone there someone else um or extra memory that you may have sitting around a few more hands go up again so those are some ways that you can you you can take what hardware you may already have maybe you only have to buy a motherboard for it or another CPU for it and make it for a lot less than 500 you can pick refurbish hardware I tended to stay away from that just because of the difficulty of making sure the hardware is actually reasonable whether that's a refurbish CPU where you'd have to then get a cooler for it and make sure it matches the motherboard you want make sure it isn't failed in some way you earn more risk but you can get them much cheaper than you can in new hardware same with motherboards um another way you can end up saving money depending on how current hardware prices are is sometimes it's more advantageous to pick the memory first and start there say what is the cheapest memory I can get for the amount that I want and base all your hardware in that I picked CPU in this case but with how memory prices fluctuate in hardware you just kind of have to look but you can definitely save more money there um you can also get really cheap rack mount hardware especially if you're willing to buy some refurbish stuff um I did find some significantly more powerful hardware than what I ended up building that was rack mount hardware the problem with that hardware is it's loud I don't I'm sure we've all had experience with that and at the time I didn't have my own office it was the wife my wife's office and putting that lot of hardware was not conducive to to keeping keeping people happy in the house so even though I did find it find ways to do it um it it can be more expensive you can you also then need to get a rack for that and there is why you can buy racks that are expensive there is a whole group and I'll have a link to this later building a rack out of lack tables from IKEA that worked pretty well um I haven't done that yet I'm considering it since I have my own office now um whether I want to put it with that much noise in my office is to be decided so now a little bit over you about cloud stack so how to go about installation uh I started with Ubuntu 1804 just had ssh server sudo and basic networking setup one compute node one management node management storage node uh later switched to the raspberry pi as I mentioned I manually set up the net networking on those compute nodes you could do it with ansible if that's what you prefer I used ansible for most of my place it's just if they're sitting in a closet without a display it can be really hard not to disconnect yourself so you can't fix it so sometimes it's easier just to do some that stuff on the console by hand um all their packaging needed for class act I installed with some custom ansible roles that I did I didn't pick anything out of galaxy or roles that plays or roles that were already written because I kind of wanted to dig in to figure out how it all worked how it all went together so to force myself to do that I chose to write my own roles and plays and I'll have a link to those at the end as well um then I just pulled that all together with some static inventory for ansible as I'm sure there's quite a few people here familiar with ansible some people mentioned that before the talk started um and then I automated purging of the nfs setup clutton compute and management so it was easier than instead of going and poking at the database that underlies and fixing that I figured it was easier just to purge everything and start over and that ended up being a big time saver um I just mean if you have the database knowledge go for it but I don't I'm more of a developer on the developer side um system and stuff is kind of incidental to my development and so I just didn't to get all the networking done I took the easy route to get all the database and I figured it was easier to purge instead of to try to dig through the database because I just I don't do it enough I do have some automated source installation and building in those ansible roles but I haven't really done it that way that is definitely the way a lot of bigger installs of classic work is they're not using the community provided packages they're actually taking the source and building it from scratch to make sure that it meets exactly what they're trying to do and then I went through the manual uh configuration in the web interface which has gotten a lot better from when I first started on this the current 418 or actually 419 now just released last month um is much much better so some of the few of the gotchas that I got with working on this um system VMs definitely have been an issue with the class act they've now moved that into the management package so the class management when you either build that manually or you download the community edition it includes the system VM template for all um hypervisors that are supported which means that package is 1.3 gigs now which for some of us maybe we're installing at the end of a relatively slow network interface um that can be noticeable uh if you can find a way to cache that locally there is a way to do that with the ansible play so it's not well documented you have to look at the source just something to be aware of on that one networking issues um or I'm sorry custom template creation so one of the things I found really helpful to do was to customize the template those of you who've worked in the cloud before will know that making an AMI the custom AMI is can be really helpful for having like a base to start from what you're generally doing but there's a few gotchas so some of these are going to be repeats for those of you who've worked in the cloud making your own own images in class like they call them templates instead of AMIs or images and some of the other ones um it's pretty standard use cloud init for all of this uh cloud init supports cloud stack without any problems supports open stack supports adbs that's how they do a lot of the initialization when you start up your instance to get set is done with cloud init um I've used CentOS and Rocky um but I prefer Debian and that's usually what I started with in some cases I started from an ISO install for the template and just did a real minimal install with just the bare minimum SSH with a key that I knew or a password and that's it and then I have some of the I've captured in again that ansible that I'll hold into at the end um of how I prep some of those templates into actually becoming templates but one of the things that caught me is slash and grow and there were two different reasons for this initially I didn't put the last slash partition as the last partition which those of you who've done this before will know that just doesn't work um once I put it the last partition that worked for Debian and Ubuntu it didn't work for Rocky and what turned out to be the case is for whatever reason Rocky cloud init at the time that I did this did not depend on cloud init utils and without cloud init utils it won't grow so those of you who are new to this will realize that those of you who've done it before okay I'm stopping back a second because I skipped a slide on networking issues I took the simple basic networking for clausack they changed the name of it and I think it's called a simple networking instead of basic like it was this does not include any vlands this doesn't this is just security groups so just basic firewall for isolation of guests um clausack does support vlan it does support vxlan it does support some sdn solutions as well but I'm not an apricot engineer I'm just without that experience undoing the networking it can be quite hard to get that all configured if you're more of a networking engineer go for it go buy yourself a Cisco switch and you can you can get vlan isolation and all that stuff working um I took all of the 10 slash 8 because I wasn't using it on my home network just dedicated the whole thing to clausack um I don't use anywhere near that number of uh ips obviously because I don't have enough instances but it has been useful to keep it separate from the rest separate from the rest of my networking um the first problem I had is getting the bridge networking setup correctly the compute node needs to have a bridge networking for all networking that your vms may connect to which includes the management network which is how clausack talks to all the different instances includes any storage networking so that it can talk so that the it has a system vm that comes up that manages the access of instances to all the secondary storage and primary storage that needs to have a bridge so that works um and then the guest network in my case I just stuck everything on what's effectively a public IP address which is just an IP address that's accessible from the rest of my network there are ways to do guest isolation with vpcs just like you do in adbus google zur open stack I just chose not to do that for my home networking um the second thing that keeps catching me I keep forgetting about is that the pod networking the ip space that you set aside for the pod during setup is the networking space that all of the networks need to fall under the management and the storage and all that because otherwise it it doesn't get set up correctly I keep forgetting to set it that way I'm sure someone else will will do that um one way you can tell once you have it running and you've gone through your first step of configuration is clausack at as of 419 it still does this there's talk of changing that um it downloads a sentos template that is ancient but once that template downloads and you can see it on your network and you can see it in your cloud you know that you've gotten everything set up correctly the most common issue I ran into is that I typode the storage network and then it wouldn't successfully download and it will tell you when you go in there I don't have examples of that today talked about customer okay so now to talk about what did I use my cloud for a big one was ansible testing as some people mentioned before starting up that they've used ansible I don't know how many people here have a few um it has been very useful having instances that I can just spin up and spin down that generally better match actual installed servers that I've been running since in some cases long before ansible was around in other cases I just didn't configure them with ansible to begin with um having ones that I instances I can spin up to test roles or to go back and say you know I really want to capture my DNS configuration to make sure that I can push it out to other servers has been really useful much more useful than I expected it was going to be um I've also tested quite a few different distros um whether that's different versions of Ubuntu or Debian or Rocky or Alma or CentOS or they even stood up and Nick's template at one point to mess with our Nick's there's there's another one that I've set up a few times um and then I also did some testing for potentially building a custom NAS for home and it was actually useful granted the storage is a little bit limited so I didn't have quite as much storage to do a full test but it was enough to get an idea that hey do I want to do true NAS I want to do open media vault I want to do something else um it was surprising useful even on something like that um I've also generally started testing most of my services that get put on the home server in the cloud first so before I actually set up Plex for real on an actual server in my network I ran it in cloud stack and that worked perfectly fine it was not perfect mostly because um again storage space because there's only a limited amount of storage I have but also because I picked cheap processors and if there's any sort of transcoding not gonna work but that's plenty to get testing done it's plenty to get an idea of