 So, hai, hai, semua. So, it's the year 2016 and it's the year of Linux desktops and I'm using one too. So, let me just drag this slide here. Okay, so today I'm going to give you guys a talk on Tai Chi, accountability. So, you guys know what is Tai Chi? So, it's like a form of like a martial art that some people in the past and even nowadays they still practice this martial art. And it's basically what people mean by Tai Chi, accountability means throwing the accountability to someone else. So, and just a quick information about myself. My name is Huirin and I have a tagline there. Proprietary softwares vs nightmare, I think. So, I do help out and contribute to some open source projects. So, just get straight on to the topic itself. So, here's a really short bender. Yeah, Jenkins build. It takes time, right? Anyway, so, very quick question for you guys. Have you ever made a mistake? Yes, right? Hated someone or wanted to climb the corporate ladder? Well, I'm here to propose to you a very great solution. Something so innovative and mind blowing that it will change the industry forever, right? So, yeah, tools we are going to use today is some two very simple things. GitHub and Git. So, just in case you don't know what is GitHub, it's an award winning enterprise. Reliable production, blah, blah, blah. So, this is what you get at a typical conference itself. Anyway, let's get on to the more serious stuff. Let's just show you a very quick demonstration because I can't really see where my mouse is right now. Okay, that's my mouse. So, this thing is called a git blame someone else. So, what it does is it does an interactive git rebase. Git rebase interactively. Yeah, and it uses that and then it changes the author of a particular commit. But it's useful to blame someone. But as you guys might know, git rebase does leave trails behind. So, this is not something very complete and it does leave some form of trails behind. Let's see this one. So, I tried blaming CJ and you can see it still leaves the trail here. So, it doesn't modify the entire tree branch itself because it's git rebase. And I've not found a way to do it the manual way. I think CJ might know how to. So, let me just give a very quick demonstration of how I'm going to do that. So, how do I enlarge things? Okay. Control plus. Where's the plus sign? Control plus. Am I doing it wrong? Oh, okay. Thank you. That works, right? Okay, yeah. So, you know... No, this is the wrong report actually. Never mind. Hold on, give me a minute. No, what is... Am I typing something wrong? There's something wrong with my keyboard. So, let me try to press it manually. Okay, wait. So, you guys use cloud now. It got acquired by AWS, I think. Yeah. So, you get this... It's a fancy full ID. Make your laptop cooler. Yeah, just... Okay. So, here itself you got the terminal. So, you guys know what the terminal shell is, right? Yeah. Okay, so we're going to try blaming someone today. Any volunteers want to give their email and name? I don't know. Crap. There's something wrong with my keyboard. I think I need left pad or something. Holy crap. I don't know what's wrong with the keyboard. Did I change the language or something? Yeah, you probably did. Sorry, no, I'm back. I can't help you. Wow. Oh, crap. Okay. You need to change that. Sadly, 2016 is not the year of Linux desktop yet. Okay, but there's always backups, right? There's always backups. So, these are very simple how it looks like. So, this is what happens. You see, basically, you need to install this thing, the installation command is just right here itself, very self-explanatory. Then, you do this, you include the author name and their email, no, no, not their email, email as well, as well as the commit hash. Yeah, that's simple. And it does a git rebase and then changes the author to what you will see in here, actually. Yeah, so CJ didn't commit this at all. I just did that and then it happened. And so, just after the demonstration, there are ways to prevent this from happening. Very simple verification using GPG or slash PGP, whatever you want to call it. Okay. I think there's only one right way to call it. He says it wrong. Oh, did I? Oh, wow. Okay. What is this? Okay, so, if you all don't know what is PGP or itself, let me just give a very quick introduction. It's just a way to verify your identity itself. So, it's to confirm, oh, CJ is really CJ through what we call keys. And they need to sign these keys. And when you sign these keys, GitHub, I think about a year ago or a few months ago, they actually have this tick green color tick if the git commit that you push out is signed, there will be a green color tick. Yeah, very simple. And this verifies whether the git commit itself is verifiable. And that's about it. So, you guys can have fun with blaming people and all the best. Yeah, any questions? No? Okay, yes. Oh, it needs to do a git. It's a very specific git line. If you want to actually hide the owner, I mean, you really want it to be not me, it has to go through the entire git tree entire thing. So, it's very tedious. And it's not true rebase. Rebase will definitely leave a trail behind. Yeah, any other questions? All right, I guess that's it. Thank you.