WEBVTT 00:00.000 --> 00:12.000 All right, welcome back to the open hardware and CAD-CAM Devroom at FallsDem26. 00:12.000 --> 00:18.000 Next up, we have Julian, who is many, many things, but I think he is most known for his work 00:18.000 --> 00:20.000 on the open flexure microscope. 00:20.000 --> 00:22.000 Right, hi everyone. 00:22.000 --> 00:26.000 So I'm glad to have bid Mike back again this year. 00:27.000 --> 00:31.000 We gave a talk last year in this room about the open flexure microscope. 00:31.000 --> 00:36.000 I thought we'd delve a bit deeper into how we do the documentation, 00:36.000 --> 00:37.000 the validation. 00:37.000 --> 00:41.000 I'm so glad that people actually turned up for a talk with documentation 00:41.000 --> 00:43.000 and validation in the title. 00:43.000 --> 00:46.000 You'll also see at the bottom the humanitarian technology trust. 00:46.000 --> 00:49.000 So in the last year we've set up a UK non-profit, 00:49.000 --> 00:54.000 so we can push forward a lot of our humanitarian goals for building microscopes. 00:54.000 --> 00:58.000 So just for an idea of how much people know how many people were here 00:58.000 --> 01:00.000 at my talk last year. 01:00.000 --> 01:03.000 Well, a few people in for more. 01:03.000 --> 01:06.000 How many people have heard of the open flexure microscope? 01:06.000 --> 01:07.000 Nice. 01:07.000 --> 01:10.000 How many people have an open flexure microscope? 01:10.000 --> 01:11.000 Yeah, pretty good. 01:11.000 --> 01:14.000 How many people were too scared to put their hand up? 01:14.000 --> 01:15.000 None. 01:15.000 --> 01:16.000 Ah, one. 01:16.000 --> 01:17.000 Okay, good. 01:17.000 --> 01:22.000 So, normally we start with microscopy for everyone. 01:22.000 --> 01:25.000 And you start thinking, well, those people go, what? 01:25.000 --> 01:27.000 Does everyone really need a microscope? 01:27.000 --> 01:29.000 I don't think everyone needs a microscope. 01:29.000 --> 01:31.000 Why would everyone need a microscope? 01:31.000 --> 01:36.000 And it's not the microscopes for everyone, but microscopy. 01:36.000 --> 01:39.000 So, while you might not want a microscope, 01:39.000 --> 01:44.000 you would be really sad if your local hospital did not have any microscopes. 01:44.000 --> 01:48.000 If the people let check your water quality, do not have microscopes, 01:48.000 --> 01:54.000 it's important that everybody has microscopy available for what is happening in their life. 01:54.000 --> 02:00.000 So, particular microscopy is the gold standard for many diagnosis. 02:00.000 --> 02:05.000 Cancer diagnosis, malaria diagnosis, number of other diseases. 02:05.000 --> 02:08.000 And the survival rates are so much higher if you catch it early. 02:08.000 --> 02:13.000 So, malaria is almost 100% curate if you catch it early enough 02:13.000 --> 02:15.000 and treat it appropriately. 02:15.000 --> 02:19.000 It's still half a million people die every year from malaria. 02:19.000 --> 02:23.000 And that's predominantly children on the age of five and subsaharan Africa. 02:23.000 --> 02:25.000 So, here we've got a picture of Dr. Elisa. 02:25.000 --> 02:27.000 He's got a manual microscope there. 02:27.000 --> 02:31.000 He's looking at biopsies, looking for a cancer diagnosis. 02:31.000 --> 02:33.000 They've got one manual microscope. 02:33.000 --> 02:37.000 Now, if he is the only hystropophologist in his area of Rwanda, 02:37.000 --> 02:41.000 if he wants to have a discussion about a difficult case, 02:41.000 --> 02:43.000 he does not have that option. 02:43.000 --> 02:46.000 So, I think in the UK for most cancer diagnosis, 02:46.000 --> 02:50.000 you need two hystropophologists to both agree because it's so hard to diagnose. 02:50.000 --> 02:56.000 So, how does he build up that ability to see these difficult cases 02:56.000 --> 02:59.000 without the conversations with his peers? 02:59.000 --> 03:02.000 Now, we're in a place where inequalities are widening. 03:02.000 --> 03:05.000 So, sure, you can get big digital equipment 03:05.000 --> 03:07.000 that can scan the entire slide. 03:07.000 --> 03:10.000 But, you go to a conference now. 03:10.000 --> 03:11.000 Have a conference. 03:11.000 --> 03:13.000 Guess what everyone's talking about. 03:13.000 --> 03:14.000 AI. 03:14.000 --> 03:15.000 Yes. 03:15.000 --> 03:17.000 So, everything is AI. 03:17.000 --> 03:20.000 But, if you're now in Dr. Elisa's lab, 03:20.000 --> 03:25.000 you don't have one of these microscope that can scan the entire sample. 03:25.000 --> 03:28.000 So, you're now left behind from that. 03:28.000 --> 03:30.000 And we can't exactly just buy one of these and just stick it anywhere, 03:30.000 --> 03:33.000 because it will assume it has perfect stable power. 03:33.000 --> 03:35.000 It's not going to run off a USB power bank. 03:35.000 --> 03:37.000 It probably assumes it's in air condition. 03:37.000 --> 03:39.000 It doesn't like humidity. 03:39.000 --> 03:41.000 Certain things need proprietary consumables. 03:41.000 --> 03:43.000 I'm not sure about this one. 03:43.000 --> 03:47.000 So, we actually end up in a situation where we can't just throw money at the problem. 03:47.000 --> 03:51.000 Donating medical equipment is something that people think of a lot. 03:51.000 --> 03:55.000 But, between ten and thirty percent of medical equipment 03:55.000 --> 03:59.000 that is donated to sub-Saharan Africa is used once. 03:59.000 --> 04:00.000 Just once. 04:00.000 --> 04:03.000 That's because people, you might send it without the instructions. 04:03.000 --> 04:04.000 You might send it. 04:04.000 --> 04:05.000 It's not in the local language. 04:05.000 --> 04:06.000 It needs training. 04:06.000 --> 04:08.000 There's proprietary consumables. 04:08.000 --> 04:11.000 You get something working. 04:11.000 --> 04:12.000 And then what happens. 04:12.000 --> 04:14.000 So, this is also in Dr. Elisa's lab. 04:14.000 --> 04:15.000 This is a tissue processor. 04:15.000 --> 04:17.000 It's not working. 04:17.000 --> 04:20.000 It's currently not working because there's probably one little thing 04:20.000 --> 04:21.000 wrong with it. 04:21.000 --> 04:23.000 But, no one's going to send you a troubleshooting guide 04:23.000 --> 04:25.000 and some spare parts. 04:25.000 --> 04:27.000 They want the company engineer to fly over. 04:27.000 --> 04:29.000 If you don't have a company engineer, 04:29.000 --> 04:32.000 close by and you're paying for a long haul flight. 04:32.000 --> 04:35.000 A lot of companies with long haul flights want them to be business class. 04:35.000 --> 04:38.000 You have to pay for a long haul business class flight. 04:38.000 --> 04:41.000 It might cost more to get something mended than to get a new one. 04:41.000 --> 04:44.000 So, if somebody is giving you money to get new equipment 04:44.000 --> 04:46.000 and they're not giving you a service contract, 04:46.000 --> 04:49.000 then how are you going to keep it running? 04:49.000 --> 04:53.000 The answer is, most of our tissue processing is a machine 04:53.000 --> 04:55.000 that dips things in containers. 04:55.000 --> 04:57.000 So, you have containers and a guide with a stopwatch 04:57.000 --> 05:00.000 and that is now the process that is being used in the lab. 05:00.000 --> 05:02.000 So, back to microscopes. 05:02.000 --> 05:04.000 Why don't we just build them locally? 05:04.000 --> 05:06.000 If we build them locally, they can be supported locally. 05:06.000 --> 05:08.000 That's the best thing to do. 05:08.000 --> 05:12.000 How hard can it really be to build a microscope? 05:12.000 --> 05:16.000 I mean, you just sort of need to move something around the optics fairly easy. 05:16.000 --> 05:19.000 Now, traditional dovetails have to be machine really smooth, 05:19.000 --> 05:22.000 otherwise they sort of stick and slip and slip and slip 05:22.000 --> 05:24.000 and you can't do the fine motion you need. 05:24.000 --> 05:27.000 But actually, if you 3D print some plastic 05:27.000 --> 05:30.000 and make some thin bits, it bends at the thin bits. 05:30.000 --> 05:32.000 That doesn't have any of those problems. 05:32.000 --> 05:35.000 You then go, well, 3D printers give you this ability 05:35.000 --> 05:37.000 to print weird shapes. 05:37.000 --> 05:40.000 Each of these red dots is basically a hinge. 05:40.000 --> 05:42.000 This is an early prototype of the microscope. 05:42.000 --> 05:45.000 And now suddenly you've got, this is the next wide translation stage. 05:45.000 --> 05:47.000 You can add in a z. 05:47.000 --> 05:52.000 And you then need a camera, a couple of bits of optics. 05:52.000 --> 05:54.000 Boom, you've got a microscope. 05:54.000 --> 05:57.000 So, it's an open flexion microscope. 05:57.000 --> 06:00.000 Now, can everyone build a microscope? 06:00.000 --> 06:02.000 Yeah. 06:02.000 --> 06:05.000 So, why can't they build a microscope? 06:05.000 --> 06:09.000 Well, open hardware itself is a really hard thing to do. 06:09.000 --> 06:11.000 So, think about open source. 06:11.000 --> 06:14.000 Open source, we always normally think about open source software. 06:14.000 --> 06:16.000 What is your source is really easy. 06:16.000 --> 06:18.000 Here are my code files. 06:18.000 --> 06:20.000 I put them in its open source. 06:20.000 --> 06:25.000 But with a CAD, it might be giving me problems this time. 06:25.000 --> 06:27.000 I'm going to have normal mic. 06:27.000 --> 06:33.000 So, yeah, we can have a repository of CAD files. 06:33.000 --> 06:34.000 Sorry. 06:34.000 --> 06:35.000 Can you still hear me? 06:35.000 --> 06:36.000 Yeah, right. 06:36.000 --> 06:38.000 We can have a repository full of CAD files. 06:38.000 --> 06:42.000 But that is pretty painful because if people don't have the CAD package, 06:42.000 --> 06:45.000 know how to use it, people have different CAD packages. 06:45.000 --> 06:48.000 Trying to actually build each of those files really painful. 06:49.000 --> 06:52.000 We could just wing all the step files or SDL files into a repository. 06:52.000 --> 06:54.000 That's not actually open. 06:54.000 --> 06:56.000 People can't continue to work on it. 06:56.000 --> 06:59.000 Final solution is put both of them in there. 06:59.000 --> 07:02.000 And then your repository gets enormous. 07:02.000 --> 07:05.000 And it's really hard to work with. 07:05.000 --> 07:07.000 Also, documentation. 07:07.000 --> 07:09.000 You need pictures of each step. 07:09.000 --> 07:11.000 So, people can understand what's happening. 07:11.000 --> 07:14.000 You need words, especially for different, difficult things. 07:14.000 --> 07:17.000 This is how you do things thinking about troubleshooting. 07:17.000 --> 07:19.000 As you go through it, you need to build a materials. 07:19.000 --> 07:20.000 And they need to be up to date. 07:20.000 --> 07:24.000 If you're doing open source properly, you're continuously iterating on the design. 07:24.000 --> 07:27.000 And the number of times that you change something. 07:27.000 --> 07:30.000 And then need to think about how do I change the documentation. 07:30.000 --> 07:33.000 Ah, well, this is back from a different time. 07:33.000 --> 07:37.000 So, here is some early open flagship documentation. 07:37.000 --> 07:39.000 Please get all of these parts. 07:39.000 --> 07:40.000 Put them together. 07:40.000 --> 07:43.000 And then, and you get a message saying, 07:43.000 --> 07:44.000 Mind didn't turn green. 07:44.000 --> 07:46.000 Was mine meant to turn green? 07:46.000 --> 07:48.000 Well, no, it doesn't need to turn green. 07:48.000 --> 07:50.000 That's just a photo from a different time. 07:50.000 --> 07:51.000 Normally, we didn't quite get it. 07:51.000 --> 07:52.000 It doesn't turn green. 07:52.000 --> 07:54.000 But, oh, I think it's a different part. 07:54.000 --> 07:56.000 These motor logs have gone. 07:56.000 --> 07:58.000 I actually go through the documentation. 07:58.000 --> 08:02.000 It was going from red with motor logs to green to red again to green. 08:02.000 --> 08:08.000 And everything that we're actually doing there is perfectly explained. 08:08.000 --> 08:11.000 Because nothing has actually changed that you're doing. 08:11.000 --> 08:13.000 But anything in the background that's changed, 08:13.000 --> 08:15.000 if you're not sure what you're building, it's confusing. 08:15.000 --> 08:19.000 But, if you write really good documentation with 3,400 photos, 08:19.000 --> 08:22.000 and somebody says, can I change this bit? 08:22.000 --> 08:25.000 Oh, I'm not taking 400 new photos. 08:25.000 --> 08:29.000 You can change that bit if you take 400 new photos. 08:29.000 --> 08:32.000 So, why else is open hardware? 08:32.000 --> 08:34.000 Because of atoms. 08:35.000 --> 08:37.000 Atoms are very problematic. 08:37.000 --> 08:41.000 You need the correct ones, and you need them in the correct places. 08:41.000 --> 08:45.000 And so, you have to work out, what are you even calling different things? 08:45.000 --> 08:47.000 So, great thing about software. 08:47.000 --> 08:49.000 You build it somewhere in a Docker container. 08:49.000 --> 08:50.000 Somebody clicks a button. 08:50.000 --> 08:51.000 They've got the software. 08:51.000 --> 08:53.000 That means if somebody wants to contribute, 08:53.000 --> 08:55.000 it's quite easy to get up to scratch. 08:55.000 --> 08:57.000 You want to contribute to a hardware project. 08:57.000 --> 08:59.000 You need to get all the bits of hardware. 08:59.000 --> 09:02.000 So, first of all, you've got to buy all the parts. 09:02.000 --> 09:04.000 You've got to put the bill of materials and source everything. 09:04.000 --> 09:06.000 And you get to weird problem of naming. 09:06.000 --> 09:08.000 Anyone know what this is called. 09:08.000 --> 09:10.000 Robscrew. 09:10.000 --> 09:11.000 Great. 09:11.000 --> 09:12.000 It is a grub screw. 09:12.000 --> 09:15.000 So, here we have a grub screw. 09:15.000 --> 09:17.000 Anyone American? 09:17.000 --> 09:18.000 What's it called? 09:18.000 --> 09:20.000 It's a set screw. 09:20.000 --> 09:21.000 Thank you. 09:21.000 --> 09:22.000 So, this is a set screw. 09:22.000 --> 09:24.000 So, kind of confusing. 09:24.000 --> 09:26.000 So, maybe I should just write set screw, 09:26.000 --> 09:27.000 because we can look that up. 09:27.000 --> 09:31.000 However, in the UK, this is a set screw. 09:31.000 --> 09:34.000 Because you can use it to set a thing in a place. 09:34.000 --> 09:37.000 So, now, how do you actually do it? 09:37.000 --> 09:40.000 I can say that what I want you to buy is a DIN 933. 09:40.000 --> 09:42.000 Because then it's really, really, really specific. 09:42.000 --> 09:45.000 And no one knows what you're talking about. 09:45.000 --> 09:50.000 So, the other reason why it's so hard is collaboration. 09:50.000 --> 09:51.000 You've got different collaboration. 09:51.000 --> 09:53.000 How do you do the collaboration tools? 09:53.000 --> 09:56.000 We've got collaboration tools that work so well for software, 09:56.000 --> 09:59.000 but for hardware, most of the collaboration tools 09:59.000 --> 10:01.000 have business in mind. 10:01.000 --> 10:06.000 You're talking like tens of thousands of euros per seat per year. 10:06.000 --> 10:10.000 And if that is the barrier to entry to your open hardware project, 10:10.000 --> 10:11.000 it's not that open. 10:11.000 --> 10:13.000 So, talk a little bit about that later, 10:13.000 --> 10:15.000 but how are we doing things now with open flexure? 10:15.000 --> 10:19.000 So, in our repository, we entirely use open scad. 10:19.000 --> 10:23.000 Only open scad files are in the repository. 10:23.000 --> 10:26.000 All of the STLs are generated in CI. 10:26.000 --> 10:28.000 Does everyone know what I mean by CI? 10:28.000 --> 10:32.000 Basically, you, every time we push something to the Git repository, 10:32.000 --> 10:34.000 something starts up in the server, 10:34.000 --> 10:36.000 and it builds every single STL. 10:36.000 --> 10:38.000 So, as zip of STLs appears, 10:38.000 --> 10:40.000 they're the files that go on the printer, 10:40.000 --> 10:42.000 but we don't have any of them in the repository. 10:42.000 --> 10:44.000 That way, I know that if somebody changes something, 10:44.000 --> 10:46.000 they're all always up to that. 10:46.000 --> 10:50.000 So, I put this picture in that we had last year. 10:50.000 --> 10:52.000 One thing we can do if they're being built in CI 10:52.000 --> 10:54.000 is we can even put the Git hash on the side, 10:54.000 --> 10:56.000 so as you're working towards medical device quality, 10:56.000 --> 10:58.000 you've actually got traceability of you know exactly 10:58.000 --> 11:00.000 what version the source code was 11:00.000 --> 11:02.000 when you made that particular file. 11:02.000 --> 11:06.000 The other thing we have is no photos. 11:06.000 --> 11:08.000 This way, we don't have to retake any photos. 11:08.000 --> 11:14.000 So, open scad didn't actually have an assembly thing, 11:14.000 --> 11:18.000 so we had to build a bunch of assembly tools in open scad, 11:18.000 --> 11:20.000 set up some rendering. 11:20.000 --> 11:24.000 We have a rendering script, so now I have this particular picture 11:24.000 --> 11:28.000 we're putting in a sample clip, 11:28.000 --> 11:32.000 but I have multiple variations of the microscope. 11:32.000 --> 11:38.000 I have the one where the slightly different lens here, 11:38.000 --> 11:40.000 or there's an upright one, 11:40.000 --> 11:44.000 or the low cost one where the low cost camera. 11:44.000 --> 11:48.000 Everything or one of these is completely consistent, 11:48.000 --> 11:51.000 so then we only have to write the CAD once, 11:51.000 --> 11:53.000 we've got code switches in it, 11:53.000 --> 11:55.000 of which one are you building, 11:55.000 --> 11:57.000 you create the optics assembly, 11:57.000 --> 11:59.000 put the optics assembly in place, 11:59.000 --> 12:01.000 and you run through each iteration, 12:01.000 --> 12:03.000 which means that with four variations of the design, 12:03.000 --> 12:07.000 we can have all of the assembly instructions, 12:07.000 --> 12:09.000 always up to date, and entirely consistent. 12:09.000 --> 12:11.000 Because before that, 12:11.000 --> 12:13.000 I don't know if anyone had those books, 12:13.000 --> 12:15.000 so it was make your own adventure books that used to have us kids. 12:15.000 --> 12:17.000 That was what our early documentation was like, 12:17.000 --> 12:19.000 it was brilliant, you get to it, 12:19.000 --> 12:21.000 why are you building the low cost one, 12:21.000 --> 12:23.000 or the one without the feet, 12:23.000 --> 12:25.000 unless it is the third Thursday of the month, 12:25.000 --> 12:27.000 in which case this, if you do pick up this, 12:27.000 --> 12:29.000 unless it's impossible to go through it, 12:29.000 --> 12:31.000 so having one perfectly standard, 12:31.000 --> 12:33.000 this is the microscope that I'm building, 12:33.000 --> 12:37.000 and all of the pictures consistent is enabled by this, 12:37.000 --> 12:39.000 but it's only enabled by this, 12:39.000 --> 12:43.000 if we have a platform that can actually mean that we don't have to write 12:43.000 --> 12:47.000 those bits of text multiple times, 12:47.000 --> 12:49.000 so we've written a program called GetBuilding, 12:49.000 --> 12:51.000 so it's our own documentation program, 12:51.000 --> 12:53.000 where we can write snippets of Markdown, 12:53.000 --> 12:55.000 or we can hold bits of Markdown. 12:55.000 --> 12:59.000 Inside it, we have tagged parts, 12:59.000 --> 13:01.000 so when you use one, you say, 13:01.000 --> 13:03.000 I'm using four screws, 13:03.000 --> 13:05.000 and then when you use more screws later, 13:05.000 --> 13:07.000 it adds them up, but if you're putting in 13:07.000 --> 13:09.000 different sections for different variations, 13:09.000 --> 13:11.000 the microscope, each of them then has a consistent 13:11.000 --> 13:13.000 bill of the materials, each of them has a consistent set of photos, 13:13.000 --> 13:16.000 and we're not maintaining multiple copies of the same text. 13:16.000 --> 13:20.000 If you want to learn more about GetBuilding, 13:20.000 --> 13:24.000 there is a QR code here to my talk at Fastdown in 2022, 13:24.000 --> 13:26.000 some things have changed since then, 13:26.000 --> 13:30.000 but you get a better idea of what it's there. 13:30.000 --> 13:34.000 So, I then write a sentence, 13:34.000 --> 13:36.000 automation enables process, 13:36.000 --> 13:38.000 and I felt I'd become very corporate, 13:38.000 --> 13:42.000 but I feel automation has enabled us to do something 13:42.000 --> 13:44.000 that we would have not been able to do without it. 13:44.000 --> 13:47.000 So, I did my whole presentation in a way of framework, 13:47.000 --> 13:48.000 so I could have better everything, 13:48.000 --> 13:51.000 and then GitLab gave me security warnings about iFrame, 13:51.000 --> 13:52.000 so I can't. 13:52.000 --> 13:56.000 So, this is where we test if the internet is working during my talk, 13:56.000 --> 13:58.000 if it's not, I'm going to do the rest with interpreter dance. 13:58.000 --> 14:00.000 Oh, you're lucky. 14:00.000 --> 14:01.000 Right. 14:01.000 --> 14:02.000 So, 14:02.000 --> 14:03.000 so, 14:03.000 --> 14:07.000 we've now got a process for knowing what happens 14:07.000 --> 14:11.000 whenever we change the design, which is so important for doing hardware well. 14:11.000 --> 14:13.000 So here, William, 14:13.000 --> 14:16.000 once to make sure that the range of motion is working fine, 14:16.000 --> 14:18.000 we've found a couple of places where if you move to one side, 14:18.000 --> 14:21.000 we manage to crash part of the stage into something else. 14:21.000 --> 14:23.000 So, what embarrassing that we didn't find this earlier? 14:23.000 --> 14:25.000 But rather than William just saying, 14:25.000 --> 14:27.000 okay, I want to make the change. 14:27.000 --> 14:29.000 This is what I've done. 14:29.000 --> 14:31.000 We've got, of course, 14:31.000 --> 14:33.000 all of the particular changes to the code, 14:33.000 --> 14:36.000 and this is one thing that's so nice about a code-based cat, 14:36.000 --> 14:38.000 as we can actually see the diffs through, 14:38.000 --> 14:40.000 of exactly what's changing, 14:40.000 --> 14:42.000 and we didn't have to redraw anything. 14:43.000 --> 14:46.000 But William showing me that the legs were crashing. 14:46.000 --> 14:47.000 He first cut something out. 14:47.000 --> 14:48.000 We had a discussion, 14:48.000 --> 14:50.000 decided that we'd maybe cut too much out. 14:50.000 --> 14:53.000 There's some pictures of different parts of it. 14:53.000 --> 14:54.000 But as we go down, 14:54.000 --> 14:58.000 we can see we've got our checklist of what we're going to do before we merge it. 14:58.000 --> 15:01.000 We have a CI that I'll come back to in a little bit. 15:01.000 --> 15:02.000 But all the way through, 15:02.000 --> 15:04.000 we've got our whole conversation about 15:04.000 --> 15:05.000 what is happening, 15:05.000 --> 15:07.000 why we're making these decisions. 15:07.000 --> 15:09.000 We can put cutaways from it, 15:10.000 --> 15:13.000 decide what we're doing as we go through. 15:13.000 --> 15:15.000 But my favorite thing about this, 15:15.000 --> 15:18.000 so we can see in the CI that we first, 15:18.000 --> 15:20.000 we do a silly version check thing. 15:20.000 --> 15:23.000 We then do some linting that we vote for open-scad. 15:23.000 --> 15:26.000 We have a spell checker because if anyone has worked with me, 15:26.000 --> 15:29.000 you'll know that if we have documentation with that spell checker, 15:29.000 --> 15:30.000 it's terrible. 15:30.000 --> 15:32.000 We build all of the SDLs. 15:32.000 --> 15:34.000 We render all of the files. 15:34.000 --> 15:35.000 We build 3DGLTFs, 15:35.000 --> 15:38.000 so we can spin them around and see different things. 15:39.000 --> 15:43.000 We do a check for the SDLs and check some hashes, 15:43.000 --> 15:46.000 and then finally we build the documentation. 15:46.000 --> 15:48.000 But that means in the merge request, 15:48.000 --> 15:50.000 I know that each of those things have passed 15:50.000 --> 15:52.000 and all the SDLs have been built. 15:52.000 --> 15:54.000 And if I want to build Williams Modified Microscope, 15:54.000 --> 15:57.000 I click this button that says View App. 15:59.000 --> 16:01.000 This is the documentation, 16:01.000 --> 16:03.000 not now of the open-flicture project, 16:03.000 --> 16:05.000 but if I accept this merge request, 16:05.000 --> 16:08.000 every single place, if I go in, 16:08.000 --> 16:10.000 if I zoom in on a particular part, 16:10.000 --> 16:13.000 I will be able to see those little bits that I cut out. 16:13.000 --> 16:16.000 I can go to Build the Microscope, 16:16.000 --> 16:18.000 I can go to Print the Parts, 16:18.000 --> 16:21.000 and if I find where it says MainBuddy, 16:23.000 --> 16:27.000 this is loading over the Wi-Fi, 16:27.000 --> 16:29.000 the MainBuddy with those little cutouts, 16:29.000 --> 16:31.000 I can download it, I can print it. 16:31.000 --> 16:35.000 And this means that I know exactly what is going to be merged, 16:35.000 --> 16:38.000 and I can check everything from the documentation 16:38.000 --> 16:40.000 through to the final files. 16:40.000 --> 16:43.000 What I found really interesting the other day 16:43.000 --> 16:46.000 is William was talking to me. 16:46.000 --> 16:49.000 He's done most of the documentation for the last two years. 16:49.000 --> 16:50.000 And he went, 16:50.000 --> 16:53.000 I'm really going to need to get the Render Script 16:53.000 --> 16:56.000 to work on my own computer one day. 16:56.000 --> 16:59.000 And what you've been doing this for two years is like, 16:59.000 --> 17:03.000 I've never needed to actually run it. 17:03.000 --> 17:07.000 And you're almost going to the point where 17:07.000 --> 17:10.000 I start using somebody's professional cab tool 17:10.000 --> 17:12.000 to use this and you're like, 17:12.000 --> 17:13.000 okay, yeah, yeah. 17:13.000 --> 17:14.000 And there's like, right, 17:14.000 --> 17:17.000 so then, no, you have to do that on your own computer. 17:17.000 --> 17:19.000 What am I, a peasant? 17:19.000 --> 17:21.000 But you know, we've got a cloud. 17:21.000 --> 17:23.000 It's so anyway. 17:23.000 --> 17:27.000 But having this process allows us not only to document 17:27.000 --> 17:28.000 everything that is happening, 17:28.000 --> 17:31.000 but also to make sure that we do all of the quality checks 17:31.000 --> 17:32.000 for hardware. 17:32.000 --> 17:34.000 Anyone who does a lot of software engineering goes, 17:34.000 --> 17:35.000 yeah, this is normal. 17:35.000 --> 17:38.000 But it's a tool chain that we've had to build ourselves. 17:38.000 --> 17:42.000 And it's been enabled because we're using entirely open source 17:42.000 --> 17:45.000 top to bottom tool chain of tools. 17:45.000 --> 17:48.000 Back to a presentation. 17:48.000 --> 17:50.000 So also enables collaboration. 17:50.000 --> 17:52.000 I've got one more URL for you. 17:52.000 --> 17:54.000 I apologize it's another merger question. 17:54.000 --> 17:58.000 But this is something that I thought was particularly brilliant. 17:58.000 --> 18:01.000 We had somebody joining the project and they started trying to 18:01.000 --> 18:03.000 change something in the build system. 18:03.000 --> 18:06.000 And I kept saying, oh, I don't want to change that right now. 18:06.000 --> 18:08.000 Eventually, they got a little bit upset and, you know, 18:08.000 --> 18:11.000 why am I not letting people from the community change things? 18:11.000 --> 18:14.000 And it's one thing where it's really hard as a project 18:14.000 --> 18:16.000 to explain your process. 18:16.000 --> 18:20.000 You know, it's not that we don't want collaboration, 18:20.000 --> 18:23.000 but just that we've got certain places where we are going towards. 18:23.000 --> 18:28.000 So in this case, I said, these changes are needed for the Delta stage, 18:28.000 --> 18:30.000 which is a different version of the microscope. 18:30.000 --> 18:34.000 And actually, I have a release checklist of what I'd like to do 18:34.000 --> 18:37.000 to finally release version seven. 18:37.000 --> 18:40.000 Florian turned out to be one of the greatest people in the world. 18:40.000 --> 18:42.000 He then started doing the things that I hadn't got 18:42.000 --> 18:44.000 around to on my release checklist. 18:44.000 --> 18:47.000 And one of them, we were talking for a while. 18:47.000 --> 18:50.000 And I was saying that there is one place where we're still tapping 18:50.000 --> 18:52.000 the machine screws into plastic. 18:52.000 --> 18:54.000 And I just needed to get rid of it. 18:54.000 --> 18:56.000 And I didn't know how to do it. 18:56.000 --> 18:59.000 If you try and put it in from the front, it would break. 18:59.000 --> 19:02.000 And I think I mentioned on the forum at some point that 19:02.000 --> 19:05.000 if anyone ever fixed it, I would buy them a bottle of wine. 19:05.000 --> 19:09.000 So I particularly like, we have this merger question, Florian, 19:09.000 --> 19:12.000 where the branch name is, why? 19:12.000 --> 19:17.000 But, Florian has gone through it. 19:17.000 --> 19:20.000 And you can see there is an enormous number of different questions 19:20.000 --> 19:21.000 back and forth. 19:21.000 --> 19:24.000 These are the nut traps he made of how we go through. 19:24.000 --> 19:27.000 How it will affect different versions of a testing, 19:27.000 --> 19:28.000 gearing. 19:28.000 --> 19:30.000 We've got lots of conversations going through. 19:30.000 --> 19:34.000 And we managed to work through something which, for years, 19:34.000 --> 19:38.000 a number of us who are very close to the project had failed to do 19:38.000 --> 19:41.000 because we had an idea of how we were going to do it. 19:41.000 --> 19:43.000 And it didn't quite work. 19:43.000 --> 19:45.000 Somebody came in from the outside. 19:45.000 --> 19:46.000 It looked at it. 19:46.000 --> 19:49.000 Thought of a much better idea for how to do it. 19:49.000 --> 19:52.000 Of course, to actually get it merged, involved us, 19:52.000 --> 19:55.000 making sure that all of this worked across different branches. 19:55.000 --> 19:57.000 And other things, it was quite a long process. 19:57.000 --> 20:00.000 But it's considerable upgrade to the microscope. 20:00.000 --> 20:03.000 And I think the point I'm trying to make here is, 20:03.000 --> 20:06.000 we've had a lot of things in the news recently with, 20:06.000 --> 20:09.000 you know, process saying the open hardware community 20:09.000 --> 20:12.000 doesn't contribute back to hardware. 20:12.000 --> 20:16.000 I think we just need to accept that hardware is hard. 20:16.000 --> 20:22.000 And therefore, if you want somebody to become part of your project, 20:22.000 --> 20:25.000 it is a long term thing. 20:25.000 --> 20:27.000 So I talked about community. 20:27.000 --> 20:31.000 What I always think with building the community around the project, 20:31.000 --> 20:33.000 when you first start a project, and especially one, 20:33.000 --> 20:36.000 if it's a hardware project, it takes a long time for people 20:36.000 --> 20:39.000 to actually get the hardware and start building it. 20:40.000 --> 20:42.000 No one's going to be able to join your community, 20:42.000 --> 20:44.000 unless they can see what you're doing. 20:44.000 --> 20:47.000 But it's also very weird to go to GitLab, 20:47.000 --> 20:51.000 and write your to-do list in the third eye we need to do this, 20:51.000 --> 20:54.000 and write everything out when you do it, respond to yourself. 20:54.000 --> 20:57.000 Are you basically feel like you're shouting into the void? 20:57.000 --> 21:00.000 But then at some point, there's enough information there 21:00.000 --> 21:02.000 that the void starts to shout back to you. 21:02.000 --> 21:05.000 And so now, we started at one point just asking, 21:05.000 --> 21:08.000 hey, if you build a microscope, please tell us where you are, 21:08.000 --> 21:10.000 and we'll color it in on a map. 21:10.000 --> 21:13.000 So obviously, this doesn't give a good idea of the distribution. 21:13.000 --> 21:16.000 There might be one microscope in Antarctica, 21:16.000 --> 21:22.000 has a lot more influence on a map than 30 microscopes in Singapore. 21:22.000 --> 21:27.000 But having this, the fact that it's people feeding back means 21:27.000 --> 21:29.000 we've got all these wonderful stories of different things 21:29.000 --> 21:32.000 that different people are doing around the world with the microscope. 21:32.000 --> 21:37.000 And so, if anyone on here from a country that's still gray, 21:38.000 --> 21:39.000 get on it. 21:41.000 --> 21:43.000 So, where are we up to now? 21:43.000 --> 21:47.000 We're really happy we were recommended by the World Health Organization 21:47.000 --> 21:50.000 in a report on innovative healthcare technologies 21:50.000 --> 21:52.000 for low resale settings. 21:52.000 --> 21:53.000 Thank you. 21:56.000 --> 21:59.000 In tiny design for local manufacturer and local repair, 21:59.000 --> 22:02.000 it is a robotic microscope that can move around. 22:02.000 --> 22:04.000 I didn't do the live demo this year. 22:04.000 --> 22:09.000 I had an advantage that I wrote the abstract of what we were going to do 22:09.000 --> 22:11.000 and I decided Joe would do the live demo. 22:11.000 --> 22:13.000 This year, you can go over, we're in a W building, 22:13.000 --> 22:16.000 we've got a number of microscopes scanning. 22:16.000 --> 22:19.000 And so, once we scan a sample and stitch it together, 22:19.000 --> 22:21.000 we get something, so this is a papsmith, 22:21.000 --> 22:24.000 if you were screening for cervical cancer, 22:24.000 --> 22:26.000 we can see into individual cells, 22:26.000 --> 22:32.000 and we can zoom right out to about 600 images. 22:32.000 --> 22:35.000 Almost a giga pixel, done a couple of thousand images. 22:35.000 --> 22:37.000 We get around two giga pixels, 22:37.000 --> 22:40.000 when you have more than two to the 16 pixels across 22:40.000 --> 22:42.000 and JPEG as a format breaks. 22:42.000 --> 22:45.000 We've managed to do a bit bigger than what JPEG can do. 22:45.000 --> 22:48.000 We realize that we can actually stitch JPEGs together 22:48.000 --> 22:51.000 on a two gig Raspberry Pi that a two gig Raspberry Pi 22:51.000 --> 22:54.000 cannot open, but we've got a deep zoom viewer as well, 22:54.000 --> 22:56.000 but people quite like having a JPEG. 22:56.000 --> 22:58.000 So, everything there is open source. 22:58.000 --> 23:01.000 This is mostly a slide that I put in for people 23:01.000 --> 23:03.000 that don't really know what open source is, 23:03.000 --> 23:05.000 so I'm not sure I left it in my first demo talk, 23:05.000 --> 23:07.000 but it is open from all points. 23:07.000 --> 23:09.000 The software is open, the hardware is open, 23:09.000 --> 23:12.000 but also building the knowledge of how you build and understand 23:12.000 --> 23:15.000 a microscope is such an important part of the project 23:15.000 --> 23:18.000 to make sure all of the knowledge is open. 23:18.000 --> 23:21.000 And if we have the knowledge open enough, 23:21.000 --> 23:24.000 we can enable local production and local innovation, 23:24.000 --> 23:28.000 because everywhere, you have slightly different challenges. 23:28.000 --> 23:30.000 Local innovators will always be better 23:30.000 --> 23:32.000 at understanding the problems in their community 23:32.000 --> 23:34.000 and fixing those issues. 23:34.000 --> 23:37.000 And local ownership stops one, 23:37.000 --> 23:39.000 the flow of resources out of the country, 23:39.000 --> 23:41.000 but also means we can never turn off the lights 23:41.000 --> 23:43.000 and say you please stop doing this. 23:43.000 --> 23:46.000 If it's locally certified as a medical product, 23:46.000 --> 23:49.000 then you can have local support and local maintenance. 23:49.000 --> 23:51.000 So what's next for us? 23:51.000 --> 23:54.000 We're working, so we've set up a UK charity, 23:54.000 --> 23:58.000 we're working with medical centres, 23:58.000 --> 24:00.000 collect the clinical evidence of how it works, 24:00.000 --> 24:02.000 working on the productisation, 24:02.000 --> 24:05.000 making sure the quality control of the software, 24:05.000 --> 24:08.000 the hardware, how we document things is better, 24:08.000 --> 24:10.000 working on knowledge transfer, capacity building, 24:10.000 --> 24:12.000 documentation is a funny thing. 24:12.000 --> 24:13.000 If you don't have good assembly manuals, 24:13.000 --> 24:15.000 no one tells you you don't have a good user manual, 24:15.000 --> 24:16.000 because they can't assemble it. 24:16.000 --> 24:18.000 As soon as they assemble it, 24:18.000 --> 24:20.000 they start going away as they use a manual in the car. 24:20.000 --> 24:21.000 So you write the user manual, 24:21.000 --> 24:23.000 and they start using a lot, 24:23.000 --> 24:24.000 I've used it so much, 24:24.000 --> 24:25.000 I need a maintenance manual. 24:25.000 --> 24:27.000 Every time you do anything, 24:27.000 --> 24:28.000 you need more manuals. 24:28.000 --> 24:31.000 So what else? 24:31.000 --> 24:33.000 And so I think what else is over to you? 24:33.000 --> 24:35.000 We're focused on the medical side. 24:35.000 --> 24:37.000 Some of you reached out a few weeks ago saying 24:37.000 --> 24:38.000 that they've just got approval 24:38.000 --> 24:40.000 to send an open flexure into space. 24:40.000 --> 24:41.000 So hopefully, 24:41.000 --> 24:43.000 yeah, it's March 27. 24:43.000 --> 24:44.000 It's a modified open flexure. 24:44.000 --> 24:46.000 It should be going into space. 24:46.000 --> 24:47.000 Think this cross for that. 24:47.000 --> 24:49.000 There's a number of different things 24:49.000 --> 24:50.000 that are popping up in all sorts of different places. 24:50.000 --> 24:52.000 I'm really excited to see what next. 24:52.000 --> 24:54.000 But that's not for me. 24:54.000 --> 24:55.000 And so yes, 24:55.000 --> 24:56.000 with all of your help, 24:56.000 --> 24:59.000 we can make my cross could be available for everyone. 24:59.000 --> 25:00.000 Thank you. 25:00.000 --> 25:01.000 Thank you. 25:01.000 --> 25:04.000 All right. 25:04.000 --> 25:05.000 Thank you, Julian. 25:05.000 --> 25:07.000 Quick note for anybody who is about to exit. 25:07.000 --> 25:09.000 Please leave through that door and take a right. 25:09.000 --> 25:11.000 There has been a medical emergency out there. 25:11.000 --> 25:12.000 It is under control, 25:12.000 --> 25:14.000 but it is causing havoc outside the room. 25:14.000 --> 25:17.000 So again, exit through that door and take a right. 25:17.000 --> 25:22.000 Any questions? 25:22.000 --> 25:35.000 Thanks, Julian. 25:35.000 --> 25:37.000 I love it as always. 25:37.000 --> 25:40.000 How did you feel for this long discussion 25:40.000 --> 25:42.000 on one of those murder requests? 25:42.000 --> 25:46.000 But looking at many branches as you were talking about 25:47.000 --> 25:49.000 how do you get when it's software, 25:49.000 --> 25:51.000 you can abstract the problem and it's 25:51.000 --> 25:54.000 and therefore you don't have to look at the specific implementation 25:54.000 --> 25:56.000 that much because you abstract the problem. 25:56.000 --> 25:58.000 If you figure out there's a conflict, 25:58.000 --> 26:00.000 it means you haven't understood the problem. 26:00.000 --> 26:01.000 With hardware, 26:01.000 --> 26:02.000 like well, 26:02.000 --> 26:04.000 this problem doesn't exist in many places. 26:04.000 --> 26:05.000 One conflict, 26:05.000 --> 26:08.000 one conflict may lead to a solution 26:08.000 --> 26:11.000 that creates a conflict in another case. 26:11.000 --> 26:13.000 I mean, 26:13.000 --> 26:14.000 mind the standing of it. 26:14.000 --> 26:16.000 How do you look at this conflict resolution 26:16.000 --> 26:20.000 for those different versions that are based on the same base? 26:20.000 --> 26:23.000 I think it actually is similar to how you do it for software, 26:23.000 --> 26:25.000 because I think software is something where 26:25.000 --> 26:27.000 if you're writing a little bit of software for yourself, 26:27.000 --> 26:28.000 you sort of go, 26:28.000 --> 26:29.000 ah, look, 26:29.000 --> 26:30.000 I can prove it worked. 26:30.000 --> 26:31.000 As soon as you're writing a library 26:31.000 --> 26:33.000 that a bunch of people are going to use, 26:33.000 --> 26:35.000 you just need to understand the larger ecosystem 26:35.000 --> 26:37.000 of what has happened in different places. 26:37.000 --> 26:40.000 So this is why tools like GitLab give you things like 26:40.000 --> 26:41.000 code owners, 26:41.000 --> 26:42.000 you know that in your team, 26:42.000 --> 26:45.000 this person knows so much more about this. 26:45.000 --> 26:47.000 So if that file is changed as part of it, 26:47.000 --> 26:49.000 you call their men and go, 26:49.000 --> 26:50.000 does this break things? 26:50.000 --> 26:53.000 And so this is why it's not just that we have, 26:53.000 --> 26:54.000 so to sign off, 26:54.000 --> 26:55.000 two people from the, 26:55.000 --> 26:56.000 ah, 26:56.000 --> 26:57.000 we've got, 26:57.000 --> 26:58.000 I think, 26:58.000 --> 26:59.000 four or five people who can do sign off, 26:59.000 --> 27:01.000 at least two people must sign off on it. 27:01.000 --> 27:02.000 So, 27:02.000 --> 27:05.000 the plan is that two people, 27:05.000 --> 27:07.000 and if I come to it and there's something 27:07.000 --> 27:08.000 I don't know, 27:08.000 --> 27:09.000 well, 27:09.000 --> 27:10.000 I'll go to the core team, 27:10.000 --> 27:11.000 can somebody else review this. 27:11.000 --> 27:13.000 We will then get all of us 27:13.000 --> 27:15.000 who've thought through and been through 27:15.000 --> 27:18.000 so much of this design process to talk through it. 27:18.000 --> 27:20.000 But that act of talking through it, 27:20.000 --> 27:23.000 enables other people on the core team 27:23.000 --> 27:25.000 to understand parts of the discussions, 27:25.000 --> 27:27.000 which sort of self documenting process 27:27.000 --> 27:29.000 that helps build that knowledge. 27:29.000 --> 27:30.000 But yeah, 27:30.000 --> 27:31.000 at some point, 27:31.000 --> 27:33.000 what happens with the different variations. 27:33.000 --> 27:34.000 I mean, 27:34.000 --> 27:36.000 lovely to have collision tests. 27:36.000 --> 27:37.000 It would be good, 27:37.000 --> 27:38.000 but partly you go, 27:39.000 --> 27:42.000 this part is different in these different variations. 27:42.000 --> 27:43.000 We might have to print all of them, 27:43.000 --> 27:44.000 but it's still, 27:44.000 --> 27:45.000 like anything, 27:45.000 --> 27:47.000 in a hardware or software, 27:47.000 --> 27:49.000 there's somewhat a manual thinking process 27:49.000 --> 27:51.000 that you still need experts. 27:51.000 --> 27:53.000 You can't just give it all to AI. 28:01.000 --> 28:04.000 I'd like to piggyback on the previous question. 28:04.000 --> 28:05.000 With software, 28:05.000 --> 28:07.000 whenever you see a bug, 28:07.000 --> 28:10.000 you can design a regression test. 28:10.000 --> 28:12.000 That you include in your CI pipeline. 28:12.000 --> 28:15.000 How could you do that with hardware? 28:15.000 --> 28:16.000 Yeah, 28:16.000 --> 28:18.000 I mean, that is a brilliant question. 28:18.000 --> 28:20.000 So I heard we're in the loop CI. 28:20.000 --> 28:22.000 There've been some wonderful talks in this dev room 28:22.000 --> 28:24.000 in previous times. 28:24.000 --> 28:26.000 I mean, it depends if it's the mechanical version of it 28:26.000 --> 28:28.000 or if it's sort of the whole system. 28:28.000 --> 28:30.000 So we've been thinking about with the motor controllers. 28:30.000 --> 28:31.000 Wouldn't it be cool if, 28:31.000 --> 28:34.000 when we push changes to the motor control code? 28:34.000 --> 28:35.000 We've got the motor, 28:35.000 --> 28:38.000 but then an Arduino with a rotary sensor, 28:38.000 --> 28:39.000 and you can check. 28:39.000 --> 28:43.000 So there are thoughts for hardware in the loop CI testing. 28:43.000 --> 28:45.000 There are things that we can at least check 28:45.000 --> 28:47.000 if the models are complete. 28:47.000 --> 28:49.000 If you had a different CAD package, 28:49.000 --> 28:51.000 and you've got your FEM simulation, 28:51.000 --> 28:52.000 you would be able to check things. 28:52.000 --> 28:54.000 It would be a really slow pipeline. 28:54.000 --> 28:56.000 But partly the testing in the loop for us 28:56.000 --> 28:58.000 is the human who go, 28:58.000 --> 28:59.000 right, they've changed this. 28:59.000 --> 29:02.000 Well, the unit test is a 3D print that unit, 29:02.000 --> 29:03.000 and see if it works. 29:03.000 --> 29:05.000 So it's not particularly automated, 29:05.000 --> 29:08.000 but at least you can have a checklist and a workflow, 29:08.000 --> 29:10.000 and at least we're not each individually building it, 29:10.000 --> 29:12.000 because one thing we had in the past was somebody went, 29:12.000 --> 29:14.000 ah, yeah, I've changed this. 29:14.000 --> 29:16.000 Cool, I'll build it and you build the SDL, 29:16.000 --> 29:18.000 but actually you've got an old version of that file 29:18.000 --> 29:19.000 because something didn't change. 29:19.000 --> 29:22.000 And so at least you know that you are all checking 29:22.000 --> 29:23.000 the same component. 29:23.000 --> 29:26.000 We also do a lot of putting the old version, 29:26.000 --> 29:27.000 the new version, the slicer, 29:27.000 --> 29:29.000 and moving up and seeing exactly where the layers 29:29.000 --> 29:30.000 have changed. 29:30.000 --> 29:32.000 So we were checking it's going to print in the same way. 29:32.000 --> 29:34.000 But yeah, it's somewhat more manual. 29:34.000 --> 29:37.000 I would love to just be able to write a unit test for it, 29:37.000 --> 29:39.000 but we're working on it. 29:39.000 --> 29:43.000 All right, question if you have insights 29:43.000 --> 29:45.000 on the 3D print and design, 29:45.000 --> 29:49.000 heat set screw inserts, thread itself tapping, 29:49.000 --> 29:52.000 and differences like POA, PETGE, 29:52.000 --> 29:55.000 yeah, what did you find in approach showing fasteners? 29:55.000 --> 29:58.000 Very, very, very good question. 29:58.000 --> 30:01.000 So I mean, we'd use to do a lot of tapping directly 30:01.000 --> 30:04.000 into plastic, which I think was the availability 30:04.000 --> 30:06.000 and easy to specify machine screws, 30:06.000 --> 30:09.000 but also not wanting to go through all the different parts. 30:09.000 --> 30:11.000 It did slightly better if you made the holes 30:11.000 --> 30:14.000 triangular, so you're basically yourself tapping 30:14.000 --> 30:16.000 and moving the material out to the side. 30:16.000 --> 30:19.000 We now use self tapping screws in triangular holes 30:19.000 --> 30:20.000 in a couple of places. 30:20.000 --> 30:23.000 We've tried to move to machine tools machine screws. 30:23.000 --> 30:25.000 We have a nut trap that we use all of the time 30:25.000 --> 30:27.000 rather than heat inserts. 30:27.000 --> 30:30.000 Heat inserts may be better if you're good at putting in heat insert. 30:31.000 --> 30:33.000 With a whole community and I tried to get one line, 30:33.000 --> 30:35.000 I've got a conical soldering out, 30:35.000 --> 30:36.000 it'll be fine and they've got stuck on it, 30:36.000 --> 30:39.000 and I'm melted the side off, something else is like right. 30:39.000 --> 30:42.000 It's probably good if you had a production process, 30:42.000 --> 30:44.000 but not great for us, so we've got a nut trap 30:44.000 --> 30:45.000 where there's a little slot, 30:45.000 --> 30:47.000 and a little sort of hexagon up, 30:47.000 --> 30:49.000 and getting this to print well has been a bit of a mission. 30:49.000 --> 30:51.000 But then it's sort of tapers. 30:51.000 --> 30:53.000 So before you put the screw in, 30:53.000 --> 30:56.000 you put the nut at the bottom, get a screw, 30:56.000 --> 30:59.000 and you tighten it, and it forces it up into the nut trap. 30:59.000 --> 31:01.000 But the great thing about it being open-scad 31:01.000 --> 31:03.000 is they're basically a sub-routine for that. 31:03.000 --> 31:05.000 So we write that in one place, and as we iterate on it, 31:05.000 --> 31:08.000 we click change, and 40, 50 places through the design, 31:08.000 --> 31:10.000 all of the nut traps get better. 31:10.000 --> 31:13.000 There's no redrawing and going to individual files. 31:13.000 --> 31:15.000 But yeah, I could bore the rest of this room 31:15.000 --> 31:18.000 to death with that, answering that question. 31:18.000 --> 31:22.000 I could have question if you have your own project 31:22.000 --> 31:24.000 that you want to get into open-source. 31:24.000 --> 31:26.000 Is there a guide of something? 31:26.000 --> 31:28.000 How you set up the whole documentation? 31:28.000 --> 31:31.000 Like the whole generation part, and then. 31:31.000 --> 31:35.000 Yeah, I mean, no, I think is the short answer to that. 31:35.000 --> 31:41.000 I think it's a really not well-established way 31:41.000 --> 31:43.000 to do open-source hardware. 31:43.000 --> 31:46.000 I think how to set up an open-source software project. 31:46.000 --> 31:48.000 There's so many guides, there's so many things. 31:48.000 --> 31:51.000 I wouldn't necessarily say everybody should do what we're doing, 31:51.000 --> 31:55.000 because for almost all use cases, you should be using freecat. 31:55.000 --> 31:58.000 Not open-scath. There's a lot of problems with it. 31:58.000 --> 32:02.000 The specifics, like when you're the whole updating process 32:02.000 --> 32:03.000 and the more documentation. 32:03.000 --> 32:08.000 Yeah, so I mentioned the, what was it? 32:08.000 --> 32:09.000 Get building? 32:09.000 --> 32:12.000 Yeah, so just very quickly to finish the thought 32:12.000 --> 32:14.000 because it moves into that. 32:14.000 --> 32:17.000 A lot of how get building works is based on 32:17.000 --> 32:20.000 it assumes that you can get images of each assembly step, 32:20.000 --> 32:22.000 but that is specific to your CAD. 32:22.000 --> 32:24.000 So, Peter, you might be somewhere. 32:24.000 --> 32:27.000 There's Peter. Peter's doing some really cool stuff 32:27.000 --> 32:30.000 with freecat to get the images out, 32:30.000 --> 32:33.000 and we worked out a way to make it work with get building. 32:33.000 --> 32:34.000 Get building itself. 32:34.000 --> 32:37.000 I wrote some sort of documentation. 32:37.000 --> 32:39.000 When you start writing the documentation 32:39.000 --> 32:42.000 for the documentation tool that you wrote for your hardware 32:42.000 --> 32:44.000 that you started making, because you wanted to do something, 32:44.000 --> 32:46.000 it gets very meta, but yes, there's a little bit. 32:46.000 --> 32:49.000 Somebody's made some videos of it on the gathering 32:50.000 --> 32:52.000 for open science hardware form. 33:01.000 --> 33:04.000 You talked about updating the pictures 33:04.000 --> 33:05.000 in the documentation. 33:05.000 --> 33:09.000 Yeah, I'm also very worried about the text segments 33:09.000 --> 33:11.000 getting silently out of date. 33:11.000 --> 33:14.000 Do you have a system in place to sort of alert you 33:14.000 --> 33:17.000 that maybe this section of text needs revision 33:18.000 --> 33:20.000 or do you do that by knowledge purely? 33:20.000 --> 33:22.000 Yeah, so it's by knowledge. 33:22.000 --> 33:25.000 I mean, I think it's the fact of, if it's a somewhat 33:25.000 --> 33:27.000 let's say modular design. 33:27.000 --> 33:30.000 So, I think it's part of it, it's process again. 33:30.000 --> 33:33.000 So, somebody shouldn't make a bunch of changes 33:33.000 --> 33:35.000 and that's a revision. 33:35.000 --> 33:37.000 If somebody changes nine different things 33:37.000 --> 33:39.000 and opens a merger quest, we say, 33:39.000 --> 33:41.000 please open a merger quest on one thing. 33:41.000 --> 33:43.000 So, then, at least if somebody is changing one thing, 33:43.000 --> 33:46.000 part of our process is going to where that thing happens 33:46.000 --> 33:48.000 and updating the documentation. 33:48.000 --> 33:50.000 That doesn't mean that we don't sometimes find 33:50.000 --> 33:53.000 some things where you go, oh no, this is a bit out of date. 33:53.000 --> 33:55.000 But, a lot of its diligence, 33:55.000 --> 33:58.000 but yeah, if you keep your merger quest small, 33:58.000 --> 34:00.000 so you're only changing one thing, 34:00.000 --> 34:03.000 that should highlight where that happens in the documentation 34:03.000 --> 34:06.000 and the nice thing, so get building the tool, 34:06.000 --> 34:09.000 has marked down files that are in the repository, 34:09.000 --> 34:11.000 so they can build. 34:11.000 --> 34:13.000 So, the actual merger quest will make sure 34:13.000 --> 34:17.000 that when you make a change that it builds correctly 34:17.000 --> 34:19.000 and you also should change the documentation, 34:19.000 --> 34:21.000 that's the part of the same merger quest, 34:21.000 --> 34:23.000 so it should be a small contained thing 34:23.000 --> 34:26.000 with all the documentation as well as all of the, 34:26.000 --> 34:28.000 as well as all of the CAD. 34:31.000 --> 34:33.000 Good time for at least one more, 34:33.000 --> 34:35.000 because we can't find Wayne. 34:38.000 --> 34:40.000 I was just wondering if you have anything 34:40.000 --> 34:43.000 or a translation of the documentation in an automated way. 34:43.000 --> 34:45.000 I guess you had that example of the screw, 34:45.000 --> 34:48.000 and that just feels like a sort of British English 34:48.000 --> 34:49.000 to US English translation. 34:49.000 --> 34:53.000 Yeah, I mean, that will be the hardest translation. 34:53.000 --> 34:58.000 But, so the short answer is no. 34:58.000 --> 35:03.000 As people have made some documentation 35:03.000 --> 35:05.000 in other languages for open flexure, 35:05.000 --> 35:09.000 we've had ones in Spanish in the past. 35:09.000 --> 35:13.000 What we don't have is a good system for keeping them up to date. 35:13.000 --> 35:17.000 So, I have pie in the sky ideas of being able to sort of 35:17.000 --> 35:20.000 check by paragraph and see which ones changed 35:20.000 --> 35:24.000 and then highlight which, which versions of other things. 35:24.000 --> 35:27.000 And I know some of the wickies have really good things for that, 35:27.000 --> 35:29.000 but then because we're in different tooling, 35:29.000 --> 35:31.000 we'd need to write it and so. 35:31.000 --> 35:34.000 I think partly I might need to get over myself 35:34.000 --> 35:37.000 and my grand vision of it all working great, 35:37.000 --> 35:40.000 just except that maybe we should just start 35:40.000 --> 35:42.000 and same with the software we need 35:42.000 --> 35:44.000 to actually work on the internationalisation thing. 35:44.000 --> 35:46.000 We've got such an international community, 35:46.000 --> 35:48.000 but as the community is growing, 35:48.000 --> 35:52.000 we've got more contributors that really has to be a cool focus of us soon. 35:52.000 --> 36:10.000 So, there was just a preview stock in another room 36:10.000 --> 36:13.000 about education and open flexure. 36:13.000 --> 36:14.000 Oh yeah. 36:14.000 --> 36:19.000 And there was talk about Lego-like IKEA-like documentation for building. 36:19.000 --> 36:21.000 Yeah. 36:21.000 --> 36:24.000 What you were showing here with the Alan Key going, 36:24.000 --> 36:26.000 is that what you were talking about? 36:26.000 --> 36:27.000 Is that a whole separate? 36:27.000 --> 36:28.000 Yeah. 36:28.000 --> 36:30.000 So, I mean, our documentation. 36:30.000 --> 36:33.000 I mean, I assume I've gotten till Wayne turns up, 36:33.000 --> 36:35.000 so I can probably. 36:35.000 --> 36:39.000 I mean, if Wayne doesn't turn up for a week, 36:39.000 --> 36:41.000 you guys are going to get really bored. 36:41.000 --> 36:45.000 But yeah. 36:45.000 --> 36:48.000 So, we tried to make it so here are the parts you need. 36:49.000 --> 36:51.000 Here is the screw. 36:51.000 --> 36:52.000 It's going into the gear. 36:52.000 --> 36:54.000 You've got these tools. 36:54.000 --> 36:57.000 So, you turn this round. 36:57.000 --> 36:58.000 It pulls it in together. 36:58.000 --> 36:59.000 Now you got that. 36:59.000 --> 37:02.000 So, we're trying to go through point by point of the sort of, 37:02.000 --> 37:04.000 I think it's more Lego than IKEA style, 37:04.000 --> 37:06.000 because it's in color. 37:06.000 --> 37:10.000 If you use free CAD and Peter stuff, 37:10.000 --> 37:12.000 it ends up IKEA style. 37:12.000 --> 37:15.000 So, yeah, we've got a number of different things 37:15.000 --> 37:16.000 just going through. 37:16.000 --> 37:18.000 So, it's all rendered in that sort of way. 37:18.000 --> 37:21.000 We probably need for education one with fewer words 37:21.000 --> 37:23.000 to make it sort of more kid-friendly, 37:23.000 --> 37:25.000 because it doesn't matter maybe for one for a kid. 37:25.000 --> 37:28.000 Matters that it works, doesn't matter that is absolutely perfect. 37:28.000 --> 37:30.000 So, different variations. 37:30.000 --> 37:32.000 All the documents might be sorted. 37:32.000 --> 37:33.000 All of it. 37:37.000 --> 37:38.000 Yes. 37:38.000 --> 37:40.000 Yeah, I don't know if you mentioned it, 37:40.000 --> 37:45.000 but are you doing anything in terms of translating this documentation? 37:45.000 --> 37:47.000 Yes, or is it all in English? 37:47.000 --> 37:49.000 Yeah, so we were just talking about that. 37:49.000 --> 37:51.000 It is currently all in English. 37:51.000 --> 37:53.000 We've had some past versions, 37:53.000 --> 37:56.000 but yeah, exactly how we do it in a way 37:56.000 --> 37:58.000 that it stays up to date is painful. 37:58.000 --> 38:02.000 So, we want that we need to get on that very soon. 38:02.000 --> 38:04.000 Thanks. 38:08.000 --> 38:11.000 You know, speaking of which would you consider using AI 38:11.000 --> 38:13.000 to automate the translation? 38:13.000 --> 38:17.000 I think having it in the loop for doing bits of it 38:17.000 --> 38:19.000 as long as there was a human to check it over, 38:19.000 --> 38:21.000 I think it's fine. 38:21.000 --> 38:24.000 It's how we make sure that we stay up to date. 38:24.000 --> 38:26.000 We need some tracking even if it's on a file by file level 38:26.000 --> 38:28.000 of this has changed. 38:28.000 --> 38:31.000 And it was last documented a particular time. 38:31.000 --> 38:33.000 Because we have metadata in the files, 38:33.000 --> 38:34.000 I quite like to say, you know, 38:34.000 --> 38:37.000 if the Spanish version has a different number, 38:37.000 --> 38:39.000 we can just say this is a screw, 38:39.000 --> 38:41.000 this is a screw, this is the same screw. 38:41.000 --> 38:43.000 If the Spanish version needs six screws, 38:43.000 --> 38:45.000 and the English version needs five screws, 38:45.000 --> 38:47.000 that is a problem. 38:52.000 --> 38:54.000 Yeah, time for another question, 38:54.000 --> 38:56.000 because we're still, I can see all the cell phones 38:56.000 --> 38:58.000 blurring in the background there, so. 39:07.000 --> 39:10.000 A bit of a follow-up question on what you're showing now. 39:10.000 --> 39:15.000 The mouse-overting doesn't look like it's very printable, 39:15.000 --> 39:18.000 so it's making printable documentation 39:18.000 --> 39:19.000 at all a consideration. 39:19.000 --> 39:23.000 Yeah, so we write it in Markdown. 39:23.000 --> 39:26.000 It makes this, and you can, 39:26.000 --> 39:27.000 because it's all open source, 39:27.000 --> 39:29.000 you can see the big, long discussion 39:29.000 --> 39:31.000 on whether there should be a number of different images 39:31.000 --> 39:33.000 or the scroll over thing. 39:33.000 --> 39:38.000 But the HTML that is rendered here, 39:39.000 --> 39:42.000 can be changed if you say you're in PDF mode. 39:42.000 --> 39:44.000 It will render some different HTML, 39:44.000 --> 39:46.000 and then put it in a PDF. 39:46.000 --> 39:49.000 It's semi-working. 39:49.000 --> 39:51.000 We're still working on that process. 39:51.000 --> 39:53.000 It's something that we don't do too much. 39:53.000 --> 39:55.000 Part of it, there's so many links in it, 39:55.000 --> 39:57.000 and then there's so many extra pages explaining things 39:57.000 --> 40:00.000 that you don't want documentation this thick. 40:00.000 --> 40:02.000 But then sometimes if something is removed, 40:02.000 --> 40:03.000 you want the link to, 40:03.000 --> 40:07.000 so there's a bit of what we do with the text in different places. 40:07.000 --> 40:10.000 At the same time, if you say something is in a particular place 40:10.000 --> 40:12.000 and reference back to it, 40:12.000 --> 40:14.000 we can get the page numbers, 40:14.000 --> 40:15.000 but I think I'm now doing it too often. 40:15.000 --> 40:18.000 It's mostly a list of past page numbers. 40:18.000 --> 40:20.000 So yes, it's on the radar, 40:20.000 --> 40:22.000 and it's not as bad as that, 40:22.000 --> 40:26.000 but getting it to work perfectly with both PDF 40:26.000 --> 40:29.000 and website is ongoing, 40:29.000 --> 40:31.000 but it's definitely on the radar. 40:38.000 --> 40:39.000 Oh, question in the back. 40:39.000 --> 40:40.000 Great. 40:40.000 --> 40:42.000 I was going to have to start telling jokes. 40:42.000 --> 40:45.000 I will help you out. 40:45.000 --> 40:47.000 I was wondering, 40:47.000 --> 40:50.000 could you make a sort of a template 40:50.000 --> 40:52.000 of all of the tools that you made 40:52.000 --> 40:56.000 so that if there's another advanced open hardware project 40:56.000 --> 40:59.000 that they could just replicate all of the tools 40:59.000 --> 41:01.000 because independently, 41:01.000 --> 41:04.000 each of them are open source, I believe. 41:04.000 --> 41:05.000 Yeah. 41:05.000 --> 41:08.000 It would be great to have this infrastructure 41:08.000 --> 41:11.000 for other projects to adopt it. 41:11.000 --> 41:12.000 Yeah. 41:12.000 --> 41:13.000 I mean, I think, especially, 41:13.000 --> 41:15.000 one reason we named the charity, 41:15.000 --> 41:17.000 the humanitarian technology trust, 41:17.000 --> 41:18.000 not the open-flexion foundation, 41:18.000 --> 41:20.000 who really do want to look at what we do well 41:20.000 --> 41:23.000 and explain it and have it work for other projects 41:23.000 --> 41:25.000 and other things with similar goals. 41:25.000 --> 41:27.000 In terms of our tool chain, 41:27.000 --> 41:30.000 I think a lot of it is 41:30.000 --> 41:33.000 works because we know how to make it work. 41:33.000 --> 41:37.000 If we wanted to make it turkey enough that anyone could use it, 41:37.000 --> 41:39.000 I'd pretty much have to start working 41:39.000 --> 41:41.000 on open-flexion and be the tool chain guide. 41:41.000 --> 41:45.000 In fact, a bunch of you met me when we had this idea 41:45.000 --> 41:47.000 for an organization that could be funded 41:47.000 --> 41:49.000 called the Open Tool Chain Foundation 41:49.000 --> 41:51.000 that would be able to work on the tool chain 41:51.000 --> 41:53.000 so people can do hardware. 41:53.000 --> 41:55.000 And it's the thing where I would love to do that 41:55.000 --> 41:57.000 but it's sort of the time. 41:57.000 --> 42:00.000 So there's ideas of talking to different organizations 42:00.000 --> 42:02.000 about how we can really get the tools 42:02.000 --> 42:04.000 needed to do hardware well, 42:04.000 --> 42:06.000 really turn keys so people can do this. 42:06.000 --> 42:08.000 Look who we found! 42:08.000 --> 42:09.000 Hey! Hey! 42:09.000 --> 42:10.000 It's a win! 42:10.000 --> 42:12.000 Alright, thank you, Stewart.