0:00:16.780,0:00:18.840 SEAN MARCIA:Hi. My name is Sean Marcia. 0:00:18.840,0:00:21.260 I am gonna be talking about saving the world 0:00:21.260,0:00:24.060 with Ruby on Rails. And that's me on the Twitters. 0:00:24.060,0:00:25.400 At seanmarcia. In case you're wondering, 0:00:25.400,0:00:27.220 I'm an early adopter. That's how I was 0:00:27.220,0:00:29.100 able to get my own name. 0:00:29.100,0:00:33.630 I thought was funny. 0:00:33.640,0:00:35.820 So I, I work at George Mason University as 0:00:35.820,0:00:37.530 a software developer, and I'd like to thank[br]them 0:00:37.530,0:00:40.320 for giving me this opportunity to be here[br]and 0:00:40.320,0:00:43.220 do this kind of cool stuff. Thank all of 0:00:43.220,0:00:45.540 you and thanks to my Ruby group for letting 0:00:45.540,0:00:48.160 me practice this talk on them last week. 0:00:48.180,0:00:50.910 So today I'm gonna be talking about the, the 0:00:50.910,0:00:53.559 history of the project. Then I'm gonna talk[br]about 0:00:53.560,0:00:55.921 the technology we use. And then I'm gonna[br]hopefully 0:00:55.921,0:00:58.010 tell you how you guys can all get involved. 0:00:58.010,0:00:59.959 So, but really, I'm just gonna tell you a 0:00:59.960,0:01:03.671 story about bees. And my personal story with[br]bees 0:01:03.680,0:01:06.230 began when I was about six years old, and 0:01:06.240,0:01:09.850 for reference, that's me at six. Yeah. Looks[br]like 0:01:09.850,0:01:12.420 an orange on a toothpick. 0:01:12.420,0:01:14.800 But, but when I was six, my, my good 0:01:14.820,0:01:16.690 friend and I, we were, we were out, we 0:01:16.690,0:01:19.550 were wandering around, and we found a wild[br]beehive. 0:01:19.550,0:01:21.160 And, if you know six year old boys, you 0:01:21.160,0:01:23.230 can probably guess what we did next. We started 0:01:23.230,0:01:24.580 throwing rocks at it. 0:01:24.580,0:01:26.570 And, you know, my good friend, he just took 0:01:26.580,0:01:28.580 off running, and I didn't know why, and it 0:01:28.580,0:01:30.360 wasn't fun to throw rocks at the beehive without 0:01:30.360,0:01:31.930 him. And it turns out that the bees stung 0:01:31.930,0:01:34.970 him twenty, thirty times. And they didn't[br]sting me, 0:01:34.980,0:01:36.970 so. I kind of feel I have this karmic 0:01:36.970,0:01:39.600 debt to the bees for leaving me alone. 0:01:39.620,0:01:41.600 And so, you know let's jump forward to today. 0:01:41.600,0:01:44.910 And like I said, I'm a software developer[br]at 0:01:44.920,0:01:47.670 George Mason University. I was wandering across[br]campus one 0:01:47.670,0:01:49.789 day and I saw this guy was giving a 0:01:49.789,0:01:52.791 talk. This is Herman Pria, and he was giving 0:01:52.800,0:01:56.050 a talk about Amazonian stingerless bees, and[br]the honey 0:01:56.060,0:01:56.939 they collect. 0:01:56.940,0:01:59.491 And, you know, as a developer, I'm really[br]in 0:01:59.491,0:02:00.780 it for the swag, and since he was giving 0:02:00.780,0:02:03.649 honey samples of these bees, that's why I[br]went. 0:02:03.660,0:02:05.471 And so, I was listening to his talk, and 0:02:05.471,0:02:06.980 actually he told me what kind of animal that 0:02:06.980,0:02:09.280 is and I don't remember right now. But I'll 0:02:09.280,0:02:11.920 find out, because it's something interesting. 0:02:11.920,0:02:13.940 But, so I was listening to his talk, and 0:02:13.940,0:02:16.440 after the talk I went to, to talk to 0:02:16.440,0:02:19.680 Herman and, turns out he's doing all this[br]really 0:02:19.680,0:02:22.030 interesting stuff about bees. And you know,[br]bees are 0:02:22.040,0:02:24.590 fascinating. If you don't know anything about[br]them, like, 0:02:24.590,0:02:27.250 you know, there's 4,000 different varieties[br]of bees in 0:02:27.250,0:02:30.000 North America. If you guys didn't know that. 0:02:30.000,0:02:35.070 They're responsible for 90% of the wild, wild[br]plants, 0:02:35.080,0:02:40.150 and they're crazy hard workers. You know,[br]one bee, 0:02:40.160,0:02:42.739 in its lifetime, is gonna gather 1/12th of[br]a 0:02:42.740,0:02:45.180 teaspoon of honey. And that's all it's gonna[br]do. 0:02:45.200,0:02:47.560 But it's gonna visit like, 50,000 flowers[br]to do 0:02:47.560,0:02:48.739 that. 0:02:48.740,0:02:52.990 60-70% of all our food is because of bees. 0:02:52.990,0:02:55.821 Like, from the pollination they do, or they[br]pollinate 0:02:55.821,0:02:58.330 the food that our food eats. 0:02:58.340,0:03:01.390 But, the really crappy thing is, the bees[br]are 0:03:01.390,0:03:05.699 dying. And they're disappearing. And we don't[br]know why. 0:03:05.700,0:03:08.901 And this is actually starting to become big[br]news 0:03:08.901,0:03:11.449 and people are starting to cover it. Just[br]last 0:03:11.449,0:03:14.281 fall, Time Magazine ran an article about,[br]you know, 0:03:14.300,0:03:16.200 a world without bees and what the consequences[br]are 0:03:16.200,0:03:19.599 if we don't start doing something, and, which[br]directly 0:03:19.600,0:03:24.740 leads to what Herman is doing. He's researching[br]this 0:03:24.740,0:03:26.710 thing called Colony Collapse Disorder. 0:03:26.710,0:03:28.791 And if you're not familiar with Colony Collapse[br]Disorder, 0:03:28.800,0:03:31.510 basically what it is, is like, beehives and[br]bee 0:03:31.510,0:03:34.460 colonies will suddenly just collapse and disappear.[br]And for 0:03:34.460,0:03:38.450 no rhyme or reason. And it's, it's serious.[br]Like, 0:03:38.450,0:03:40.410 for managed beehives, like that's beehives[br]where there's like 0:03:40.420,0:03:43.670 a beekeeper watching them, about 35% of them[br]have 0:03:43.680,0:03:45.869 just died out and vanished. 0:03:45.869,0:03:48.530 For wild bees, it's much, much worse. In some 0:03:48.530,0:03:51.191 areas of the country, 90% of the wild bees 0:03:51.200,0:03:56.109 are just gone. Like, Virginia, where I'm from,[br]it's 0:03:56.109,0:03:58.471 about two-thirds. And it, like it's not just[br]our 0:03:58.480,0:04:00.900 problem either. Like, it's happening in Europe.[br]Like, they're 0:04:00.900,0:04:04.320 predicting in England, by 2018, all the bees[br]are 0:04:04.320,0:04:08.680 gonna be gone. And that's, that's really serious. 0:04:08.680,0:04:14.549 Asia, same, same situation. India, India,[br]it's particularly scary, 0:04:14.560,0:04:17.399 because in India, 90% of the pollination of[br]honey 0:04:17.440,0:04:20.901 comes from a wild bee that they can't domesticate, 0:04:20.901,0:04:22.460 and as, like, as we know, it hits these 0:04:22.460,0:04:25.680 wild bees harder. So if those bees get hit, 0:04:25.680,0:04:27.620 India's gonna be devastated. 0:04:27.620,0:04:30.310 And so, you know, some of the, some of 0:04:30.310,0:04:33.830 the theories about what's causing Colony Collapse[br]Disorder, maybe 0:04:33.830,0:04:36.880 it's pesticides. Maybe it's these two variety[br]of mites 0:04:36.880,0:04:39.660 that the bees for some reason can't, can't[br]clean 0:04:39.660,0:04:43.930 from themselves. Could be disease. Genetic[br]factors. Like, we 0:04:43.940,0:04:45.850 just don't know. And it could be a combination 0:04:45.850,0:04:47.120 of any of these. 0:04:47.120,0:04:49.090 I have one of my own theories up there 0:04:49.100,0:04:52.420 that, unfortunately, isn't gaining any traction[br]in the beekeeping 0:04:52.420,0:04:55.200 community. But, I'll let you guys try and[br]figure 0:04:55.200,0:04:57.600 out which one it is. 0:04:57.600,0:05:00.310 And so, hearing all this from Herman, it's[br]like, 0:05:00.320,0:05:03.510 hey, what can I do to help? And, and, 0:05:03.510,0:05:05.580 you know, Herman didn't, doesn't have any[br]technical skills, 0:05:05.580,0:05:07.410 and, and so, but he told me, hey, I 0:05:07.410,0:05:09.900 already have some beehives at George Mason,[br]and it 0:05:09.900,0:05:11.800 turns out they're up on top of a parking 0:05:11.800,0:05:13.690 garage, like. 0:05:13.700,0:05:16.190 And so up, five stories up, you can see 0:05:16.190,0:05:19.940 the top of another building nearby, and Herman[br]said, 0:05:19.940,0:05:22.479 you know, he would love insight into these[br]things. 0:05:22.500,0:05:25.891 Like, the hive temperature, because bees keep[br]the temperature 0:05:25.900,0:05:28.190 in the hive constant, year round. Doesn't[br]matter if 0:05:28.190,0:05:30.650 it's the middle of summer or middle of winter. 0:05:30.650,0:05:33.040 And, actually just in the last, last couple[br]of 0:05:33.040,0:05:34.619 years, they found out that, you know, when[br]they 0:05:34.620,0:05:37.421 pull these combs out of the beehive, and there's 0:05:37.421,0:05:39.670 the little holes in them, they always assume[br]that 0:05:39.670,0:05:41.210 the bees hadn't gotten around to filling them[br]with 0:05:41.240,0:05:41.800 honey. 0:05:41.800,0:05:43.690 But what they've learned is there's a special[br]drone 0:05:43.690,0:05:46.080 bee that breaks its wings off and crawls into 0:05:46.080,0:05:48.900 those holes and just vibrates all day long[br]to 0:05:48.900,0:05:54.320 generate heat. I guess that's a life. 0:05:54.320,0:05:56.700 But, so, and he also wanted hive weight, just 0:05:56.700,0:05:58.700 sort of to see the weight of the hive 0:05:58.700,0:06:01.499 changing over time. And then he wanted the[br]outside 0:06:01.500,0:06:04.451 humidity and temperature just kind of as control,[br]cause, 0:06:04.460,0:06:06.580 like, perhaps there'd be a week of really[br]bad 0:06:06.580,0:06:09.169 weather, and so, like, that's why the weight[br]wouldn't 0:06:09.169,0:06:11.761 go up. They'd be eating their stores. 0:06:11.780,0:06:17.828 And so, I was like, OK, so it, again, 0:06:17.828,0:06:20.811 looking at, at the situation, well, you know,[br]the, 0:06:20.811,0:06:22.450 immediately, you know, we see there's some[br]issues with 0:06:22.450,0:06:25.030 this. You know, like, it's open to the elements. 0:06:25.030,0:06:27.630 We don't have any power. Our budget was really 0:06:27.630,0:06:30.070 small. And we needed something that was really[br]easy 0:06:30.100,0:06:32.540 to repair and maintain because most of the[br]people 0:06:32.540,0:06:34.059 aren't very technical. 0:06:34.060,0:06:35.951 And so the first thing we handled was the 0:06:35.960,0:06:39.090 no power, like this was the low-hanging fruit,[br]and 0:06:39.090,0:06:43.529 we did that simply by, by some solar panels, 0:06:43.529,0:06:46.661 a deep cell battery, and we had some off-grid 0:06:46.661,0:06:49.540 power. And we found that our solar panels[br]and 0:06:49.540,0:06:52.340 battery could power our system for about seven[br]to 0:06:52.360,0:06:54.880 nine days, when there wasn't any sun. And[br]so 0:06:54.880,0:06:56.190 as long as we had sun at least once 0:06:56.190,0:06:59.510 a week, we were, we were good to go. 0:06:59.510,0:07:01.160 So the next thing was we had a limited 0:07:01.160,0:07:04.049 budget. And I, I think we started with less 0:07:04.049,0:07:06.581 than $200 or about $200, and this is how 0:07:06.581,0:07:08.880 things broke down, and, and why, you know,[br]we 0:07:08.880,0:07:10.740 used Raspberry Pis cause we got the first[br]three 0:07:10.740,0:07:13.490 free. Got a bunch of Raspberry Pi devices.[br]You 0:07:13.500,0:07:16.350 know, some SD cards, cables, like, who doesn't[br]have 0:07:16.350,0:07:18.440 a bunch of cables in their closet. 0:07:18.440,0:07:21.020 And you see the solar setup there was about 0:07:21.040,0:07:23.029 $140. That was about the bulk of our initial 0:07:23.029,0:07:25.601 costs. And you know, what I brought to the 0:07:25.601,0:07:29.310 table was this MacGiver-like ability to figure[br]out solutions 0:07:29.310,0:07:32.609 to problems. And, you know, like in the, an 0:07:32.620,0:07:36.391 example of that is, when we built out, when 0:07:36.400,0:07:38.430 we put in our first temperature probe, we[br]needed 0:07:38.430,0:07:41.119 to protect that probe somehow. And so, which[br]led 0:07:41.120,0:07:43.261 me to, you know, to quickly come up with 0:07:43.261,0:07:43.760 a solution. 0:07:43.760,0:07:47.299 I ran to Student Health services, asked them[br]if 0:07:47.300,0:07:49.531 I could get some condoms from them to cover 0:07:49.540,0:07:52.580 the probe, and they didn't even flinch. They[br]handed 0:07:52.580,0:07:54.219 over a bunch of condoms. 0:07:54.220,0:07:56.451 But it really made me realize that these,[br]these 0:07:56.460,0:07:59.360 people in Campus Health Services have seen[br]everything, because 0:07:59.360,0:08:00.690 when I walked in there, I was kind of 0:08:00.690,0:08:02.469 dirty, cause I was outside working, and I[br]was 0:08:02.469,0:08:06.851 carrying duct tape and rope. And, and they[br]didn't 0:08:06.860,0:08:09.670 even flinch. They just handed over a handful[br]of 0:08:09.670,0:08:11.210 condoms, so. 0:08:11.210,0:08:15.640 So, like, this wasn't perfect. But we had[br]a 0:08:15.660,0:08:17.170 start. And I plugged in Twitter so we could 0:08:17.170,0:08:19.199 get, you know, social media going, and some[br]Tweets 0:08:19.200,0:08:22.510 from the beehive. And so our, our initial[br]results 0:08:22.520,0:08:28.481 were, we had a Tweeting beehive. In the picture 0:08:28.481,0:08:30.100 you can't really see, and it's Tweeting hey,[br]it's 0:08:30.100,0:08:32.010 78 degrees in the hive. And the little picture 0:08:32.010,0:08:33.539 of the bee yard. 0:08:33.539,0:08:37.200 And, and we're going. And one of the interesting 0:08:37.200,0:08:42.101 things is once you're out on social media,[br]people, 0:08:42.101,0:08:43.370 I guess, they assume you know a lot about 0:08:43.380,0:08:45.549 bees and they start contacting you. And one[br]of 0:08:45.549,0:08:47.611 the people to contact us, send us a direct 0:08:47.620,0:08:48.870 message, was just like, hey, how do I get 0:08:48.870,0:08:51.600 my dog to stop eating bees? 0:08:51.600,0:08:54.260 You'd think eating the bees would probably[br]be enough 0:08:54.260,0:08:58.330 of a lesson. But, but you know, I, I, 0:08:58.360,0:08:59.970 I Googled, and it turns out lots of dogs 0:08:59.970,0:09:03.800 like to eat bees, and you know, little dogs, 0:09:03.800,0:09:09.560 medium-sized dogs. And even big dogs. 0:09:09.560,0:09:14.310 So, so before I go any further, who's, who's 0:09:14.310,0:09:15.150 familiar with this acronym? 0:09:15.150,0:09:19.420 OK. Some of the people here. This is something 0:09:19.420,0:09:22.700 started by Bryan Liles. Maybe five, six years[br]ago. 0:09:22.700,0:09:27.220 It means test all the fudging time. I always 0:09:27.220,0:09:29.890 get stuck up on the f. But you know, 0:09:29.900,0:09:33.210 no, no offense to Bryan, but he's wrong. 0:09:33.210,0:09:36.739 Really, what it should mean is try awesome[br]things, 0:09:36.740,0:09:40.641 forget testing. Because, if you, because if[br]you forget 0:09:40.641,0:09:43.520 testing, you can get results like this. It's[br]currently 0:09:43.520,0:09:48.170 501 degrees in the hive. 0:09:48.180,0:09:50.610 And you think, oh, why is that valuable? Well, 0:09:50.620,0:09:54.210 it turns out that people, people find stuff[br]like 0:09:54.210,0:09:57.189 this amusing. And suddenly, and, and you can't[br]read 0:09:57.189,0:10:00.731 this, but suddenly we're getting reTweeted.[br]City of Fairfax 0:10:00.760,0:10:02.830 is Tweeting us. And people are asking us,[br]are 0:10:02.830,0:10:05.420 we raising fire bees? It, it, is the hive 0:10:05.420,0:10:07.970 on fire? Are things OK? 0:10:07.970,0:10:12.100 And, and, it's kind of amazing. Like, all[br]these 0:10:12.100,0:10:14.830 Tweeting and reTweets and people getting in[br]on the 0:10:14.840,0:10:19.590 joke suddenly, suddenly was our on Gundam[br]style, just 0:10:19.590,0:10:23.150 making, make everyone aware what we're doing.[br]And it 0:10:23.150,0:10:25.080 really made things happen fast. And it brought[br]us 0:10:25.080,0:10:28.900 into the attention of the SweetVirginia foundation. 0:10:28.900,0:10:31.770 And what they are is they're a non-profit[br]that 0:10:31.780,0:10:35.970 teaches honey, honey bee education to, to[br]students and 0:10:35.970,0:10:38.330 adults. And, and they wanted to help. They[br]didn't 0:10:38.360,0:10:41.180 know we were raising bees at George Mason.[br]And 0:10:41.200,0:10:44.051 so they, they said, well, what can we do? 0:10:44.060,0:10:46.060 We can offer you space. And Herman wanted[br]to, 0:10:46.060,0:10:50.470 to, to have a class of researchers, and we 0:10:50.470,0:10:53.090 didn't have the equipment which was, you know,[br]one 0:10:53.100,0:10:55.620 of the biggest issues. 0:10:55.620,0:10:58.769 And so, so what we did, is we started 0:10:58.769,0:11:01.640 a crowd funding campaign, because it's gonna[br]be about 0:11:01.640,0:11:04.431 a thousand dollars per student. And we, we[br]raised 0:11:04.440,0:11:06.870 twelve thousand dollars, which was amazing,[br]so we could 0:11:06.870,0:11:09.530 have a class of twelve. And the, actually[br]there 0:11:09.530,0:11:10.910 was a waiting list of over a hundred students 0:11:10.910,0:11:14.110 trying to take part in this research. 0:11:14.120,0:11:16.759 But, so we had twelve, and then this, this 0:11:16.760,0:11:21.801 kickstarter campaign, sorry, Indiegogo campaign,[br]also was like, another 0:11:21.820,0:11:26.050 big social media raising awareness for us,[br]and so 0:11:26.050,0:11:29.380 suddenly, suddenly again, you know, people[br]are becoming aware, 0:11:29.380,0:11:33.759 and bees just become crazy popular at, at[br]George 0:11:33.760,0:11:35.281 Mason University. 0:11:35.281,0:11:38.310 And so the, the, one of the Fraternities is 0:11:38.320,0:11:44.259 starting a Bee Global campaign. The magazine,[br]the alumni 0:11:44.260,0:11:46.811 magazine is all about bees. And this is the 0:11:46.820,0:11:51.060 president of George Mason with Herman, there,[br]and, the 0:11:51.060,0:11:52.829 really amazing thing about the, you know,[br]the president 0:11:52.829,0:11:58.912 getting involved is suddenly we have a budget. 0:11:58.920,0:12:00.550 And so now, now, which leads us into the 0:12:00.560,0:12:03.779 technology and the interesting stuff. 0:12:03.780,0:12:06.741 So, for anyone working with Raspberry Pi or[br]is 0:12:06.741,0:12:10.450 unfamiliar with the Raspberry Pi, that's what[br]this is. 0:12:10.450,0:12:13.650 It's a credit-card sized computer. Like, this[br]is an 0:12:13.650,0:12:16.590 entire computer. And so I invite you to come 0:12:16.600,0:12:18.860 up after and look at it and play with 0:12:18.860,0:12:20.400 it. And if you want to come later, one 0:12:20.400,0:12:22.790 of the evenings, I'm probably gonna be hacking[br]on 0:12:22.790,0:12:23.670 it and playing with it, and so I invite 0:12:23.680,0:12:25.730 you to seek me out later. 0:12:25.730,0:12:28.280 But if you are gonna work with Raspberry Pis, 0:12:28.280,0:12:31.080 some advice I'd give you is to, is to 0:12:31.080,0:12:33.900 backup your card often. Like, take an image[br]of 0:12:33.920,0:12:36.450 it and don't, don't go the traditional dev-ops[br]route, 0:12:36.450,0:12:38.460 where you know you're gonna install everything[br]on there. 0:12:38.460,0:12:40.120 Cause if you've ever had to wait for, like, 0:12:40.120,0:12:44.420 Nokogiri to compile on your computer, Nokogiri[br]compiling on 0:12:44.420,0:12:47.610 a Raspberry Pi is about sixty times as long. 0:12:47.610,0:12:48.810 So it's better just to have an image and 0:12:48.820,0:12:52.070 then, you know, copy that image. And, and[br]buy 0:12:52.070,0:12:54.889 a couple, because they're cheap. They're $30[br]computers that 0:12:54.889,0:12:57.461 are full computers. 0:12:57.461,0:13:00.090 So Raspberry Pis have these GPIO pins on them, 0:13:00.090,0:13:02.749 which is general purpose input output, and[br]it's the 0:13:02.760,0:13:04.741 same kind of thing you have, if you've ever 0:13:04.760,0:13:07.180 opened up a desktop computer and look, looked[br]at 0:13:07.180,0:13:09.970 how your hard drive plugs into the motherboard. 0:13:09.970,0:13:11.440 It's the same kind of thing. And there's these 0:13:11.440,0:13:14.509 pins, and to reference, this is with one of 0:13:14.509,0:13:18.341 the sensors plugged into one of my Pis. You 0:13:18.341,0:13:20.840 plug it in and you may see some tutorials 0:13:20.860,0:13:22.589 online if you're gonna do some of the stuff 0:13:22.589,0:13:26.390 that says, that says solder the wires right[br]to 0:13:26.390,0:13:28.971 your Pi. Don't do that. Because if your, if 0:13:28.980,0:13:31.420 your Pi breaks or you don't know, it's easy 0:13:31.420,0:13:33.579 just to swap it out, take the Pi, throw 0:13:33.580,0:13:35.841 it away and plug it into the new one. 0:13:35.841,0:13:37.790 Or, I guess maybe not throw it away, cause 0:13:37.790,0:13:39.550 it might not be broke. 0:13:39.550,0:13:41.080 And so if you're gonna be working with Pis, 0:13:41.080,0:13:43.489 these are the three gems I'd recommend checking[br]out. 0:13:43.520,0:13:48.101 There's the gpio gem, you know. pi_piper and[br]wiringpi-ruby. 0:13:48.101,0:13:50.480 You know, I'm not gonna suggest which is best 0:13:50.480,0:13:52.160 of the three, cause they're all amazing and[br]it's, 0:13:52.160,0:13:54.950 I guess it's my own, Sophie's choice. 0:13:54.950,0:13:57.340 But, so, as to saving the world with Ruby 0:13:57.340,0:14:02.019 and Rails, I lied. I'm actually using Ruby[br]and 0:14:02.020,0:14:05.101 Sinatra. So I guess if you want to get 0:14:05.101,0:14:10.678 up and leave now, feel free. 0:14:10.680,0:14:13.280 So I, I went with the dashing gem. Originally 0:14:13.280,0:14:15.560 I was using, for creating a dashboard, I was 0:14:15.560,0:14:18.310 using the dashing Rails, but I, I realized,[br]I 0:14:18.320,0:14:21.899 don't need all the, the complexity that Rails[br]brings 0:14:21.900,0:14:23.981 to the table. Especially since we wanted the[br]solution 0:14:23.981,0:14:27.490 that was simple for other beekeepers elsewhere[br]to look 0:14:27.490,0:14:28.970 at and to use. And, you know, we don't 0:14:28.970,0:14:31.559 want to have to explain controllers and spitting[br]out 0:14:31.580,0:14:33.020 JSON and all these kind of, all this kind 0:14:33.020,0:14:35.511 of stuff that they just, they don't need. 0:14:35.511,0:14:38.030 And so, and so using, working with dashing[br]is 0:14:38.030,0:14:40.850 as simple as gem install dashing, and then[br]dashing 0:14:40.850,0:14:43.999 new. Much like using Rails. And if you are 0:14:44.000,0:14:45.831 interesting in more about dashing, I suggest[br]going to 0:14:45.840,0:14:48.770 RubyNation where Carl, Derante and Chris Mar?[br]are giving 0:14:48.770,0:14:52.830 a talk on it, cause their talk is phenomenal. 0:14:52.840,0:14:55.040 But after doing this, you have a dashboard[br]that 0:14:55.060,0:14:57.170 you can't see too well. But you can see 0:14:57.170,0:14:59.460 there's, we're using the green and the gold[br]cause 0:14:59.460,0:15:02.460 that's George Mason's colors. But we have[br]our internal 0:15:02.460,0:15:07.300 temperature, external temperature, internal[br]humidity and outside humidity. 0:15:07.300,0:15:10.160 And if the numbers seem low for the temperature, 0:15:10.160,0:15:13.980 that's cause we're using Celsius. We're, I[br]guess, cause, 0:15:13.980,0:15:16.670 we're not all on the imperial system. And[br]that's 0:15:16.670,0:15:20.610 the weight in kilograms. And, and what this[br]is, 0:15:20.610,0:15:25.549 is it's a, it's, it's being wirelessly served.[br]So 0:15:25.549,0:15:28.952 you walk up to the beehive, open up your 0:15:28.980,0:15:31.980 laptop, connect to the beehive, and then navigate[br]to 0:15:31.980,0:15:34.340 beehive dot local and then this pops up and 0:15:34.340,0:15:38.559 you can see the current statistics in the[br]hive. 0:15:38.560,0:15:39.991 And how did we do this? And we did 0:15:40.000,0:15:45.040 this simply with a series of chron jobs. And, 0:15:45.040,0:15:48.449 if you're unfamiliar with how chron works,[br]you, you, 0:15:48.449,0:15:50.341 the first one is running at zero and twelve 0:15:50.341,0:15:53.429 hours, so midnight, noon. Second one's running[br]at midnight, 0:15:53.429,0:15:57.060 six AM, noon, six PM, and, and so forth. 0:15:57.080,0:16:00.890 And, and that's it. Like, three, three simple[br]scripts 0:16:00.890,0:16:04.331 and it's gathering all our information. 0:16:04.340,0:16:05.480 And this is an example of one of our 0:16:05.480,0:16:09.500 scripts. So making a little, little, an instance[br]of 0:16:09.500,0:16:14.080 our sensor, defining a couple of directories[br]and, if 0:16:14.080,0:16:16.871 you see, directories are in the public, the[br]public 0:16:16.880,0:16:19.040 folder, and the reason, again is just to sort 0:16:19.040,0:16:20.940 of keep it simple. If one of the researchers 0:16:20.940,0:16:24.470 wants to, to get access to the CSE file 0:16:24.470,0:16:26.420 when they're logged onto beehive dot local,[br]they just 0:16:26.420,0:16:29.310 type in inhumid dot csv and it downloads to 0:16:29.310,0:16:32.509 their computer or their tablet or whatever[br]they're using. 0:16:32.509,0:16:35.391 and it's as simple as just writing the humidity 0:16:35.400,0:16:39.179 and the temperature into two different CSV[br]files and 0:16:39.180,0:16:43.541 that's it. And same thing for the outside.[br]And 0:16:43.560,0:16:45.029 so you're probably thinking well, it's hard[br]to get 0:16:45.029,0:16:47.551 it up on the dashboard. And, but, it's not. 0:16:47.560,0:16:50.970 Dashing makes this simple. Every thousand[br]seconds I'm, I'm 0:16:50.970,0:16:54.639 opening up the, the CSV file and then sending 0:16:54.640,0:16:56.431 it to the dashboard. 0:16:56.440,0:17:01.070 And it's as simple as that. It's, you know. 0:17:01.070,0:17:03.340 Nothing too complicated. 0:17:03.340,0:17:05.280 And this is the, the Python code, but I'm 0:17:05.280,0:17:08.220 not gonna explain. It was, came with the scale, 0:17:08.220,0:17:10.888 so I didn't bother redoing it in Ruby. But 0:17:10.888,0:17:13.701 now that our scale's having issues I'm going[br]to 0:17:13.701,0:17:17.800 work on a new solution with a RubyGem. 0:17:17.800,0:17:19.210 And the other thing we used is we used 0:17:19.210,0:17:21.869 Passenger. Just as for our server. We used[br]a 0:17:21.900,0:17:24.900 couple LInux packagages for our, basically[br]creating our wireless 0:17:24.900,0:17:31.510 access point. And the, a wireless, and DHCP[br]server. 0:17:31.510,0:17:33.260 And that was it. 0:17:33.260,0:17:35.400 This is simple. And I think it's so simple 0:17:35.400,0:17:37.880 that anyone here can do it. Anyone who's been 0:17:37.880,0:17:40.029 doing Ruby on Rails for at least, least a 0:17:40.029,0:17:43.882 week, maybe two, like there's nothing to it.[br]And 0:17:43.882,0:17:46.450 I want you all here to go out and 0:17:46.450,0:17:51.310 do stuff like this. 0:17:51.320,0:17:54.210 Because I think we're all amazing, and we,[br]we 0:17:54.240,0:17:58.700 sometimes, we sometimes get this sense in[br]our head 0:17:58.700,0:18:01.460 that, you know, we, we have all these problems 0:18:01.460,0:18:04.370 and we're living in this kind of ivory tower 0:18:04.370,0:18:08.090 that isn't really representative of, you know,[br]the rest 0:18:08.090,0:18:10.519 of the, rest of the country. Like, we're kind 0:18:10.540,0:18:12.290 of the silk on valet mindset. It's like oh, 0:18:12.290,0:18:14.251 I gotta get my queuing speed down from point 0:18:14.260,0:18:17.230 six milliseconds to point five eight milliseconds,[br]or I 0:18:17.230,0:18:19.230 have to, I have to get my tests to 0:18:19.240,0:18:21.700 run faster. Make DHH happy. 0:18:21.700,0:18:24.890 Or, you know, we have all these issues, but 0:18:24.890,0:18:27.460 you know the vast majority of people, like[br]I 0:18:27.460,0:18:30.299 work in the, in a university, and I see 0:18:30.300,0:18:33.141 every day people emailing spreadsheets back[br]and forth. They 0:18:33.141,0:18:35.870 email text files back and forth. And like[br]all 0:18:35.870,0:18:39.670 these solutions that are just horrible. And[br]really educators 0:18:39.670,0:18:41.750 they need our help. And they need us to 0:18:41.760,0:18:45.200 get involved in projects like this. 0:18:45.200,0:18:47.490 And it's super easy to get involved in these 0:18:47.490,0:18:49.730 kind of things. Like, I, I'm involved in three 0:18:49.740,0:18:51.750 projects right now and all of them I got 0:18:51.750,0:18:54.380 involved with just by going to see a Professor 0:18:54.380,0:18:57.759 talk and then after his talk or her talk 0:18:57.760,0:19:00.520 I, you know, I just asked them questions. 0:19:00.520,0:19:03.111 Cause, you know, professors, professors have[br]bigger egos than 0:19:03.120,0:19:05.890 we do, as, as developers. They love to talk 0:19:05.890,0:19:09.040 about themselves. They do. And they love to[br]talk 0:19:09.040,0:19:10.630 about their research. Like even more than[br]we like 0:19:10.640,0:19:12.210 to talk about our code. 0:19:12.210,0:19:15.360 And so I know, I know you're thinking Sean 0:19:15.360,0:19:19.550 you dirty Canadian socialist, you know, like.[br]Why, why 0:19:19.560,0:19:22.820 should I do this, you know? I don't want 0:19:22.820,0:19:24.760 to give my time for free. And I guess 0:19:24.760,0:19:27.940 like the simplest reason is, is I run a 0:19:27.940,0:19:30.300 Ruby meetup group, and one of the first questions 0:19:30.320,0:19:33.320 I'm, I'm generally asked my new people is,[br]you 0:19:33.320,0:19:36.090 know, how can I get involved in opensource?[br]Like, 0:19:36.090,0:19:40.590 like, cause, it, opensource seems like this,[br]this goal 0:19:40.590,0:19:43.210 that you want. But you just don't know how 0:19:43.210,0:19:47.610 to get to, if you're new. 0:19:47.640,0:19:49.870 And And, you know, doing projects that like,[br]projects 0:19:49.880,0:19:52.069 like this, it really is a, is an easy 0:19:52.069,0:19:57.001 gateway into opensource, and to, and to, you[br]know, 0:19:57.001,0:20:01.059 getting opensource credentials on your, on[br]your resume and 0:20:01.060,0:20:03.680 on your github. Because, you know, like it[br]or 0:20:03.680,0:20:05.560 not, when we do apply for jobs, they do 0:20:05.560,0:20:10.740 look at what we do in the opensource community. 0:20:10.740,0:20:16.940 And can't really see this, but this is one 0:20:16.940,0:20:19.330 of the, the extra benefits of, of doing a 0:20:19.330,0:20:24.720 project like this, is, is all the puns. And 0:20:24.740,0:20:26.860 it's like, you know, you can't really see[br]these 0:20:26.860,0:20:29.430 but I gave this talk last week and every 0:20:29.430,0:20:31.600 one of these are bee puns, like, hey, buzz 0:20:31.600,0:20:33.970 off pal! You know. Sean has a tendency to 0:20:33.970,0:20:37.080 wax on, and, what's the buzz about, and ooh 0:20:37.080,0:20:40.990 it's gonna be sweet. It's the bee's knees! 0:20:41.000,0:20:42.980 And so, so if this is the kind of 0:20:42.980,0:20:46.190 thing that interests you and, and you might[br]want 0:20:46.190,0:20:48.690 to go out and get involved in, I'd really 0:20:48.700,0:20:52.130 like you to check out Ruby for Good, and 0:20:52.130,0:20:54.040 it's a conference we're gonna be putting on[br]in 0:20:54.040,0:20:57.840 the Washington, DC area. The first to third[br]of 0:20:57.840,0:20:59.360 August. We're gonna be staying in the Dorms[br]at 0:20:59.360,0:21:03.060 the University. We're gonna hack on opensource[br]social good 0:21:03.060,0:21:04.800 projects. 0:21:04.800,0:21:08.330 It's gonna be 72 people. We're aiming for[br]$200 0:21:08.340,0:21:11.690 or less, and that's all inclusive of your[br]lodging, 0:21:11.690,0:21:14.000 your food, everything. You just have to get[br]their. 0:21:14.000,0:21:16.170 You're welcome to come a day early for no 0:21:16.180,0:21:18.250 extra cost and we're gonna probably do something[br]fun 0:21:18.250,0:21:20.820 the day before. Maybe go do a nighttime tour 0:21:20.820,0:21:24.490 of the DC monuments or something. Not quite[br]sure. 0:21:24.500,0:21:26.490 And, and also maybe to make it more appealing 0:21:26.490,0:21:28.029 for your work, we're gonna hold, we're gonna[br]have 0:21:28.040,0:21:30.400 some training sessions on the second day.[br]We have 0:21:30.400,0:21:31.900 one of the guys from the RSpec core team 0:21:31.900,0:21:35.421 coming out, gonna give a workshop on RSpec.[br]We 0:21:35.421,0:21:37.560 have a guy giving a workshop on Angular. And 0:21:37.560,0:21:40.440 another one of the JSON API committers doing[br]a 0:21:40.440,0:21:43.340 workshop on creating APIs. 0:21:43.340,0:21:47.560 And that's my talk in a nutshell. Thank you 0:21:47.560,0:21:49.180 so much for your time and are there any 0:21:49.180,0:22:00.000 questions?