from Texas somewhere. I'm feeling better, thanks to Claire. I'm not feeling better, thanks to Jacks. So Claire was nice enough to come to Austin, Texas and take care of me and in the process she ended up getting sick. Sorry about that. What I get for helping people out. But I want to let you know she is being medicated. I ordered here some high quality bird azithromycin. You growing any feathers yet? Nothing I know of. Just wait. By the way, because our health care sucks, drugs are super expensive and this is a little work around way to get prescription drugs. Not that I'm telling you to do it, but in case your bird gets ill you can treat it, but not yourself.  By the way, I covered up the lights that was in a previous video up top here. Thank you to Alice again for hosting us out in Austin. Let me get better. I'm heading back west right now. We're in Texas. We're in Abilene. We're going to go check out some stuff further to the west, south and then drop her off in a week, a couple days after Christmas or so. The reason for that is because I was sick and because there was a conflict of my schedule to help someone. I'm basically going to teach someone how to make YouTube videos out in Kentucky. You'll meet her if that actually happens, but that's set for February first. It looks like I'm going to head west to the RTR and the Schooley Palooza. The Schooley Palooza is on the 5th. Just look it up if you want to come hang out. Otherwise, they'll be over at the River Tramp rendezvous hanging out with a bunch of people.  I just want to spend time with them and hang out and get to know more people and I know there's going to be a ton of people coming. Also, my buddy Brock, Bus Life Adventure, I'll be making a few videos, interview videos of school buses out there. If you do have a school bus, hit me up. I will interview you for his channel. We are going to do a little trade. He is a web developer, so he's going to do what he is good at. I'm going to do what I'm good at and we're going to trade. Finally, hopefully, we'll have a functioning website. Right now, if you go on the website, it's a bunch of dummy content and if you subscribe for the mailing list, it doesn't actually subscribe you for the mailing list, so that's been bugging me for a while, so it's good that I can trade because obviously I'm on a budget here. I think that's about it. Yeah, the bus is running great. I got a fresh oil change in here and it is now time to hit the road. We're going to, I don't know, drive a little bit less than the last week we were together, but we'll go check out some quirky stuff on the way and head towards Marfa. I almost forgot one more thing. If you guys came from the Jurgies channel, you already know who they are. If not, they are the cutest couple ever, first of all, and they hide treasures and they've asked me to hide a treasure. So if you guys have any ideas where I should be hiding this treasure on my travels, comment below or if you have any unique ideas for that, but that is something I will be doing probably in the next month or so, so I'm definitely looking forward to that. Okay, now it's time to hit the road. This is in Odessa, Texas, and from Roadside America it was saying it is 70% life-size scale. And this is on the University of Texas. Permian Basin. Permian Basin, thank you Claire, sweet Claire, you're so smart. Yeah, it's like this big old college thing over here and for some reason they just have a re-creation of the Stonehenge, so let's take a little walk around here. How big is this? 30% bigger. The question is that if you're going to go for 70% and not 100%, why stop at 70%? I mean it is pretty cool that it is here, but you know, it's a little strange that, you know, it's like 70% is almost 100%, like you're almost there, like why not go for it? That route to do 100%. Exactly. It's a big, big lot. Yeah, and you can see where these stones here were quarried and drilled. That's definitely not on the original ones, and I can tell you that without even going there. That's just kind of common sense. But it sure is interesting. It is not the only Stonehenge that I've come across, driving across the country. I believe there was one more, shoot, I forget where that was. There's one over by the Columbia River on the Washington side across from Oregon, and then there was another one I passed by someplace. I'm not really sure what kind of cult following the Stonehenge has, but I do know it is a pretty interesting place. Even a replica is pretty cool. What do you think, Claire? All right. So that took all of a couple of minutes. Oh, by the way, this is Claire's favorite tree. Where is this? A mosquito tree. Why is it your favorite? Yeah, these things. That's crazy. That's like my finger. Yeah. These are giant, giant thorns, huge thorns. Possible to kill. They populate. It does taste good with barbecue though. I suppose. Let's keep barbecue. We should definitely get some barbecue soon. No. I'm missing out. I haven't been sick for a week. I haven't had barbecue in a long time. What do you guys think about the light covers up there? Yeah. I feel like it kind of takes away from the school bus charm, but also makes it a little bit, I don't know, more legal inside. We're just hanging out. How was your day today, Claire Bear? It was good. It was good? Breathe though. Oh yeah, still sick. We'll give you some more medicine. Over here we got the Jack special, which is a couple of cans of lentils inside with frozen veggies. They're a little rice in there. Some slapio mama sauce. Stuff's all right. A little on the salty side. What do you say we do with time-lapse? And also Claire said we might see some deer tonight, so I'm hoping that we spot some deer over here. Here is the close-up of a very, very simple bus life meal. Like I said, lentils, frozen veggies, rice, and a little bit of that jambalaya, or seasoning, Louisiana seasoning. Claire Bear, how do you like it? I haven't tried it yet. Well, give everybody an insight into Jack's bus life cooking. What do you think? Not bad for like three bucks each for dinner, huh?


resistive sensors ok might have already like you know seen or maybe you might be seeing for the first time I do not know. So, so these are typically the strain gauges ok are resistive sensors. So, what what people do is like you know they they lay down this kind of a architecture of like a wire which is running across this patch of the sensor and this wire is actually some kind of a metal ok which is laid on the some small very thin kind of a plastic substrate. And when you when you like you know stick it to some metal or some place where you want to sense the strain then when it is stuck there and you start like bending that beam or say for example, you have your steel ruler that you use for measurement that steel ruler like know if you imagine this patch is stuck on that steel ruler at one end and you hold that end formally and then like know you apply some kind of a bending force at the other end then like know the strain that will happen at this end will get sense by using this resistive strain gauges sensor. Now you might have seen this formula principle and so the principle of operation here is just like know that the resistance value ok R which is equal to rho L by A ok where rho is resistivity as a length changes delta L change in the length will cause a change in the resistance ok that is the basic principle on which this typical strain gauges or metallic strain gauges are based on ok. So, typically the gauge factor will be two for the metals but then there are some other kind of a ways the resistance in the metal can change. So, if you have the resistivity change itself rho change itself happening then your gauge factor can be enhanced to higher values ok. So, nowadays there are sensors that are coming up in the market which will have much higher like know gauge factor. So, so these are what kind of sensors can you think they are analogal digital yeah they are analog sensors right there is nothing in like know digital here. So, you apply the voltage and like know in some kind of a western bridge kind of a configuration and you keep the strain and then continuous change in the voltage will happen at the output of the sensor. And then to kind of interface it with micro rotor you need some kind of conversion of analog to digital and then you can interface it with that. There will be some of the issues when you start practically using these sensors there will be temperature considerations there will be noise issues and then if you want to use whether you want to do single axis kind of a single sensor kind of a measurement or you need to kind of use what kind of a configuration that you want to use like you know that depends. So, we will see some I will post some material about that in the thing to kind of you to refer to and see half bridge configuration full bridge configuration you know what are the formulas that are available they are there are directly available you one can derive them by using kickoff's laws, but like no you don't need to get into probably in details I mean it just application of kickoff's laws and like using that for finding out some some output for the strain gauge that kind of exercise. So, this table I will post in the in the noodles you know our notes. Then you can have this more advanced now semiconductor based in say silicon for example when used as a as a strain sensor the basic difference is that we are not just dependent upon the length change there ok. So, suppose we lay like know the silicon strain gauge then the difference from the metal is that like you know in the formula you have a rho L by A as a resistance right. So, rho is a resistivity now this resistivity itself changes in the in the semiconductor strain gauges ok. So, it is basically based on the principle of like know that the flow of electrons that happen inside the semiconductor ok. So, that the distance it change you know for the electron to jump from one one kind of a molecule to other molecule to kind of like know create a flow path that change itself affects the resistivity ok in the in case of semiconductors in case of metals you will have a free electron. So, there is no such kind of a need there, but in the semiconductors you will have that kind of a possibility happening and based on that you can create like know in very like know very very highly sensitive strain gauge sensors based on the semiconductor principle and that sensitivity is important for the noise consideration. So, if you have very highly sensitive sensor then like know typically the the sensor to noise ratio can be minimized ok. So, that is a principle that one can use for having a deal with noise in some way. Then we can have particles of conducting material in some non-conducting polymer ok that kind also creates some kind of a resistive sensor which will have a very high gauge factor possibility ok. The same principle like you have a polymer matrix in which the carbon particles for example are there and carbon particles are conducting or compared carbon nanotubes for example or like graphene for example that is conducting domains in non-conducting material. So, the the I mean the boundary is very very small I mean it is not like know very far away kind of a boundary it is like a dense packing of these particles in the polymer matrix and just electrons have to jump between the in the gap that is created by the polymer between the two say carbon nanotubes for example and this jump will be kind of creating resistance for the path and as you bend or as you kind of give a strain the length of the jump starts increasing ok. So, amount by which the electron has to jump to kind of like you know get to the next kind of a conducting path that increases and that because of that you can imagine that you know small increase in the distance will have a large kind of a you know possibility for the large voltage needed for this jump to happen in some sense. So, the resistance change would be like know very drastic for small even small change in the strain. So, this is how the newer ways of creating these strain gauge sensors are typically coming up in the market ok. So, think about this question like know can you have a digital strain gauge possibility or like know the output of the strain gauge can be digital. So, think about this ok. And so, once you have some kind of a ways of like know thinking this classification can we see ok or can I have like know this digital domain sensing possible that can open up some interesting kind of innovative ideas in your mind. So, these are like know some pictures of actually the strain and strain gauge sensors for like know different kind of configurations and making sure like you know we want to measure something say torque measurement if you want to do then like know you place it in some. So, these are kind of called rosettes strain rosettes ok. So, the multiple sensors put together to get a specific kind of a measurement and then you can have a capacitive principle to operate ok. The basic principle of capacitance you know is epsilon a by d. So, this a is the area of the capacitor d is a gap between the two electrodes that are using capacitor. So, you can have many different kind of configurations here flat plate configuration cylindrical configuration and things like that. And typical application capacitive sensors I use is in the displacement ok. So, there is a normally this formula is applicable when there are no fringe fields, but like know typically there will be like a fringe field from here to here from plates the side of the plates like know the the electric lines ok or lines of electric field may not be completely going straight from the corners. In the corners may they may have some small bend that is happening ok. So, this bend will like know contribute to some some change in the capacitance which is not captured by this formula, but typically that may that may have to be done in in or dealt within some way in the in the application depending upon how much accuracy that you would need in in in these measurements ok. So, one of the examples of this capacitor same sensor is this this way of doing things where like know you have a surface which is electrical conductor and, but it is not participating really in a in a in a capacitive measurement activity in in some in some way. So, for example, you you have this measurement electrode which is kind of giving the field ok. So, to avoid fringe fields they have this additional kind of a secondary electric screening electrodes around here ok and then there is a ground ok. So, this is like how the they place typically the the sensor elements in the in the system and this electrical conductor is where like know the surface which from which we want to measure the distance of the probe. See this is a probe here ok. So, this electrical conductor is is is grounded. So, that you form a capacitance between these two. So, that way it is it is active part of the sensor, but it is not really like know you do not need it to be constructed with sensor you can kind of have this probe separately and then like know just put a ground on this electrode and then like know you you form this capacitance here and this can be extremely like know high sensitivity displacement measurement possible. So, typical displacement measurement with these units is can be possible to the extent of some few nanometers ok. Not just tens of nanometers, but like know some some 5 or 10 kind of a nanometer based on 10 nanometer can offer positioning can be sensing can be possible with such sensors. We do have such sensor in our lab I mean whenever you want to in the future you want to kind of like know take a look at you will be able to kind of amazed to see what how accurately and nicely it gives the positioning data. Maybe I would post like know the the data sheet also for such a capacitive sensor I will post it to the model to by the to watch ok. These are like inductive sensors where you might have seen these already this is called linear variable displacement transducer ok LBDTs ok. They have this primary coil and primary coil is excited and secondary coils is where we are measuring the voltage and this this you know the magnetic core when it is moved inside then the coupling of the voltages to these secondary coils changes that is the principle these LBDTs are based on based on ok. So, these are like know some industrial LBDTs that are there in the in the market and these are also very extremely high resolution kind of sensors can be possible with LBDTs ok. Then in the optical domain you you can have this is a very very what you say interesting or important sensor for a lot of mech atomic systems ok encoders ok. So, these are different from like the encoder word that is used in the electronics domain ok. So, we need to be careful about this mechanical this is mechanical encoders where you want to sense a position then like know you do this based on the principle as as demonstrated in this figure. What we do here is like know we have a light source here and then the light detector on the opposite side and there is a wheel which is having these slits ok. There are some dark portion and some bright you know the transparent portions. So, some opaque parts and some transparent parts ok or some gaps ok either way. So, when the light like when so this is powered up you know light is powered up and like know it receives a detector receives a right to begin with maybe and then like know you start rotating the wheel and the light will get cut by the wheel ok. As the light gets cut the detector will respond to that this is a light detector. So, it will when the light is not falling it will kind of respond and give some signal and that is how like know one can get get a signal out of these different sensors. So, you count these number of pulses that are coming on this light detector here and once you count like that that count will indicate the position of the wheel. Now, the question is like how do you kind of sense the direction of rotation ok. So, we will come to that in a minute, but think about like know how do we sense the direction ok. If you rotate in this direction or this direction only the thing is that we have happening is that you know the light is getting cut I mean and you are seeing some pulses there ok. So, for very interesting ideas that are used for getting the direction sensed ok we will come to that. So, this is one kind of a sensor which is called which is of the incremental type ok. It just gives you incremental information about the displacement. So, you can count the number of pulses you can get from some reference you will get to know the total displacement, but you do not get absolute displacement here. So, there could be possibility of absolute encoders also, but I mean it is very people are I mean that is not very widely used it is very rare to use these absolute encoders. Although they are they are construction is little difficult, but we maybe will have a chance of looking at some kind of a principle and like know how they are absolute encoders are designed. So, you can have a linear possibility for sensing or you can have a rotary possibility for sensing ok with the encoders ok. So, in the linear case there is a scale which is having these strips on the surface. Now, as you can see here we are having this transmission kind of a principle. And it is the same thing can be possible if I have a reflective principle here. So, that like that is the light reflects from some surfaces and comes back. So, that I can I do not need to have this kind of a complete pathway for the light. So, that this rotating wheel needs to come in the path rather than like know I can put this light detector on the same side as a light source and have this source and detector act in a reflective kind of a mode. So, the light falls on some surface and reflects from the surface and getting registered. That is a principle typically used for the linear encoders ok where they have a linear encoder head which is running on the scale that encodes the light that that use some kind of a that encodes the strips I mean the position scales ok.  And that is how they know you have a distinction between the two parts. Now, there are many different additional principles that can be used where this reflection happens as a as a reflective grating kind of ok. If you have these reflective parts very very tiny then the light starts behaving in a very different way ok. So, this has different kind of a repetitions for I know actually this becomes a little more complicated to do the encoding in a sense. So, the thing that is coming out from the all the strips has like say one micron kind of a line spacing. The spacing that is registered by encoders will be of your sensors may be different based on like know the grating of the diffraction pattern that are produced by reflection from such a small distance. See when the distances are larger you do not have the light diffraction effects, but when the distances get smaller and smaller then you will have typically you will have to deal with the light diffraction effects. And then consider that in your analysis or your calibration or your detecting your output of the sensor whatever you want to say. In rotary there are these two possibilities I have been told you absolute and incremental. The linear encoders can also have absolute encoding possibility, but not very widely used at all. Now, we come to this question how we sense direction of these pulses ok. Now, just pulses that are coming then like know how we sense direction. So, the idea is to use instead of one we use two sensors. And the two sensors are put in such a way that outputs of them are 90 degree out of phase with each other ok. So, that has two advantages. One is that it is it enables the detection of direction and other advantage is it enhances the resolution. You know we are putting instead of one sensor we are putting two sensors which are out of phase then like know you are expecting like know that resolution also will increase because we have two sensors now ok. The third sensor may be put if they want to know like that is called the incremental pulse that you want or sorry this is a word one you complete evolution you get one single pulse ok. So, that is a output that you get it is defined as I output I for the sensor. And like know these two phase like know outputs that are coming in their phase A phase B that is what is up there standard terminology that is used in the input as to mean ok. So, we will see now this A and B pulses that are coming and this increment of a revolution that is I pulse will typically be a simple single pulse that is coming also we do not need to look at it more. We look at this 90 degree how this 90 degree phase difference helps us detection of detection is what we need to kind of focus on now ok. So, imagine that you have this two sensors which are two pulses which are coming as the as a rotation happens. So, in this particular case like if you see at position 1 you have like you know you have 0 0 output A and B switching to this, but like let us start with some other position where they are both 0. Yeah maybe we can start here itself. So, say it is just like know you can consider that you know just before this red line ok what is the position what is the thing that you get recorded ok. So, that will be 0 0 for this ok. So, if you imagine like now here this is 0 here and this also is 0 just before this red line ok this timer timing marks I put it in a. So, in a way that you know we can just kind of like you think in a same kind of a logic in every red line case ok. So, here this is 0 0 here then if you go for the next position ok then A is still 0 ok, but B has gone to 1 ok. We are now reading just before the red line ok. So, red lines are drawn where the transitions happen, but we need to kind of be consistent with where we kind of consider this phase output ok. So, second third part like know you will have 1 1 here and fourth part you have 1 0 here ok this is how like know these pulses are coming. Now, you need to imagine that when the direction is reversed ok. So, when the direction is 1 in the forward direction these are the pulses coming when the reverse direction happens ok. So, say for example, you have these strips which are this requires little bit of imagination or like know you need to do little bit exercise you can take a pause here and then like know use the slits as I have shown here in this diagram and like know put actually the two sensors know such that like know you have the A and B output coming as shown in the first kind of a way ok when the forward direction motion is happening. And now if the direction of the wheel is only rotated the sensor position is just kept the same then what kind of a signal that you expect to come here is what we want to understand ok. So, do that little bit of exercise by pausing up here and then like know you will find this this we will again take this little bit of a discussion when we when we talk about in the discussion class ok. So, this is this you may or may not be able to crack it at this point, but just give a fair track and then we will come back in a in a class to talk about this ok. So, we will do that. So, is like a clockwise direction of rotation and then like know the the anti clockwise from direction of rotation will have like know the output produced in this kind of a fashion 0 0 followed by 1 0 now and then 1 1 and 0 1. So, based on these like ok 0 0 is followed by 0 1 or 1 0 you would you you can say that the direction of the incremental encoder can be found out ok. So, this is how one can go about hitting the direction ok by using these 90 degree phase shift head signals and seeing like know how they are coming with respect to each other. So, so you think about and then like know if you have doubts we can take up in the discussion class. Then you can have something called moir fringes you might have seen like know if you have this gate which will have so say basically some kind of a mattress for example or gate which is having these bars which are vertical and like know you run run like know the other two other kind of a set of bars which are slightly at an angle to it and you start kind of moving around you can see this kind of a fringes fringe pattern coming ok. So, you can simply like maybe we have a experiment maybe I can show some experiment or see the or maybe is it difficult or maybe some video maybe you can see ok. See it is basically like know you have this parallel kind of a lines drawn on the surface and then you are moving with an angle these lines with respect to each other and then there are some kind of a pattern that you see called moir fringes. Now this effect also is used in many different ways in the research these days ok. So, these diffraction effects will give these kind of a patterns ok. So, one can use these patterns to kind of do the sensing ok. For example, for a very small motion at a very small angle between them these patterns will start moving very fast actually ok. So, even for the small motion these patterns will move in the perpendicular direction fast and that can be a source of information or a sensing in the optical encoder based on this principle ok alright. Then this is another kind of like we can have more kind of a complicated examples where we have using some kind of a light path with additional light elements reflecting elements or you know the mirrors and things like that or beams fitters and things like that to put together like know very highly sophisticated sensors ok. So, that is the that is possible ok. So, this is the sensors we we use in long back like in my PhD days we have used such a kind of a sensor ok. Then in autofocus camera as you can have these different kinds of optical sensors. You can see these are this is a SLR camera in which you you have this array of you know CCD ok and the CCD will record like image and if the if the image if you are. So, this is an example of some pattern that is the image by the CCD ok. It may not be you may not have always this pattern you can have whatever image you are focusing on at that time, but I am just kind of like know this is both for such a kind of a pattern you you see the the left part is a blur part of the image and you do not have very sharp distinction between like you know see you see bottom side that is a that is an array of CCDs ok. So, these CCDs are actually acting giving this output which is blur in the sense like know you do not have a sharp kind of a distinction between the two adjacent CCDs ok. So, as you start moving the lens and the image starts becoming clearer you get this distinction very sharply. So, sharp boundary is found and that is why that is when like know the the spawnness can be built in the in the system to say that ok or now it is in the focus ok. So, the more is the contrast in the in the CCDs and like know sharp kind of a line that you find in the on the CCD then you can say that ok this is images in the focus ok. So, like that you can have this auto focus sense in possibility. Then there are these magnetic sensors which are based on the hall effect principle the principle is very simple you have the semiconductor which is like you know flowing current in one direction. So, this is the direction of current in the in the semiconductor and then you have a magnetic flux which is applied in a direction perpendicular to it and then you will find that like you know because of the flow of current and in this magnetic field which is perpendicular to it the electrons will get deflected in in in in the in in one direction ok and that deflection of electron will create a charge on that side ok. So, that charge is basically sense for the this is called a hall effect ok. So, this is a principle that is that the hall effect sensors are are based on ok. So, CD-ROM spindle motors these hall effect sensors are used in a lot of these BLDC motors to sense like know the magnetic field magnetic flux happening in the system to some kind of a feedback mechanism is is there based on that ok. So, we will see some some examples as we go along when we open the CD-ROM drive you know the spindle motor we will be able to see these hall effect sensors. Then these are which is another example for the car window opening operation ok. Then then we can have a piezoelectric sensors based on the piezoelectricity principle. So, this is like typically like the charge that is generated on the surface of a piezoelectric element when when some kind of a force is applied ok. So, you have two possibilities one is you can apply the force and generate a charge or you can have a give a charge and like non-generate the force ok both based this piezoelectric sensors work typically ok. So, there are these typical material city which are used as quartz or PZT or the PVDF these are different kind of a material that are used and nowadays people are using this piezoelectric as a energy harvesting elements. So, you can have a some kind of a small micro cantilever that is sitting in the on the sensor itself and it senses ambient it is not for sensing with the ambient vibration it is vibrating and because that vibrations the charge is generated ok. So, the energy of this vibration is converted into the electric energy in form of this charge and then like you know you can use this charge to store this electricity and use it for the for the powering of the sensors ok. So, one can have this wireless sensor nodes based on this kind of idea. So, idea is that the sensor is sitting in some industrial environment where some vibrations are based on those vibrations it is generating energy to sensor to power itself ok. So, the sensor does not need a extra battery or any you know solar or other kind of a power source to be there with the sensor ok. In the industrial environment whatever vibrations are it is generating a power for itself from those vibrations ok that is a kind of idea that is used in the piezoelectric energy harvesters ok and that is where like you know this is principles of piezoelectricity is going to be important and they are used of course, they are used as a sensors in the in the accelerometers for example and they are used as sensors in say pressure sensing kind of applications ok. So, I think this is one of the applications of piezoelectric kind of a pressure sensing ok. Then maybe we can now pause here for this lecture I think there is we have spent good amount of time over you know monitoring over these fundamental principles and then maybe we can like you know start in the next class with some other kind of a aspects or other elements of mechatronic system ok. So, and then MEM space sensor I will talk briefly about some in the next class and you know we can move on to the actuators from there ok. So, far here we will stop now.


We have made it halfway through his Rails comp, so that's really exciting. I wanna personally thank you for attending my talk today, Draw Crowd, the contextual camouflage story. Today I'm gonna be detailing how we took a hackathon project and turned it into an interactive art installation focused on mental health education. My name is Brittany Martin and I'm a first time Rails comp speaker, so thank you for coming. I'm currently the lead web developer for the Pittsburgh Cultural Trust, a performing arts nonprofit based here in Pittsburgh, Pennsylvania, so I had a really great commute to this conference. Now, I love my job at the Cultural Trust for three reasons. First, every day I get to write Ruby on Rails and combine that with my love of e-commerce. Second, my wonderful coworker actually went through all of the sponsor booths, got the stamps and actually gave me her socks so that I don't have to. And then third, both of my bosses are sitting in the audience right now, so really love my job. So, we're theater people, so we wanted to introduce you to the city and make you feel as welcome as possible, so this is currently displaying down the street in the theater district, welcoming you guys to Pittsburgh. When I'm not programming, my alter ego is Norma Skates, a play on Psycho's famous mother Norma Bates. I play in referee Roller Derby for the Pittsburgh East Roller Villains. Roughly a year and a half ago, I stepped onto the rink with several other women having absolutely no idea what I was doing. I couldn't skate forward, let alone hit into someone. Little did I know that Roller Derby in programming would become the pillars of my self-confidence. So much so that I actually have a dream of playing a Roller Derby bout of just all rubious, so I decided to go ahead and create some names that you were welcome to steal. Rack Metalware, Elsiff Chaos, Unholy Hash, Merge Conflict, it's a personal favorite of mine, it was actually almost really my Roller Derby name, and then Brutal Bullion, so feel free to steal, and you all have to have a dream, kids. I often do not share the reasoning behind my Roller Derby number because it's 200, but you are my people. The reason that my Roller Derby number is 200 is that when I get hit and get back up, I am status code okay. If that seems cheesy, then you're gonna have to deal with it. The last thing that I wanna tell you about myself is that I am one of the five by five Ruby on Rails podcast co-hosts. It's a real thrill ride getting to interview my Ruby heroes and actually Ben Shippey will have his episode published later today and he's speaking after me, so I definitely recommend you check out that episode. Whether or not you listen to the show or not, I would love to get feedback from you because I'm always looking for interesting topics and guess, but we are here to talk about contextual camouflage. Contextual camouflage is an open source Ruby on Rails application that prompts users to share their experience about mental health, whether or not it affects themselves or their relationships. Now, I've kinda tricked you guys because we're actually gonna be putting our arts mocks on and we're gonna be getting into class. We're gonna be going through three different levels and learning how contextual camouflage works and how we wanna bring it more into the community. So art 100, art history. Contextual camouflage was created at Steel City CodeFest 2017 based here in Pittsburgh, Pennsylvania. It is a city-wide week-long code sprint that has teams of participants partner with government agencies and nonprofits that have an idea. What I really love about CodeFest is because it's a week-long, you really get to ship a very stable MVP. You get to spend a lot of time with your nonprofit partner and they actually provide mentors along the way so that you really make sure that you're building something solid. Now, when I knew that I wanted to participate in Steel City CodeFest, I knew that I need to assemble the Avengers and two of them are actually in this room today. So we had three Ruby developers, two front-end developers and two UI UX designers. Now, as a former product manager, I ended up taking lead on creating tickets and assigning them. When it came to choosing our nonprofit partner, it became really clear that we wanted to work with McCoy Creative. McCoy Creative, helmed by Jason McCoy, is a creative agency based in Pittsburgh, Pennsylvania. Jason had a clear vision on what he wanted contextual camouflage to be. He was very responsive throughout the week, so if we had any questions or needed feedback from him, he was ready to go. And then Jason is incredibly tech savvy. He had a great vision about what he wanted to build and he had a great vision on how we could scale it up to as many locations as possible. It was also important to us as a team that we were tackling an issue at Steel City Code Fest that actually mattered to the team and we agreed unanimously that mental health truly mattered to us. Now, one in five Americans currently suffer from a mental health condition. Around 44% of adults and around 20% of kids and adolescents are not seeking the treatment that they need. Only three to 5% of violent acts can actually be attributed to mental health. And in 2013, the US spent $201 billion on mental health conditions, making it the costliest medical condition in the country. I also have a personal experience with mental health. This is my brother, Tyler, who's autistic. Growing up, it was difficult for us as a family and for Tyler because externally, he seemed the same as everyone else, but we knew that something was always a little bit different with him. Once he was diagnosed with autism, it really helped us to be able to treat him the correct way and be able to really empower him to be a great member in society. So as we decided to choose this project, I really was keeping Tyler in mind. So as good developers, you know, you want to code right away, but before we did, before we really started opening those terminals and getting to it, we knew that we needed to get to know our users.  We started off with a survey and got some really great responses and from that, our UIUX team built a series of personas that I'm gonna go over right now. Meet Brooke. Brooke suffers from anxiety and she's not seeking any treatment at the moment. She was really excited about going to college because it was gonna be a chance for her to start anew.  Contextual camouflage can be a solution for her to not feel alone. As I mentioned, this is Jason McCoy. He's the head of McCoy Creative. He's both a graphic illustrator and a designer. His goal of the project is that he is the original one who came with the idea of contextual camouflage but he needed to find developers in order to make it come to life. His job, his goals are basically to get contextual camouflage out there to the public so that he can iterate on it and that he is also partnered with researchers where he wants to send anonymous user data to be able to justify grants in the future. This is Michael. This is a neighbor who lives in the installation of where it's installed. Michael really loves his community and understands that mental health is important but he just doesn't know how to help and he's not really aware of what's going on. He's gonna look to contextual camouflage as a meeting ground of being able to see the people that need help and to be able to help himself. This is John. John actually has a loved one who suffers from depression and his loved one has a hard time feeling alone and whatnot and so John wants to be able to bring his friend to contextual camouflage so that he can prove to him that he is absolutely not alone in this world. This is Pam. This is the researcher that I mentioned that works with Jason and so she's very interested in getting involved with contextual camouflage because she works at a university and she wants to be able to justify grants. By using that anonymous data, she's gonna be able to prove that there is a real need for it in the locality that she's built and then lastly, this is the most difficult user for us to build and something that's definitely been addressed a lot in this conference. This is Brandon. He's from a small town where mental health was just not a thing that was spoken about. His entire goal in this project is to basically ruin the experience for others. So as we were building the application, we had to put in safety and security checks and make sure that Brandon's meddling was kept to a minimum. So as we had these user personas, we were then able to start working on some high-res mockups. So this is the landing page for contextual camouflage. On the right-hand side, you're gonna see a map. This map is gonna be a real detailed view of the locality that the installation is installed in and then the camouflage pieces are the actual people that are submitting their experience with a certain mental condition and it shows up in real time on the map. On the left-hand side, you're gonna see a key of those conditions and then the prompt to tell the user to share their story. Another part of contextual camouflage is these resource pages. These are individual pages about the condition and when the users go to submit their experience with mental health, they're gonna be able to be prompted to share an anonymous user story. Those are tied then to these conditions and are put on a continuous slider so that users can both see the medical information and then hear the real stories of the people in their area. So we reached the end of Steel City Code Fest. We've been fighting through this for a week long and we felt that we had a solid MVP, a great team and a fantastic partner. So Jonah, did we win? No, we did not win. But the important thing here is that we really believed in what we were doing and that we wanted to move forward with it. So on to version two, we decided to archive the original project, which is typically what you do outside of a hackathon. You might be hasty with your code just to get something deployed out there. So we started over. We narrowed down the team to the members that really could have the time to focus on this. We decided to set a new technical vision for how we wanted to instrument the app and then we wanted to set a real timeline. We actually set a date of when we wanted to have this application out in production and have people using it. So we've graduated from Art 100 and we're gonna move on to Art 200 digital media. But first, a love story. This is my husband, Jeff. And yes, he is reading a sports omnac from Back to the Future at our wedding. He is a independent filmmaker and along the ways he picked up UI and graphic design skills. Throughout version one and two, Jeff was really handy in giving us mockups and assets that we needed. But this is not the love story that I wanna tell you today. As I mentioned, I'm very much a backend developer. I breathe database schemas, APIs, and deployments. And so for me, I really needed to have a partner that I could rely and trust on. And that's where Danielle Greaves comes into play. Danielle is my DLP. She is my developer life partner. She is amazing with HTML, CSS, and JavaScript. So Danielle is the front end developer at the Pittsburgh Cultural Trust. She is my partner day to day and we have a very unique relationship. Because I write mostly in Ruby, she writes mostly in JavaScript, we still review each other's code and we really try to understand how each other are implementing features. One thing that we really try to do as we're building features and making sure that it's easy for each other to be able to implement the other side of a feature. So we really have a great relationship and I knew that when I was gonna be doing Steel City Code Fest that Danielle was a must. This is actually a hidden camera that I have at the office. This is pretty much how Danielle and I work. She's the guy in the orange tank top. So she is sending up a branch to me on GitHub and then I'm the dog who's pulling it down and making sure that it gets deployed. So we're gonna get into the nitty-gritty tech of how contextual camouflage works. For us, we had a lot of technical goals going into this. We wanted to use products that we were in our original wheelhouse, but we wanted to stretch the boundaries a little bit. We wanted to use things and make sure that we weren't duplicating code, but we wanted the opportunity for contextual camouflage to be a playground for us. We wanted to try out libraries that we want to use in our day-to-day lives but haven't had a chance. So for us, it was very obvious that we were gonna build this application in Ruby on Rails since that's what I love so much. It's currently built in Ruby 2.5 and Rails 5.2. I was quite proud of the Rails 5.2 until it got released two weeks ago, so that's no longer as bleeding edge, but I feel pretty good about it. The reason that we wanted to make sure that we were on the bleeding edge with these versions is that we wanted to be able to contribute back. So if we used the gem and it wasn't ready for these versions, we wanted to be able to open issues on those projects and contribute back to the community. A very important part of contextual camouflage is creating an installation that is geolocated to a locality. When a user submits their geolocated coordinates, we then use that to match them to the installation that they're currently at. So in this case, we use Geocoder, which is a very proven Ruby geographic library. Originally, we went with IP addresses because it was very easy to implement, but we quickly discovered that IP addresses can be wrong, can be changed, it couldn't indicate that a user is across the city when they're really not. So we ended up refactoring the application before we went live to use the HTML5 geolocation API. While it's very accurate, it's scarily accurate, it can be really slow to load, and we have a solution for that in the pipeline. We knew that we needed to have a really beautiful interactive map for contextual camouflage that showed in real time the locality that the installation was installed in, so we decided to go with leaflet. If you haven't used leaflet before, I highly recommend it. It basically has every feature that a developer could need in a mapping library. Weighing in about 38 kilobytes of JavaScript, it was very simple for us to implement. So this is a feature of contextual camouflage that we are extremely excited about, and that was implementing Action Cable in production. It was a huge win for us. If you're not familiar, Action Cable is a service that integrates WebSockets with the rest of your application. It allows for real-time features to be written in Ruby, and it's pretty much in the same style and form as you would anticipate. It's a full-stack offering that basically allows a client-side JavaScript framework to interact with a Ruby framework. So this really proves that Brittany and Danielle can work well together. For us, this means that when the users submit their camouflage piece onto the map, the map is continuously polling, looking for new information so that when you're looking at that art installation, the contextual camouflage piece just appears magically onto the map. No hard refresh is needed. When it came to the style vision, Danielle was very familiar with using Bootstrap, but we wanted to push the design a little bit more, and so we decided to implement the style of contextual camouflage using Materialize, which is based on the material designed by Google. It was as easy to implement as Bootstrap, but ended up being much closer to the style vision that contextual camouflage had set out. Now, as I mentioned, McCoy and both researchers have a need to be able to access this data, and so we wanted to use a very proven administration system to be able to keep and lock up that data. So we went with Rails Admin, which is incredibly easy to implement. If you ever need to set up an administrative interface, I highly recommend this gem. Now, for us, we needed to put an authentication layer in front of it. We didn't want just anybody getting this data, and so we used the very proven device framework. Speaking of security, we wanted to make sure that contextual camouflage was a safe place for users and data. As I mentioned, we really wanted to prevent trolling on this application, so we don't allow users to double submit anything on the site. So we cookie the users. After they submit their first time, we remember that cookie for 24 hours, so if they continue to submit, it just basically won't get saved. To them, it will look like it was successful, but to us, we're keeping our data clean. Now, we also, thanks to Let's Encrypt, I implemented an SSL certificate to make sure that we have secure communication between the browser and the website, and then also, the user is not able to submit to the application unless they're actually geolocated to the installation itself. We have a certain radius around the installation, and so they can't be across the country and trying to send fake data to us. It really has to be someone who's near that location. In terms of project management, I had never used GitHub Projects, which is a fairly new feature at GitHub. This basically gives you a free Trello-like experience that's tied to the repository that you're using. We're using GitHub in order to host the code, and we thought that projects wouldn't be an easy thing for us to be able to use. I really liked it because we had a project board for the version one of the project, and then we were able to archive that and then start over with project two. What's cool about this, too, is as we onboard new contributors, we wanna be able to invite them on to the project board. They won't need an invite, but they can see all the available issues and be able to sign them to themselves. I don't know about you, but I really like designing database schema, and it's actually one of my favorite things to do when I spin up a new Rails application. So in this case, as we were designing the database schema, we really needed to decide what object was gonna be the one that we were most concerned about. In this case, submission really ended up being the object that we really wanted to make sure it had a correct connection to everything. So in this case, you can see that submission is in the middle, and then all submissions are tied to an installation. In order for those submissions to be valid, they need to be geolocated to that installation, and the installation needs to be active. Underneath the submission is that optional anecdote data that a user can supply, and then that optional demographic data that they can supply for the researchers. Really made a clean database schema, and should be easy for people to understand. In terms of hosting, while I am an AWS certified developer, I decided to go with Heroku for the hosting. Our goal for this project is we wanna get it out to technical and non-technical folks alike. And so it was important for us to be able to add a button into the readme and have users just be able to deploy the project to Heroku. I wanna make it very clear that contextual camouflage is not a hosted SaaS. The idea behind the project is that you're able to deploy your own version of contextual camouflage and own the data that you collect. So for us, Heroku was really simple. It's gonna be able to help us auto-scale when we have a lot of traffic, but otherwise just working with Heroku was quite nice. So we have shipped the production version of the site. You can see here it's prompting the user to share their geolocation data. You get the prompt of whether or not it's you or yourself who is affected by a condition. You choose the condition from a list of bullets. This is where you can share that optional story that's gonna be auto-rotated on the resource page, and then you're gonna share your demographic data. As soon as you submit that submission, you're gonna see it's gonna auto-scroll up to the map where that camouflage piece now appears. So we have some future plans for contextual camouflage in terms of tech goals. As Eileen codes and Tenderlove worked on for Rails 5.2 was HTTP early hints. So early hints is a new HTTP status code that allows your application to send links to assets you would like to load early. As I mentioned, the geolocation JavaScript library can be slow to load, and so our goal is to be able to preload that library as soon as the user hits the site. And another feature that we're excited to do, so currently, Action Cable is continuously pulling on the back end to be able to produce those camouflage pieces onto that map. But we wanna produce something like a juicy effect. So we want users to get really excited when they hit submit and then they see their camouflage piece appear. And so we wanna give it some more animation and make it more interactive for the art installation. Okay, so we have graduated from Art 200 and we are gonna move on to our final level, Art 300. And this is where we really learn how we can mold hardware, technology, and the real world. So I'm gonna give you a little bit of background on the cultural district and the Pittsburgh Cultural Trust. So the Pittsburgh Cultural Trust is a non-profits arts organization that both Danielle and I work for. It was formed in 1984 to promote economic and cultural development in downtown Pittsburgh. Now, the cultural district is more than just a loose collection of theaters. It's a 14 square block area and it's a destination for theater goers, art lovers, shoppers, foodies, and more. This diversity is made possible by the numerous businesses that call the district home. So not only owning and operating theaters, the Cultural Trust also does several free festivals a year. So for us, this was a golden opportunity for us. We already worked for an arts, performing arts organization. What connections could we make? How could we bring our art installation to life in our town? And so for us, Danielle and I approach the Cultural Trust about making our installation real and this ended up being a really interesting challenge for us. Danielle and I are used to being able to write code and deploy a feature pretty much autonomously with our department. But in this case, we ended up having to interact with a lot of different departments within our nonprofit that we've never interacted with before. Finance, real estate, event planning, and we learned that they all have different forms of communication. It was almost like learning a different programming language for every single department that we needed to interact with. So we approached them months ago about being able to put this installation in and it really took a lot of grit and ambition in order to bring it to life. But we can't thank the Cultural Trust enough for helping us. So I'm proud to say that contextual camouflage is now a gallery installation in the Cultural District and it's running from April 16th to April 29th. It is no coincidence that RailsConf is during this installation date because we wanted to make sure that it was live when the conference was here. And so we installed the installation on Monday and we're super excited about it. You can see here that it is a frontward-facing installation. It's got window clings surrounding a 75-inch monitor that shows that interactive map. We have a key of the conditions on the right-hand side. It's available 24-7 and it's located right in front of a bus stop. We're really hoping that what will happen is that users will be waiting for the bus, they'll turn to look at it and then they'll start interacting with it. And we really encourage you that you visit us today. So I called in some favors and I got rid of the snow. So this is definitely a good day to go. You can see here on this map the convention center is on the top right. It's only a seven-minute walk. You just basically need to make two turns and you will see it right on the street. So please visit us today and definitely let me know what you think. And if you're interested in visiting with Danielle and I, afterwards come talk to us. The trust marketing team also did me a huge favor and they actually wrote a really wonderful blog post for people that are visiting Pittsburgh. It details food, drink, why are weather so crazy. So I definitely recommend that if you're interested in getting away from the conference for a little bit and you want to visit our installation, definitely check out this blog post too because you can really make a fun walking tour out of it. Now at the very end of the installation timeline is gonna be the Trust Gallery Crawl. So after running for two weeks, contextual camouflage will be part of the Trust Spring Gallery Crawl. The crawl is a free quarterly multi-venue showcase of downtown's dynamic art and entertainment scene. Hundreds up to thousands of people come downtown. So we're banking on getting the majority of our data from this actual event. It's exciting for us. Danielle, Jason and I will be decked out in camouflage and we'll be standing in front of the installation, getting users real feedback and probably using GitHub projects to file issues as we talk to users. And a big part of that gallery crawl experience is that we want to make sure that our users feel comfortable in sharing their information. And so what we're gonna be doing during the gallery crawl is we have found storytellers that every 15 minutes we'll be standing in front of the installation telling their story. From this, we really hope to build a great sense of community. So for the future of contextual camouflage, we're hoping to roll it out to new locations. We have had several cities reach out to us asking when they can roll it out for themselves. We've actually had people from other countries ask how they can do it. So we're really excited about getting it out there and we're continuing to work on it. We're also interested in onboarding contributors to it. So as we get all those issues from the gallery crawl we'll be excited to bring new people in. I think this is actually a really excellent project for junior developers to get involved in because the app, as of now, is pretty simple and is definitely something that Danielle and I would love to guide people on. And then also we wanna produce really thorough documentation, both technical and non-technical. We wanna make it very easy for technical users to get onboarded into the application and start working on it. And on the flip side, we want non-technical users to feel comfortable with deploying it and getting it live in their city. We're really lucky that we're working with McCoy Creative because he's really thinking about sustainability. A huge conversation that's going on in our community is the idea of sustainable open source. What do we need to do to get there? And we want contextual camouflage to be sustainable. While the software itself is free there's a lot of costs that go into running the application and including we want to eventually load the application onto raspberry pies and ship them out to cities. So in that vein, Jason's been having a lot of communications with different profit sources so that we can locate grants in order to fund the project further.  Pick projects that matter. We all have a limited amount of time in our lives. So make sure that when you locate a side project, do a hackathon, really pick a project that is gonna affect people in your life and that you're really excited about because that tenacity is what's gonna get you working on it on your free time. So she's gonna blush over this but find your Danielle. Find your developer life partner. It makes things so much easier when you have someone who's really passionate about what you're working on that you can bounce ideas off of and someone that you just know is gonna dive into any kind of crazy scheme that you come up with. Third, identify your advantages. As I noted, the trust really was a golden opportunity for us to get contextual camouflage off the ground and we are lucky but I want to implore you to think about the advantages that you have in your life and be able to use those to push your open source projects forward. And last, make sure to bring digital into the real world. It can be really easy as developers to only think about digital, only think about websites and mobile but think about how you can bring things into a world where people might not be as tech savvy. And so I implore you to think about that as well. If you're interested in getting involved with contextual camouflage and I will definitely tweet this out, this is the link to the GitHub repository. You can visit contextual camouflage now or you can definitely come speak to us. We'll be available afterwards and you can reach us on Twitter as well. The last note that I wanna leave you with is a note about imposter syndrome.  I'm also not an avid open source contributor. I've spent a lot of my development career mentoring junior developers as opposed to working on open source contributions. So when it came to the idea of building a mental health open source project I felt really intimidated. But I'll tell you what, seeing the art installation that Danielle and I made to be published on the production websites that we work on day to day and be seen as an exhibit as artists is just an absolute thrill and something that I would never take away. So you can do this too. You can build something like this and you can speak about it. And so I have absolute faith in all of you. I cannot thank the Pittsburgh Cultural Trust enough, McCoy Creative, Danielle, Ryan, everyone. Thank you so much and thank you for coming to my talk today.


Section 13 of Mother Earth, Volume 1, Number 2, April 1906. This is a LibriVox recording. All LibriVox recordings are in the public domain. For more information or to volunteer, please visit LibriVox.org. Mother Earth, Volume 1, Number 2, April 1906. Section 13, The Moral Demand, A Comedy in One Act by Otto Erich Hartleben. Translated from the German for Mother Earth. Const. Rita Rivera, Concertsinger. Read by Alicia Messiah. Bertha, read by Elsie Selwyn. Friedrich Stierwald, owner of a firm of CW Stierwald's Sons in Röldelstadt. Read by Larry Wilson. Stage Directions, read by Fahm. Time, end of the 19th century. Place, a large German fashionable bathing resort. Scene, Brita's Boudoir, a small room eloquently furnished in Louis XVI's style. In the background, a broad open door with draperies which leads into an anti-chamber. To the right, a piano, in front of which stands a large comfortable stool. Rita enters the anti-chamber, attired in an elaborate ball toilet.  Gaeli tripping toward the front, she sings. Les envoyés du paradis sont les mescales mes amis. She lays the parasol on the table and takes off her long white gloves, all the while singing the melody. She interrupts herself and calls aloud. Bertha! Bertha! O betelina! O betelina! Bertha walks through the middle. My lady, your pleasure.  She is still humming the melody absent-mindedly. Bertha takes off Rita's raps. Rita turns around merrily. Tell me, Bertha, why does not the electric bell ring? I must always sing first, must always squander all my flute notes first air I can entice you to come. What do you suppose that costs? With that I can immediately arrange another charity matinee. Terrible thing, isn't it? Yes, the man has not yet repaired it. O betelina, why has the man not yet repaired it? Yes, the man intended to come early in the morning. The man has often wanted to do so. He does not seem to possess a strong character. She points to her cloak. Dust it well before placing it in a wardrobe. The dust is simply terrible in this place. And this they call a fresh air resort. Has anybody called? Yes, my lady, to count. He has... Yes, I mean anyone else. No, no one. Hmm, let me have my dressing gown. Bertha goes to the sleeping chamber to the left.  Listen for ye, duperity. How long did he wait? What? I would like to know how long he waited. An hour. Rita, to herself. He does not love me anymore. Loudly. But during that time he must have at least repaired the bell. He is of no use whatever. The count came directly from the matinee and asked me where your ladieship had gone to dine. Naturally I did not know. Did he ask anything else? No, he looked at the photographs. Rita, in the door. Well, and does he expect to come again today? Yes, certainly at four o'clock. Rita looks at the clock. Oh, but that's boring. Now it is already half past three. One cannot even drink coffee in peace. Harry Bertha, prepare the coffee. Bertha leaves the room carrying the articles of attire. Rita after a pause singing a melancholy melody. Friedrich Steeleoud, a man very carefully dressed in black, about thirty years of age, with a black crepe around his stiff hat, enters from the rear into the antechamber, followed by Bertha. But the lady is not well. Please tell the lady that I am passing through here and that I must speak with her about a very pressing matter. It is absolutely necessary. Please. He gives her money and his card. Yes, I shall take your card, but I fear she will not receive you. Why not? Oh yes, just go. This morning she sang at a charity matinee and so... I know, I know, listen. Rita's singing has grown louder. Don't you hear how she sings? Oh, do go. Bertha shaking her head. Well then, wait a moment. She passes through the room to the half-opened door of the sleeping apartment. Knox. Dear lady! Rita from within. Well, what's the matter? Bertha at the door. Oh, this gentleman here. He wishes to see you very much. He is passing through here. Come in. Bertha disappears. Friedrich has walked up to the middle door where he remains standing. Well, who is it? Friedrich. Hmm, I shall come immediately. Bertha comes out and looks at Friedrich in surprise. My lady wishes you to await her. She walks away after having taken another glance at Friedrich. Friedrich looks about embarrassed and shyly. Rita enters, attired in a tasteful dressing-gown, but remains standing in the door. Friedrich bows, softly. Good day. Rita looks at him with an ironical smile and remains silent. You remember me, don't you? Strange. You come to see me. What has become of your good training? Have you lost all sense of shame? Friedrich stretches out his hand as if imploring. Oh, I beg of you. I beg of you, not this tone. I really came to explain everything to you, everything, and possibly to set things right. You, with me. She shakes her head. Incredible! But please, since you are here, sit down. With what can you serve me? Miss Hottenbach, I really should... Pardon me, my name is Rivera. Rita Rivera.  For me you are now, as here to fore, the daughter of the esteemed house of Hottenbach, with which I... With which your father transacts business, I know. With which I now am myself associated. Is it possible, and your father? If I had the slightest inkling of your address, yes, even your present name, I should not have missed to announce to you the sudden death of my father. Rita, after Paul's. Oh, he is dead. I see you still wear mourning. How long ago is it? Half a year. Since then I am looking for you, and I hope you will not forbid me to address you now as of your, with that name which is so highly esteemed in our native city. Rita, smiling friendly. Your solemnity is delightful, golden, but sit down. Freedrake remains standing. He is hurt. I must confess, Miss Hottenbach, that I was not prepared for such a reception from you. I hope that I might expect after these four or five years that you would receive me differently than with this. With this, how shall I say? Toleration. No, with this arrogance. How? Freedrake controlling himself. I beg your pardon. I am sorry to have said that. Rita, after a Paul's, hostile. You wish to be taken seriously? She sits down with the gesture of the hand. Please, what have you to say to me? Much, oh, very much. He also sits down. But you are not well today? Not well? What makes you say so? Yes, the maid told me so. The maid.  That makes me think. You certainly expect to stay here some time, do you not? With your permission. I have much to tell you. I thought so. Bertha! Bertha! Do you suppose one could get an electric bell repaired here? Impossible. Bertha enters. My lady? Bertha, when the count comes, now I am really sick. Bertha nods. Very well. She leaves. And where is the coffee? I shall famish. Bertha, outside. Immediately. The...the count, did you say? Yes, quite a fine fellow, otherwise. But we're not fitting now. I wanted to say, I am passionately fond of electric bells. You know they have a fabulous charm for me. One only needs to touch them softly. Ever so softly, with the small finger. And still cause a terrible noise. Fine, is it not? You wanted to talk about serious matters, it seems so to me. Yes, and I beg of you, Miss Erna. Erna? Erna. Oh, well. I beg of you, be really and truly serious, yes? Listen to what I have to say to you. Be assured that it comes from an honest warm heart. During the years in which I have not seen you, I have grown to be a serious man. Perhaps too serious for my age. But my feelings for you have remained young. Quite young. Do you hear me, Erna? Rita, leaning back in the rocking chair with a sigh. I hear. And you know, Erna, how I have always loved you from my earliest youth. Yes, even sooner than I myself suspected. You know that, yes? Rita is silent and does not look at him.  And I could not but think otherwise than that I would someday call you my wife. You certainly know that, don't you? Yes, I know it. Well then, you ought to be able to understand what dreadful feelings overcame me when I discovered sooner than you, or the world, the affection of my father for you. That was, no, you cannot grasp it. Rita looks at him searchingly. Sooner than I in all the world. Oh, a great deal sooner. That was, that time was the beginning of the hardest, innermost struggles for me. What was I to do? Ah, Miss Erna, we people are really... Yes, yes. We are dreadfully slow-minded. How seldom one of us can really live as he would like to. Must we not always and forever consider others and our surroundings? Must? Well, yes, we do so at least. And when it is our own father. For look here, Erna. I never would have been able to oppose my father. I was used, as you well know, from childhood to always look up to my father with the greatest respect. He used to be severe, my father, proud and inaccessible, but if I may be permitted to say so, he was an excellent man. Well? Yes, indeed. You must remember that it was he alone who established our business by means of his powerful energy and untiring diligence. Only now I myself have undertaken the management of the establishment. I am able to see what an immense work he has accomplished. Yes, he was an able businessman. With every respect, ability personified, and he had grown to be fifty-two years of age, and was still, ah, still, ah, how shall I say? Still able. Well, yes, I mean a vigorous man in his best years. For fifteen years he had been a widower. He had worked, worked unceasingly, and then the house was well established. He could think of placing some of the work upon younger shoulders. He could think of enjoying his life once more. That is.  Yes, but then you ought to—oh, it is not worthwhile. How? I should have been man enough to say. No, I forbid it. That is folly of age. I, your son, forbid it. I demand her for myself. The young fortune is meant for me, not for you. No, Erna, I could not do that. I could not do that. No. I, the young clerk, with no future before me. No. My entire training and my conceptions urge me to consider it my duty to simply stand aside and stifle my affection as I did. As I already told you even before, any other person had an idea of the intentions of my father. I gradually grew away from you. Gradually, yes, I recollect. You suddenly became formal. Indeed, very nice. I thought— Bertha comes with the coffee and serves. Will you take a cup with me? Friedrich thoughtlessly. I thought—oh, pardon me. I thank you. I hope it will not disturb you if I drink my coffee while you continue. Please. Embarrassed. I thought it a proper thing. I hoped that my cold and distant attitude would check a possible existing affection for me. Possible existing affection? Fine. Now you are beginning to lie. She jumps up and walks nervously through the room. As though you had not positively known that. Stepping in front of him. What did you take me for when I kissed you? Friedrich, very much frightened, also rises. Oh, Erna, I always— You were delightful, delightful. Still the same bashful boy who does not dare. She laughs and sits down again. Delightful. Friedrich, after a silence, hesitatingly.  As of your? As of your. She soles, then gaily. Ah, if you care too. Yes, may I? Oh yes, Fritz, that's better, isn't it? It sounds more natural, eh? Friedrich presses her hand and soles. Yes, really. You take a heavy load from me. Everything that I want to say to you can be done so much better in the familiar tone. Oh, have you still so much to say to me? Well, but now tell me first. How was it possible for you to undertake such a step? What prompted you to leave so suddenly? Erna, Erna, how could you do that? How I could? Ask me that. Do you really not know it? Oh yes, I do know it. But it takes so much to do that. Not more than was in me. One thing I must confess to you, although it was really bad of me, but I knew no way out of it. I felt relieved after you had gone. Well then, that was your heroism. Do not misunderstand me. I knew my father had... Yes, yes, but do not talk about it anymore. You are right. It was boyish of me. It did not last long, and then I mourned for you. Not less than your parents. Oh, Erna, if you would see your parents now. They have aged terribly. Your father has lost his humor altogether and is giving full vent to his old passion for red wine.  And both, even though they never lose a word about it, cannot reconcile themselves to the thought that their only child left them. Rita, after a pause, awakens from her meditation. Harshly. Perhaps you were sent by my father. No. Why? Then I would show you the door. Erna. Who ventured to pay his debts with me. How so? What do you mean? Oh, let's drop that. Times were bad. But today, the house of Hottenbach enjoys its good old standing, as you say, and has overcome the crisis. Then your father must have had some consideration without me. Well then. And Rudeltstadt still stands on the old spot. That's the main thing. Let us talk about something else. I beg of you. No. No, Erna. What you allude to, that... Do you really believe my father had... Your father had grown used to buy and attain everything in life through money. Why not buy me also? And he had already received the promise, not from me, but from my father. But I am free. I ran away and am my own mistress. Young girl, all alone, down with the gang. Friedrich is silent and holds his head. Rita steps up to him and touches his shoulder in a friendly manner.  At that time your father was the stronger, and life is not otherwise. After all, one must assert oneself. But he robbed you of your happiness. Who knows? It is just as well. Is that possible? Do you call that happiness, this being alone? Yes. That is my happiness. My freedom, and I love it with jealousy, for I fought for it myself. A great happiness. Outside of family ties, outside the ranks of respectable society. Rita laughs alone, but without bitterness. Respectable society. Yes, I fled from that, thank heaven. But if you do not come in the name of my father, what do you want here? Why do you come? For what purpose? What do you want of me? Runa, you ask that in a strange manner. Well, yes. I have a suspicion that you begrudge me my liberty. How did you find me anyway? Yes, that was hard enough. Rita Rivera is not so unknown. Rita Rivera? Oh no. How often have I read that name these last years, in the newspapers in Berlin, on various placards in large letters? But how could I ever have thought that you were meant to buy it? Why did you not go to the winter garden when you were in Berlin? I never frequent such places. Pardon me, oh I always forget the old customs. Oh please, please dear Irma, not in this tone of voice. Which tone? Irna, do not make matters so difficult for me. See, after I had finally discovered through an agency in Berlin, and after hunting a long time that you were the famous Rivera, I was terribly shocked at first. Terribly sad. And for a moment I thought of giving up everything. My worst fears were over. I had the assurance that you lived in good, and as I now see, in comfortable circumstances. But on the other hand, I had to be prepared that you might have grown as strange to the world in which I live, and that we could hardly understand each other.  How you would have liked to find me again, as a poor seamstress in an attic room who, during the four years, had lived in hunger and need. But respectively, that is the main point.  Were you denied that you have imagined it thus, and even wished for it? Friedrich, let's have her call me. Well, is there anything wrong about it? But how did it happen that, regardless of this disappointment, you nevertheless continued to search for me? Thank goodness at the right moment I recollected your clear, silvery, childlike laughter. Right in the midst of my petty scooples that resounded in my ears, as at the time when you ridiculed my gravity. Do you still remember that time, Erna? Rita is silent. Bertha enters with an enormous bouquet of dark red roses. My lady, from the count. Rita jumps up, nervously excited. Roses! My dog roses! Give them to me! She holds them toward Friedrich and asks, Did he say anything? No, said nothing but... Friedrich shoves the bouquet, which she holds up closely to his face, aside. I thank you. Rita, without noticing him, to Bertha. Well? Bertha pointing to the bouquet. The count has written something on the card. His card? Where? She searches among the flowers. Oh, here! She reads, then softly to Bertha. It is all right. Bertha leaves. Rita reads again. Pour prendre la congé. With an easy sigh. Ah, yes, yes. What is the matter? Sad. His education was hardly half-finished and he already forsakes me. What do you mean? I do not understand you at all. Rita, her mind is occupied. Too bad.  Friedrich rises importantly. Erna, answer me. What relationship existed between you and the count? What business is that of yours? Erna, whatever it might have been, this will not do any longer. No, no. You see, it has already ended. No, Erna. That must all be ended. You must get out of all this entirely. And forever. Rita looks at him surprised and inquiringly. Hmm, strange person. Friedrich grows more eager and walks up and down in the room. Such a life is immoral. You must recognize it. Yes, and I forbid you to live on in this fashion. I have the right to demand it of you. Demand? You demand something of me? Yes, indeed. Demand. Not for me? No. In the name of morals. That which I ask of you is simply a moral demand.  A moral demand which must be expected of every woman. Must. And why? Because. Because. Because, well, dear. Because otherwise, everything will stop. What will stop? Life? No, but morals. Ah, I thank you. Now I understand you. One must be moral because otherwise morality will stop. Why, yes, that is very simple. Yes, now please. What would I have to do in order to fulfill your demand? I am curious like a child now and shall listen obediently. She sits down again. Friedrich also sits down and grasps her hand warmly. Well, you see, my dear Erna, everything can still be undone. In Rudolfstadt, everybody believes you are in England with relatives, even if you have never been there. Often enough, my best engagements. Well, so much the better. Then you certainly speak English. Of course. And you are acquainted with English customs. Excellent. Oh, Erna, your father will be pleased. He once confessed to me when he had a little too much wine. You know him. He grows sentimental then. Rita, to herself. They are all that way. How? Oh, nothing. Please continue. Well, I could come back. Certainly. Fortunately during these last years, since you have grown so famous, nobody has... I had grown notorious only within a year. Well, most likely nobody in Rudolfstadt has ever seen you on the boards. In one word, you must return. From England? Yes, nothing lies in the way.  Nay, nay. How well that you have taken a different name. Ah, that is it. Yes, I believe that. Then they know that I am Rita Rivera. I wrote them. They will receive you with open arms. Erna, I beg of you. I entreat you, come with me. It is still time. Today. You cannot know but anybody from Rudolfstadt who knows might come to the theatre and... Rita, decidedly. No one from Rudolfstadt will do that. They are too well trained for that.  But go on. If I would care to, if I really would return, what then? Then? Well, then you would be in the midst of the family and society again. And then... Then after some time has elapsed and you feel at home, and when all is forgotten, as though nothing had ever happened. But a great deal has happened. Erna, you must not take me for such a Philistine that I would mind that. At heart, I am unprejudiced. No, really. I know my own fault. And I know life. I know very well, and I cannot ask it of you, that you, in a career like yours, you... Well, that you should have remained entirely faultless. And I do not ask it of you either. You do well at that. I mean, whatever has happened within these four years lies beyond us, does not concern me, but shall not concern you any longer either. Rita Rivera has ceased to be. Erna Hatembach returns to her family. Lovely, very lovely. But then, what then? Shall I start a cooking school? But, Erna, don't you understand me? Could you think of anything else then? Of course I shall marry you then. Rita looks at him puzzled. But that is self-evident. Why should I have looked you up otherwise? Why should I be here? But dear Erna, don't look so stunned. Rita still stares at him. Simply marry. Strange. She turns around towards the open piano, plays and sings softly. Favelon, favela, favelet. Friedrich has risen. Erna, do not torment me. Torment? No, that would not be right. You are a good fellow. Give me a kiss. She rises. Friedrich embraces and kisses her. My Erna, oh, you have grown so much prettier. So much prettier. Rita leans her head on his shoulder. But now come. One moment. Rita does not move. If possible, let everything be come. He pushes her with gentle force. You cry? Rita hastily wipes the tears from her eyes, controls herself. Oh, nonsense. Rita Rivera does not cry. She laughs. Erna, do not use that name. I do not care to hear it again. Oh, you do not want to hear it anymore. You would like to command me. You come here and assume that that which life and hard times have made of me, you can wipe out in a half hour. No, you do not know life and know nothing of me. My name is Rivera, and I shall not marry a merchant from Rudolt Stop. How is that? You still hesitate? Do I look as though I hesitated? Do you know, Fred, that during the years after my escape I often went hungry, brutally hungry? Do you know that I ran about in the most frightful dives with rattling plate, collecting pennies and insults? Do you know what it means to humiliate oneself for dry bread? You see, that has been my school. Do you understand that I had to become an entirely different person and go to ruin? One who owes everything to himself, who is proud of himself but who no longer respects anything. Above all, no conventional measures and weights. And do you understand, friend, that it would be based on my part? Were I to follow you to the Philistine? Friedrich, after a pause, sadly. No. I do not understand that. Rita, again gaily. I thought so. Shall I dread there every suspicion and tremble before every fool, whereas I can breathe free air, enjoy sunshine, and the best conscience? You know that pretty part in the walker? She sings. Greet, Rudal, stop for me. Greet my father and mother and all the heroes. I shall not follow you to them. Now you know. She sits down at the piano again. Friedrich, after silence. Even if you have lived through hard times, that still does not give you the right to disregard the duties of morals and customs. Rita plays and sings. Far along, far along, far let. Far along, far let. I cannot understand how you can refuse me when I offer you the opportunity of returning to ordered circumstances. I do not love the ordered circumstances. On the contrary, I must have something to train. And I? I shall never be anything to you any more. You thrust me also aside in your stubbornness. But not at all. Why? How so? Did you not state just now what? Certainly. Do you see? You cannot be so cold and heartless towards me. Why did you kiss me before? I know you also yearn in your innermost heart for those times in which we secretly saw and found each other.  Erna, come along. Come along with me. Come. Become my dear wife. Raytown looks at him quietly. No, I shall not do such a thing. Friedrich starts nervously after a pause. Erna, is that your last word? Yes. Consider well what you say. I know what I am about. Erna, you want to remain what you are? Yes. That's what I want. Friedrich remains for some time struggling, then grasps his hat. Then adieu. He hurries towards the lift into the bedroom. Rita calls, smiling. Halt! Not there. Friedrich returns, confused. Pardon me. Poor Fred. Did you stray into my bedroom? There is the door. Pause. Several times he tries to speak. She laughs gently. Then she sings and plays the song from Mamsel Nittush. I mean we. A play la fête. Remnay, babet, et cadet. Christy, la nuit est complète. Farnous, de pêche, babet. T'as d'un profiteur, gross bet. Favelon, favela, favelet. J'ai troupé, dit c'est cadet. J'ai pas peur, dit c'est babet. La roulette, la rue. La roulette, la rue. Friedrich at first listens against his will, even makes a step toward the door. By and by he becomes fascinated and finally is charmed. She finishes. He puts his stiff hat on the table and walks toward her with a blissful smile. Now, you even smile? Did I impress you?   He kisses her hands wildly. Rita stoops down to him softly and merrily. Why run away? Why, if you still love me can you run off? You mule. Oh, I'll remain. I remain with you. It was well that you missed the door. Oh, Erne. But now you call me Rita.  Well, are you going to are you going to be good? Rita, Rita, everything you wish. Everything I wish. She kisses him. And now tell me about your moral demand. Yes? You are delightful when you talk about it. So delightful. End of a moral demand. End of Mother Earth Volume 1, Number 2, April 1906.