I told you we could just stand up here and you could say squid over and over again and they'd still love you. It was true Good afternoon lovely humans. Thank you all for being here with us today Before Diane and I get started with speaking We wanted to take the opportunity to thank the amazing group who brought this year's Euro camp together And brought us all here together this weekend as well. So thank you guys very much We really appreciate everything that you've done and this has been a phenomenal event. Thank you. Thank you very much So tonight we want to talk to you about cultivating empathy about building bridges like the bridge we you can see over here because as well Leslie as well as me though separately, but We had the same experience in experiences unfortunately in companies and Communities where empathy was not a high priority and that usually leads to miscommunication holding grudges and in the worst place even to contributors burning out and just leaving the whole project So we're hoping that our remarks here today serve as useful tools for everyone in the audience to Understand the value of empathy to cultivate it within themselves and their organizations with the final goal being to make our projects companies and ourselves Better and stronger That's us So oh What's oh no, let's reopen it No worries. We can deal with that. I can sing if you want I dance your name, please dance my name Oh, that's of the great fortress just waterfall We're on again we're on again Exactly for that So this wonderful human being is Leslie Hawthorne you saw yesterday at another talk She has been doing open source work in the open source community for over a decade. You don't see it, but yeah and in her past projects were amongst others the Google summer of code and She was the creator of Google code in right now She's living a happy life as an expat in Amsterdam, but of course she loves Berlin even better That's actually completely true, and I hope to be moving to join all of you very soon Obviously given the round of applause earlier Diana needs absolutely no introduction whatsoever But just to recap she's a past organizer for Euro camp a past organizer of the Rails Girls Berlin workshop and She's also a member of the board of Ruby Berlin So this year for the conference she decided to take a break and to just give a talk Which is probably just a little bit scarier. Not at all So why empathy matters? First of all, it is important that we actually define empathy So empathy is the process of actually being able to feel internally What another person is feeling and this is to distinguish empathy from sympathy Whereas sympathy is the ability to feel something on another person's behalf like I regret that your Laptop broke, but it's not the same as feeling that same moment of terror when you realize that keynote has just decided to barf while you're giving the closing talk of the conference And empathy is vital to us Because it helps us to be much more effective in everything we do Empathy helps us to build better products because we can understand our users needs and What they will do with software that we may have created for ourselves It helps us to work more effectively in our teams because it helps us to understand everyone's motivations and what they need to get out of our interactions in order to be successful and Basically, everything is a question of Empathizing effectively because it is through empathy that we are able to create harmony Yeah, so you're feeling into the other person, but it's also about you too, right? You have to know your feelings. How do you react in different? situations and How do you understand and act? differently while you are amongst our the peers so how you probably react differently here at this conference then you would do or I would do at a board meeting or Talking to a customer, right? so Empathy helps you to enlighten yourself and to learn natural self-interest and I think that the other important point that we'd also like to make too is we're going to talk a lot in this talk about The value of exercising empathy in terms of how it's received by other people But it's also very much about you the individual by practicing empathy. You're going to be a better negotiator You're going to be able to get things done more effectively because People like to work with people who they know have their best interests at heart, right much more so than they like to work with people who Maybe not so much with that So Getting started in our empathy process So empathy is actually a choice and the two studies that I'll reference on this slide are Documented in a New York Times article from July 10th 2015 called believe it or not empathy is actually a choice So it's very easy to find So two of the studies that stood out in this article to me were one individuals will frequently choose To avoid Situations in which they think that they will be forced to have an empathetic reaction so for example Choosing not to visit a country as a tourist where you know you will encounter high rates of poverty Because this will cause you to feel bad and uncomfortable So that's a little bit of a bummer But again, it demonstrates to us that empathy is a choice It is something that we can choose to do and when we understand that empathy is a choice and The value of it. We are much more likely therefore to exercise empathy another study found that Folks who were primed with the idea that empathy was a choice that it was something that they could cultivate That it was accessible to them Were much more effectively able to feel empathy and often sought out the opportunity to do so In this specific case the researchers were determining if people who were taught that empathy was a learned skill Would be more willing to think about and empathize with the experience of folks who are races other than their own And there was a very positive correlation there So again empathy is a choice and it is your choice and hopefully today we will convince you That it's a choice you want to make Yeah You're talking about empathy as a choice. So as Surprising as it is. It is nothing that you are born with You have you're born with maybe a bit of empathy, but it comes through socialization through your parents through interacting with other people and For that you have to be reflective How do I be? How could I be reflective? What is that? It's actually thinking about how you react what I said earlier. How I how do I react? So take your time every day and take care of yourself of your mental health of your health itself and for being a better empathizer to Increase your empathy take the time write down different Situations that you were in and write down. How did I react there? What did I feel? How did the other person react? What did I do and Over a time of days weeks months you will find a certain pattern of yourself who you are and How you react in in special situation you can improve yourself When you when you are in another situation that is similar to one that you were in two weeks before And you wrote down I should have done this and that differently I should have done this and that Like this then you can just think oh I had this two weeks ago And now I try something different and let's see how the outcome that come how the outcome is then there right and ask questions Learn how other people see things Widen broaden your own world your own bubble that you're in So empathy is often built throughout Adversity so if you are trying very very hard to learn Imagine why something is very very hard to learn that seems to be like this for somebody else right I have a I have a little bit of an example last year We had a speaker here Austin seraphim Austin is blind since birth, right? What's birth? I think so. Yeah, and He he found this app for his iPhone that can show him the colors or that can tell him the colors of things And he was so excited about it. He downloaded the app. He opened the app and he tried it out and All it says was black black black and he was like That cannot be right something is something is not right And then he was trying to step out of the out of the box and think out of his bubble and think how seeing people Might solve this problem and at one point he thought oh wait Colors may be only seen with light So he went and switched on the light I Used the app and suddenly it was yellow purple pink blue There we go Step out of your comfort zone step out of your box out of your bubble however you want to to say to that and There you go You will eventually find a different answer So getting into our skills building portion of this presentation One of the ways that you can begin to cultivate empathy is through the practice of active listening So active listening is the process of engaging in dialogue with another individual or with a group and When someone has spoken to take the opportunity before replying to first mirror what they have said back to them And so summarize it in your own words and then add your commentary at the end So for example, wow, I'm really I'm really nervous I'm not great at public speaking, so I'm really excited that we're giving the closing talk at Euro camp today, but I'm a little freaked out Well Leslie really I can I can imagine that you're really really excited about being here and that you're a bit a Bit nervous about being here, but about about giving the talk. We're sorry. I'm But that's no problem at all. I know that you're great. I saw a lot of talks and well If you're nervous now that means that you're that you are prepared that you are thinking everything through so you will be awesome Thank you for this wonderful demo So the practice of active listening is a key component in non-violent communication and the reason for the creation of the practice of non-violent communication is to assist us to overcome all the ways in which we are socialized or culturally taught to Just step over compassion for other people I it is just it is a natural human tendency to practice selective hearing to only hear What we want to hear or to quote one of my favorite movies to just stand there Not listening waiting for our turn to talk so instead of doing that if we actually Slow ourselves down and take the time to mirror What the other person has said to us we not only are able to absorb what they're saying to internalize it to feel it We're also giving them the opportunity to correct us Maybe we didn't really understand what they had to say and then they can give us the opportunity to come to better Understanding by saying actually that's not what I meant at all Here is what I meant Skill building exercise number two because this one's fun Z's read fiction This is one of my favorite exercises to do regardless of empathy so a recent journal that was published in the Plos journal and I should know how to expand that acronym, but that's okay. It's in the footnotes It's a journal of open science a bunch of researchers discovered that the act of reading fiction Helps to create empathy within the reader and it is through a process called emotional Transportation the idea that you are able to put yourself into the position of the characters within the story to feel what it is that they feel through the process of reading and imagining the story taking place and for those of you who may feel like it's it's a little weird to Go through thought exercises thinking like what would Diana feel in this situation? How would she react? I mean admittedly it's a little weird. She's my friend, right? I don't I don't want to be like Hey, can I get in your brain? It's nice in there So again reading fiction and going through this process of emotional Transportation is the first step in doing thought exercises like that It's a very comfortable familiar way to begin exercising empathy with the characters from the page And then we can apply that to our process of real life I'm a bit curious right now How many of you do read fiction? All right, keep your hands up. How many of you has been very very sad when the book and All right almost all the hands stayed up Yeah, I've got I've got the same because you you are you are absorbed in a new world with new characters with new people with new I don't know aliens whatever Unicorns love it and then suddenly the world is just away And it's that sadness that that tells us that we have experienced the act of emotional transportation Right, otherwise it would not be impactful to us emotionally that the story has concluded yeah and speaking of curious Embrace your inner child be curious ask questions By asking questions that also implies avoid assumptions Again a talk from last year. I don't remember everything of the talk, but I remember as especially one slide when I was I Had to restrain myself not to jump up and say hell. Yeah Because it said assumptions are evil Thank You Laura Thank You Laura Laura is over there. Thank you Laura for that and I Will give you a little example of that For example, I'm standing here minding my own business and I can see a person over there or over there I don't know he doesn't care Looking like this all the time in my direction And I'm confused because the person looks like me like And I'm getting nervous And I now can assume. Oh my god. I did something wrong. I'm maybe I have the wrong clothes I don't know. Maybe maybe the person doesn't like black. I don't know And I could go in my head and I can build a whole castle of assumptions and they will build and build and build What I also could do is like just walking over I'm Sorry, I recognize that you're looking a bit Raried or angry at me. Did I do something wrong or am I under the wrong impression? I'm I'm a bit Confused right now. Oh my god. No, I'm so sorry. I'm so sorry. I was deep in thought I have this problem and I just cannot really I don't know I cannot get it and I was just thinking and I didn't really look it was just that my head was in this direction Right ask Questions questions are our friends and our best friends ever our open questions Whom of you do know the difference between open and closed questions? good Very good for those who didn't raise their arm Open questions are W questions Open questions are questions that open the people where when what why Where do you go to holiday? Oh the Bahamas? Oh, why do you go to the holidays? Oh? I read this magazine blah blah blah blah blah blah blah blah and what will you do there? Oh, I wasn't thinking but I think I'm Blah blah blah blah blah so These are the open question then they are the closed questions when you're in a hurry like what do you? Do you want pizza to for for for dinner? Yes Do you like spinach? No So open open questions are mainly questions that are that can be answered with yes. No, or yeah So close questions, sorry close questions are this and so just to recap open questions are our friends So now we're going to shift into talking more about how we can have effective organizations That help us to cultivate empathy Obviously organizations are made up of individuals But in the way we create the culture of our organizations our teams and our projects We can encourage the cultivation of empathy So I think first and foremost very important is to be explicit about our values And to be inclusive in creating those values I had another example, but I threw it away immediately when I saw the signs on the bathroom doors here Which are so freakin cool I think I might steal one and send it to a friend of mine who I I know needs it So the signs that say if you are concerned about the gender of a person who is entering the bathroom take these steps Don't worry about it. They know better than you that is phenomenal Right. It is explicit Right transphobia is not okay here, and it is inclusive transphobia is not okay here. That is phenomenal And it's extremely important to be explicit about your values because otherwise people make assumptions About what is important to the organization to the group to the team, right? You need to be very clear what your values are and I know this is gonna sound kind of corny because Let's face it most of the time mission statements are crap But mission statements are very important, right? And this isn't the kind of silly mission statement that you read We will make the best ever chocolate chip cookies by using only the freshest ingredients That means nothing right absolutely nothing But here a very useful and good example If folks look at ThoughtWorks's website and they actually have a page where they talk about the pillars of their company the things that their company values and one of these is social justice and they talk about how one of the Objectives of their organization the pillars around which they build their company will be to do work That creates more justice in the world for those who are underrepresented or those who have fewer resources those who have are less able to help themselves and By making this an explicit Statement what they're doing is they're not only telling the entire world This is what is important to us. They're also giving their employees Right and the knowledge that this is one of the ways in which we will conduct ourselves This is how we will conduct a business This is an expectation for each of us as we go throughout our daily affairs at work That we are to do work that is transformative in the world and makes the world a better place for everyone and another point to that that is Can be seen especially in the tech scene is globalization Globalization means that people come into a company from very very different backgrounds They grew up in very different countries on the very different political backgrounds and stuff like this and Things that are that are totally normal for you in your daily life or for you or for you might not be normal for the new person that comes into your company into your team into your project and This comes to assumptions, right? absolutely Another thing that is useful to understand as well when creating organizations creating culture for those organizations This is where leaders come in and play a very important role an impactful role right by leading by example One great instance of this is my friend Erica joy Baker who has been blogging frequently about Diversity in the technology industry. She wrote an article called the other side of diversity About her consideration of ending her employment with Google, which is actually where I met her And she realized that she needed to move on but she wanted to go to a workplace where the work She did mattered and she knew that the people that she worked with valued the same things that she did and she talked about Reading Twitter and seeing all of the various news about the protests going on in Ferguson, Missouri after the murder of a young black man by police officers and she noted a deafening silence From most of the people that she knew who worked in the technology industry She noticed a deafening silence from leaders in the technology industry. No one seemed to care This was not their problem This took place far away by people of a different socio-economic class and a different race Not my issue. I don't care but by contrast the CEO of Slack a Brand-new quote-unquote unicorn startup with a valuation of over a billion dollars Y'all don't have billion bill Thank you Valued at over a billion dollars was tweeting his concern for the protesters and That he hoped that they would be safe in their pursuit of social justice and by reading this She realized that this was the company that she wanted to work for that This was the place where she should bring her talents to bear and she's now one of their release engineers and having worked beside Erica I can tell you that any company is very lucky to have her so again Be explicit about your values be inclusive and make sure that everyone is on the same page about what is important to all of you For you to be successful. Oh my god, we have hippos. They're there What do they do that? Okay, so hippos are cute But these hippos are grumpy and there is a reason and that's because these hippos are letting you know to discourage hippoing hippoing is highest paid Person's opinion is the only one that matters Yes So only the one on the level that begins with a C matters See oh CTO see whatever so Make sure that every voice is heard in your company in your project in Wherever you are wherever you gather people that have to decide something I Tell you a little story because that makes it more clear In my day-to-day life. I organize it conferences. I organize them with a team that is very good like we when we Communicate it's like a circle of communication So we are circling around all the ideas that we have and we are playing with them We do brainstorming sessions and stuff like this and for one conference that came a new person in and This new person Got grumpier and grumpier all the time with every email and I was a little bit like what's going on there? And at one point I was there I don't understand your emails anymore There they don't seem very constructive. What's going on there and this person was just like You're not a good manager You cannot even make simple decisions You cannot You cannot decide if we want the speaker or not. Why do we always have to ask us? I was like whoa That is interesting Then I thought Okay, this person came from a big company where the manager said you have to do this you have to do this You have to do this you have to be finished with this by the end of the week and stuff like this, right? And I said, okay, we're working here differently. We are working as a team Yes, I am the manager of this project so I have to make sure that everyone is on track and that we are at the Point where we have to be finished that we are finished and everything is set but on the road Everybody has a voice. I don't know everything. I'm not going to all the conferences in the world I don't know every speaker in the world But you might know him or you might know him For at one point we had I read an abstract that was so perfect and I thought oh my god I want to have this person at my conference because this just looks perfect for this or that or that and Then I brought this in this abstract and said hey look at this abstract. This is amazing Look at this it would fit there and and then there were three voices Three that said nope. Nope. Nope. You know what? They saw the speaker at another conference actually at two other conferences He were mean He was racist and he was very very Not nice So I said oh my god. I'm so happy that I asked you We will not to have this speaker at our conferences definitely not So if you are the hippo if you are on the sea level make sure To be inclusive to let everybody have a word At the end of this your decision of course but You don't know everything I know you sometimes we think we tend to think that we know everything but to be honest no, we don't and That's why asking questions and talking to people is very important So again important for all individuals within an organization But a cultural value to promote do not flip the bozo bit For people who are not familiar with the idiomatic phrase don't flip the bozo bit This is actually from a book written in 1995 by a gentleman named Jim McCarthy Called dynamics of software development and the idea of flipping the bozo bit is that once someone says something or Does something that you think is stupid Every statement that that person makes from then on is wrong Everything they say is put on slash ignore and you have no value to provide to me to the company I just don't have to listen to a word you say mine just one time right one time that they did wrong So flipping the bozo bit is is not useful for a wide variety of reasons, but let's just start with the basics If there is someone in your organization and you have decided that they are never going to say anything useful You've also decided that they are never going to be successful And then at that point you are better off not having them there because they should go someplace where they can be successful and Contribute to the success of that organization and you can have another human being there doing work that you will actually appreciate Now mind you I suggest that the problem is with you in that scenario not with this individual There's also the point that this is just it's silly right this is ridiculous. We're all human beings We all make mistakes. There is no reason to decide that one silly mistake defines a person forever Right and if you make the decision to flip the bozo bit you are cutting yourself off From the opportunity to ever learn something from that person again, right? That is not wise and finally organizations where this is common practice are Encouraging a lack of innovation and stagnation and a lack of creativity Because if people are afraid that if they say the wrong thing That they will be judged that they will no longer be respected. What will they do? They will choose to say nothing. They will choose to not contribute They will choose to not engage because they are afraid. Yep so Being inclusive also means Make it truly okay to fail At the end. Yes, we are all human Humans make mistakes surprise and Through mistakes mistakes are actually good because through mistakes we learn We learn that something is not good It's not good to leave your trash on the floor because another person might trip So you can actually Rewind what you did and do something else instead and also Do not oppress people for making mistakes it happens all the time and When you find out that the person made a mistake or the person comes to you and says I'm sorry I made a mistake Talk to them immediately Because otherwise it will probably It's it's like the the assumption the assumption thing that goes in your head and it's building up and it's building up And it's building up That is the same with with Problems when you have a problem and you're not talking about it It will probably grow bigger and bigger and bigger and bigger and at one point this whole Vulcan of problem will explode and you will probably Sometimes say things that are not nice that are not inclusive and that might burn the bridges that we are trying to build up So my friends our talk is at an end and so to just quickly recap what we've discussed today Empathy is a choice and a learnable skill and We can cultivate it through active listening Reading fiction. How's that for homework something you want to do anyway? Getting to know yourself and being more self-aware Practicing curiosity and avoiding assumptions and within our organizations. We can be explicit and inclusive in our value systems Avoid hippoing hippos belong in the wild. It's not in our offices Not flipping the bozo bit and ensuring that it is truly okay to fail and to quote Or to conclude our Talk with a quote from Rumi Always be kind for everyone is fighting a hard battle that you will not see Thank you very much. Yes. We love you questions. What a fitting closing talk to this conference That was amazing and it really shows that Very innovative format as well that the whole is greater than the sum of the parts two speakers together are better than Individuals we love it So yeah, we can take a few questions if there are any I don't know is there a girl equivalent equivalent to bromance, sorry, we have a question That's us. Anyway, yeah question. Okay. I'm not really a question But I'd like to add to that because I absolutely agree with what you've said and thank you for everything you've said But whether you follow this advice or not may well decide about the future of your project or your company because I Spent a couple of months in a company where the sea person did quite the opposite and bullied people never forgave or forgot the slightest mistake and Lot of really good knowledgeable people left Left the company. Yes. That's that's what happens. That was that's what happens people are leaving unhealthy environments Yeah, oh It's for the video we need them. Oh, it's for the video I've actually talked on this topic a few times and people have said so so what do you what can you do to change an Organization where people are bullying or hippoing or you know, just generally not being apathetic And I have racked my brain for the last year and the answer is always the same Prepare your CV and tell your friends that you're leaving Questions what? There's a question. What do you think for you personally has been the most? Challenging or exciting thing that you learned that you have shared with us here. Oh Wow Okay, I I have I have something about the learning to be empathy thing. It's a process Do not expect you to wake up tomorrow like today. I will be empathetic That's not how it works and we all we're all humans there. We are again. We all have bad days and At some point Even I I tried so hard and so hard and so hard and at one point I just Flip out because somebody is pushing my button and I'm just like, oh my god. I told you this like ten times Probably not the best answer So I think for me the most profound thing that I have learned is actually the process of active listening Because I speak really really fast I have a tendency to interrupt which is not awesome and I'm constantly working on it And I also think I know what people are talking about because I'm super smart and the answer to that question is no no No, no, no, no So actually getting trained in active listening and being able to To go through that process and because it first it sounds a little silly like yeah Yeah, you're listening on why are you summarizing stuff? This is annoying but realizing how much closer it brings you to someone because Human communication is flawed and difficult and we just think it's easy because we can talk so Clearly communication is easy. There are words coming out of my mouth right now And it's not right and and active listening teaches us You know that it's not easy and that it is a skill that we acquire and something that we have to work on every day To be effective and if you never practice it the first time or the first few times that you will practice it It will feel totally silly You will feel like an idiot and it's okay. It's okay. Push through it will all get better More Anyone else You get another one then I'm just really interested because I hear these concepts in Buddhism a lot as well in like oh, yeah Is that an area that you look in for inspiration or? What are the main area other areas that you look at? For a moment there I thought this was about our religious affiliations and I was about to say dirt worshiping tree hugging pagan so let's see I I Take inspiration from literature written but from folks in various walks of faith. I read a lot of psychology journals. I read a lot of fiction and I Don't know I think I just have learned partially to be a more empathetic person because sometimes things were really tough for me When I was younger I was bullied in school and it taught me like I don't ever want someone to feel as bad as I feel right now And because of that it it helped me to be a more empathetic person right to value to value bringing joy and love to someone's life instead of Pain and not ever wanting to be the person who was the source of pain for another person because I knew how bad it felt myself What she said we were separated at birth don't tell anyone other nice humans Okay, thank you. Oh, thank you very much


It's playoff time in high school soccer with both boys and girls teams beginning their runs to state. The Brainer girls starting with a tough matchup with Buffalo in the 4-5 game. Winner takes on top seed Saint Michael Albertville, but you gotta take care of business tonight. Snow on the ground, we pick it up in the second minute where Gina Wisniewski scores off the free kick, giving the Warriors an early 1-0 advantage. Just a few moments later, some trouble for Brainer. The ball lands right at the feet of Buffalo's Hannah Helmbrecht. She rips one right off the crossbar. Warriors catch a break. Second half, Buffalo had some opportunities, but Molly Rudolph was dominant in net. She collects another save right there. She gets the shutout as the early goal ends up holding up for the win as Brainer takes this 1-1 to nothing.


Attack on Titan is back, and I know this because you guys started watching this video again, which is nice. If you've watched that video, that's only up to the end of season 3. And I don't really talk about any spoilers or anything like that. As I'm sure you know, a lot has happened since then. When I was watching Attack on Titan season 3 part 2, I was like, this has got to be the best season of anime ever made. And I'm sure that's not too far off, but season 4 has been on a whole other level. Just a fair warning, this one does have spoilers. Only as I'm writing this, Attack on Titan is the most popular show on television. More popular than The Mandalorian, or Cobra Kai, or even WandaVision. And on IMDb, out of the top 5 rated TV show episodes of all time, 3 of them are from Attack on Titan. I can honestly say that at this point, Attack on Titan has transcended simply just being an anime, and has become one of the greatest pieces of media of all time. And I might even say that season 4 is the best season of television ever made. If you're caught up with the anime, which I hope you are, because if not, please click off this video unless you don't mind the spoilers. First off, for the past three seasons, our main characters have been chasing down this mysterious MacGuffin known as The Basement. And for those who don't know what a MacGuffin is, it's an object, device, or event that is necessary to the plot and the motivation of the characters, but insignificant and irrelevant in itself. Tease after tease after tease. The gang finally arrives at their destination and discovers the secrets that The Basement holds. Most of the time, the secret behind any given MacGuffin is no more interesting than the quest that let our characters there. But in this case, it literally opens up a whole new world. That's right. Junior High School. A beautiful world where our Attack on Titan characters live in a slice of life romance anime. Everyone's happy together, and they go to high school, and learn, and laugh, and get into all sorts of shenanigans.  The end. Wasn't season 4 great? If only we were that lucky. Of course, by a whole new world I'm talking about Marley and the rest of the world that lies beyond the sea. For our characters, it even changed the entire perception of those who lived within the walls. It was always thought that life within the walls was a terrible way to live. If only they could escape the walls and live outside and reclaim their lands, life would be worth living. Our main characters fought towards this goal for years, only to finally reach the edge of their island and see that their true enemies were waiting for them across the sea, not really the peace and freedom they all expected. This drastic plot reversal at the end of a story is hard to pull off. It's always a gamble when you completely flip the plot on the audience and give them something that's completely different from what they expect. Sometimes it works well, sometimes it's really really bad. First off, let's just talk about the extremely bold decision to introduce an entire new cast of characters. In fact, we don't see the majority of the main cast until episode 6. Instead we follow someone who kind of knows someone that we knew in earlier seasons. Episode 6 in a 16 episode season. That's about 40% of the season. That's like watching Star Wars of the Phantom Menace and waiting 50 minutes for the main character to show up. That actually happens. That example. That's like getting into season 3 of High Q, expecting to see Hinata on Kageyama, but instead you follow this guy around for 5 episodes straight. It was bold, and it actually worked. The ratings for season 4, even the first couple of episodes, are still rated higher than even the average Attack on Titan episode, which is still quite high. No doubt they did this to drive home the point that in this war there's no black and white, no true victors on either side. Innocent blood is always shed in the name of one cause or another. No good guys, no bad guys, except for Gabby of course. Not to mention one of the greatest role reversals I've ever seen in media. If you've been keeping up since the beginning as an audience, you've spent a good 7 years getting to know these characters, and seeing them live together, fight together, learn together, grow up together, Eren, Mikasa, Armin, Levi, Sasha, Connie, Jon, and everyone else. They've been together forever. And at the end of season 3 we learn that the Marlians, the people outside the walls, refer to the people inside the walls as Eldian Devils. However, we know that this isn't the case, we know that they're actually caring, kind-hearted people who only fight for freedom. But in one of the most ironic twists of fate, the Marlians' fear becomes realized. The seemingly cold and calculated methods of attack used by the scouts, their strategy, their movements, all of a sudden describing them as devils doesn't seem too far off. And viewed from the perspective of children whose homes were destroyed by these devils, it's easy to see why they don't have the same positive views of the characters that we know and love. And I think it's just amazing how they've turned everything on its head without compromising the great story, pacing, and world-building. It really sets the feeling that everything is in fact coming to an end. A lot of the final season's imagery is in fact a callback to the first season. I mean, just by looking at the key visuals, it gives me chills. We see an obvious parallel here. In season 1 we see Eren against the backdrop of the wall during Reiner and Bertolt's attack, powerless to stop them. One of the final season we see more or less the same thing, except it's Reiner's hometown, being destroyed by Eren. Zooming in you can even see Levi, Hanji, and Mikasa chilling on the rooftops. This level of detail can be seen in other episodes too. The protagonists of both seasons are looking up at the sky staring at birds. The first episodes of both seasons feature a walled city being attacked by two Titans. Both show the same response to Eren losing control of his rage. Both the headstrong Eren and Galiard rush into battle confident to win but end up losing limbs. Eren to a Titan and Galiard to a human. And those are only a few examples, I'm sure there's so much more. There's so much going on here. It's so dense. Every single image has so many things going on. Again, it's like poetry so that they rhyme. Every season of Attack on Titan we see our protagonists face a different type of foe. There's this running joke on YouTube that I see all the time that says, season 1, humans versus Titans. Season 2, Titans versus Titans. Season 3, humans versus humans. Season 4, Eren versus everyone. So what I've seen is, season 1 to 3, Eren is in danger. Season 4, Eren is the danger. In any case, this shift in tone is evident from the opening alone. I've already analyzed the openings for season 1 to 3 in another video. Is Attack on Titan the greatest TV show ever made? In season 1 we get the iconic song, The Flugel der Freiheit by Link to Horizon. We see a clear struggle between humanity and the walls versus the Titans surrounding them. Season 2, we offered up our hearts with Shinzo Sasageyo, also by Link to Horizon. The humans strike back, and they make a charge against not just your typical Titans, but sentient Titans as well. Season 3 part 1, Red Swan doesn't count, it's not a real opening. But the ending is also Link to Horizon. I mean, a Titan doesn't even show up in this opening, marking the first significant human versus human conflict of the series. Finally, in season 3 part 2, we get a fourth and hopefully not final banger from Link to Horizon, and we're back to where it all started in Shiganshina. Pretty triumphs, but with a heavy cost. The foreboding sea hiding the unknown that awaits on the other side. In each of these intros, besides Red Swan, because Red Swan doesn't count, we see some amazing battle scenes. People swinging around in their ODM gear, Titans getting clapped. Lots of lots of spoilers if you know what you're looking for and as each episode starts, we sit on the couch in anticipation for our favorite character to show up. But season 4's opening just literally hits differently. And there's no spoilers to be seen here, we just get explosions, crazy colors littering a monochrome landscape, marching soldiers, no intense action scenes, no recognizable characters just destruction, followed by more destruction. Finally ending with one recognizable figure, the Attack Titan, sitting above a mountain of death and destruction, and we get a close up of its face for only a quarter of a second, precisely 13 frames, before fading to black. Literally chills every time. And also, it's a bop, and honestly my emotions can be summed up in this 10 second clip. In season 4, everything comes together, no more loose ends here. We even get flashbacks looking to the past to answer our unanswered questions back in the first couple seasons. We see countries of the world, we see some Germans, we see Africans, we see Japanese, and these guys I guess are like, Ottomans, we see new characters.  Old characters. I like this. This is cute. Levi. That's kinda small. We got old waifus. Impressive. We got new waifus. Buenos dias, Poco. I don't know what this is, but it's kinda hot. We got Armin, and we got another Armin, that's right, two Armin's. And while we get to revisit old characters and old locations, this season feels different. There's a tangible air of finality to it. You literally can't even compare the final season to the first season. It's as if it's a different anime. But there's one thing that hasn't changed, and from what we've seen so far, the amount of love and care that has been put into the final season is the same quantity and quality that we've seen in the first three seasons. People talk about season 4 comparing it to the earlier seasons calling it terrible, ugly, rushed when, in actuality, the series has literally only gotten better and better over time. And no doubt, in the case of season 4, we can thank Mappa for this. Mappa is the studio in charge of Attack on Titan season 4, and even after getting pooped on constantly by the internet, they still did an amazing job. Apparently the production committee asked for Witt Studios, the previous studio over Attack on Titan, to meet impossible deadlines which caused them to refuse, because they didn't want the series to diminish in quality in order to meet those deadlines. According to several articles, due to a lack of manga sales, the production committee in charge of Attack on Titan basically said that if no one takes Attack on Titan, they're most likely would be no final season. And so Witt was looking to unload the show on another party, and while many other studios turned down the offer, the only studio that was up to the challenge was Mappa. And they already had a big challenge on their plate right at the start due to the tight deadline, and all of this while also juggling other critically acclaimed shows like Jujutsu Kaisen and God of High School. One Mappa animator said that it takes three to four times as much work to make one Attack on Titan episode as one episode of other average TV anime. And let's not forget that this transition happened during one of the worst pandemics in history, but still, they were able to create an absolute masterpiece. No effort was spared to bring this brilliant story to life. The story is riveting, and has never really put me in a position where I was content at stopping when the to be continued message comes up. The characters that started as a bunch of lovable misfits have become not only vicious fighters with wings of freedom, but a mature, close-knit group of friends with bonds so powerful that I don't think love is even strong enough a word to describe whatever this is. The world building is beyond anything I could have ever imagined when I first started the first episode of the first season. And then the soundtrack just completely puts everything over the top. For all intents and purposes, Attack on Titan is a perfect series. Well, it probably will be. The only thing it needs to do now is not pull a game of thrones and just stick the landing. I think Gagic said it best when he said, this could be the anime that defines this generation. But you know what? I think it already has. If you enjoyed this video, make sure to leave a thumbs up, subscribe, and hit the notification bell. While you're at it, why not buy us a coffee? Or perhaps a cup of tea? Link is in the description. Finally, I know that we do a lot of different types of videos, but if you'd like more anime content specifically on this channel, please leave a comment below. Remember to offer up your hearts. Enjoy the rest of season four. It's going to be a roller coaster. And as always, thanks for watching.


Things have kicked off here at Fort McCoy, Wisconsin the best warrior competition took place from April 20th to the 23rd So to me the best warrior competition is is a chance for us to challenge Some of the best soldiers and NCOs that we have in our organization. It is a big lift It involves every MSc that we have it involves probably upwards of 50 to 60 people to support this one event for 22 competitors 11 non-commissioned officers and 11 soldiers from Illinois, Wisconsin and Minnesota Who are part of the Wisconsin National Guard Competed in events ranging from physical fitness weapons qualifications and even wrote an essay These events showcase the skills and expertise of each soldier The nice thing about it this event is I'll have some people that say that it Favors one military occupational specialty over another and that's absolutely untrue With the event finished there were two winners one soldier and one non-commissioned officer They'll represent Wisconsin at the regional competition in Ohio the first week in May. I Really encourage the soldiers and NCOs and the sponsors that are that are going through this competition right now To get out there and encourage others to do it as well Reporting from Fort McCoy, I'm Wisconsin National Guard Sergeant Alex Soliday


Carbon dots, CDs, are a type of nanomaterial with unique structural and optical properties. They can be produced using different techniques, but the bottom-up approach remains the most popular due to its cost-effectiveness and scalability. This paper provides a detailed review of the synthesis methods for CDs, focusing on the bottom-up approach. It then introduces a new classification of CDs called carbonized polymer dots, CPDs. The authors analyze the structure and properties of these materials and discuss how they differ from other types of CDs. Finally, the paper offers insight into the future development of CDs and their potential applications. This article was authored by Chun Lai Xia, Shou Jiu and Zhu, Tang Lu Feng, and others.


I'm Abend. This is David. I'm Dave or non sequitur. We're talking about hardware hacking and this talk is really for the people that have written software before but haven't really worked directly with hardware. So if you've never written a bareboard app or something without an operating system or read a schematic to figure out how exactly to write your software then you're in the right place. Our motivation for the talk was to encourage people to get into hardware hacking. It's something that we've seen as an increasing trend. Make magazine coming out. It's an increasing trend in the hobby market that is to do it yourself ethic and growth of improving your own devices whereas there's a contrary trend in the industry to produce devices that are more and more restricted. So we're hopefully going to get, at least if we get one person to open up their Tivo or whatever and improve it then we'd call it a success. I suspect most of you priority did that though. Can you skip to the next? We're going to cover building a lab, tools that you can build yourself, where to get some useful tools and the forward engineering and reverse engineering processes in kind of a general overview. We don't have sufficient time to get into every detail of everything. The reason we're calling it forward engineering is more to distinguish it from reverse engineering. So it's really just embedded engineering in general. So I'm going to go through pretty much what you need in your lab and how to get started with starting your own do-it-yourself projects, whether it be robotics or some random microcontroller somewhere that you want to load code onto and just sort of how to design a program for it. My focus has been on the tools, especially making them cheap because I'm a cheapskate and back when I was a college student I didn't have a lot of money so it was good to get what you need without blowing 1,000, 1,500, 2,000, 10,000, however much money you want to spend on electronic test equipment. A normal setup in any sort of industry lab is going to cost anywhere between 30,000 to 100,000 starting. So we hope to avoid that. Yeah. Take it a little bit more accessible.  The main reason that I found now that I actually have a lab in the place that I live is continuity. I can set things down, come back to them later and it's just as I left it. Nothing's had to be shoved out of the way for dinner or got knocked on the floor by the cat or anything like that. And it provides a certain space where you can get into a mindset.  You don't really require a huge amount of space. I grew up in a 12 by 12 bedroom and basically started there for years and that was sufficient. Right now I have a basement that's about 15 by 30 and that's still sufficient. It's mostly just storage. Well, in addition to the space, it's also very important how you set up the space. So if you have a table like this one here, you're not going to want to put any electronics on it because this is a tablecloth. And I'm sure half of you in here have heard of ESD, electrostatic discharge. You won't know if ESD has damaged your device unless you hit the lottery and basically it makes it not work at all. And most ESD damage to any sort of circuitry, you're not going to know about for months. And then just one feature or it might be cascading failures down the line. But it can be, it's the cause of a lot of things not working in it. It's nice to have that control so you know it's not your equipment, it's your software or whatever. So you know that you've reduced a number of variables from getting something, a hack working. So one way to start is an ESD mat and some grounding bracelets and maybe a coat if you've got cats or what not. Because even if you've got fur on the outside of the coat, it's a material that's going to keep the static from building up on the fur and not going to short your devices. So the coats are actually fairly useful, especially if you have pets. Other basic stuff to look for in a lab is good ventilation. There's a lot of hobby electronics entails a lot of semi-dangerous chemicals. I work with lead solder because it's actually better than the safer non-lead kind. Just wet's better. The fumes from that are unpleasant. The fumes from etching your own circuit boards are very unpleasant. You've got to keep your lungs in good shape or you're not going to be doing this for very long. Lighting is also key. Basically if you, the brighter your lights are, the better your eyes resolving power is. It's just a matter of having small pupils. Work surfaces and grounding we've covered, just very basic. I mean it sounds like a lot, but I have a basement. I have a little fume hood and I have a countertop that has a conductive mat over it. And that's all it takes. Soldering is a very basic skill if you're going to get into this field. It's the process. How many people actually know what soldering is? I don't want to be talking down to anybody.  How many people in here have soldered on a modern PCB layout which is fairly tightly packed? Right. So I see about half the people raising their hands than before. And one of the important things is having the right solder and the right iron. Because if you use solder that's too thick or an iron that has a bad tip or too hot, you're going to ruin whatever you're working on. So getting very thin silver solder with a reason core and a very fine tip and good working temperature is going to help you minimize the amount of time you apply heat to the board and the amount of solder that you use so you don't accidentally short things with big globs of solder. And I'm probably not the only one that ruined a few boards learning that the hard way. How many of you have added the accelerometer or the ZigBee chip to the boards? I see two... Oh, three people. How hard was soldering that? A little bit tricky, very small pins. There's an increasing trend with electronics towards miniaturization and also towards packages that are not really designed to be soldered by hand anymore. Probably the epitome of this is the ball grid array package where there are solder points underneath the chip that you simply can't reach with any kind of human hand tool. There are, however, people who have been working with these chips in prototype and hobbyist environments and have come up with some pretty clever tricks for overcoming the limits of what a human can be and can solder. Toaster oven reflow soldering, skillet reflow soldering, and hot air tools are the three ways you're going to deal with anything basically smaller than the chips that you saw on the badges. The industrial equivalent to that is wave soldering where you've got a whole wave of solder, kind of like the wave coming out of an aerator in a fish tank where they've got a special coating on everywhere but where the solder is supposed to stick. And that's how they put all the parts for the assembly on top of the PCB when the board is ready. Reflow soldering is a process that uses powdered solder and flux to basically act as it binds the chips to the board temporarily and then the whole board is baked. The flux burns off cleaning the parts and then the solder melts and the flux takes as a part of the board. Usually a commercial IR reflow oven is a 2000 to many tens of thousands device depending on controllability and also how many boards you can put through it. The toaster oven reflow is a little simpler. People actually do this. They do not do it with the toaster ovens that they eat from if they have any brains at all.  You can get kits to control the temperature of an oven because the typical reflow is not simply ramp the heat up and bring it back down. If they usually ramp up, hold steady to multiple solder, peak to melt anything that had a very big pad that it was being soldered to or had a very large piece of metal, and then drop off quickly to cool everything in place before any vibration knocks any parts loose. You could also just do this by twiddling the thing. I've led to believe it is not terribly precise. The one place that it would fail is a double-sided surface mount board like these. If you would throw this in the oven to try to solder something on the side of the batteries, you would lose all your LEDs and be saddened. Skillet reflow, same trick. It's just for one-sided boards only, works very well for surface mount, and is a whole $30 if you buy the skillet new in terms of parts investment, which is hard to beat. These pictures actually came from sparkfun.com, which is a site that has some fantastic tutorials on doing this, and supplies a lot of the useful parts for this sort of trickery. This is a home-built hot air pencil. You can get hot air guns pretty easily. They're just 1,000 degree, well, temperature controlled, but usually 6 to 1,500, 6,000... I can talk, really. 600 to, say, 1,600 degree stream of air, capable of melting solder. This is useful for when you're working with, when you're trying to rework a surface mount board. You just apply the heat, heat up all the pins of the chip at once, and you can just lift it off with tweezers, which is a lot better than trying to get each pin a single one at a time with a soldering iron. Another type of hot air gun is for a completely different purpose, but they've got these wire sleeves that shrink around connections, if you're putting sleeves to attach a wire to a pin. You don't actually need a hot air gun for those, you can just take a big lighter and shrink it to the wire that way without spending 90 bucks on an overpowered hair dryer. These are some basic tools that I use in doing hardware work. The voltometer is basic. If you don't have one of these chances, you're not really doing a lot of electronics. And a oscilloscope, a little less basic, but if you get one, you will not believe how useful it is. You'll never really remember how you live without it. Logic probes and logic analyzers are both for working with digital logic only, and logic analyzers are a little expensive. Logic probe is very simple. I'm going to go through these voltometers coming in two basic types. That's a digital one, as you can tell by the LCD display. There's also analog ones that have an actual meter movement. The only real reason I can think of to go with analog, and somebody who's been in the field longer than me probably knows better, is that if you hook it up to AC, you'll be able to tell if the meter will actually vibrate. Otherwise, these are fantastic. The basic ones, you'll just get ohms, volts, measure resistance and voltage. Current, usually a diode or continuity check. You can get all sorts of crazy features. Capacitance meters are pretty common. Some of them have temperature sensors via thermocouples, which are useful for controlling your toaster oven. Oh yes, clamp meters for going around something that you believe to be carrying a current that can pick up the current by induction. Another useful use for an analog oscilloscope is when you're debugging your PCB layouts, and you're looking for EMI, which might be affecting the operation, so you don't know why it doesn't work, and you've double checked your logic 15 times. You might find that your interference from, say, your power supply part of the board is coming in on your analog inputs, and it's not properly isolated with the grounding, and the components are too close, and you might get some signal leakage, even though the traces are isolated, but they're just too close on the board, so that will show you whether or not your levels, what exactly is on that wire, and what is on all the other spots without having to guess. How many people know what an oscilloscope does? It's basically a graphic plot of voltage over time. Most basic models will have usually two channels that they can display simultaneously. Analog ones look like this and have an actual cathode ray tube. Digital ones have usually an LCD screen, and usually a lot smaller, especially shallower, basically. You can build your own oscilloscope, but chances are the bandwidth is not going to be fantastic. It'll probably be good for audio work, possibly for some TV work, but you'll start to lose it around RF, and it certainly won't do 100 MHz buses on modern microprocessors. Buying them can be expensive if you're getting them new. Second-hand ones are good if you can make sure that it's working. It probably won't be calibrated anymore, and if it's too old, you don't want to get anything less than 100 MHz, just because, again, they'll have a bandwidth, and 100 MHz is pretty much the low end for being really useful for a lot of stuff. Yes? This gentleman informs you that liquidation.com has really good prices on them? Oh, governmentliquidations.com. Well, another alternative is to use USB-based oscilloscopes, but the display is not going to be anywhere near real-time, and there's usually going to be, like, a noticeable three, four-second delay.  But those things, the USB instruments can be very useful because it'll only be a couple hundred dollars rather than tens of thousands of dollars for the equivalent full instrument that you'd see in a lab. The... Yes, hand-fest definitely. We come from, well, I come from the Boston area, so the MIT flea market is good there. You can look up on the internet. It's basically get-togethers like this only for ham radio people instead of computer security people, and the vendor room tends to have a lot of this sort of electronic test equipment, radio gear, that sort of thing. The device I've pulled up on the screen here is a Logic Probe, which is basically a display's one bit of data. It's the state of a single logic line, and it's useful for checking if you've built a logic circuit. You can just check the outputs, make sure they are what you expect. I actually have a couple of them up here. They're pretty easy to build. I'm actually, I have kits that I brought that are for building a very basic Logic Probe. The choice between building it yourself or buying one is pretty much six and one half dozen of the other. If you're just getting into electronics, it's a useful project. You learn some digital electronics, basic assembly. If you understand how it works already, you probably don't need to build it. Logic Analyzer is basically a whole bunch of Logic Probes side by side with some recording and playback capacity usually. This can be good for debugging buses which contain peripheral devices, like a lot of microcontroller based devices will have either an SPI bus or an I2C bus. Those are both proprietary names. They'll also be called generically two wire buses for I2C or three wire buses for SPI even though SPI buses are usually four wires because they have a clock wire, data in, data out, and then a slave select to select between which device on the bus is being talked to. When you're using a Logic Analyzer, you can look at all four of those lines and see how the chips on the board are communicating and whether or not there's where the bugs are in your code or your layout or whatever. These peripherals we're talking about are on a single board. This would be like communication between one chip and another. I don't think that iSpreadC is usually used to communicate between individual devices like a computer and router or whatever. You can make a Do-It-Yourself Logic Analyzer. I have also kits for that. I'm thinking since we have the question and answer room I'll be giving some of these kits out there. They hook up the parallel port and can watch eight lines at once due to the relative slowness of the parallel port. They get about one million samples per second so they can't pick up a signal much more than one megahertz. Actually it has to be much less than one megahertz for those of you who are familiar with it. But on the other hand it's cheap. It's $1.79 chip. We already mentioned the USB tool. This tool here is the USB BEE for maximal confusion. It's a USB logic analyzer, protocol, debugger, oscilloscope. It's basically an entire lab in a little box the size of an ice cube. The downside is it costs $1,500. If you have the money for it I'm sure it's fantastic. I don't. This is also a Windows only device. There's not Linux support for this thing. That's surprising. For do-it-yourself tools XoScope is a program for Linux that allows you to use your sound card as an oscilloscope. It's not a fantastic oscilloscope. It's permanently AC coupled because the way sound cards are constructed which basically means that it's not great for dealing with signals that will stay with one another for a very long time. It's a little tricky to use and the bandwidth is not good. It's about the audio bandwidth of the human ear because that's what sound cards are optimized for. Parallel port logic analyzers are already mentioned. JTAG lip wigglers will come to in a little bit. Those are used for debugging embedded systems and flash dumpers for removing or retrieving the contents of flash RAM for firmware reverse engineering. Some sources were already mentioned. HamFests.  I don't know that everybody will be that lucky but one can hope. Also colleges, if you have friends who are in a college and are in an EE program, definitely ask them what they have in their labs. I got very lucky and found somebody who had an EEPROM dumper that they could let me use for a reverse engineering project that I'll go over in a little bit. eBay of course has all sorts of stuff but of course at variable prices and variable quality. As far as teaching yourself the basics of electronics, which won't be any time you want, Forrest Minns is an author who wrote for Radio Shack for a long time. His books tend to be very full on schematics. So they're a cookbook approach. There's not a huge amount of theory in them. But if you want a basic circuit to do something simple, logic probe circuits, for example, 5.5.5 timer circuits for tone generators, pulse delays, that sort of thing, they're a great resource. One of the classic books is Art of Electronics. Now that book's been around for at least a couple dozen years. My boss recently recommended that to me because I just got a new job doing a different sort of embedded engineering. And basically it takes what you learn from the doubly and seals it into things that you don't need to be a doubly to understand. So one of the reviews I read for it was a professor handed it to one of his grad students. They made a fubard op amp circuit and the very next morning he had it completely fixed, working and polished. Because it's really where the rubber meets the road and not so much theory, but it's all practical how to use each component. If you run into a component on a board, like an optocoupler do, you look it up in that and it's probably going to have five sections on it. So it's a great resource and if you basically it starts at the beginning and goes through advanced electronics it's over a thousand pages long and one of the most complete resources I've seen. It's also structured as a textbook, so it's useful if you're teaching yourself the field. It also is referred to as the Bible. So you know what that means. If the book is the Bible of a field it's generally highly regarded. It does show a little bit of dating in storage methodologies for digital stuff. It doesn't cover as much flash as it does eProms and it's focused on microcontrollers is Motorola 6800 architectures but... They're gradually going away. But the principles still hold. The application notes are published by the manufacturers of hardware and they basically cover how to use an individual chip. The funny thing about some stuff is that it's just the application note in a box. This is especially true of video cards. People will take NVIDIA for example's chip and the documentation for it and just build that, maybe add a few parts maybe not add a few parts and start. Okay, embedded engineering. It's not reverse engineering. In this case we wanted to emphasize the similarities to the software development process. First step is gathering requirements of the device, what it has to do, what it has to not do, situations where it is permissible to fail or not fail. Then research the resources, what's available to build this thing, assemble it, generally a prototype first before production runs. Low cost, maybe easy to assemble and able to be built in a home lab. But there are also the functional requirements of your device. Like this one, the requirements are user programmable, modable and display text on a bunch of LEDs. So it does all that. Generally this process is iterative. If you see a board that's got REV it, that's how many times they've done a different release of that board. Usually companies start with special revision numbers, so they don't have to tell anyone how many REVs they went through before it worked. A few notes on architecture. With a lot of the smaller, not micro controllers, you have your choice between 4-bit, 8-bit, 16-bit and 32-bit. Now the biggest difference between these other than what you register with is cost. And a lot of it is also speed of the processors. With a lot of the lower and 16 and 8-bit stuff you're going to max out around 40 megahertz. And your onboard flash and RAM is going to be less than a meg combined. So you might have 2K of RAM and less than 500 and 12K of flash. And you'll like it because really it's a very simple chip and it's more than enough space to be able to do what it needs to do. Because it doesn't really have that much IO speed. But for simple things like this anything more than a couple K is overkill anyway. The chip I used for a few projects is the 18 Mega 168 made by Atmel. 16 megahertz system clock, 16 kilobits of storage space just flash on the chip. Programmable pretty easily in the variance of C. A lot of microcontrollers have moved to system on the chip architectures where you've got not only the CPU core it's called which is the core determines what instruction set it uses but also standard peripheral systems. So you're going to have like an SPI module maybe a couple CAM modules which is a proprietary communication protocol which is very common in automotive, marine and avionic applications. You've got SPI of course that could interconnect for other devices which may be ethernet chips or whatever and then you've got EEPROM that might be off-board as well off-board RAM that you've got to interact with. As well as communications there's sometimes stuff just completely built into the chip real-time clocks and watchdog timers are pretty common which are useful for setting the chip to do something in the future basically if you have a part of the code that you won't run every n seconds or resetting the chip and then it goes horribly awry. The other thing to look at is how many pins the chip has out because a lot of the picks will have 16 pins on each side where 8 of those pins are devoted to VCC ground and associated crystal stuff and then you have 8 address pins and 16 data pins for communicating just dedicated all your GPIOs to one other device like off-board memory and some of those also dual purpose all those pins where you can select in the memory mapped registers of the chip whether or not you're going to be using GPIOs as in bulk or like an SPI bus or any number of other system on a chip type configurations and they get pretty fancy with what they provide some of them will have secure ROMs where you cannot read out the ROM through anything once it's been loaded for protecting IP of course this is true for certain values of cannot read out if anybody caught Bunny's talk at Shmucon two years ago he basically deep potted a chip removed plastic from the top of it and then shown UV in at an angle to get under the aluminum layer that was covering the fuses that were set when the chip was set to be write only and that way managed to clear the fuse and dump all the code out of the chip let's say that's not a very easy operation it's doable or something a noob should attempt yeah he used a lot of acid for that to attach the chip top off when you're specking out a new project whether it be for robotics or just you're trying to emulate let's say you got the ROM dumped of some chip and you order a different chip to load it onto so you can debug it you're going to want an evaluation board because I'm not an electrical engineer I know several very good ones that can design a PCB for me but I don't really have the knowledge to do that myself so you can order evaluation boards for just about any microcontroller out there that already have the power already done crystals attached to the board breakout boards for all the IO pins solderless breadboards to put whatever peripherals you want on there and basically allow you to start working without actually having to be as good if you only know how to write software like me the downside of using these is that they can be a little bit too good it's a situation where they'll usually have the best revision of the chip with all the features enabled in a board that's been designed by the people who know every quirk of the chip to support it perfectly and a real world application might be a little harsher however you can usually get these depending on what the manufacturer is trying to promote you can get these I do not have an evaluation board in there I don't have an evaluation board at all oh you can find evaluation boards just anywhere online let's say you just take a chip name and type in prototype or evaluation board you're going to get tons of them up there now you can be able to build firmware for this using standard new tools like GCC and everything else that you'll need basically what you do is you have to compile a cross compiler which basically you delve into the specifics of all the GCC compilation settings and pick your architecture to compile cross compile binaries for now what this allows you to do is if I've got GCC the cross compiles to arm on this thing I can make an arm binary load it onto an arm chip and have it be able to run it natively that's very important because none of these microcontrollers will use the same instruction set as my x86 laptop here because x86 is almost never used in embedded applications just because it's overkill an overly complicated instruction set a lot of pins just a lot of legacy stuff in it I actually use a cross compilation toolchain for working with the AVR microcontrollers that uses AVR glibc it's all open source stuff so it's free, easy to come by however as it said availability is highly variable it's whatever people are developing for and whatever they can get the information on if the manufacturer of the chip wants to maintain a lock on their software end of the market as well they won't make the internals of the chip as available to developers so they won't be able to create cross compilation toolchains for it now the next thing you'll need in making your own embedded device is to decide which way to go whether or not you want an operating system at all and some things that can determine this is if you have real time deadlines that you have to meet let's say you're doing some sort of control application for an airplane and if you don't send a certain signal every 500 milliseconds the engines stop now basically that's a hard deadline and very hard you need a real time OS that will schedule things based on deadline priorities to make sure that all those deadlines are met now that's one application that you need a real time OS but for simple things like this badge if this thing stops working I'm not going to be shedding any tears and I don't think anyone else will either but so basically this just uses an infinite while loop and I've got the code here he's been modifying his badge slightly it now supports a 30 character text string and some other stuff it also doesn't change state randomly from bumping against his stomach yeah thank you anyway notice that it says while one so basically this will execute this loop of code forever and after it starts up because it's got initialization code somewhere in here which is as you see assembly code which what it will do is it's going to initialize various registers on this chip and get it configured for working with these shifters on the back and the optional accelerometer and Zigbee chip so that the chip knows how to talk to its peripherals and that will all happen before you hit the main loop once you get into main basically all you do is you loop around here is he's implemented a state machine using a while loop and a current state and he's got all his interrupts for the keyboard as interrupts rather than polling the status so he can sit in infinite loops while waiting for more input to occur and when it does occur it just jumps over to that and then jumps back it's very simple code and it's very easy to modify it if you know what it's doing most embedded applications will have an infinite while loop and then they'll have basically a driver stack and it will go round robin through each driver and determine what messages it needs to send based on it's all the global data it has now in the application world you hear that global data is bad on an embedded device like this there's no dynamic memory allocation everything is going to be determined at startup and basically anything that will dynamically allocate memory could crash your device especially if you're doing safety critical applications you don't want any of that so everything has to be completely mapped out and well before you even write a line of code for what your memory requirements are going to be now this one he had a lot of extra strings in there for his easter eggs and some other useless stuff that I saw and when I took that out I was able to free up 30 character buffer for the scrolling display you'll see I have up up down down left right left right the ABA select start fully display shard of your bad influence woo the downside of not having an operating system is of course that you have to do all the hardware access yourself however if the process is simple enough that you can't put an OS on it there's not going to be a lot of hardware to be accessing it's generally the ABR chips that I'm most familiar with doing SPI communications is a simple matter of setting a few registers and then loading one variable with what you want sent out the SPI port and then checking it a few seconds a few milliseconds actually later to see what came back in now a lot of embedded applications they will use while loops without a scheduler but the way they meet soft deadlines is they do a timing analysis to make sure that each stack each driver in the stack when you're going around Robin is guaranteed to take less than the worst-case time and all the worst-case times added together is less than the next time that a certain task needs to be executed twice in that way you can ensure that everything's going to happen on time now for other more complicated things you might have things running on timers where this only executes every 100 milliseconds and each task may have an individual timer or they may all share a single time base where every 5 milliseconds this occurs every 100 milliseconds this occurs and you just set flags for whether those deadlines have been passed and then the next step up is of course a real-time OS or embedded Linux or ECOS which is a free real-time OS and then I think Abe had something to say about DOS is not a real-time OS however when your process is running the DOS is not doing much itself it's not hard real-time and I don't think want to use it in anything that people's lives have depended on but the band The Sisters of Mercy used it as a drummer for a long time so if it's good enough for them it's good enough for me now I've already gone over the task loop and of course the global data now the global data is usually used as a database and that determines your state of your device because at any given moment your global data determines what it's going to do next so that's fairly important and when we're running out of time so I'm going to have to speed this up now in a lot of larger applications you're going to have several microcontrollers and you might have multiple microcontrollers that do exactly the same thing hooked up to a bigger microcontroller so you can use an object oriented approach to build larger distributed systems and basically get a lot accomplished with very low cost parts similarly from a hobbyist point of view there are some modules that are basically things that you can use to plug together a system without having to design them yourself this comes in really handy if you're doing RF for example and like me you don't know a whole lot of radio you can buy radio modules they're like a little simple thing you get power, ground and data and you put data in, data comes out you don't have to worry about resonance or frequencies or tuning anything it's simple now for the part you've all been waiting for reverse engineering process you start with a completed thing figure out what the parts of it are determine how everything is hooked together how everything works and what each thing does generally when you're reverse engineering there's a specific thing that you want it to do that it doesn't do or something that it does do that you wish it would quit so you want to be able to select the areas that you want to focus on and ignore things like the power supply unless the power supply is the source of your problems printed circuit boards are actually remarkably readable if you look you know there's, you got your chips and they all got their part numbers so you use those to search on the internet get data sheets a lot of manufacturers don't provide a lot of data sheet information but the ones that do are generally very very useful for figuring out where functionality that the chip has that you might not have known about figuring out what the chip could be talking to on the board I have a monocle sort of display that was set up for PAL but I opened it up and looked at the circuit board and I noticed that right next to the resistor that sets this is a PAL video input we're a pair of empty pads looking at the data sheet I found out that sets NTSC and I got it to work better with you know my US equipment as opposed to the rest of the world where they use PAL traces are useful to look at big thick traces generally means it's power or carrying a lot of current thin traces usually a signal and the silk screen will tell you not only what type each part is especially for small things that you can't really read the numbers off of like service mount devices whether they're resistors, capacitors microchips or just ordinary transistors the nice thing is the PCBs are expensive and it costs money to put extra layers on there so most devices aren't going to have many many layers so most of it's going to be visible which helps in the engineering reverse engineering process unpopulated pads are also useful I unfortunately missed your brand's talk but even just looking at this I knew that it was doing wireless because it has a pair of antennas on it these loop tracks this thing's 10-9-1 I agree. Recognizing common subsystems is just a skill that you'll get if you look into a lot of devices power stuff is easy to recognize there's big capacitors, big inductors big traces it's all chunky stuff compared to everything else in the circuit which fuses yes big fuses, no thank you if you have to reverse engineer a protocol a communications protocol between two devices you have a few options you snoop on the protocol if you have something that can speak it so you can just watch as the two things talk to each other the schematic that's up here is a serial sniffer I believe this is a half duplex one so it will only catch one half of a communication but this is for just ordinary 232 serial there are devices available for USB that do this there's also fuzzing everybody's favorite topic you could just throw random stuff at it over the serial port and serial response and if you're lucky you can just pull out the firmware and see how the protocol is done in there pulling out the firmware can be done in a variety of ways BDM stands for background debug module unfortunately you can't dump the firmware from a BDM cable or verify that it's on there but you can erase it and write new firmware to it so once you get firmware in this little chip here it's there forever and you're never getting it back out unless you have a bootloader that can read it out but this one doesn't some BDM systems also let you do things like clock stepping to slow down the process and run inspecting each register as each clock cycle it passes modifying registers modifying memory locations these actually have a BDM port on the back as you see I put a pin header on it it's actually a one wire bus that allows you to debug the chip it uses some proprietary burst protocol which is not at all a standard so for different devices you have different BDM pin outs some of them will be 8 pins some of them are 6 and all of them require different pods it's a very expensive way to do development but since each pod is only about 15 to 100 bucks and if you notice the free scale pods if you connect them backwards it'll short the pod and you need a new one so you can go through a lot of them if you're using those in your manufacturing process BDM usually shows up on free scale and Motorola processors JTAG is an alternative to BDM it stands for Joint Test Application Group also not standard but well there are standards the pins there are named pins that have certain functions however the headers are highly variable I've got two devices here one of them has 10 pins one of them has 14 the connections are different and it's been largely trial and error trying to get JTAG connections into these devices it supports a lot of the same stuff as BDM basic JTAG won't let you do debug it won't let you step the clock one step at a time, it won't let you access the registers it will however let you set or clear the state of any pin around the device basically the JTAG talks to a chain of shift registers meaning the actual metal pin on the outside of the circuit and the silicon inside the device and allow you to change the pin states without the chip itself actually running these are a couple of JTAG pin outs and this is the shift register I'm going to go over this more in the Q&A section this is an eProm number that somebody built eProms are an older technology they create flash and are used for mass data storage generally they were UV erasable or electrically erasable and just used to store the code of a system I had some good luck with a magnetic card reader that had all of its code in one of these and so reverse engineering the protocol that it spoke over at serial port was as simple as pulling the chip putting it in a reader and then taking the read out version of the software and throwing it through IDA Pro which I'm sure a lot of you have used to show fans maybe IDA Pro represent another thing where resources from the embedded engineering or forward engineering process come in handy is when you got decompiled binary so first thing you look for are vectors that are defined in the chip spec like the reset vectors, the interrupt table vectors and figure out where the code starts and where it goes when it jumps from the code it's executing to an interrupt the general first interrupt is going to get when the chip starts up is the reset interrupt vector if you can find out where that is that's the entry point for your code you just tell IDA this is the entry point and it'll figure it out exactly the g-spot as it were the flash dumper thing I was talking about up there that is for accessing more modern stuff these 48 pin thin small outline package flash chips it turns out that XD cards for cameras and smart media cards for cameras are basically NAND flash in a funny package exactly the same interface and you can use one of them to build a flash dumper that you can just clip on to the chip and depending on the electrical characteristics of the board dump the flash via a USB cable it's two minutes I actually have one up here it's incredibly ghetto looking and got me all sorts of funny looks on the airplane over here but that's the card reader and I just decided to socket and hooked up little metal bits to connect they basically clip on to the chip itself and you can just use DD you get a hex image out of that and throw it into IDA Pro if anyone has any questions about how to hack this and write your own firmware we're going to be in the QA room later and I've got a development environment set up on my laptop but I'd like to take these last couple minutes to let everyone know that the best way to get started in this is to see who else is interested in the area and start a hacker space the hacker foundation has a hacker space as initiative where they'll help you once you get a group of people together that's motivated to get your own space they'll get you under the non-profit umbrella and help deal with the managerial aspects of maintaining it and basically make sure that you're on the track for success and the hacker foundation needs your support I guess the Riviera kind of raped them with some stuff they had shipped here they charged 30 bucks a box for receiving it and they lost over 400 dollars that way so they need your support they're selling t-shirts in the vendor area and please show your support and ask Nick if there's any hacker spaces which are setting up in your city if you're interested like thank you all for coming I hope you found something of interest in this