 Just need to make sure that my blinking lights actually do work. Is that on? That's on. That's on. That's on. Power, power, up. All the pins are there. Let me try this again. Up. Oh, that's a good idea to go and switch to the network and then go and random. Yeah. Okay, there we go. Bloody Mac. Okay, so what I want, the best of my wives decided we want to move. So I said, okay, in the new place, we're going to have all LED lights. And then I asked myself, like say, white lights boring. So can I go and make it a little bit more exciting? And so I started looking around and then there's this this wonderful stuff from that's called Ambient Computing. Can I use the LEDs to signal things that are relevant without staring at a computer screen? Is there a possibility? So and I went out and looked around and said, okay, where do I get the lights? So I went to Adafruit. That's a US company which I greatly admire. They have all the geek stuff. This is like candy store for geeks. I used a bought an Adafruit feather, which is an Arduino compatible board. It's sitting here. If you want to have a look, the nice thing is that 256k of memory so you can really play around a little bit. And then I use working for IBM. I use Node Red as my control center. And then ask myself, what are patterns that make sense? Because most of the ones that I found are actually annoying. And then when you start looking around and so you have color, you have the frequency, how a blink, you have the sequence, what is happening? When you have the direction, you go left, you go right. And so I played around a lot with that, screwed up, I think, two or three of the Arduino's in the process. And there I came up and said, okay, some of the experiments I found. So this is not about code. You can look at other code. It's horrible. It's all on GitHub. I'll show you the URL later. It's about the little lights. So instead of going to the slides, you should supposed to go down. Okay. So the first one is random color, random leds. Instead of going to the slides, I'm simply going to my little Node Red command center where I have, if I could read without glasses, I have the ten samples. So the first one was, okay, just give me some random lights. And you see it's blinking nicely. And that's just like I said, it takes you probably, well, two minutes before it gets really annoying. And I said, okay, let's do something more useful. The next pattern I want to show is like, say, what I call sunrise. The funny thing is, I start looking around and there's not real good information around what is the color sequence, sunrise. You find a lot of analysis. People take pictures of sunrise and derive a color palette out of it. But that's a static one shot image, but not a sequence. So I played around a little bit. The sequence now runs very fast. But just imagine that sequence running over a duration, the whole sequence, 15 minutes. And then combine that with your audio to give you a nice little wake up. Like say, bird sweeping and then like say, Stefan wake up. Fuck you, get up. So second one, sunrise. So it starts off a little bit. So it gets blue. The dawn kicks in and it's a little brighter. Then the sunlight comes up and finally it gets really, really bright. If you imagine that over a period of about half an hour, that gives you a nice little head start getting out of bed. One of the things I realized, the strip I used, it's not the latest one. It has trouble with yellow. So you saw it just now, it went a little bit greenish in between, which from the color code is actually yellow, but that one isn't too color accurate. That's also a lesson I learned. So the latest generation neopixel, you can actually just punch in RGB values and it comes back. And this one, it only has 127. So it's a seven bit color value, which is kind of, I played a lot of things. I had to fight quite a bit to get the colors halfway right. So that's the one. The next one is, of course, you have something coming up. Take your meds. That's important for the geeks. Otherwise, AHD kicks in. I want to be reminded about something. And what you see, I'm just using a little button, but the Node-RED actually allows you to take input from all sorts of sensors, time database and all that. So if I want to be reminded of something, I just send out an exclamation mark and then I go and blink the two exclamation marks a little bit. You get ready, you get ready. You really need to have to go. I realized that the exclamation marks for a horizontal one doesn't work that well. So that would be a case where I would go and try to have a stripe that's actually vertical. So that seems to work better. The question is with the color. So I put both. Is it red on this? Yeah. Red and green both in there. And I said, is it more an alert type? Like I said, really you have to do this or more like a joyful reminder? Call your wife. Tell her you love her or something like that. Then the other one is the next one is like say, if you're a new programmer, you listen to heavy metal while you're code, so you don't hear the phone. So you want to have a visual reminder. And there I felt like say, can I go and we had the physical phone when it ring was vibrating a little bit. So I tried to create a pattern that kind of resembles the vibration and probably make this a little faster. So it goes back and forth. So that gives you a visual pattern you can learn. It's not really, really obvious. It needs to be explained, which is bad because you eyes and jokes that need to be explained are bad. But I realized when you're limited to one dimensional information matrix, there's a few things you really, really want to go and start getting used to. So we also know that like say, like and no like. That's also something you need to learn. Nobody using Tinder? How do you think I met you? Chase. Okay. The next one, like say you still have your heavy metal on the head is like say, the door rings. Usually it's either the pizza guy or an unexpected visitor like, oh money, pay money. So they said, okay, it starts with a little blinking to get your alert and then say, please go to the door. After the door. It's blinks a little bit and then I said, okay, I got your attention now. What do I need to do? After the door. So you get a bit of it becomes a little bit more playful at the thing. Then of course the next thing is like say, if you're an outdoor person like me, this is always when I misbehave. I have to sleep outdoors. You want to know what the weather is like. And so a good use case were to go and said, okay, you use approximation sensor. You get close to the door to go out and then you start the weather pattern. And I say, in this case, I say bad weather. So it's all raining and splitting and all that. So it just imagine you have this stripe on top of your, in front of your door and they said, okay, it's raining. Okay, take the umbrella or take the shower gel depending on what you want to do. And then of course, and this one I'm not so happy with, but you see I'm just trying to get it going. And I said, how to signal good weather? And I said, okay, it's all joyful. It's sunshine and it's greenery and all that. So, so entice you to enjoy the colors of the outside world. I would go at that as the edge of annoying. But it was like, say, just an attempt. Can I go and signal? Oh, this is nice. Get out. The next one, a little bit more technical. What happens if you want to check your stock portfolio? So get rich quick scheme. And then the idea was you start, okay, the blue point is my buying green was this is what I bought. Now the stock goes up. This is all the profit I made. And then some idiot comes and has a funny idea about bad talking. Whoop, my stock goes down. So you could go and said, I start with a reference point. Let me do this again. This is my buying price. This is what it is right now. This is what it was yesterday. So I lost a little money. Stock price jumps. It goes, and then it tanks. So you without, without looking at some boring tables or graphs or all that, you straight away, am I, am I going to go to McDonald's or to the fine dining restaurant that day? Which is kind of funny because like say a stock you haven't sold is actually not money that you earned or lost. The next thing is like say something really, really bad happened. So you needed alert notification. And then that's for all our friends who were in the military service that should recognize that. Short, short, short, long, long, long, short, short, short. And there what I played around with like say short can be duration, short can be size. And in this pattern, I actually use both of them. And then last and at least I say you all watched it. Battlestar Galactica. The silence are coming. So what I, one of the things I learned is like say getting the colors right is really, really hard. Getting the patterns right is a question of taste. So one of the things what I, what I'm planning to do is like say test run that with a few people, whether there's cultural differences. I haven't figured it out. So one of the things, for instance, red color is commonly seen as a warning color, unless in Chinese color, in Chinese culture it's good luck. So if I, would I put the gains I make in the stock market in red if I have a Chinese investor? So that's the question I asked. And the next thing what I was looking at is like say I found the two dimension quite limiting. So what happens if I like say take four or five stripes and put them next to each other? So I could have two or three dimensions where I can actually play with, where you can then pulse rate, heart rate monitor or like all this stuff. So that's in a nutshell what I experienced playing with all these light patterns. The next step what I need to do, convince the wife that we can have all the LED stripes and not just the white ones in the house. But I'm getting there. Quick one to technology what I used. I say let's go back to the presentation. So any questions? So it's running under the Arduino, running as a web server? Yeah, that's the feather, the Arduino feather that's actually this one. Is a little Arduino 256K RAM, so it's quite generous with a web server built in. So once I'm done and remove all the mess on the cable, it sits in a little box, gets powered by the main power that also powers the LED stripe and takes its command to the web server. Technically, let me just show you that. I say let's node red, let me switch this on and this one off, deploy this. So when I send a command, for instance, I say let's do the sunrise again. It simply goes and sends a get to the web server's URL using, okay, that was actually the wrong, the wrong, let me wire this here. Let's say let's use the visitor pattern again and oops, okay, no, stupid, still there. And, oh yeah, that was not message payload, message URL, done, deploy. And then when I click on any of them, you see here the pattern that's my web server configured. I'm connected to the link, it has its own little access point, so you can configure it as an access point, you can configure it as a web server. And then it said I just go, V is visitor and then I say incoming call was I for incoming call or alert notification, I simply had an end. So it was a very, very simple, straightforward exercise. I used node red as my little command center instead of using curl because there you can have all sorts of funding inputs like the analog devices, IOT or so, to then go and command the strip. Final one, so that was the feather and I used, that's a NeoPixel, this is what I'm really going to deploy, that's one generation ahead of that. This is 32 LEDs per meter, the NeoPixel has 60 LEDs per meter, so you have a higher signal density and the best thing is proper RGB colors. And then the node red came out of IBM research, is now part of the JavaScript foundation, that's the graphical environment and I'm currently running it on the Mac, but like I say in the home setup it's running on a Raspberry, so that's straightforward. Okay, if you want to see the crappy code, the slide, all the code is in my GitHub repository. The presentation is there as well, I'm using Reveal.js for the presentation, so no proprietary software has been halved in creation of this. What do you think is the maximum incidence of inequality? Okay, so there's two aspects to it, one is signal and the second one is power and if you have a 4 meter stripe with 60 LEDs per meter you need about 10 amps to power that. And you need to have multiple power points along the stripe, which is okay because it has separate power wires. And then with the Arduino library, like I say, Adafruit set, you should be able to, with a single controller, control about 4 meters and you want to have multiple of them if you have more of them like that. Okay, any more questions? What about Raspberry Pi? Raspberry Pi runs Linux based operating system, so you will have timing issues. So you can do it if you use the image channel, but I just wouldn't do that. So typically when you look at all the guys who do the LED experiments, they all go down to Arduino and eventually use the Raspberry Pi just as a control center. So I would, in my setup, I run the Node-RED on a Raspberry Pi and then just talk to this device who sits somewhere away using Wi-Fi. Okay, in this case it was, it's actually a little older library, that's the 8806 library, that's the driver for that one. Fast light. I found, it took me a while to figure out, I have different stripes at home and they all use different libraries. And I tested with the NeoPixel strip, I tested the Adafruit library they provide and that worked reasonably well. One of the funny things, took me half a day to figure out, there's a little capacitor that is over the power supply, just 100 mu. And I didn't have that in, and I say, my pattern went for a while and then it just stopped. What the fuck? So try, try, try, and then I posted in the Adafruit forum, they immediately came back, you need to have a step up controller and all that. And pointed me to power could be the issue. And then I said, okay, in the NeoPixel Uber Guide, they put a capacitor over there, put it in, bang, problem solved. Yeah, so resistance wasn't the issue, it was noisy power supply. So that was, like, I bought that power supply at Simlim Tower and it was cheap, cheap. You can do that, of course, that was the idea of, like, say, making the controller accessible to Wi-Fi. Whatever application you use to then signal it to it, that's up to you. So you could very easily build a, like I said, even a mobile web page which then simply does a HX call to the controller and to activate the light. Okay, any more? Thank you so much.