All right, I'm going to talk about Brain 2.0. I am a futurist. I'm a techie. Whatever. What does the futurist mean? I write sci-fi. I make up lies for money, and people pay me. So I think that's kind of a fun job. I also teach this place, Singularity University, where we talk about accelerating tech, exponential tech. And that's basically what you guys do. And then how does it get applied to stuff? So you saw a picture of my books. I write books. In these books, in the sci-fi, the premise is you can swallow a vial of the silvery stuff, and it's nanobots that get into your brain, attach to your neurons, and broadcast what your neurons are doing basically over Wi-Fi. So that gives you an API to your brain, and people can write apps. People can hack it, which is very bad, et cetera, et cetera. But it also gets used as a communication device. People can transmit from person to person what they're thinking, what they're seeing, what they're hearing, and form a sort of weak telepathy, is what Cori Doctor called it. But you guys are probably already very familiar with this idea, like the idea that you could download video and audio and sensation into a human brain, especially if you're up to date on the latest and greatest philosophers, like the work of the great American philosopher, Keanu Reeves, who famously, when the computer downloaded info into his brain, said, I know kung fu, right? But I want to tell you a little bit about what inspired me to write this sci-fi because there's real science going on. This is a device called a cochlear implant. Anybody know someone with a cochlear implant? Right. So a cochlear implant looks like a hearing aid, but it's not. A normal hearing aid cleans up sound and then projects more sound. Sound is vibrations in the air. That moves hair cells in the inner ear, and that makes a sensation. But if you have zero hair cells in the inner ear, no amount of more sound cleaned up, amplified can help you. So the cochlear implant picks up sound and then transmits it digitally into the nervous system as a set of coded electrical pulses straight into the auditory nerve.  Here we go. It's coming back on. And he's back on again. See how he turned? Hi, Jonathan. Stop the sucking. Hi. Good. Could you hear that? Hi, sweetie. Could you hear that? So Jonathan there is a cyborg, but he's the cutest darn cyborg you've ever seen, right? This is not Arnold Schwarzenegger. And so this tech is really being developed to help people who have some sort of handicap or some sort of injury or so on. So that's proof of concept of data into the brain. Sensory data sound transmitted basically into the brain. But there's other senses we care about, like sight. This is a guy named Jens Naumann. Jens is 39 in this picture. At age 18, he worked on a railroad, and one day his pickaxe hit metal instead of rock, and a sliver of metal came up and destroyed one eye. Age 19, he lives in Canada. He's an outdoorsy guy. He's out on his snowmobile. Refusing to compromise his lifestyle, he has an accident, and a piece of the clutch flies up and destroys his other eye.  He's blind in both eyes. Until 20 years later, this guy, William DeBell, who violated every FDA rule, did the surgery in Portugal, fixed him with this system. This is a CCD digital camera on his eyeglasses here. It's like the one on your phone, only much worse, because it was 15 years ago. It takes the data in. It transmits it on that wire. It goes to a small computer that basically translates the format, and then it is sent up into this jack in the back of his skull, and into V1, primary visual cortex at the back of the brain. Now, let's be clear. This thing has 256 wires. It has 256 data pipelines, basically, that are all very slow. The brain has billions of neurons just in primary visual cortex. So the bandwidth here is minimal, so you would think it wouldn't work. But it gives him what they called limited mobility vision, which looks like this. I was able to very carefully drive and look from my left side to my right side, making sure I was between the rope trees on the right and the building on the left. When I got near any obstruction in the front, I would see that there was an obstruction. I would also see the lack of obstructions. And then when I backed up, I would be able to inspect for instructions there. It was really a nice feeling. So you catch that last line. It was really a nice feeling. Like, I can see. OK. But you'll notice that there's nobody in the car with him. There's nobody in the parking lot. There's no cars parked there. Jens' vision, while he had the system, was terrible. It was 16 by 16 pixel grayscale. You would never trade it in your life. But it was a proof of concept that we can send video directly, digitally, into the brain. We can crack that code. And it was a quantum level up for him from zero. Now he could see something at all. So those are both data into the brain, audio, video. What about data out of the brain? Well, here we have this woman has ALS. She's paralyzed from the neck down. But she is controlling by means of that pedestal on her skull, about 40 electrodes. She's controlling this multi-axis robot arm. And it turns out motivation is super important in learning new skills like this. This is not a natural thing. So you see this grad student is cruelly taunting her with a piece of chocolate. But he's not that cruel. Like, she gets the chocolate. She gets to feed herself. So that's data out where she can control the motion of this fairly complex multidimensional movement. But DARPA, who funds a lot of this, really for rehabilitating injured soldiers, not super soldiers so much, they've taken it to the next level. And the newest version they funded is bi-directional. So this is a robot arm that was funded by DARPA that also sends back touch data, certainly pressure data. So now the person controlling it with their mind can actually also control how hard they're pushing and feel what they have in their hands. So that's data out of the brain and data in. Well, here's more data out. When you look at a picture, your neurons and your visual cortex light up in a certain pattern. That's why the thing that they did for Yen's works. But if we can read that pattern, we can tell what you're looking at or what you're imagining or what you're dreaming. So this is a study where people were put in an fMRI machine, a totally non-invasive scanner. And on the left, what you have is what they're being shown. On the right, what you have is the output of software that is using the data from the brain scanner and nothing else, machine-learned software, to try to match up what they're seeing with a library of fuzzed out videos that it has. And you can tell it's very, very far from perfect. But even with no wires in the skull whatsoever, the software can kind of roughly tell the sort of thing they're looking at. And we all know algorithms are getting better, right? Deep learning has improved a lot of machine learning. So when the newest iterations of this, just with algorithmic improvements, are now so good that if you stare long enough, it can tell what letter of the alphabet you're staring at. So it's data in, data out, audio, video, touch, et cetera. But of course, we're more than just sensory machines. We also process data. We have these things that we think of for ourselves as higher functions, right? Like memory. What movie is this from? Mento, very good. What's the name of the actor? Guy Pierce, you guys are good. What's the name of the character? Lenny, that's very good. That usually stumps people, you got it. So Lenny here can't form new memories. He walks into a room, he can grok what's going on, but a minute later, a few minutes later, it's gone. That's a bit of an exaggeration that people like him do exist, but there are millions of people in the US alone that have some damage to their ability to learn things usually because of a blow to the head and damage to the part of the brain called the hippocampus. So at USC, a team led by a guy named Ted Berger wanna fix this and they have what they call a hippocampus chip. They take rats that have damaged the hippocampus, that part of their brain. These rats cannot learn new things. You run them through a maze, great. You run them a second time, they are no better. They don't remember it at all. But when you shunt in their hippocampus chip, then suddenly the rats can form new memories. Hypocampus chip actually is basically bio-limitry. It's just mimicking the circuit layout of that part of the brain, if you will. But not only can they learn new things, they now get an added superpower because what these researchers can do is they can take all the data that flows through the hippocampus chip and they can record it. And they can take that rat and a year later, which in rat lifetimes is like 30 or 40 years later, they can put the rat in front of the cage again, in front of the maze. They can play back that set of data and the rat will run the maze perfectly as if it had just been there a minute ago and not half of its lifetime ago. So storing memory. Or we can go even higher. These are Orisis monkeys or macaques. They have an implant in their prefrontal cortex, part of the brain that's involved in higher executive function and pattern matching.  It's called a pick and match test where they see a few images and then later on they get a blur of high-speed barrage of images that have to pick just the right ones and not the wrong ones.  Then the monkeys have their performance on this test impaired. It's impaired by giving them large doses of cocaine. So this is no joke. Well, it is a joke, but it's also true. So the monkeys think their performance is going up on this test when in fact it's going down on the test. But the chip can be put into an active mode. And in the active mode, when it sees a pattern of neural activity around itself that looks like a wrong answer forming, it can zap the neurons nearby and intervene and change that. And when it does, it can totally repair the performance degradation on this test from the cocaine. And if you put it in that active mode in a monkey that is not impaired, it lifts their performance on a hundred point scale by about 10 points, which obviously leads to the planet of the super-intelligent cyborg apes, right? Maybe. I think the coolest thing of this and what I chose to write about is the scenarios for communication because computers at one point were used entirely for number crunching, for databases, but now they've really changed the world by becoming this, right? By allowing us to send data back and forth. And this too has been tried. Here's a study where a guy named Sam Deadwiler took two Rhesus monkeys, two macaques, separate rooms that each have an implant in their auditory cortex, part of the brain that controls hearing. And they're in separate rooms that are soundproofed. They cannot hear the other. But when those implants are connected together, when they play a sound for one monkey, the other monkey is able to both hear it and identify it, right? Sort of monkey telepathy, if you will. And this study was funded also by DARPA, by their Advanced Battlefield Communications Program, actually, so you can see sort of where this might go. Or here's the most famous researcher in all these areas, a guy named Miguel Nicoleles. And Nicoleles did this study. He had two rats in identical cages. And in the cages, a light will shine in a certain pattern and that will tell the rat which levered a pool and if it gets it right, it gets fed. But one of the rats gets trained on this and the other one doesn't, right? They each have a prosthesis in their motor cortex that controls the motion of their paws. So one of them just doesn't get trained, it just sits there and doesn't know what lever to pull. When you connect those motor cortex prostheses, when they allow data to flow, suddenly the rat that has never been trained starts pooling the correct lever. Not all the time, but about 70% of the time, starts getting the answer right, despite having not been trained on it. So that's cool. What's also cool is where these rats are. One of these rats is in Nicoleles' laboratory at Duke University in North Carolina. The other rat is in his other laboratory in Sao Paulo, Brazil. Because once you make this data digital, you can send it anywhere data can go. And in fact, they're sending this data over the open internet. Or here at University of Washington, where I live, Seattle, these two guys, Rajesh Rao and Andrea Stoko, they are in separate buildings about a mile apart and they're playing a video game. A first person shooter, a very simple one.  They're playing single player. Rajesh Rao on the left can see the screen, but he has no controller, no data input device whatsoever. He does have this EEG skull cap, though. Andrea Stoko on the right a mile away does not have a screen, but he does have the fire button. And he has this magnetic pulse simulator on top of his brain. So when Rajesh Rao sees a bad guy and wants to shoot, he thinks shoot. And across campus, Andrea Stoko's finger twitches and he shoots. Now, I want to be very clear. It's not that Stoko on the right feels a tingling and thinks, oh, Rajesh wants me to shoot now. No, what happens is his finger twitches and then he realizes he's done it and he's shot. His finger has become sort of part of Rajesh Rao's body. We're doing this in humans. Or the guys I talked about at the hippocampus chip that can store rat memories or restore the ability of rats to learn new things. They talked about for years and finally did the experiment I wanted to see, which was two rats that each have a hippocampus chip. One rat runs the maze, the other rat stays home, but they let data flow. And sure enough, when that second rat is then placed in the maze, it already knows the maze and it runs it as if it had run it before. So how far is that from the great philosopher Keanu Reeves? It's still pretty far. It's proof of concept that we can do this, but we're talking about sort of single transistors if you wanna analogize it to where we are now because there are some serious challenges. Like, this is your brain. How many people here are excited about voluntary brain surgery? I'm looking. I didn't see any takers. Okay, you've got a choice. Come see me later. Normally somebody raises their hand and I'm like, that's consent right there. And then I get to ask, how many are still excited about voluntary brain surgery? Because this is what one of these arrays looks like. Now, it's actually, that's two millimeters, right? So here's what it actually looks like in comparison to something you know. But still, when you're putting sharp, pokey things in exactly the area you want to either get data out of or get data into, it's not really that good for the end results. So a lot of people will say this will never happen. You'll never have someone do this voluntarily. You might help the paralyzed and so on. But we said that about eye surgery too. 20 years ago, there were 20,000 eye surgeries a year in the world. Now there's about two million. And almost all of them are done with this thing called the eczema laser. That's what we use for Lasik, right?  Is there a Lasik for brain surgery?  And this is sort of a weird segue. But this zebrafish will end up getting placed in the zebrafish matrix. So they take zebrafish, they put them in a tank, they are locked in place. And then giant VR screens for them, about that big, are showing them images of potential predators and prey and mates. And they study their brains. And in zebrafish, they've gotten just sort of the holy grail of real-time brain imaging. You can watch in these very special zebrafish every single neuron fire, every single time it fires. They're scanning what they use called light field microscopy, a laser that scans across, and genetically modified zebrafish whose neurons pulse with light and change color every time they fire. That was a predator that just went by. So it's great if you're a zebrafish. However, they have some advantages we don't. Their skulls are transparent until they're fully mature, which ours are not. And we can genetically modify them to have this optogenetic stuff. Even so, DARPA is not dissuaded. My friend Phil Alvelda at DARPA runs a program where they are aiming for not 256 electrodes, but in the size of about two nickels stacked, less than an inch across, a million electrodes in a mode that can maintain safely for years inside the human brain. That's where people are pushing. And we see things like this heading in that direction already. This is a silk-based interface. It stretches out on top of a brain, and then it melts into it. The silk itself biodegrades. Electrodes are flexible. Or this has been used, that's been used on rats. This has been used at Harvard. This is what they called a neural mesh.   And what you're seeing in the right side of this, that is the tip of the syringe needle. That's the size this is working on. So all of that leads me to think, uh-oh. Well, there's still issues, right? Even if we have the system working well, none of us wants to see this in their brain. Or nobody really wants to see this in their brain. So there are some issues to work out, to say the least, besides just brain surgery. But I want to ask for a minute what happens if and when we succeed. If we actually could do high bandwidth data in and out of the brain, what consequences would that have? And I think we can ask that by asking about analogous technologies. What has happened to the world with the spread of cheap communications devices or even going further back with this ability to spread our writing, right? And what happened was a revolution. This is the book where Isaac Newton published Calculus. This book exists because he had a brain-to-brain interface with thousands of people around Europe, many of whom weren't even alive anymore, who could send him information and then he could absorb it, publish his own thoughts, and publish it back out. That built the first sort of pre-internet internet, if you will, of the world. And we know with Metcalf's law, the value of that network goes up as n squared as you increase the number of nodes in it. So what happens if we have a new modality for person to person communication? What happens is that network grows n squared. Now the biggest concern people bring up is the rich versus the poor. Will this be something where only the very wealthy can afford to have an implant and everyone else will fall behind? It's possible. I think that's worth looking out for. But we've got to remember this guy. Gordon Gekko, Wall Street, as remember this movie, perhaps. This was Gordon Gekko's cell phone. Only the rich could afford technology. This is a Motorola DynaTek real phone. It would take about 12 hours to fully charge. Its standby time was 30 minutes. It had no apps, of course, and had pretty damn poor reception. And now this is the median cell phone user around the world. There are more cell phone users in Africa than in Europe. By next year, we estimate there will be half a billion internet-connected smartphones in India. So we once talked with Digital Divide, but you don't hear a whole lot about it anymore. And this is an augmentation technology. We are in some small way superhuman as a result of it. So what happens to the world as a result of that? We have more people who are smarter in some way and more connected. Well, you get faster innovation. You get more people creating ideas. You get more economic growth. And that's good for people in general. But I think the implications go a little bit beyond that. And they're more than just economic change. They're social change. Sci-Fi is really dystopian. People like to imagine the worst. It makes an exciting story. And the sci-fi image of information technology is almost always this. New information technology leads to oppression and the state using it against you and social control and so on. But the evidence is actually the opposite. The printing press led to the first newspapers that made people more informed. It led to this guy, John Locke, this radical, publishing an idea that maybe we should get along, even if we're not the same religion, which led to ideas like those of having civil rights at all. And that would never have happened if only the princes and kings could publish their ideas. But it does happen when suddenly it's democratizes the technology and anyone can publish their ideas. You see that in the modern age in certain ways too, right? You look at what has happened with Twitter, for instance, Black Lives Matter. It's not that police officers started being worse to Black people after Twitter was invented. They always were, but the democratization the ability to publish your thoughts, video images changed the dialogue. And even in places that try to stop this, the evidence is that they're mostly not working.  There's an environmental protest in a city called Dalian. These people are protesting a new chemical factory being placed in their town and they won. It was scrapped and their protest was entirely organized via SMS. So the ability of them to communicate one to one and one to many changes what the world is like. And the same thing with the protests in Hong Kong. And it's more than that. It lets us suddenly empathize with people we didn't empathize with before. Like, would these guys have been able to get married in an age before social media? I don't think they would have. I think that has changed the world or other social change that we've seen. The legalization of marijuana. Definitely driven fast in people thought because we could communicate. So my suspicion is that every change in civil liberties throughout the world, throughout history has been accelerated by new information technology. That the right information technology has allowed new voices to be heard. It's allowed people to get out a message they previously couldn't get out. It's allowed us to see people we previously didn't see. It's allowed us in some way to see through the eyes of others. That's been a metaphor up until now, but one day it might just be real. And I think that world of greater connectivity would be a better world as well. That's it for me. Thank you very much.


Good morning. I'm going to present my paper on ultrasonography and CT evaluation of neck masses. Neck masses are any swellings or enlargements of the structures in the area between the inferior border of mandible and clavicle. Despite our vast area of etiology, the common neck masses are congenital lesions and lymphidinopathy and neoplasias, both benign and malignant. The role of ultrasound in the evaluation of neck region is becoming increasingly important due to the availability of high-frequency probes and color doctors. Computed tomography is often the first diagnostic imaging examination performed in patients in whom the presence of head or neck masses are either evident or suspected. The aim of the current study is to evaluate the role of high-resolution ultrasonography and CT imaging in the evaluation of neck muscles. The objectives of the current study is to study the mass lesion under the following headings that is location, size and extent of the mass, relation to surrounding structures, internal characteristics of the mass, and whether the mass is benign or malignant. The study was carried out at the Department of Radio Diagnosis, Muzakpunagar Medical College and Hospital, and 20 patients presenting with neck masses and they were subjected to USG and CT evaluation. Inclusion criteria consisted of patients who had presented with a clinically palpable neck mass and patients across all age groups. Exclusion criteria included post-operative patients, patients with contraindications to IVA administration of converse medium, pregnant females and patients lost to follow-up. The medical approval was obtained for the study from the Ethical Committee of the Institute and written informed consent was taken from the parents or guardians. All patients were subjected to ultrasonography and MD-CT scans, the patient was informed about the radiation exposure in the examination. CT examination was done in Siemens-Omanto, 16-slice machine and USG examination was done on Samsung, UWS, H60 and F3L, oblique 1M machine. The cytopathological or histopathological examination reports of all patients were collected from the pathology department and were used as gold standard to compare with USG diagnosis and malgae detector CT. Data was entered in Microsoft Excel 2010, and statistical analysis was done using IBM SPWSV24 software. This is USG image of 65 years old female who had biopsy proven. Carcinoma of soft palate showing a large ill-defined regulated left carotid space, likely a left nodal mass, the same patient underwent CT and on CT we can see a large indifference of related lesion, displacing the left common carotid artery and engaging it. And it is displacing the left lobe of thyroid with partial loss of fat planes. There is also focal loss of fat planes with the esophagus.  So we can see on CT the proper extent of the mass in relation to surrounding structures can be observed as compared to the ultrasonographic examination. The results, characteristics of the study population are as follows. Out of 20 patients, 9 had nodal masses and 11 had non-nodal masses, after which thyroid masses are the most prevalent. Then the comparison of the diagnostic efficacy of USG and CT was done in relation to histopathological examination in which USG had a sensitivity of 92% with specificity of 74.5 true predictive value of 81.5 and negative predictive value of 90.4 and diagnostic efficacy of 84.7. CT had a sensitivity of 97.2% with specificity of 82.3 true predictive value of 88.5, negative predictive value 95 and diagnostic efficacy of 90.9%. The final diagnosis was confirmed by histopathology or FNAC and the non-nodal masses accounted for 95% of total neck masses and nodal masses accounted for 45% of the total neck masses. This was in accordance with study done by Ajay K. Karpan et al. where nodal masses comprised 38% of the total cases. In 2019, out of 50 with aerodigestive malumensis being the most common cause of nodal masses neck and in contradiction to study done by Vijay Pratap et al. where information masses were the most common cause of nodal masses. Similar results were obtained by Ajay K. Karpan et al. versus 2% of the cases and John Rudev Sao et al. where 73% of the cases were non-nodal masses. In the present study USG had a sensitivity of 92.8% specificity of 74.5 and diagnostic efficacy of 84.7. Similar results were obtained by Akriti Rastogi et al. in a study of 100 cases in which they concluded that the USG had a sensitivity of 87% specificity of 96.6 and diagnostic efficacy of 90.2%. Sensitivity, specificity, positive predictive value and negative predictive value of our study were high. However, less than the previous study, this may be due to low comparative sample size and variability in duration of duration when USG was done as compared to the previous study. In the present study CT had a sensitivity of 97% and specificity of 82.3 and diagnostic efficacy of 92.9%. Similar results were obtained by Omay et al. Omay et al. in a study of 57 cases where sensitivity was 94.6, specificity 95 and diagnostic efficacy 94.7. Another study by John Rudev Sao et al. of 60 cases, sensitivity was 90.3, specificity was 96.5 and diagnostic efficacy of 95%. The next study by Ravi et al. of 100 cases had a sensitivity of 89.3, specificity of 93.8% and diagnostic efficacy of 90.9%. In conclusion, high-resolution ultrasound graft fee and color Doppler is a useful mentality for diagnostic evaluation of neck masses in any age group. It is simple, non-invasive and inexpensive diagnostic tool can be used as a first-line mentality for evaluation. For evaluating Sao et al. of tissue masses, especially in young and pediatric populations, CTN shows accurate anatomical localization, lesion, collectivization, and benign lesions and marital lesions. It is useful for staging and provides essential information about the tumor extent that directly affects the surgical approach necessary for curvature of the section. These are my references. Thank you.


So you have digigrade style legs but you don't know how to make a proper leg control. Not a problem. So just in case you don't know, reverse joint legs are different from digigrade legs. Generally reverse joint legs usually have three bones, thigh, shin and foot. So things like anubis from Zone of the Enders and the ATST from Star Wars would be considered reverse joint. Digigrade legs on the other hand are like animal legs. They might look similar at first glance, but if you look closely digigrade legs usually go forward, then backward, then forwards again. Reverse joint legs just go backwards and then forwards. So here you can see that I have a digigrade type leged enemy and I have half the skeleton already made for it. But I haven't made any of the IK controls yet so here is how I would do that. Extrude a bone from the knee and make sure that it has no parent, name it knee IK left and then change pivot to individual origin. Duplicate the foot, press S to make it a little bigger and again make sure it has no parent and name it foot IK left. Then go to pose mode, click the foot IK, shift click the shin, shift I to add inverse kinematics. Add your knee IK bone to the pole target. If your leg has two joints, set chain length to two. Otherwise my character has digigrade legs so I'm going to set it to three. The rotation seems to be a bit off so we're going to change pole angle to negative 90. Alright, the IK should be working. But we need the foot to copy the rotation of the IK. So click the foot IK, shift click the foot and press control, shift, C, R. Alright, now it should also be rotating correctly. Now to add the pivot control, in edit mode click the tip of the toe bone, E to extrude a bone straight up and name it toe pivot left. Clear its parent, then make sure that it's parented to the toe. Then make sure the foot IK is parented to the toe pivot. Then click the toe bone and clear the parent. You're done. Awesome. Now we have an advanced foot rig for a digigrade leg with inverse kinematics, pole target to control direction, position control and toe pivot control. And since I have half the body rigged, if I select everything that I want to mirror, right click and symmetrize, now you will see that it also mirrored all the work I did for my IK and controls.  Just make sure that before you do this, you check each bone to make sure that it's named correctly, parented correctly and if it's not going to control weight painting, make sure the form is set to false. Then you can proceed to do whatever weight paint workflow you want. Anyway, hope that helps and as always hope you have a fantastic day and I'll see you around.


This is Jerry Bain at the Coalition for Networked Information Spring 2023 meeting, and I'm joined in conversation today with Said Choudhury, Director of the Open Source Programs Office at Carnegie Mellon University. Thanks for being here, Said. Thank you, Jared. It's a pleasure to be here. So we're going to talk a little bit about the Open Source Program Office and your new role there. What is the Open Source Program Office and why have you decided to dedicate yourself to this work? Yeah, so the Open Source Program Office is a fairly new construct within the university setting. It's something that's been in the private sector for a few years, so we're still defining in many ways what an Open Source Program Office is. But I think of it as a convener of the community and a center of competency within a university to help better manage, curate, and share software. So raising awareness, providing capacity, consultation, expertise, bringing people together, acting as sort of a clearinghouse for resources and support. And then once you have better managed software, there are lots of different things that a university or different sets of universities might want to do. And we're exploring a lot of that. There's six so far funded through the Alford P. Sloan Foundation, there'll be another round coming soon. So we're starting to see a network and a community form around them. And why have I devoted my time to it? Well, I've always been focused on building infrastructure to support Open Scholarship, Open Science. And while in previous worlds I had responsibility for looking across articles, data, and software, this one is much more focused, as the name implies, on the software piece of it. I happen to think that there are some fundamental differences and characteristics around how software is produced and how it's shared and how communities are built. And also the impact in terms of supporting Open Science, through things like reproducibility or better engagement with communities. So at the previous funder session we heard about being more transparent, more inclusive, more accessible. I think Open Source Software is a great way to make those things happen. So I'm really eager to explore how to make those things work. And can you describe what your role is at Carnegie Mellon? Yeah, so I'm the director of the Open Source Programs Office. So I've been hired to basically help build out the office and to build out a set of services around that with some support from, as I mentioned, the Sloan Foundation, but also from CMU. Keith Webster, who is the dean of libraries at CMU, has been thinking about Open Science for a long time and has done some really great work at Carnegie Mellon, even beyond the libraries in terms of building interest and capacity for it. Also how the OSPO fits into that is a key part of my role. Also trying to think about sort of the external impact and potential and partnerships and collaboration for CMU researchers, CMU students, local community, all the way to federal agencies is a key part of it. We've hired recently a community manager who's going to help look at more of the internal facing, you know, community building efforts of faculty and students at CMU. So what should folks in higher education know or why should they care about what has primarily been a practice in technology companies? Yeah. So it's an interesting question and I agree with you that the OSPO itself has been primarily something in the tech sector or in the private sector, although I will say at this point companies like Walmart, American Airlines, whatever also have OSPO. So Open Source is everywhere. The estimates are anywhere between, you know, 95 to 98% of all software uses Open Source. So are you saying that there's a trend towards Open Source that's been happening? Yeah. So the interesting thing is while the OSPO has not been a university focus, Open Source has been in universities over the last decades as well. The fact that the private sector has been more intentional and strategic about it says to their credit and they have very clear business reasons for doing this.  That's simply not true. I mean, that is a benefit. But there are bottom line decisions these companies have made. Now obviously universities are different in terms of the mission and the way we work and the composition of the roles. But we haven't been intentional strategic about Open Source software. Even though Open Source software started in universities well before the private sector picked up, there are cases of Open Source software coming out of universities like Hadoop that got adopted by the private sector and the Apache Foundation and so on. But universities are a little bit late in my opinion to come to realize that there is Open Source software being produced, there is Open Source software being used and that there's real value in being intentional and strategic and organizing around that. So it's more a matter of it's already been happening and now wouldn't you like this to be a little bit more intentional, particularly given a lot of the emphasis on Open Science? Right. So I'm just thinking out loud here about the OSPO office, you know, ten years ago you didn't see the CISO role very much. Exactly. Is this sort of the same sort of thing like you didn't see this around and it's sort of a new, what could you trace like, you know, roughly how long this has been fomenting? Yeah. No, it's a really good observation. So I think, you know, one of the things that Josh Greenberg, the program officer at the Sloan Foundation, who's funding these OSPO's had said to me about previous efforts when they funded Data Science Institutes is new roles were created in universities, right? So fifteen years ago there was no such thing as a data management consultant or a data wrangler or whatever those terms might be. So I think we'll start to see a lot of these new roles evolve in the university context. The advantage we have in some sense given what the private sector has done is they've kind of blazed the trail. They have community managers, they have maintainers, they recognize the value of those roles and I think that'll start to happen in the university context. So, you know, sort of the fomenting of it in some sense is, as I said, you know, open source has been in universities for a long time, but as there's been more of a shift over time through, you know, OSTP memos and public access, the White House declaring 2023 as the open science is we're seeing a shift from articles to data to software. And in many ways the software piece is critical for reproducibility, transparency, things of the nature, but we don't have as much of an understanding what's an appropriate policy structure, what are the appropriate licenses, you know, what should the federal funders expect of universities. So there's a greater recognition that it's a critical piece, but there isn't as much awareness or capacity yet. You talked about your role. Can you talk about the role of open source at a university?  Great. Maybe I'll help develop Blender. Sure. What do we need you to do? And I don't mean to be insulting. I'm just like, I want to understand what are you tracking? What are you directing? If it's open source and it's just kind of out there, it's free. What needs to be wrangled? Not insulting at all. As I said, these are early days. You're not the only one with these questions. Better to get this out now than to keep it hidden. So in essence, the way I've argued about open source software is it is a primary research object. Just like articles, just like data, there's open hardware, there's other kinds of things. But open source software is a primary research object. I think you won't get a lot of disagreement about that. So in a university context, if you ask someone, do you care about open source? You'll get a wide degree of answers. But if you ask, do you care about research outputs? Everyone will say, yes, of course, I care about that. So it has the benefit of activating the whole university support around research, interest and support on research. And when you start to think of, well, yeah, it is a primary research object, therefore, we should know how we're producing it. We should know how we share it and what impact it's having, not only in the academic sense of citation and connections to data and so on, but local communities, other universities, other companies. A really important partnership is with Tech Transfer, which typically looks at commercialization, which is an option around open source software. But ultimately, they are about new forms of impact as well. So trying to measure those, I think, is key. But where are we today? I couldn't tell you all the open source software that's being produced at Carnegie Mellon. And I would submit, no university could tell you that right now. So we have some foundational types of information and pieces of infrastructure to put into place before we can start really addressing those things. But they can happen in parallel, right? We don't have to wait until we have this full inventory to start all those other kinds of useful strategic things. That makes a lot of sense. Can you talk about the connections between open source and cybersecurity? Yeah, so I can. But I will point out a talk that was given recently at Carnegie Mellon by the director of CISA, the Cyber Security and Infrastructure Security Agency, Jen Easterly. It was called unsafe at any CPU speed. I would encourage your listeners to look it up and either watch the talk or read the transcript, because she did a great job talking about exactly this question. I'll be sure to put that in the show notes for this. That'd be great. So I think the key question is that open source software is a part of critical infrastructure now, digital infrastructure, but it's increasingly connected to physical objects, right? So my television is now an open source software platform. It runs Android, OS, and quite frankly, sometimes it's flaky and whatever, right? So it's not to say that there are still a lot of questions to explore around this, but open source software is becoming a key part of everyday life. And therefore, any issues around its security or its vulnerabilities can affect your everyday life. And I think I don't mean to speak for the director of CISA. I do think people should listen to the talk directly. But a fundamental premise was the comparison to the auto industry in the past, right? So decades ago, if people had accidents and they were hurt and they died, there was a sense of, well, you're just a bad driver, right? It's your fault. But over time, we recognized that putting that burden on the user is not appropriate, and that the auto industry has a much more robust capability to make structural changes that cascade throughout the system. And now you have seatbelts and airbags and crumpled zones and crash testing and so on. And our premise was the same thing needs to happen with software. And there's an educational aspect to this. There's a regulatory aspect to this multiple dimensions. But the good thing is open source software is indeed open. So a lot of people talk about the log4j security instance that happened, and it was a very serious issue. But it was addressed openly by the community as well. Going back to automobiles, I used to own a Honda. I guess I shouldn't pick on that company. I'm sure this happens to all companies. They sent me this very nice letter saying, we need you to come in to get your airbags replaced. So I'm sitting here thinking, wait, what does that mean? I've been driving this car. I hope I'm OK on the drive over there. Exactly. And I think they gave me a free oil change. We know that's compensation. It ultimately comes down to trust. I'm trusting this auto manufacturer to do the right thing and have done all the things before that recall happened to make sure it shouldn't happen, and then after the recall happens that they'll do the right thing. Well, OK, is that better than putting trust into a community of universities or even companies who are working openly and saying, here are the security issues that are involved, and here's how we're addressing them. And you only hear about the ones that hit the news, right? You don't hear about the hundreds of cases that come up where there are processes in place. There are organizations in place that make sure it never happens. So it's a key part of how we think about security. Cybersecurity particularly gets integrated into things we do every day. But there's nobody, since the Department of Defense you name it, that's saying, don't use open source software. Everybody's saying, we have to continue to get the benefits here. We just need to do it in a safe and secure way. So can you talk about any suggestions you might have for any institutions that are interested in establishing an OSPO at their university? Sure. So at a session earlier today, we had a panel, which I would encourage people to look at the recording. The six institutions have been funded by the Sloan Foundation were represented there. We also have produced a playbook or a guide about exploring open source software within your university and then if it desirable how to create an open source programs office. I'd mentioned the Sloan Foundation recent call for OSPO as part of an informational session for that. We recorded a description of that guide and an overview of those questions. But beyond those resources, I think there's a community that's starting to form. Basically around university OSPOs. So you've got these six that are funded now. There'll be a few more. I'm hoping that that group obviously will have its own internal kinds of goals and considerations but can become a place where people start to see common patterns evolve and even differentiating patterns that might resonate with the type of institution that people are working in. But it is early days. I would be remiss if I said, oh, we've got a clear pattern and this is what you do. A lot of this is learning, sharing those learnings and evolving from there. But I think we've gotten enough of a foundation through those resources I mentioned that people would start. And where might someone find that guide you referenced? So the guide is available on a website for an organization called OSPO++. I can send you those resources as well. And then the informational session is on the Sloan Foundation site for launching the next set of OSPO's. And I can point you to that as well. Great. So Said, is there anything about this that we haven't touched on that you'd like to mention? Yeah. One thing in particular, the role of working with communities. So we've heard this throughout the CNI, which I think is really great, is how do universities better engage with people outside of the walls in the university? Speaking very broadly, whether that's within your city or throughout the world. And I was involved in some work previously when I was at Hopkins and we're starting to explore this at CMU as well. Where open source, using open source helped build the connection with the local community center in terms of trust, in terms of transparency, in terms of believing that we weren't here to just say, we know what your problems are and we're going to solve them for you. There's a group at Carnegie Mellon called the Center for Shared Prosperity and the director of that group said it very eloquently. He said, our goal is to give people in Pittsburgh the agency to solve their own problems. And one of the ways universities can act is equals or partners, right? Not say where the experts, you're the victims, is through open source. So anyone can look at the code, anyone can join typically the Slack channels where the development is happening. Anyone can contribute, anyone can say, I don't think this is the way this should be. Anyone can test the user interface, anyone can participate in the design. That's a really powerful way of signaling to the community that we're not here just to tell you what to do or how to do it, we want to work with you. And I think open source software plays a key role in that. There's somebody in Pittsburgh who has many roles, but he's sort of a force of nature in the community. His name is Majestic Lane. And he said this incredible phrase where he said, what we need to do is flatten the landscape. It's not about helping people come up a hill, right? It's about flattening the landscape so they can walk on their own. And I think open source software can play a key role in that. Great way to end, thanks so much for your time, Jerry. Appreciate it. Thanks, Jerry. Appreciate it. I appreciate it.


Good morning. Thanks for coming First of all a short introduction of myself. My name is some band egg I'm I'm one of the a singer co-founders from the project And my main responsibility now is doing community stuff and project organization and you can reach me on Twitter if you Want like to read that? Perhaps I'm not sure if you really want that so before I start Thank you to the has key guys for for setting this up for inviting me and help me getting these all these Visa stuff organized and everything which is necessary to come over to India. I like it very much and it's definitely not my last time over here Independent if you invite me again or not, but I will come back again So the a singer project before I start a quick poll so who knows what I think guys Okay, what's I 50% who knows what Nagius is? Okay, so we try to change this and in the next 30 minutes, okay What I think guys I think as an open-source monitoring tool So so a general approach is like we have a system which is extensible. We we check the availability We do notification And we provide data for reporting. That's our basic approach what we have So originally we we took the naga's code base in 2009 I think at this time it was naga stood to We took the code base into into I sing a one which is the fork we we are still running for years now But we started in 2013 to develop an independent core which is redeveloped from scratch So there is no line of code from the old naga's style in it and we have these I sing a two since 2014 now and This is a project driven Mostly by an international team So a lot of them are in Europe, but a couple of them are in the US in Africa and New Zealand Perhaps somebody in India. So if you want to join it's an open-source project. You can do so. We have a lot of work to do What we have as a stack is That perhaps you can see the pointer. We have the old I sing a classic This is what what what naga's was used to be like naga's with with the NDO utils We put them together and this is what we We used for years, but we had a several limitations with the old core There are a couple of reasons related to the software itself to the to the style how it was developed and also to the external Things like said we have still have these classic CGI's, you know these old naga's thing pretty shiny Thing we still have it and we're working on a couple of new interfaces. We have we have Reporting which is based on just for reports is an open-source reporting suit But today I will focus on I think I to and I think I went to so we are not Discontinuing I think I want so if you use this But we will not provide any major features for it So we focus on having security updates or if somebody sends in a patch So we will do it and we have releases after releases, but we're focusing on on our new products to bring them on the road So a short introduction what I think guys it monitors everything so you nearly can monitor everything It is an if it's able to be connected to a network you can monitor it or it's in sensor Whatever and we gathering the status out So if it's okay or not if it's reachable or not and we collect in performance data So every time we go to a server so the standard intervals about five minutes we go there We get is it okay, and how was the performance for example for an HTTP check? What was the response time? What we do is notifying using nearly every channel so default is email Which is the most easiest thing text messages popular the the most safest one alert is calling somebody So doing a voice call I'm doing a text-to-speech read the message and force him to say press 2 to to acknowledge These message because also text messages sometimes can take a couple of time until they reach the destination and And voice mails is the hardest thing to set up normally, but it's the best thing to to alert somebody So we consider dependencies So if somebody some service have relation to each other something like that and you can figure that we we able to handle it And we we handle events so we have something like event handler if you know an argues You know what an event handler is like for example if a web server goes down we can restart it executing a script We we check and forward logs Means all these all these information we gather we try to to provide it to other tools out there So we we provide locks using for example and galf output writing to lockstash or graylock We can write performance data to graphite or influx DB or open t-stp all these systems out there And also we provide data for SLA reporting in the database. So for now and we're supporting My sequel and postgres as a database back-end And also what you can see the on argues and all I think I was based on C We are working with C plus plus and boost which gives us the ability that we work on every Linux Unix, but also you can run isinger on a window system if you want to so it's not our primary platform But it it works really well. So perhaps you have some problems with the plugins on a window system. It could be But it in general it works and you can use also isinger as a agent on the system For all that basic checks out there So a lot of plugins for a singer we have a template library that's shipped with isinger So all these standard things this globe everything is configured You just have to use it, but you don't have to think about how we can configure the monitoring command or something like that So the current version is two three dot four it's it's out since April We have a lot of modules out there for puppet chef Ansible and we're working on salt stick So we discussed it yesterday evening So we hopefully get this on the road that we have salt stick support as well And if you want to play around we have we have regular and boxes where you can spin up the machine with all that Graphite stuff, so it's easy to try out So why is Nagus good? And the history of I think as all the I think are people which talked Nagus at this time. We were all huge Nagus fans. So we saw that Nagus has a big advantages But the development process was pretty slow. So let's say it was not existing. There was no development And therefore our our basic concept in August we really liked so it's very easy to monitor things with Nagus Just for me. It's a major reason why it's so popular because it's you just can write an easy plug-in. It's very easy It's a simple software stack So we don't have to set up a lot of cues and stuff and a lot of dependencies So it's very easy to get a first monitoring result We like that concept of active checks So you can do something like a monitoring agent on a system we send passive data You can do that, but I think that the most power you can have is really actively going on a system every minute Every second you can do that with a single tool and check if the status is okay or not and we have millions of plugins Okay, perhaps not really millions, but a lot of So the question okay, why a singer then if Nagus is so good one thing Nagus does not scale So if you have Nagus on a single box You see that one CPU is burning down the house and the other one is they do nothing because it's just a single simple loop And that's a big issue So there are tools out there and add-ons where you can spread the load a little bit or you can split up the configuration to a couple of nodes but this is a big issue in the in the basic concept of Nagus and This also comes to the problem if you send passive data or send commands to Nagus And he's under heavy load that he stops working. So these these load issue in Nagus is really a big thing. I Think a tool is multi-threaded. So it's it's using all the CPUs. Hopefully Load is distributed automatically So if you have so many checks you want to execute and then you can add more Checkers to the system and then they split up the configuration and and a couple of server checks the system So you can monitor in a second interval, but Caution here the plugin has to be good one. So if you start a 40 megabyte pearl monster every second We will not have a good weekend So benchmarking So benchmarking is it's not like saying something something all this bad, but just to give you give you an idea about so we see Online number one. I don't know if you can see this is I sing a one In the middle is a singer one plus game in gaming is a framework where you can distribute these these checkload to other nodes And in the back we have my singer to and we did this benchmark on a single box With 1 million services in a 60 second interval So there was it was it has been dummy checks, but for all of them So the the simulation was equal for everyone But we really good in in in doing this because we are a fork machine at the basic concept is like forking plug-ins And we can do that very good Another disadvantage in in August is adding modules is hard So if you for example want to use and you use tells want to write to the database It's like you have to download the files. Is it my mouse? No, it's yours You have to download in the utils. You have to configure make make install Sometimes you have problem with a little compiler and then you have to install it So there are packages available as well But adding new models because Nargo says he's event broker concept and it's really hard to add new models and all these things Would we solved in in having a modular architecture? So I think at the core This is what we what we ship and then we have all the features around it means we have I think I if you want to do Something you always need the middle of it But then you can decide on your own if you want to do checks on that a machine or if we want to write to the database Or if you want to provide a graphite So if you set up a mashup system you can have you can distribute the features to a couple of servers and let's say check on server a and Write to graphite on server B. They share the knowledge in between a zone, but I come to that later Everything is configurable using a C. I all the features stuff And it's very easy to add new things and so compared to that I'm going back to that example So this is like configuring into you do any utils on Argus and also perhaps I think I won It's like in I think I to is this thing a singer to feature enable IDO and that's it And then you have the database so don't have to take care of about Executing SQL scripts, whatever so it's just like enable the feature Internally it works like if you have an Apache website where you say sites enabled sites disabled It's just sets a soft link and then you restart it and it's it's the same for for graphite or other tools as well a Big issue with nagers is is clustering a distribution. So there is no contribute Distribution or clustering concept in Argus. You can do that on your own means you you can You can split up your configuration. You can copy over status data using SSH or SCP But there is no failover so you can use things like heartbeat to set these up and there's no application stag in there In I think that we have something like zones So we created a zone concept where you can put all the things in one zone But you can also make something like multi-tenancy where you have customer ABC and in in independent zones But have a master somewhere can see everything and How does it look like so for example you have a single box You can take all the features and copy them over to another box Which is just a high availability So it's independent if it's a Docker virtual machine or bare metal server You just say I install it twice then you set up an interconnection all the connection works using SSL and Certificates, and then you have an high availability scenario The other thing what you can do is like I mentioned before if you have two servers you can split up the features So we can say for example in this server. I have the database then you can write the database using the Icinga API so we tested a couple of it It's faster to to use the is internal Icinga communication writing to a database then using remote MySQL calls So if you want to write to the database It's best that you install Icinga there just enable idutils and write all the data from the zone to this Icinga machine and write it locally to the database. It's pretty much faster than right using remote MySQL and another feature You can have these multiple zones so we can have zone a so on B. They have they are totally independent independent so they have their their own brain they share the knowledge in between that zone and You can also do something more advanced like having a zone which is high availability You can have a zone and which is distributed in the zone with just a single box and equal can mash up all them together Which is if it comes to a setup like this, I would not say this is totally easy, but it's it's doable Severe it's it's advanced So another disadvantage is security so security in In August is let's say horrible nsca is And we still you need to use it in Icinga one So we also still support it because a lot of people use it, but please don't use it nsca is really crap Because nsca destroys your timestamp So if you send all data to the server and you have a situation that your network is down for half an hour And then the data comes to the central server then they and replace the timestamp with the current time Which means you can throw away all your sla data So please don't use nsca. It doesn't make sense It's better to to copy the performance files over with scp, which is the better way Nrpe has a couple of security issues all the time. It's the way they deal with this security So you can make it secure you can do something like Setting up scp or all these things you can do with with standard linux unix tools, but you have to do it on your own And I think are the cluster communication It's gonna happen using SSL. So we have a Bidirectional communication if you have a specific network zone You can connect into that zone or you can connect from the zone outside to your master So it's totally independent from which side you want to initiate the connection We have something like a bin lock retention means if you have a server somewhere else and the connection is broken for Let's say hours days weeks Then we relay all the data all the monitoring data later on and and write it to the database that you have it over there so because you you can disable all these features and The the memory footprint of the isinga core is about 10 megabytes at the moment With 100 checks So you can disable all the other features for example and just enable the checker And can bring isingar to your client So you can also use the isingar server as an isingar agent because it's so tiny You can just enable the checker you can now then Configure your your agent if you want to use these these kind of method Just put isingar there enable the checker feature and then you can configure every host with with your config management or whatever you want to use and then check them locally with the isingar agent and all there are Setting up the communication with a master server. So you still can use SNMP SSH and all the things out there So in the new version we bundle For Windows we bundle NS client. I don't know if you if you know it. It's it's NS client is a Windows program which enables you to really go into the details of Windows getting VMI getting performance counter So all the Windows information and getting these out and it's client is very popular to to do that And we will bundle that in the next version as well So it's just a simple wizard click-click and then it's it should be normally done Another big thing is the configuration limits. So with isingar 2 we are not compatible with the old isingar configuration and not compatible with the old nagers configuration as well, but this is many reasons We discussed that a long time because we know that that all the people were complaining about Mything things in the old configuration, but on the other hand, we knew that people were complaining if to have to write it new So people complaining anyway, and so we decided, okay, let's let's make it you so people We don't like it the first time but but we didn't want to make the old things again So I give you a couple of examples what we have so This is a typical service check Which you know from Nigus or isingar one You have a service and then you have host and every time you had a host you have to add these hosts And for example in a singer you can do that using a sample so you can add text to host And then let's say for example in this in this example apply service to every host Which has an address and is operating system is a Linux and therefore if you add a new host using your config management tool Whatever you just can add the host and then everything else all the templates are configured automatically So it's more a rule-based configuration Another example is that you can create combinations of it So you can say assign it but ignore it where where the server attribute is that is in test mode for example I want to check it but not in test mode Another example is these host groups thing I know that there are host groups and service groups in in isingar some people Don't use it But I think it's an interesting feature to to group specific servers and areas together But doing that manually could be a little bit hard and we can also do something like An object host group assigned So for example, we have an object host with the address with the check command and then we have these host group And with the name and then we say okay every host which matches this my sequel in a host name We add it to the host group. So wherever you add a host in your configuration. It's added to the system So one more thing so perhaps for the guys which are into into isingar Somebody has a clue what what this could be 12 minutes Somebody has an idea what it is. Yeah, it's it's a it's a time period based threshold So what is what we do we think conditionals to say is that server in that specific time period Then I said a specific value or for example load one load one minute intervals return 30 Otherwise, it's return 60 so you can work with conditionals. You can work with loops arrays and all that things So you would not be kind of example in every host service definition But perhaps you use this in a template and reuse it again. So this is very powerful if you want if you come to that level dealing with the configuration So just to summarize it's new Perhaps it takes you a couple of days to come into it, but you really really love it if you if you play around with it a little bit It's really really cool So leaving the the things you don't see normally leaving the core coming to the things you see So what you see is what you get from the Nagus perspective is hopefully not Because Okay, so you can do it. You don't have to But it's really not good But to be honest We use it as well. We have a different style We have fancy buttons and we have a couple of features like multi-select and multi commands, but it's the same It works if you have 20 services, it works pretty good But if it comes to that point we have multiple users Authentification dashboards and all the things the old interfaces is not ready for for enterprise approach Let's this say this way. So we also had and this isn't a singer sing So I'm laughing about our own tools as well We tried to put a mobile thing, but as you can see on the iPhone, it's Steve Jobs was still alive at this time So it's very old A Couple of issues with the CGI so CGI's need to parse status data So if you have a lot of services, you need to reparse the file again and again It's doing its reload and it could be really really slow if you have a couple of servers in it So executing commands remotely is very hard You can set up using as an SSH tunnel or something like that But it's very inflexible and normally you have to run the CGI on that server where you have the icing a core running On the other hand in our portfolio. We have the same issues So we have we have the old CGI's we have icing a web version one Which is which is not so bad, but it's hard to extend we used a lot of XML Which at this time seemed to be a good idea But now we know it's not a good idea because people never find the right place in the configuration to put things in so perhaps if you're into it you can handle it, but It wasn't in a lot of parts in the background. It was too complex and we had no inter unified interface so far and What we did now is that we have we're having a new interface. It's I think a web to it's very easy to extend So it's it's based on PHP We have a lot of authentication providers where you can connect to LDAP or internal DB or Active Directory, which is an elderb as well. We support Database or live status as an as an access API and it's responsive And the the technical foundation looks like that we have I think I web to is it's just the basic framework and Imagine all the other things like like perhaps like a WordPress plugin So the I singa is just the foundation which takes care of all the backend calls API and stuff like that and also monitoring Which we ship with and the documentation These are the only two modules which which coming delivered with I think a web to but They are modules so we can disable them you can kick them out It's just a directory and for us It was important to be to be totally independent from other things are coming in the future because we don't know for now And and what we have now is like we have a module for business process We have a module for graphite for PNP We have a module for Naguiz if you if you know that it's it's a visualization mapping tool for Naguiz and can do that and then I Hopefully have two three minutes to show you in a demo how this looks like Okay, so This is how I think about to looks so this is a landing dashboard you have In our design concept for now is that every time you open a detail for something for a service check Whatever it always comes in the column to the right so every time you do something and it opens a column So for example, if you have this critical check On the demo host you can see the plugin outputs You can see the details But you can go to the host as well or you can see your history which happened on this on this machine So we tried that that everything is maximum One click away so it could take a little bit in my in my system Oh, that's I set it up a new demo system yesterday evening. That was not a good idea but I'm for example You remember Check in in in Naguiz or I sing up one so we have to be true It's the same issue in our singer one as well if you want to reschedule a check It's like reschedule and then say now and then say do you really want it now and force now So you have to make 20 clicks to just executing a reschedule It's not rocket science, but it's just it's a single click so check now because I want to see it now I don't want to answer three more stupid questions So we try to focus that everything is really easy and it's it's really easy to Research something we have a global search which searches normally using the database So it's it's very fast if you have two thrill may learn service objects in there. We're using the index In my demo system. It's pretty small But you can for example search the documentation or you see the host group over there They have a host group with Linux servers with a couple of services. I can open them. I Can go to the detail See what's going on what the other services on this host are and Also can have a look on the host We have all these these classic parts like host groups and service groups We have an advanced filter thing where you can filter nearly every Attribute independent if there are if there are custom attributes or standard attributes come with the singer So you can filter all these things out if you want to and can Store them as a dashboard. You can create PDF or chase in or sees we in every view So you can also use just to be get to cut the chase and monitoring data out and What we also have is something like I go to the problems view something like a service grid and the service grid is an example that Show you the combination of hosts and services which probably have the same problem. It's sometimes It's very helpful if you if you not have a clue what's what's going on What perhaps you you assume that you have a problem with the storage? It's the easy method to get an overview and and see Perhaps there's a relation between specific outages and other hosts on the system Another thing we have It looks looks not very good in my demo system because it's too new is we have something like an event grid So mention the the the github landing page where you see the event grids You see the activity of users we have the same like here So you can go on a specific day or months and see If there's a lot so your more errors you have then it's more darker So you can open the detail as well and see all those things happening on a specific day, which is It's sometimes helpful looking for looking after things after a couple of times So looking on an error situation or an outage two three weeks later Perhaps you can see something like a pattern because some things happen every Monday every Tuesday And this is an easy an easy feature to do so We have also Something like a time-lining. We are we are trying to enhance this a little bit for now because at the moment I Just focus on the basic types The timeline is that you can based on specific time-line intervals go through your monitoring history Gather all the data and android into the bubbles that you can see the relation between Have there been a lot of notifications or a lot of comments or and did the people work more on these days? So you can have a little bit more than a data analysis On that things you can create your own dashboards if you want to Which is pretty easy just Add a link then you can add a new panel or a new dashboard and you have it and define it as a landing page. So Should be really easy to get a feeling about that So we tried to bring the reporting now We have in just the reports to the web interface and that current release We just have we just have the alert summary pot. I hopefully it works on my system Doesn't look so the alert summary is just a standard report comes with I think a web 2 Which gives you the top five recent alerts you have what's what's happening all the time you see the history You can scroll through it and see a graph. We will extend it in the future. So I think at the moment This is we have beta 3. So the release candidate will come at the end of May And then I hopefully we will be final in the middle of June and then we have five or six additional reports in that So you can you can absolutely use it for production. So it's ready But there are some missing buttons in the background and the user setting stuff But all that the monitoring things are ready and fine and we we know that a lot of people using it in production for months Now, but there are some issues. We have to fix now to say it's it's final Okay, just going back to my slides I'm over time. Okay Going to the community So one one third thing is we don't know Nothing about our users user base. So because you they use the packages clone the git. We don't know who is using I singa So yesterday I learned that snap deal is using it for example, which was pretty cool for us to hear We know a couple of companies we we put on here like Audi using it for the other whole environment They have about 30,000 servers using I singa few if you use it And if you're happy with it or perhaps you are unhappy with it, but let us know So on the website, we have something like a feedback form or a user form You can write it down because this is most valuable for us because we have no clue who's using I singa and that is something We're really interested in If you work with with plugins, so perhaps, you know, um, now just exchange for example or monitoring exchange These are platforms to exchange plugins but we have this issue for now that that Naga's enterprises kicks out every I singa plugin on their platform Because I think we're not friends anymore And therefore we created our own platform So we have our own platform sharing the plugins You can upload it and and what we have which is a big advantage you can sync them with with github or Mercurial, so if you have a project on github, it's just like putting in an yaml file in there Write what it is what category it is what software it is and then we re-sync your plugin every day So you don't have to take care because this is the worst thing using these these platforms You upload it once and after a week they are outdated. So you just sink your github project and we we update it again and again So we have a couple of events Locally, we have a nice singer came in Kuala Lumpur coming in June And we have one in Portland if somebody is going to puppet conf this year It's the day after puppet conf over there in Portland. So perhaps you can visit us there A partner of us provides training as well all in data Provide training in India. So they have oh, sorry They have the training online. So if you want to do a training or learn more about them So please check out their website And to to have a conclusion so our vision is that we we want to integrate all these things And it's just just an example of the things we integrate it now We really want to go a step forward. So having supporting things like salt stick working together with some And we don't want to reinvent the wheel again. So we don't want to develop a Logging framework. We don't want to develop a graphing framework We want to be open want to provide all these interfaces that we can work with them So our major target for for the new version. It's 2.4 coming in October. No, it's coming in November It's that we will a P5 everything so all the things we have now they are open You can select them from the database, but in I think a 2.4 We will have an a P5 API for everything and you can for example create dynamically host object objects You can create services you can delete them on the fly without restarting the I think a core And this is what we're working on now, but if you're using it now You're you don't have this situation situation like in Agus or I think a one and that you are blind during that restart process So if you have a huge environment and restart then you are normally could take a couple of minutes until the system is back And we don't have that issue. So we are not run creating the whole database. We just updating it and After the validation of the of the configuration we restart I think a and you don't you don't have a blind spot on it so Definitely download I think a tool and we prefer that you use the packages I think we are we are able in most of the distributions out there We also have a package server as well for where we put our Jenkins stuff in its packages.I think a dark So really we think your configuration. So if you if you using Nagas, whatever I think I think a to really rethink about Changing the way you configure your your hosts and and stop like writing 100 hosts down a big file So really try to create templates and apply them and and assign them. It's really powerful what you can do We have a pretty good documentation under Docs.Icinga.org so everything is listed down there every method everything But it takes too long to explain everything But but you really should rethink about how you do that approach because Monitoring should be should be a part of a bigger life cycle So if you have config management monitoring should be a part of it. It's it's no isolated thing It's not like I create services here and then open a ticket to somebody else and he creates a host So monitoring is very important But it has to be part of the of the big IT life cycle as well to to be automatically generated Install Icinga web 2 it's pretty easy to install It's just a PHP application put it in a folder We have an installation wizard where you can set up your active directory You can set up the database all that things it's you're guided through so it's it's really easy to set up And please give us feedback. So if you have getting any errors, or if you have a big wish list So please let us know and we try to figure out what we can do in the next versions So this is really important for us And though for now I'm through my slide take so thank you for the first time steps We have a couple of time for questions. Thank you so far Hey, do you have any automatic ways of taking a graphite graph and alerting on it I talking about if you can if you can monitor a graphite or so I have a lot of graphite data and I want Based on certain thresholds being reached Create like integrate graphite directly like if I have 10 graphs Just create thresholds on those 10 graphs and just I mean for example that you are alerting based on a graphite threshold Or graphite data because like it's just data, right? That's pretty easy. There's a plugin out there You can you can query the graphite AP which is pretty powerful And then on that based on that you can you can create a state and you can execute a notification command So it's out there. I don't have the name here But I know that the six systems thing querying the graphite plug in a graphite API and that's pretty easy to do But I was wondering if like you allow to say okay this You take this Graphite data point and everything under it. I just import Okay, I got it. No that we don't have that a moment. No So one thing for now is that we just provide the performance data and say we can write it to infox DB graphite So but then it's it's up to you what you do with it So we have a module that you can display the the related data in the web interface and can show the graphite information on the designated host and what we are thinking about in the future is having something like an automatic automatic learning So where we store the performance data somewhere and and based on the history and say okay Every Monday we have that peak or this this load pattern is different and compared to normal Mondays And then executing things on that so we don't have that at the moment But we are thinking about a solution solving that problem What level of integration do you have with Ansible presently? We have there's an Ansible cookbook you can download it and it's on Get I singa.org and there's an Ansible cookbook and it's supporting I singa I singa too I've never tried it personally, but They say it works, but there's always something saying it works, but now it should really work Hello, I Don't know where to look. Oh, sorry So what does the support you provide for virtualization and cloud or cloud stack or open stack? Okay reasons At the moment nothing So we can run we can run on an open stack or whatever But we don't have something at the moment very for example can query AWS and get the host out and monitor them automatically We don't have that because we want to do the API support first So that's our main target that we at the end of the year have these API and then have an external module For example querying open stack or querying AWS for specific host objects or specific services and then automatically add them To the core so for now what you can do I know that there are there a couple of modules out there where you can just query AWS for example then create config files So you can do that now But it's it's not integrated so it's just like it's a script out there So we just generate I singa config But we want to have that more into the detail that we we can actively query a cloud provider open ebola Open stack whatever and then generate the host or services. That's definitely one of the it's on the list. Definitely Thanks Welcome So I wanted to know that if you are making a SSH connection to all the host to get the data How you are planning to scale up? Because I feel like SSH connection will be having an overhead okay, so For that cluster this for a cluster method we have we don't using SSH or we're using SSL So and one way to to check a Linux or unique server is do that check by SSH So go on the server every five minutes for example in query data For our cluster environment using a this as a connection, but we keep it open And we don't reconnect every time so if the connection is broken we do the reconnect so we try to but Sorry, but we we try to keep the connection open so we don't reconnect to every agent out there One more question here is you showed a very good point of like, you know, you have a time-based monitoring But do you have like so basically all the monitoring systems are basically threshold best But do you have anything like you know trend-based monitoring? Okay, you are planning for any trend based no, but this is probably we have the answer with graphite This is something it's it's our roadmap. So we don't have that at the moment You can you can do that a little bit like using graphite using old windows algorithm So you can't do that, but we don't have any integrated solution, but this is definitely I think we cannot make it this year But this is on our list for for next year like like having these these trending things Storing the data for a specific time working with them and and find out what's wrong So but we don't have it for now You maintain your own database for the matrix or you are using the whisper database, which is being the primary database for graphite Yeah, so for example, we have we using my SQL Postgres storing the data But we don't store performance data for a long time. We just store events And if you write it for example to influx DB or graphite Then we just write it to to the IP address and port and and that's it So it's up to the graphite guys what they do with it So we're not taking care about what graphite does No passing data to graphite No, because the the easiest way so in our opinion was just directly write into graphite This is pretty easy it works and and one of our focus was to keep it reduced No, not setting up a lot of components and we didn't have any bad experience like writing directly to graphite so far Perhaps somebody else had a problem with that at this point we have a few thousands of like And I want 60 70,000 Nagy has checks at least or probably more okay So what's the best part to migrate to a king or two and we're using a king already so okay So there is something like a conversion script, but I would prefer not to use it because there is no intelligence in it It's just it just makes sure that Sorry, but your old crap is the same crap for the new version That's what it does so it transfers things because for example in Nagas We had we had contacts and I think that we have users and the conversion script does only does these things that it works again But it doesn't take care about thinking about what is your structure so how templates work? This is something you have to do on your own probably so if you have a config management and you have that intelligence there You definitely should try to to start the way of monitoring over there So it's just that monitoring is a part of that process But on the other side you have to take care on your own how your infrastructure is built on how template inherits Make sense so you can inherit multiple templates you can also override them So we can inherit everything and then on a specific point just say okay at this server I don't want these attribute so we can also delete attributes. It's very broken medically, but yeah We have no intelligence wizard which creates your good config This would be a one million product I think But I really so far we see people say okay I had a look on it and and they were yelling like oh I have to do everything From scratch, but after a couple of days and say okay, it's it's perfect I never want to go back because I don't configure every server I just use these apply assigned rules means you're reducing the configuration from 10,000 lines to 200 lines Which makes really sense to do so Sorry Rest API it's coming in November. This is the API. We want to provide chase an RPC rest RPC We are not 100% sure What you can do is for now you can get you can create the web interface get all the chasing doubt chasing data out But the API will come in November to get that Hey First to post or pardon. I didn't get the is it on the microphone. Can you hear me now? Yeah, okay So I heard you saying You have some road map to create a WCA pay calls and then get your configuration updated, right? Yeah, which is what we are doing right now. We are using icing guys works great So I don't really like the way it uses the CPU and memory, but it works really perfect But the thing what I was looking for is An event-driven Model to have the configuration updated rather you check it like every five minutes or ten minutes and then see what The change that you have in your infrastructure and then update your configuration For example that you that you watch a specific stream and say if some but something's coming up Then I create a host object It pushes The data and then something was listening to it and then I mean the you're icing a Server is listening to it and then making sure that the that instance is getting updated You have something in your roadmap I don't think so for now so our first target is that that we say okay, we provide an API and But but after that API thing the process looks different everywhere because you watch a stream other guys using a config management Somebody else is using Cisco works and dump this good works to get the switches in the monitoring So the the sources could be so big that we now first step say okay Let's provide the API that for example you write a python demon or Ruby Watch for that event and then just executing the API to create a host that that would be probably the first way to do it And then we will see you later on what is popular. So what can people? What would people see for a general approach to provide that what one thing with that? We are thinking about is that you can subscribe to two events also with the API that you can say you can Subscribe to a specific pattern if something happens on a specific host that you get an alert But we don't have these automatically generate thing So first step is API and then you can do it what you want one problem that you might need to look at is a false Positive that you get you with this method which I have a lot We're done with the question answers please take them outside to burn yes, and thank you burn and We have a container infrastructure. Thank you


For more videos on people's struggles, please subscribe to our YouTube channel. Demonstrations took place across Latin America on the occasion of International Safe Abortion Day on September 28th. Feminist groups across the region mobilized to demand the right to legal, safe and free abortion. They also protested against femicide and laws that enabled this crime. In Mexico, protests were called by a number of feminist groups in the country, such as Ciudad Feminista and others. Some of the protesters clashed with the police who were trying to stop them from marching. Abortion is illegal in most of Mexico except the capital, Mexico City and the southern side of Oaxaca. In the rest of the country, abortion is only allowed under certain circumstances, such as pregnancy caused due to rape. In the second week of September, feminist groups in Mexico occupied several government buildings in the capital to demand immediate state responses to the patriarchal violence suffered by women, trans people and non-binary people. They temporarily converted one of the buildings into a shelter home for victims of gender-based violence and femicide. The movement to the right to abortion and against the rising cases of femicide in the country has picked up in the recent years. Feminist groups have criticized President Andrés Manuel López Obrador for his weak and socially conservative response to the demand of action against rising cases of femicide. The protesters accuse that the president has not taken any firm policy decision against the rising crime against women. Similar mobilizations, both in the streets and on social media, were organized by feminist movements and organizations in other countries of Latin America and the Caribbean in honor of International Safe Abortion Day. Hundreds of demonstrators from feminist and left-wing organizations protested in front of Argentine Congress in Buenos Aires to demand the adoption of the abortion law that is currently under discussion in the country. Argentine President Alberto Fernández has announced on Twitter that he is committed to passing a legislation, though no date has been announced yet. The struggle for free, safe and legal abortion in Latin America and the Caribbean has been one of the key uniting issues for movements in the region as across the board access is severely restricted.