OK, donc, thank you for coming. So today I'm going to introduce a bit of HAProxy. HAProxy is a very famous and it's one of the most used open source load balancer. Everybody use it for load balancing more or less and I wanted to show you that it can do much more than load balancing. So that's the purpose of today's session. Since I trust HAProxy and my computer, I'm going to do live demo. Hopefully there won't be any problem. So who we are? First, I am Baptiste Asman. I'm one of the maintainer of HAProxy. I work in the company whose name is HAProxy Technologies, which is a company which develop, maintain HAProxy community and make business with HAProxy, more or less. So we have two main products, an application delivery controller which is an appliance. You may know some famous F5 or net scaler, so we compete with them on this one. And we also have the enterprise product which is a software that you can use to load balance very easily any kind of application. If you want to get connected with us, we have website, Twitter, a lot of stuff. If you want to take some picture, don't forget to copy myself or to copy our Twitter account. That way, I can show them to my children later. Then we'll be happy. So, one point about open source. Usually, people consider that contributing to open source is contributing code. And since code is in C and furthermore in HAProxy, which is purely event-driven, it's quite complicated to produce some code. But I just want to remember you that contributing to open source is not only contributing code. Contributing to open source is a lot of things. You can participate to the mailing list. You can write blog posts on whatever open source software you love. You can help people. You can report bugs. You can anything you can do which helps whatever open source and I'm not speaking about HAProxy only. Whatever open source you're using, anything you can do is very important. As soon as you do something, then you are a member of the community. And this is how your product, the product you love, is going to be better and better. That's how open source works. So, bear that in mind. Not only code, whatever you can provide, it's very important. Something important as well, I'm going to introduce a few stuff in HAProxy so don't blindly apply on your architecture what I'm going to introduce there. It's very complicated. I mean each application, each network stack, each operating system you are using are different. So the settings I'm going to propose there, the values I'm going to use are not maybe the ones that you may need in your environment. That said, if you need help, don't hesitate to contact the mailing list or if you are a happy customer from us, don't hesitate to contact the support. I hope you have your 3D glasses because you will see that the picture are very amazing. If you don't have the 3D glasses, you will see something else which is amazing as well. And remember that this is a non exhaustive presentation. HAProxy is very wide as a very wide feature set that can be used in a very wide type of usage. And so there is a lot of stuff that I'm not going to mention but you could do with HAProxy. So about the lab, I'm using Docker on my computer. I had some problems with Docker. So each time you upgrade Docker, Docker change a lot of stuff and sometimes it breaks everything. So that's a pain. When I compare that to HAProxy, if you take a configuration file from HAProxy 1.0 which is 14 years old now, it works with HAProxy into 2016. We guarantee the backward compatibility. So Docker is a very new software that's why it's evolving a lot. I think they are learning from the beginning, from the beginner side. So I am using Docker. I have HAProxy. I will have a few web servers and I have a Docker container that will be my syslog server. So I can send all my logs and I can do some stuff and I'm going to demonstrate you all of this. Quickly, how HAProxy works? So in HAProxy, we have HA and we have proxy. And proxy means that I have one connection with a client and another connection with a server. And HAProxy will stand between both of us, both of it. This is two separated TCP connections. So you can do whatever you want on the client side and whatever you want on the server side. So basically you can speak IPv4, IPv6 on the client side and you can speak IPv4, IPv6 on the server side totally decorated. We use it a lot for TLS as well. Imagine you have a weak SSLV3 server that you want to put on internet. Put HAProxy in front of it. Configure HAProxy to do TLS 1.2. HAProxy will do TLS 1.2 with a client. SSLV3 with your server. So you can apply this on any type of protocols that we can deliver with HAProxy. So HAProxy is split in two parts. The front end which is the part which talks to the client and the back end which is the part which talks to the server. Between both of this HAProxy will forward the hot potato.  So HAProxy does not see any packet. HAProxy is a proxy. The client will aggregate the packet, create a buffer for HAProxy and HAProxy will see this as a session.  So basically on the front end this is where you are going to define where you want to specify type of logs and everything the statistics and on the back end this is where you are going to configure the health checking the load balancing algorithm the queuing mechanism all that stuff and much, much more. So beer this diagram in mind that will be very important for the next stuff. So HAProxy we saw that it stands between the client and the server. It's a very important point to report a lot of information on the client side and on the server side. We report information first on internal states. So for example what is the state of the server how many connections you have on the server how many connections you have on the back end are you queuing are you blah blah blah all that stuff can be reported can be used within HAProxy. The connection layer we can report some information about the number of failed connection attempt and at the session layer which is more or less the HTTP so we can report number of request number of bytes number of everything which has passed through HAProxy. There is one notion which is quite interesting as well is the time since the last session so that's important when you want to put a server in maintenance and you know that the session is alive in your application server for 10 minutes if HAProxy tells you that no session has been forwarded to the server for the last 11 minutes you know that you can shut it down because basically you won't kill any user session so we have also some information about the queuing algorithm load balancing algorithm well a lot of stuff I mean this will be on a side share so you will be able to collect all of this and then we can read the statistics using two different methods or yeah two difference one is a unique socket so it's a unique we call it a unique socket but we can make it listen on TCP as well and even over SSL so if you want to use HAProxy and or Telnet and SOCAT or whatever to use it you can and we also export statistics through a stats page web page more or less so I'm going to configure HAProxy to show you exactly how it works for our web for our HAPi and Aloha customer you have SNMP which is enabled as well quickly how we configure the unique SOCAT stats SOCAT pass to the SOCAT and that's all that's very simple you can do the same with TLS connection so if you want to cipher traffic to your stats SOCAT then you can do it and we can also have a stats page so that's the latest code snipplet I have here that's the same if you have you can send the bind line I want to cipher the traffic and I want to listen on port 443 and use that certificate for this purpose of course HAProxy support the client side certificate so if you want mutual authentication between HAProxy and the client to ensure that nobody is collecting your statistics for you you can configure HAProxy to ask for a client certificate and you configure a client certificate in your own client so this is the time of the first demo I'm just so simple since I don't use OpenStack on my computer OpenStack is a bit heavy for my computer I am old style DevOps let's say the DevOps from the latest decade and we used to use makefile a lot at that time so everything is automated within my makefile so basically I run the third demo exerces one and it's going to start up kill the existing container so I should have now the stats page somewhere which is here we don't see any traffic yet but we can see that we have some back end configured some front end configured and we can see that we have one application server enabled it is green which means that the server has successfully passed the health check so I have a couple of commands so basically when we do benchmark some applications when we are customers we have two types of benchmarks one is I hammer the website with a number of queries per second as much as I can so usually it works and another test which is interesting is a spike the sudden spike so with the inject tool I'm going to send as many queries as I can per second and with my Httpf tool I'm going to open 1000 connections or 500 in that case a huge bunch of 500 connections the same time to the server and send one query on each of the connections and see what happens on the server so basically well I think I don't need to do that I have this inject so my inject is running inject is a do me tool it's available on a hfroxy.org website so the most important column is a green one it's a number of queries per second on my application so just shut it if I refresh my stats page we can see that some traffic was passing through the website everything seems to work smoothly so let's try the next test I'm running Httpf so here Httpf is going to open 500 connections send only one query per connection and you can see in red that some of the queries has finished in 500 so your application which seems to run properly at a few 100 connections per second fails when there is a huge spike coming to the application server so we'll see how we can fix that something important is that in the stats page we don't see the error so hop you move the mouse everywhere on the stats page where there is a number which is underlined you have some more statistics I mean more and more and more and we can see that the 244 254 errors we had from Httpf are here in the stats page oops so that's the conclusion of this slide is a devil is hidden between behind the underlined numbers so that was in case of my demo did not work so we don't mind so now I'm going to speak about logging so we saw that Httpf is able to report a lot of statistics at runtime that said we can see that Httpf is also able to report a lot of information within the logs so the logs of Httpf are very verbose remember it stands between your client and your server usually we have some customer who disables them so you can do it it takes around 10% of CPU sometimes when we want to troubleshoot we really need the logs and one of the first statement you will have on the mailing list is give us your logs I mean you report a bug or you report a weird behavior and then we are going to tell you please we need the logs so enable them we see that so the logs can be configured in the global section of Httpoxy in the global section you configure where your log servers are located so IP address TCP port UDP port for now TCP will come later and in the default and the back end section this is where you configure what type of information to log so usually everybody uses the default Httplog format but you can also configure your own log format using the directive whose name is log format makes sense so when you define your own log formats try to respect the Httplog format because we will saw that later we have some tools which allows you to report to get a lot of information about your life traffic so quickly the global section we have a log server we have in the default section the option Httplog so the advantage of putting it in the default section is that you don't have to repeat it everywhere as soon as it's in the default section it will be applied to all the front end and back end up to the next default section so you can have as many default sections as you want just put your option logging here usually we also put the time out that way we are sure that everything will work smoothly we can also split the logs and this is usually what we do so you can split the logs traffic logs and event logs so what we mean by traffic is any traffic passing through Httplog and the event is when health check is failing stuff like this why? that's because we have customers with hundreds of thousands of requests per second and if you have one server failing this is looking for one information in a file gig so definitely it's better to put this line in a dedicated file so when we split the logs like this you can configure also your syslog server to log local0 in a file and local1 in another file we can decide to log on easy errors you have the option don't log normal so yeah this is the famous I don't disagree we can also decide to not log the you know the browser the new features the pre connect feature which connect to your application server without doing anything and so you have resources used for nothing HAProxy will report 408 and we had some users complaining on the mailing list saying that their boss complains because they have a lot of errors in the statistics which are not errors because that's only a connection a connection which has been established without any traffic so we have the don't log the ignore probes that you can enable so this statistics these errors will disappear from your from your graphs and so your boss will be happy because you won't have any error anymore in your application you have also an ACL which allows you to decide what you want to log so I put a simple example I decide to set the log level of each request to silence so sorry unless I'm French unless the hand of the of the URL is.php for example that way it allows you to log only your dynamic traffic you can apply this to your content you can collect from the HTTP traffic so what we are going to find in the log line main information so the path in HAProxy the path means which front end which back end which server in the back end client information the number of bytes read stuff like this the most important part is the termination status so the termination status will let you know if a problem occurred or not and if the problem occurred was it on the client side on the server side was it because of a time out was it because of a network connection issue was it during the header phase the data phase blah blah blah a lot of information that's why when you have a weird behavior the first thing we ask you is send us a log line and within the log line we are going to tell you exactly what happened we using the log format directive we can log also any type of information from the SSL or TLS traffic and we often use it to run some kind of audit on your TLS you know that IPv4 exhaustion is coming or has already occurred and so now many people want to mix many TLS certificate on the same IP address you can do it only if all the client from this certificate can send the SNI information so HAPROXY can be used to run this type of audit and you can ask HAPROXY to log the SNI host it or user agent and you will know exactly which user agent are sending the SNI or not and if you can mix multiple certificate on the same IP or not safely so we are going to make HAPROXY logging a bit inject some traffic and we are going to see what happens purpose is just to show you some log line hop demo 2 ok so I am going to generate a bit of traffic so my syslog server is here this is not interesting for now this is a test from this morning so I have a get I can see that I have a few request flowings through the server and this is my HAPROXY log line so that's very important most of you you don't understand anything I guess but my my brain I would say is now formatted to this log line and if there is an error in this log line I can spot it to you and I can tell you exactly what happened so basically the termination status I was mentioning is here you can log any type of feeders you can log any type everything will be integrated here so this log line is very important one thing I did not mention sooner is that within this log line you have the TCP connection time between HAPROXY and the server you know how long it took for the client to send the HTTP request how long it took for the server to process the response and start sending the response you know all of this we also know the number of connections on the server at that time all that stuff this information because when you are going to contact us saying oh I have a problem in my application it's slow well it's slow we are going to tell you exactly where when why ok so let's let's run again some queries so same as sooner that the same type of content let's have a look so we can see that we have a lot of queries coming so my inject is using random URLs and my PHP server is configured to answer positively to random URLs we can see here so this is the TCP connection time so my network seems to work properly on my loopback fortunately and here this is how long it took for the server to process the response so I'm cheating a bit this is not a real application this is a small PHP script I have written myself and it computes a square root sorry why square root because it's very easy to compute when you have only one to compute but when you have thousands to compute in parallel it will be very complicated for my CPU and that's that's why the second test is very interesting so the second test is when I inject is when I open my 500 connections and I send my one query over each connection so we see that we still have the error ok cool but now we have HAProxy logging and we can see that this is the time for HAProxy to establish the TCP connection on the server so basically the server was saturated more or less here we can see how long it took for the server to process the response 863 ms what happen is that my application performs well when I test in number of queries per second which is fine but my application does not scale at all when I try to send that amount of queries in parallel so when you run testing when you test your application number of queries per second is interesting but this one will kill your application if you don't test it and if I am a hacker this is what type of attack I am going to run I am not so yeah we can have also a look at the stats page so the stats page says that we have some traffic we still have some errors same as before now let's consider that it's a capacity problem so what I want to do since it's a capacity problem we are open stack we just ask for more servers to come in the game so I have another demo where I have four servers and I am going to run exactly the same test that way I am not cheating so HAProxy my script has started four servers if I go back I now have four servers in my farm and I am going to run my HTTP per test and let's see what happens oh errors have disappeared wonderful so it means that it's a capacity problem well this is what you think so I am a fellow HAProxy user and I am reading the mailing list and I am reading the blog and whatever and I I have heard one day that HAProxy has a magic feature whose name is Maxcon so I have prepared another lab and so the Maxcon parameter I am going to explain in the slide after I don't want to to reveal any secret so I create a new lab where I am going to have only one server and I am going to allow HAProxy to start queuing queries at its layer purpose of queuing at its layer it's not to saturate the server with a too high number of connections because what we saw currently that our application does not scale in term of number of connections in parallel so I am resending exactly the same traffic my 500 connections oh now I have one server only I configure queuing at HAProxy layer and my server does not report any errors anymore so basically it was not scalability issue it was more protection or limitation of resources on the server that I have to protect now this is not magic so we don't mind it works this is not magic sorry this one as well so let's explain again remember we have HAProxy one connection with the client one connection with the server HAProxy can I mean it's purpose it's to be your network stack your public facing network stack so HAProxy so first we have to configure properly the network stack of the kernel so we can propose some cctl etc but HAProxy itself is purposefully written to accept and to handle properly a high number of connections per second this is what we do when we open the 500 in one microsecond and when we send one query on all of them on all of these connections your application server is not made for this whatever application you are using it's not made for this HAProxy will accept all the connection and since we are telling it to queue the queries it's going to open only a few number of connections on your server what happens on your server your server does not process a lot of queries in parallel so it will be faster to process each queries and HAProxy will be able to send more and more queries in parallel but with a small number in total so if I go back here so basically you see a limit which is here at 8 connections so my HAProxy has prevented the server from processing 8 requests in parallel or more than 8 requests in parallel we can see here that we had up to 492 queries in the queue the fact we queued the traffic allowed us to protect the server allowed us to make the server to answer all the queries we had so that's very important no errors anymore so the other reason another point which is very important so when you have here we are on a land so the client is very fast HAProxy is also able to do what we call TCP and HTTP buffering so what is it HTTP reads at the speed of the server and delivers at the speed of the client usually your client now more and more traffic is mobile so your latency on the client side is from 30 ms to 200 ms maybe more the latency on the server as soon as the server is answered it's a few ms so you don't want to block a connection for a few ms 300 ms on the client side if the server has already processed the response so HAProxy will get the response from the server store it in a buffer recycle these connections for another client during that time it's going to push the response to the other client so CHAProxy as a I don't know as a like squid but more modern and performing very well it's purpose it's to manage the TCP connection and the buffer between all the connections and it makes it very very good so now we've seen that HAProxy is able to improve or to protect our application server we're going also to see how we can monitor the response time and how we can find out where the problem was exactly in our application so let's go with the demo number 3 oops, that's not this one so I'm still having a few servers just to play with no, that was not this test so I'm just injecting some traffic like before performance is a bit slower and so with this tool now I can sort my servers by response time so we can see that they have more or less the same response time some of them are a bit slower but that's fine it's not that huge and with this tool I can sort the URL by response time so we can see that some of them are quite slow and some of those the static ones are very fast for example so we know that it's not a problem on the server itself because the static content is delivered very quickly, it's more or less a problem within the application yep, next one so we don't need that yeah, I'm just keeping the next demo just to split the traffic static dynamic and just showing the difference the idea was to show when we split the traffic from dynamic to static we can see that the response time of the application is for example much slower on the server application 9 so basically some clients are complaining about small latencies and this is the one where we should have a look for those who use Elasticsearch, Kibana for the stack you can even graph URL response time per server per backend, per whatever and they collect statistics and everything, we have some video on youtube about that now since the topic is monitoring performance and improving performance I'm going to show how I can improve performance so basically I now have my application server running in a KVM container VM, so why the KVM VM is that because I have some kind of networking between both of them and in the VM I have purposefully made a weak network stack and we are going to see what happens so here I'm starting the VM I'm starting HAProxy as well so if I go back if I refresh my VM is down that's the demo effect let's do that and let's restart ok so the VM is starting normally ok coming up so we fight the demo effect so I have now my server and what I'm going to do is that I'm going to send my 1000 connections on the server directly and then I'm going to place the same traffic on HAProxy and we'll see what happens so the name of the server is server1 it was not supposed to do that ok that's it so I sent I opened 1000 queries on my server and it took for the server 3s 200ms to answer all the 1000 queries now I'm going to do the same on HAProxy and for the exact same amount of traffic through HAProxy and thanks to the queuing mechanism the response time is faster 1 second for something so purpose of this small application is just to as I said saturate a server in real case it could be more, it could be less it could be bottleneck so I don't have any database between my PHP script but there is always a bottleneck somewhere in your application it could be your PHP code it could be your database server it could be the network connection between your PHP or HAProxy and PHP or PHP and your database it could be the file system behind the database it could be whatever HAProxy will be able to protect your application protect your response time faster and to protect your weak application I mean as an attacker it's easy to browse your website and say oh I see that slash search engine takes 10 times to answer or to response than other URLs so if I want to attack your website I'm going to use this URL send 1000 queries and kill it so usually at customers we sometimes have a back end to protect those weak application weak URLs you route your weak URLs you do some queuing mechanism to protect your application based on this so yeah some conclusion quickly HAProxy can protect your application it can improve the response time and yes there is some magic in queuing yeah that was in case of I think that's yeah there is also something important I did not mention thanks to the logs usually what we do what we explain to customers is that we won't fix the problem in your application that said when you have a problem somewhere the longest part is not in fixing the problem is in troubleshooting the problem you take 1 hour to troubleshoot 5 minutes to fix HAProxy will reduce this troubleshooting part to either a few server, a few URLs a few whatever and as soon as you have reduced then you can ask either the network engineer the system engineer the developer, the DBA whatever to have a look at the pattern that has been reported and fix it all those magic features are available in the community version so as a company even if we do business with HAProxy open source we a commitment to the community that all the basic features related to load balancing high availability HTTP processing will be always in the community another point HAProxy doesn't lie it is not here to say usually we use it at customers to sort the problem because sometimes there is a fight between the developers and the network engineering team everybody is saying that the problem comes from that's quite common so usually we say don't worry, don't fight let's have a beer, let's have a look at the logs and HAProxy will tell you what happens it doesn't care if that network or application it will tell you exactly what happens and it's free and open source and once again it's non exhaustive presentation we can do much more than that so if there is any question nope so it was exhaustive yes so about what type of cipher we recommend for SSL performance that's the question more or less so normally in your CPU and this is a good thing whether it's a VM or not it does not make sense it is not important in your CPU now you have the AESNI instructions your hypervisor is supposed to expose this as well in your VM if you want to run HAProxy in a VM which is good because thanks to that you can do hardware acceleration that's marketingly excellent so when you have this AESNI instruction the best is to use the GCM whatever ciphers because the GCM ciphers will tell you OpenSSL library to use the AES instructions ok in our lab we can cipher 5GB of traffic using AES 256 GCM whatever with one core of HAProxy and there is a new dev as well which has been made it's a contribution from Cisco so you know that RSA keys are very complicated to compute from a server side and now there are some new ESC DSA EC DSA sorry which are quite famous and the advantage of EC DSA is that the keys computed half by the client half by the server and at the HAProxy layer it means that you can compute 15 times more keys than with RSA so not all the client are compatible but the advantage of HAProxy is that you can put your certificate and your key in RSA your certificate and your key in DSA and automatically HAProxy will detect if the client is able to speak RSA only so it's going to deliver the RSA key or it's going to speak EC DSA and it's going to deliver the EC DSA oops that's a 40 minutes RSA certificate to get much more key computations per second so one last question because after it's 40 minutes it's a small one by default it logs everything in one log file right for all the front ends can we set it up to log in like each can we have a different file for each front end so we don't log in a file we log in a syslog server that said you can add the log IP address and you can force one front end to go to one server if you want you can do that per front end yes any other question ok otherwise I have I have to go sorry but if you have any question you can discuss now


Chances are, you're not alone.  But fear not, sleep warriors. In the next 60 seconds, we will uncover your wake-up call, pun intended, to the hidden power of a good night's rest.  Here's why prioritizing sleep should be at the top of your to-do list. 1. Deep sleep. The hormone highway and the brain sewer system. Deep sleep is where the magic happens. Hormones like testosterone get pumped out, giving you that chiseled physique and a confident strut. Ladies, this applies to you too. But hold on, fellas. Skip those deep sleep stages, and you might be sporting man boobs and extra hip padding instead of a six-pack. And it's not just vanity at stake.


Welcome to Agile Roots 2010, sponsored by Version 1, Rally Software, Vario, AmirSys, Agile Alliance, and Xmission Internet. Managing Agile, transforming the three dysfunctions of management by Diana Larson. I'm really interested in and explored it all, yes. And so I'm hoping that over the next, or this afternoon and tomorrow, you'll come up and give me your ideas about what's here while I do this talk. And, you know, I appreciate if you would sort of hold questions until they occur to you and then ask them. I'm not promising that I will have answers for all of them. So this is in the nature of sort of a mutual exploration today. So I hope you'll join me in that. And if anybody came here opening for the definitive, this might be your time to escape to another session. So the definitive isn't going to happen here. The interest of transparency. So I have been working with an around Agile for almost ten years now. It occurred to me that we were talking about the ten-year anniversary of the big and solid cities that come up. Talking about the ten-year anniversary of the signing of the manifesto is going to be next year, next in January. And that reminded me that actually my first real in-depth introduction to Agile happened in that same month. It didn't happen here. It happened in San Francisco. But I had been talking with a number of my colleagues, Martin Fowler, poor Cunningham, Ron, Joshua Karyewski. We were all part of a group that would meet together periodically. And so I had been hearing about these ideas for a while. And my background at that point was in work process redesign. So I would go into an organization and work with the people who were doing the work to figure out how they felt their process should be constructed and go together. And inevitably, when we were usually with the team, when we were doing that work, if the work we had in question was knowledge work, if it wasn't sending on work or if it was knowledge work where people really had to bring their hearts and minds to bear as well as their hands and muscles, inevitably they picked a team-based structure, and inevitably they picked a cross-functional team-based structure, and inevitably they began tearing down barriers, and inevitably there was friction with management. Every second time. So my in-depth introduction to Agile was I attended a week-long extreme programming boot camp that Joshua Karyewski and Eric Edwards were putting on. And said, let's go.  And they said, that's okay. We have roles for you, right? So in the long simulation that happened as a part of that boot camp, I was the customer. And so I got to see how some of those things played out and what that role was like as well. And also walking out of that, I thought, hmm, I wonder how they're going to handle the interface of management. Because it seemed to me as I went through that, that this was a really elegant way of designing work. And because of my experience working with other teams, I could sort of see that, you know, if you gave team-free reign to design their own work and they were doing that, this particular kind of work, this is probably pretty close to what they would create to come up with. And so that, you know, that is sort of how I got here and why I'm talking about the things I'm talking about. And, you know, when I'm thinking about 10 years ago and now, maybe here in Salt Lake, where next year we'll be able to utilize the Agilcom. If you haven't figured that out yet, talk the film. So we're here to talk about managing Agil, the three dysfunctions of management. And of course I sort of stole the three dysfunctions. Thank you for the five dysfunctions of the team field. I mean, I figure if a team gets dysfunctions, management should have dysfunctions as well. There must be some there somewhere. But I do not intend this talk as an opportunity for bashing managers. As you'll learn as we go through this, you know, I really do want to take a systemic view. And any of us that are working in a system have our behaviors influenced by the structure and construct of that system. And so it's just as true for managers as it is for team members. But I do see some recurring patterns. And I do see some patterns that really do cause some problems. And so that's what we're going to be talking about. I found this great Peter Drucker quote. I think it's, he wrote this maybe 15 or 20 years ago, but I think it's still true. You know, we are in such a time of marketplace churn and organizational churn and information overload kind of churn and so on that we really have huge opportunities. I mean, these are the times that give rise to enormous opportunities to make things different, to make things better. It's much harder when everything's skating along in the status quo and everyone is comfortable to make any shifts. It's when things get in turmoil, when things are turned upside down that we're able to make the kind of shifts that we need to make. To look at the assumptions that we've been working under to rethink. And so that's what I'm hoping we can do as a result of this. So till now, there has been an assumption about what it is that managers do in organization. And it really is this list of things that I'm not going to read to you. You can read for yourself. But so there's a big body of work that managers have been responsible for. You know, managing the budget and directing the work and making sure that things are coordinated. As if people doing the work couldn't do some of those things for themselves. In some instances that may be true. But there's been a belief that in certain kinds of systems this may be the best way for management to get done. If you've been a highly bureaucratic system, this might be the best way for managers to work. However, if you're in an agile environment, this is all up for grabs. Because it's not just the manager who would do these jobs. Which calls into question, you know, so what will managers do? So I'm going to try to answer that question as well. So there's no point in dwelling in the past and saying, you know, how do we get here? Why do we get here? I'm a bigger fan of retrospectives than there is. But at some point you just say, well, this is just the way things are. We're going to accept reality. We're going to move forward. And, you know, Jerry said, as Jerry also does, he said it, you know, as well as anybody can say it about that. So let's talk about these dysfunctions. And I'm going to think of them as traps.  I mean, you know, I don't know what your family is like. I'm going to make that a summary. But there are certain traps that the way we construct an organization, the way we put our org charts together, the way we have our reporting relationships, the assumptions that we may have created some traps that we could fall into that cause dysfunction to happen in the organization. And the first trap is magical thinking. But in a lot of organizations I go into, someone will tell me about a decision that's been made. And I'll say, oh, well, that's interesting. So how, you know, how did you come to that conclusion? Well, we just think that's the way things should be. Well, we're confident we can make that happen. I actually have a manager once who set up a revenue target for the department that I was working in that seemed a little odd to me.  When in every past year we had made well under $300,000. He said, I just know we can do it. And besides, it's what my managers want to hear. So thinking I was being helpful, I went back to my desk and I figured out how many people were in the department and what kinds of projects we were working on and how much revenue, average revenue of each of those projects would bring in and what, you know, so on and so forth. And there was one really big project that we had that was actually getting ready to go away. It was a government funded thing. It was just leaving. And so I didn't know what was going to replace that. But okay, I'll make the assumption and I'll give another one of those if you want. And I got the numbers and I said this just doesn't count. So I went back in and I said, damn, of course. Here's our track record and here's what I see happening in the future. And I said, oh, I never worry about budgets. And I was gone in about five months from that place. It was too hard to work there. It was too difficult to work in a place where there was no justification for decisions that were being made. I couldn't understand what was going on. I'm not proud of not seeing that pattern when we're over here. Maybe some of you have noticed in your organizations times when, yes. Okay, so I'm not alone. I'm not the only one who sees this. There's a woman that I sometimes follow. She does a thing called the work. And she's a very pragmatic person. She really focuses on questions like, do you really know that to be true? Do you pack it if that wasn't true? Things like that. And this is one of her sayings. You can fight reality and you'll lose. But only 100% of the time. Right? And yeah, in our organizations we continue on making decisions based on which we're thinking. So I dug into this a little bit. And there's a really good book out right now called Hard Facts, Dangerous Actress, and something. I'll show it to you later. It's by Jeffrey Pfeiffer and Bob Sutton. And their whole point is that there needs to be a shift to what they call evidence-based management. That is one of the things that helps us move out of which we're thinking. And thinking with this list of too many management decisions are made based on what somebody hopes will happen or fears will happen. What other people are doing and having some success with. Which is a lot of what I think we're seeing in Android now. We see someone else is having, it seems to be having success with that door. We wrote a article, we heard a story about someone else having success with that door. So we just apply some of that stuff. We start having meetings without really digging into why did that work for them? And what does that mean about whether or not that will work for us? And what would have to be the same or different for that to work for us? Look Jeff, stop this morning because it really digs into that question. How do we know? How do we know that will work for us? In some instances, maybe business decisions based on what's happened in the past, even though we can clearly see the future is going to be different. And this idea of what we think should work. Well they should understand what this required specification says because I did my best at writing it clearly. So they should understand. And the fact that they don't somehow doesn't have as much credence as the fact that they should. So they have chapters on this in the book and it's fascinating stuff actually. So I think one of the ways that Agile well done, thoughtfully applied, constructed in context addresses this is that Agile actually, if you're willing to look at it, supplies a lot of evidence, right? We keep data because of the works that are right in the middle that we can come look at it. You know, we probably have some kind of roadmap charts or roadmap charts. We probably have looked at our risks. We may have asked for our team to be chartered when we got started so that we can have a clear idea of what it is we're all trying to accomplish here together, what outcome we're looking for. And how that's going to satisfy any sort of business case for the organization. It's a lot of evidence if someone is willing to look at it. It also highlights the things that are in the way. I mean, that's one of the issues, of course, sort of everything comes with it's upside and downside, is that, you know, if there's something not working in your organization, if you're really doing the old college try at adopting Agile, all those things that are working in your organization are going to show up pretty clearly. And you have to be willing to look at them. But then, once you look at them, you can figure out what to do about it. Until you look at them, you can't figure out what to do about it. Agile, one of our values kind of is transparency. You get to see what this we're doing. Any time, come on by, come take a tour. Then the little innovation says, we'll show you. We're just all hanging out in this big room together. Everybody can see. So in this idea of continuous improvement that we're never really there yet, that we're always looking for ways to get better, whether we're doing that, you know, with a compound kind of way, or whether we're doing that iteratively and really focusing on continuous improvement actions coming out of retrospectives, doesn't really matter the specific practice. The idea is that we really are devoted to making sure that things continuously improve, but in order to do that, we have to collect data. Otherwise, how will we know if there's been any improvement? And because of the cross-functional issue, because we want to collaborate, there are more perspectives brought to bear. And any time we have more perspectives, we have a better idea of what it is we're working on. And of course, we have retrospectives. So we can look back, we can see what can be learned, what wisdom can be gained, and we can make decisions based on what we've really learned, as opposed to what we think should happen. So there's a lot in Agile to really help just, you know, get rid of that big pothole that could be manageable thinking, wishful thinking. Oh, here's the book. Evidence-Based Management Skills. They have a lot in there about this particular issue, this wishful thinking, and really making sure that we're making our business decisions based on really good data. There's another stream out there called Discipline Optimism. So sometimes when I say we have to make all our decisions based on data, someone will say to me, yes, but isn't it the job of the manager to hold the vision and, you know, shouldn't I be telling people, you know, giving them aspirational goals and stretch this and that? And, you know, yeah, you should be holding the vision of kind of what the product needs to be or what outcome we need for our organization. Yes, hold that. But when we're planning this release, stick to what we know. So maybe long-term, yeah, vision, short-term, let's work for data. Let's work for data. Discipline Optimism is an interesting thing that I ran across that has to do with your aspiration but not ignoring kind of unwelcome facts. And so a lot of this has to do with managing the paradoxes that come up. And that, I think, is one of the jobs of the manager because there are a lot of paradoxes ignore people. Another way of working from data is to develop what I call a tracker's view. I have a number of friends and family members who do a lot of holders tracking it. One time I was asking them about that and it turned out what they do when they go out in the woods sounds a lot like what I think works for managers to do. It's worked for me anyway. And so new ways of gathering evidence, new ways of gathering this data is, you know, look differently. Look at things differently. Take a new perspective. If you've had your management had one, just for the day, say, well, if I were walking into this project and I were a talent, how would I perceive this differently? If I walk into this project and I am building skyscrapers, how would I see this differently? And try that on, try on those hats. Maybe try on some of the hats of personas and people that you're trying to serve. But it helps you to think about things in ways you're not used to. One of the things the trackers talk about is the dead zones. And the dead zones are places where we don't normally look. Or places where we just aren't aware. Like right now, right up here, this is a dead zone to me. I can't see my hand, I don't actually know what it's doing, other than the sensation that I have. Right? That's dead zone. For me to know what that is, I have to look up. Right? I have to look behind me, I have to look around. And all of us, every day in our daily lives, have dead zones. Places where we've just, we've gotten out of the habit of looking. And managers really can't afford that. So we need to help identify the dead zones and begin to look there as well. Make sure that we're seeking information, seeking our data from lots of different sources and not always relying on the same channels. Learning to notice the things that we want to have happen. And make sure that we are recognizing that and interacting with that appropriately. Right? If we, if we want people to be pairing, use that example. Now let's make sure we notice when it works. Or create situations where it will naturally occur. And this last one is one of my favorites. When you, the way the trackers describe it to me is that when you go out into the woods. Right? Imagine yourself sort of walking down a path into the woods. And you hear a bird call. That's your area of disturbance. It's not something else that's happening. They're talking about you. And so, so that means, you know, the Heisenberg, right? The observer is the observed, right? Every place we're walking is changed by the fact that we're there out to the limit of our area of disturbance. So we're not really seeing what would, what's real there. What would normally be happening. Because this, this other thing is happening. So, so the idea is reduce your area of disturbance so that you can see what's real.  Well, you know, expanding your own awareness hopefully beyond that. So I think that's an interesting little bit. So the second track. The second track is the illusion of control. It's interesting that wishful thinking, magical thinking and the illusion of control are actually like documented psychological states that could find them on the web. And the illusion of control is this idea that if, if I hold on tight enough, you know, I can, I can make things happen the way I want them to happen. It's kind of like, you know, gripping a handful of sand and even tighter, right? You open it up and it's gone. So there is this, this idea that if we, if we, the real way to get control is not to micromanage the details, but to set the context. And then watch what happens there and make adjustments as needed. So another one of those paradoxes. The more you exert control, the less you actually have. So I, again, I'm preparing for this in my, in my studies. I found this interesting, Jules Polsky has done a whole plot post about the illusion of control. And he came up to these three drawbacks to command and control ways of management. People don't like it. So you're not getting their best work because they're spending a certain amount of time trying to think about the fact that you're commanding and controlling them. And that is not a productive time. So people don't like it. I left your management by walking around the slide, right?  So you end up hit and run management, right? Which is just disruptive. Which also is, you know, so you become the person who is reducing the productivity. And people who are closest to the work, and this comes up over and over again. Joel is the first one to say it. Daly has said it. A lot of other folks have said it. The person who's closest to the work is in the best position to really make decisions about the work. You know more than you can ever possibly know. So how does Agile help you avoid that trap? So Agile emphasizes craftsmanship and self-organizing teams. So it starts from a premise that we're coming to work. We want to do our best work at work. If we're given the right setting to do that in, you're probably going to get more from us than you would some other way. Again, promoting communication, promoting visibility, promoting a good work environment. It's a way of setting that context to get real control. Feedback and continuous learning also helps to give that sense of, if you really want to know what we're doing, come on down to the demo. Watch our demo and tell us what you think. That's how you steer. You don't steer by standing over our shoulder or disrupting our sprints. And the other thing is that Agile really does celebrate what's real, that too, by the key, in the sense of we know and accept that there is uncertainty and unpredictability in the world. That's what life is. That's why we've not responding to change over following the plan in the manifesto. We take that as a given. And so we know how to work with it. We have a lot of techniques and practices and things that we have developed that help us work with that. So you may not get the kind of hold and type control, but you have a kind of control that comes with letting go and paying attention. One of the tools for that, I recently attended a workshop with David Snowden on the Kenefin trade one. So beginning to think in terms of systems. Because if you can move up to the systems level, there are some predictable patterns that we can count on. And really thinking about what is the nature of the work that's going on where you work. Can we rely on best practices? Do we have really simple work where we can just see what's going on, categorize it, and then have that already programmed response. Just pull the best practice off the shelf. Because this is work we've been doing forever. It's always the same no matter how many times you lick and stamp envelopes. That process stays pretty much the same. And if you've got a big pile of envelopes to lick and stamp, one person could probably do the whole thing. It would just take a lot longer. So we might bring a group of people together to do that. But there's no real synergy there. It's still just licking and stamping and it's kind of a known process. We may have figured out that it's better if we crease the plate before we start stuffing it. But we figured that out pretty quick. So simple. Simple work. Convocated work. It's not quite so straightforward. There's a lot more building parts. The things aren't always exactly the same. There's some diagnostic issues that have to happen here. So we look at what happens and we have to do some analysis before we choose our response. But the thing is, it's well within our capability. It's stuff we know about. It's just lots of pieces of parts to put together and collect. So in that instance, we want to find... It may not be one best practice. But we're expert enough to know what the range of good practices are to choose the appropriate one. But we think we're best at this situation. So either of those sound like software development work. So then we get to complex work. And this is where we really... Things are changing all the time. There is that uncertainty. There is that unpredictability. Because new stuff comes on the scene. And sometimes as a result of what we have done, we get new stuff that impacts us. Which is I think why the many of the features that we write need to throw away. Because we learn new things as we go along. New stuff emerges for us. And so here we have to figure that out. And then the connected framework. David says what we do then is we probe. We poke it a little bit. We see what happens. Then we choose our response. So in March is out of our experience. Out of our experience of poking. So you see what happens. If you try this, then what? Does that change things? Does it stay the same? And then finally there is an area of chaotic work. Which is there is a flood coming. And we got to figure out how to deal with it. We haven't dealt with the flood before. So we may just have to take some action and see what happens. And then choose our next action based on what happened then. So then we've got really rapid emergence. And everything is new. Any time to think about what kind of work is in front of us. How much of it is simple? How much of it is complicated? How much is complexity? Are we in chaos? And what does that mean in terms of how we manage the work? It really gives you more control than the holding on type or the micromanaging. I read a recent study that said that over time the one thing that has been the best predictor of organizational success. Success in the marketplace. Success as defined by the people who work there on many dimensions. You know, isn't marketing or innovation or isn't a lot of things that you might think it was. It's not about technology. It's not about having the latest technology. It's about having the strongest culture. Which I thought was fascinating. And so instead of the illusion of control.  Is to really help to create a vital generative culture. Wherever you are. You get more real control over what kind of culture you're in. Than in any other way. So we do that by focusing on value and flow and people. And make sure that we're keeping up this sense of continuous learning and continuous improvement. And of course both of those are supported by all kinds of agile practices. So, another place managers should focus. This is according to Mary and Tom. Managers should focus on enabling intelligent self-organizing mission-focused behavior at the lowest levels in the organization. That's about what kind of culture we have. Because our culture is the main one. Crop number three. I'm voting my 50 minute deadline. The fantasy of individual blame. You know, I go into organizations and I find people spending a lot of energy on figuring out who's to blame for something that just happened. Rather than just fixing it. Like it's more important that we can pin it on somebody. That we actually can make progress and move forward. That to me is hugely dysfunctional. And I think it's important that we move away from that. And one way of moving away from that is also thinking systemically. The psychologists have a formula. B is the function of P in E. Behavior is a function of a person in an environment. Behavior is not just about the person. Behavior is about the person in the context, in the environment. Responding to the stimulus that is there. So, it follows that performance, which is one kind of behavior. Productivity, which is one kind of behavior, is a function of the person in the environment. So it's not so simple as just blaming someone for something that happened. We can't fall into that trap. Because that ignores the whole piece of it that has to do with the environment. There's one of my favorite, there have been quotes along with one of my favorite pictures. The performance of anyone is never largely by the system. And the system is the responsibility of everyone. And this is one of my other favorite to me. I don't know if you ever get a chance to see a video of him. He was the most awesome sort of cantankerous curmudgeon ever saw. I've been fortunate enough and I hope enough that I actually got to be in a workshop with him one time. It was awesome. So, what is this blame? So as someone else said earlier, blaming really just leads to a lot of CYA behavior which tends to lead to waste. If I'm trying to make sure that I've commented every bit of my quotes and nobody can hold me accountable for anything that goes wrong there if I make sure I document everything, right? That's all, that's waste. And it comes from a culture where blame is widespread. Because when there's a lot of light going around, everybody gets very busy trying to deflect it. I don't want to bounce it all off one side of it. So, how does Agile help with this? It really helps that Agile is built on a foundation of values and principles. When you're working from values, when you're working from first principles, blame gets a lot tougher. It's a lot tougher to assign that way. It also has this idea of collective ownership. So, if we all own the outcome, if we all own that what we're building, this whole question of, well, I got mine done, I don't know what happened with you, goes away if we're really collectively emphasizing delivering value in different ways. Also, the idea that Agile has this emergent property around it. You know, in my role as chair of the Agile Rights Board, I get to hear a lot of talk about how, you know, you've just ruined my Agile's. You know, you're not doing it right. And the thing is, you know, as I hold them, but I don't think Agile is big. I think it's done. I think we've got a good start on it and we're headed in a good direction and I think it's still evolving. I think we're still learning. I hope we're still learning things. So, I don't see how we can break it, really. We can try new stuff and if it doesn't work, not do that anymore. We can do lots of experiments. And so, in some ways, what I see is people who are doing strung by or, you know, whatever their experience is. So how's that working? There's always the opportunity for another experiment. And if we stay in experiments, there's also, it's a lot harder to blame. Right? It was just something we tried. I don't want to go try something else. We're just from this awareness of complex, adaptive human systems. Right? I mean, there's a lot of complex, adaptive technical systems out there, but there's also this complex, adaptive human system that we're really concerned with. And that's our teams and our organizations and our interactions with our customers and so on.  This is obviously the exhaustive list, but this is a bunch of them. And if you look at those and recognize stuff that's going on where you were, you're probably in the right camp. Recently, a lot of people don't know, but a couple of years ago, the Agile Alliance faced a kind of attorney point. Everybody knew about Agiles knew the word at that point. Did we still have a reason to exist? And it's just getting the word out was all we were about. We could have declared done and moved on. But we decided that we weren't really done. That it wasn't really just about how people learned about Agile. That there was a reason we wanted to help people learn about Agile. It was bigger than just methods and practices. And it was that everybody who was at that time serving on the Agile Board and a lot of other people that we talked to really had much more of an interest in a higher purpose, which was helping to make the software industry more productive, humane, and sustainable. And so that's what we worked on. When someone comes to us with a program or an idea or how they want to do something in the conference, we say, will that get us toward helping the software industry more productive, humane, and sustainable? So values driven, purpose driven, really helps to keep us out of play as well. I'm familiar with the crime directive. If I say not the Star Trek one, how many answers? Crime directive. It was written by Arm Kurz in his book Project Retrospectives. And he proposed it as a working agreement for Retrospectives, the big end of Project Retrospectives, which is what he was looking at doing at that time. I'm struck by how much this applies much more universally and how it really is about how we work together and what a systemic view this is. Performance is a function of the person and the environment. If a person does not have the right information, if a person hasn't had the opportunity to get the right skill, the training so that they have the skills they need, if a person isn't in one of my resources, if they're in a context that, you know, where they're being multitasked and both assigned to six different projects in both six different ways, how could they possibly be successful and how could we tell them your best isn't, you know, your best isn't good enough? Sometimes it is. Sometimes the person is absolutely doing their best and there aren't any of these other impediments in the way of their best isn't good enough. And we know what to do with it. We give them the opportunity to approve them if they don't and we decide they are probably a good fit for us. But it doesn't mean they weren't doing their best. Given their context, given what they do, there's a lot of interesting wisdom in this thing. So, job management instead of knowing who to blame really is about focusing on the work environment and the value-producing system. You work at that level, interestingly, the dogging people around, micro-managing other people's work. There's a huge challenge here focusing systemically. And Gloria Aviation has said a couple of books out. She has something called the Human Systems Dynamics Institute. She really studies human systems and how those work. And she's given us a tool called the C&E model where we can look at what's going on in our organization in three ways. One is what containers are there, right? Container is anything that has a boundary. Anything that's a boundary compact is a container. So, a team is a container. A multi-team project could be a container. We can have multiple belongings. We can be in many containers at once as individuals. But it's useful to know what containers there are. And what are what Aelia calls the differences that make a difference between the containers? How are they different? Why is that remarkable? Why should we notice that? Again, gathering data. And in what exchanges happen between the containers? Where's information passing? What kind of other handoffs are going? Where are their transactions and so on? So there are some tools out there for managers to use to begin thinking at that systemic level. So for me, the real issue here around these three traps, these three dysfunctions, magical thinking, the illusion of control and the fantasy of individual blame, is shifting our focus to what is emerging and how do we create the most resilient and sustainable organizations? How do we create a context within which people can express their resilience and have noticed what's emerging in them and outside of them? So, in conclusion, I invite you to think about what one thing will you take away from these ideas? Where are you falling into a trap? Are you able to spring a trap for someone else by introducing a practice or an idea of an actual that might help them? What thing, one thing might make a difference? Just think of it to yourselves. And speaking of tweets, if you want to get in touch with me, there are a number of ways to do stuff, and they're all up there, and I really do enjoy talking to people about what's going on in your organization, how are your teams doing, how's that work for you, what experiments have you tried? What worked? Why do you think it worked? What didn't work? What did you try after that? So please, you'll think to get in touch with me. And I think we have a couple minutes for questions. We have questions. CEOs in the room, will you identify? Okay, two, three. Pardon? Will your presentation be available after? Yeah, I think... Yeah, we're going to get the slides up somewhere. Is there a recording as well? Yes. I think so. I didn't actually check that one out. The green shirts alone. Check with a green shirt. I'm going to be here all the rest of today and all day tomorrow, so if you have feedback on this talk, I would love to hear it. Also, just as another invitation, sometimes this evening, somewhere that hasn't quite been figured out yet, we're going to try. Because of my interest in picking ourselves, we're going to try out a learning system called Where Are Your Keys? Some of you may have heard that there are a few people in the room who played this game with me and with other folks, and it's just a fine game to play that really helps us understand a lot about learning. So find us and we'll be playing. So thank you.


And welcome to Coast Guard Base, Elizabeth City, located on 822 acres in the heart of North Eastern North Carolina. Coast Guard Base, Elizabeth City provides a wide variety of mission support services to units and personnel within the Fifth Coast Guard District, the base's original command that provides logistics, administrative, and health care service. We proudly home six tenant commands, the Aviation Logistics Center, the heart of our logistics and engineering technical services for all of Coast Guard Aviation. The Aviation Technical Training Center, shaping the future of our Coast Guard enlisted aviation community. The Air Station, who conducts search and rescue for the whole Eastern Seaboard. The Small Bowl Station, protecting and patrolling our local waterways. The Aviation Project Acquisition Office, performing the technical management and technical evacuation for aviation programs. The National Strike Force, facilitating preparedness for and responding to environmental incidents. Base to Elizabeth City is committed to delivering excellent mission support and superior customer service. We strive to fulfill and manifest the Coast Guard's motto, Semper of Price, while supporting our local community. We look forward to serving you.


This 2016 Chevy Silverado 1500 Double Cab Short Box 1LT is stock number 11906ZA. We're here at Summit Automotive in Fond du Lac, Wisconsin, near new and used light-duty truck headquarters. This 2016 Chevy Silverado has the 5.3 liter V8 engine. This truck has been fully safe and inspected by our service shop. It has a fresh oil and filter change, all the fluids have been checked and topped off. And this truck is 100% ready to go. Red hot is the color we shoot all of our videos in 1080p, 60 frames per second. So if you have HD capabilities on your computer, tablet, smartphone, or television, turn them on right now because it is definitely your best way to check out the quality and condition of the truck before seeing it in person. So the options on it as well as we'll go over everything that this truck has to offer inside and out. And if you like the video and want to subscribe to our YouTube channel on the lower right hand part of the screen is a subscribe button. Click that and then click the bell notifications and you'll get updated every time we do a video here at Summit Auto. This one comes with the painted alloy rims and it has like new Goodyear Wrangler ATS tires. 65, 70 are 17s and like I said they look like they are just about new, I'd say 90% of the tread or more on those tires. Front fender is in pretty nice shape. The headlight lenses are nice and clear. You get the LED running lights, the projector lamp headlamps, and the LED fog lamps. Now I'm not sure if those are HIDs or not, we'll turn them on at the end of the video to see if they are the HIDs or not but those are definitely the LED fogs. The grille is in really nice condition, the hood is in very nice condition as well. Passenger side front fender, no major dents or dings, and the passenger side front rim no scuffs or scrapes. As you go down this side of the truck take note of how clean the body is, how reflective and mirror like that paint is. You take these HD videos so if you are far away or even if you're close by and just cannot make the trip down but you're still interested in purchasing the vehicle you can see the truck, hear the truck, and have confidence in what you're looking at before you even get here. So when you do get here there's no surprises and you can make a smart and informed buying decision from your own home. Very clean down that side, this back rim is in excellent shape as well and the back tires are just as new as the front tires. Even underbody is in really nice shape, just a little bit of surface rust on the welds there but nothing really bad. Underbody looks good, has all the remaining factory exhaust, lower rockers all look really good as well. As you come around to the back of the vehicle rear bumper is in great shape, no dents or dings on that, does have the rear bumper steps, full towing package which includes receiver hitch 4 pin and 7 pin wiring. The tailgate is in really nice condition and it comes with a gator soft tonneau cover. I believe that's a fold up one but we'll take a look. Has a shock down assist so it's never going to slam down on you. Very nice spray in bed liner, the bed itself is in nice condition and yeah I believe that's just a fold up tonneau on there. But very nice and clean back there, tailgate shuts nice and solidly lifts up really easy. As you come around to the driver side just as clean as that passenger side, no major dents or dings on the box for full disclosure this back rim is in nice shape as well and down the rest of the side the truck looks really good. You get the power mirrors with the built in driver side blind spot mirror. Inside the 1LT package gives you the black cloth interior, no rips, no tears on the seats.  As we hop inside we'll turn the ignition on and check out the miles and the radio and those are the HID headlamps on the front there so we'll check those out in just a second. 29,491 miles on this truck does have the digital speedometer, compass display, instrument cluster is very nice and clean, comes with the leather wrapped steering wheel. Blue tooth and information center controls on the right cruise controls on the left and it does have audio controls on the back of the steering wheel. Six speed automatic transmission with the optional tap shift. This one does have the Chevy MyLink system, AM FM and Sirius XM radio capabilities. This one also has projection manager where you can project your cell phone to the screen so while this particular radio does not have a navigation system on it you can project your nav system from your phone to the screen and then it's like you have nav right on the screen. Pretty cool system. This is also where your backup camera shows up, the truck's got to be on for that to work so we'll show you that in just a second too. CD player climate controls including dual climate control, stability control and that's for your cargo lamps. You do get a 12-volt power point and a 110-volt, 150-watt real plug-in down there. I'd get closer but my gimbal will flip out on me. Cessner side seat and floor mat are in excellent condition, no rips or tears, this truck smells very clean inside, I don't think it's ever been smoked in and the headliner is in great shape. Map lights up there, on-star capabilities and SOS buttons in the mirror. We'll take a quick look at the back seats and then we will start it up and take a look under the hood.  This one does come with all weather floor mats, these seats do fold up for extra storage and you can see just how nice and clean that carpeting is. Bottoms of the doors all look really good and we'll start it up, see it starts right up, no check engine lights or anything like that and then I do want to show you the backup camera that is working good. I would personally like to thank you for checking out the video today and hopefully from this HD video you'll have been able to tell just how clean this truck is all the way around, verify everything I hope you thought it was, has the HID headlamps, LED running lights, LED fog lamps and under the hood we have the 5.3 liter V8 engine. Engine base very clean, runs very smooth, once again this truck has been fully safe and inspected by our service shop, has a fresh oil and filter change, all the fluids have been checked and topped off and this truck is 100% ready to go. Here's your emission sticker and yeah I would highly recommend this truck from a quality and condition standpoint. You don't find too many 2016s this nice and to see more pictures of this truck or one of our other 450 new and used cars, trucks, SUVs, minivans, Wranglers, halftones or quarter tons, one tons you name it we got to go to that website right there www.summitauto.com full pictures and descriptions of every single vehicle from two locations all at summitauto.com and if you'd like to check out more HD videos you can go to youtube.com slash summitauto remember to like, subscribe and share on this video and all the videos that you see there in fact in a second you will see a link to subscribe to our YouTube channel in the upper left the link to more Chevy Silverado 1500 truck videos like this one in the upper right link to this vehicle on our website in the lower left and link to one of our latest YouTube videos in the lower right click those check us out click the bell notifications get updates every single day we do videos here at summit auto and we really look forward to helping with this ultra clean 2016 Chevy Silverado double cab short box one LT in red hot clear coat thanks again for checking out the video


What's the level of frustration there in that 8th inning? You have two guys in the bottom of the order get on and you guys aren't even to get any runs across there. Yeah, I mean, it's extremely frustrating, you know, especially in a situation with no outs, I'm supposed to get the guy at least over or in, you know, and I wasn't able to do it. You think that one was gone there in the 6th inning? I mean, I felt I hit it pretty well. But obviously I didn't have enough to get out of the ballpark. Overall, why do you think the offense has not really found its way yet this season? Ah, man, I really don't know. I know for myself, I feel like I'm just kind of putting a little bit too much pressure on myself, trying to get the job done and I haven't been able to do it and just making bad swing decisions on what exactly I want to do in the situation. Do you think that could be the case collectively, especially with runners in scoring position guys just trying to get those runs across?  Oh, sorry, the lack of home runs, does that put more pressure on everyone as well, knowing that, you know, the power throughout the lineup hasn't been there like it typically is? Well, I mean, I think it's just a slow start as far as homers are concerned. You know, I know in the end the results will be there.


Everybody forced here ripping five boxes of twenty one twenty two one and one basketball for Antoine G Good luck Antoine. So we got a sealed case right here. It's our new we Went through the other one for personal.  So it's the 18th. I'll put 11 18 and he ordered five so to be five left and I'm gonna do it. It's just like reading and he'll left to right So it's gonna be two two and then the one on the left essentially So that's how it's gonna be and you'll be able to see from the top cam here two Good luck Antoine starting off pistol Pete Marovitch number 63 of 99 rookie Jersey autograph Chris Duarte 65 of 99 solid hit there So you find some bigger hits going forward here Good color on this one at least green two of five Jalen Brunson Green to five Jalen Brunson nice parallel and Prime Magic this would be nice.  Nice Suggs good stuff there prime Jersey Otto It's 99 That's our guy third one. All right doing better now Second box is a goody. This is a blue parallel 26 out of 30 Paul George. Oh a green Okay, here we go. It's gonna be a big one here. Hopefully green rookie Otto rookie Otto Herbert Jones five of five Another nice hit there 505 Herbert Jones rookie Otto Let's see a Thomas moments or a downtown or a sneaker spotlight. There's a legend right there bill Russell 73 of 99 Chris Middleton dual Jersey Otto 31 of 49 that'll be gained used on the Chris Middleton time to finish with a bang. Come on Damian Lillard numbered 66 of 99 and Come on. It is dual Jersey Otto Corey Kispert one of 99 I'm gonna send an empty box and wrapper. There's like some damage in the top right of the card here as well All right, there you go Antoine. Thanks again. Appreciate it, man. We'll get those out to you


Item number, SCP-890. Object Class, Euclid. Special Containment Procedures, SCP-890 is currently housed at Site 17. SCP-890 is to be kept in a 5x6 meter cell, furnished with a bed, a nightstand, two bookcases, complete with medical textbooks, and a writing desk, all of which were originally furnished by the subject. Subject is disallowed from contact with any mechanical, artificial, or otherwise non-living SCPs, as well as any foundation equipment, under any circumstances, except during approved surgical procedures. Any observation of SCP-890 must be done in person, and any notes taken must be on paper. SCP-890 may have access to the medical bay for any surgeries, scheduled in advance, with consent of any Level 4 personnel, barring emergency conditions, which may arise requiring those facilities to be otherwise in use. Staff wishing to introduce an object to SCP-890 must first gain approval from Level 4 personnel. Anyone attempting to meet with SCP-890 without prior approval will be subject to disciplinary measures, up to transfer to a new site. In order to promote better behavior and cooperation with containment procedures, it is permissible to occasionally provide SCP-890 with a piece of intentionally damaged equipment for repair. Description SCP-890 appears to be a male Caucasian between 35 and 45 years of age, and approximately 1.75 meters tall. Subject is generally unremarkable, showing typical signs of aging, except for its eyes, which are achromatic, appearing gray. Personnel should avoid mentioning this, as it seems to cause subject some distress. Subject is typically dressed in surgical scrubs, green in color, and is often seen still wearing a surgical cap and mask. Given a set of standard medical tools, SCP-890 is able to operate on machines as though they were composed of living flesh. Testing confirms that any medical supplies used by SCP-890 will have this effect. Subject appears to be capable of operating on any machine requiring some kind of energy to operate, whether powered by clockwork, steam, electricity, or… During an operation, objects appear to be transmuted to living tissue, including skin, bone, musculature, and other organ systems, as well as blood and nervous tissue. Similarly, tissue may be removed and discarded, but will not revert to its original mechanical form. DNA testing on discarded tissue samples reveals data expunged. Tissue transmutation appears to be related to position within the object, such as the outermost material becoming like skin, regardless of the type of material. Observation by Foundation medical personnel indicates that the organs present in the object do not correspond to known organs in living animals. The results of SCP-890's surgeries seem to yield fairly mixed results. In approximately 20% of all cases, the object may die on the table, rendering it inoperable. If such an outcome occurs, no amount of repairs, even by technicians specifically trained to maintain and repair the item, will ever return it to working condition. It can, however, be disassembled and used for parts. In some cases, complications may arise from an operation, causing either unexpected or undesirable operation in the object. These can usually be corrected by SCP-890, with one or more additional procedures. In all cases, objects must heal for a period of time before becoming fully operable again. How long this takes appears to be dependent on how many moving parts a device has, with solid state electronics recovering more quickly than complicated mechanical objects. Recovery time is significantly shorter than expected for similarly complex procedures performed on humans, typically taking only a few hours. However, more complicated devices may require a few days to fully recover. SCP-890 displays an unusual ability to locate objects which it claims are in need of its services. Before performing surgery, SCP-890 will interview the object. Videologs show a typical, although one-sided, surgery consult, where SCP-890 asks the object several routine questions about the object's health and the nature of its problems. Afterward, SCP-890 will give a series of options to the object, make a few notes, and then report back. At no time has an object been recorded or perceived to respond to SCP-890's questioning. Subject displays an apparent apathy towards humans and other living creatures, stating it cannot operate on animals because it is a surgeon, not a veterinarian. SCP-890 came to the attention of the Foundation through the use of a routine keyword search before it was scheduled to stand trial in for the murder of on March 2000. Subject was performing an emergency surgery to save the life of a pacemaker, killing in whom it was installed in the process. Subsequent testing revealed that the pacemaker is once again fully operational. See interview log 891 for more information. Subject log 891, date March 20, 2000, interviewee, SCP-890, interviewer, Dr. Biggin Log, Doctor, please state your name for the record. SCP-890, my name is W. Doctor, Mr. What were you doing on March 20, 2000? SCP-890, a week ago, I was performing a surgery on a patient complaining of... The operation was a complete success. I do not understand what all the fuss has been about. Doctor, how did you become aware of the patient? SCP-890, data expunged, complaining of weakness and a feeling of unease. Doctor, and what about... SCP-890, you mean the mass of flesh surrounding my patient? It certainly made the procedure a bit more tedious, but was otherwise unremarkable. I've seen many such cases, in fact. Doctor, but you killed him. SCP-890, I did nothing of the sort. My patient not only survived, but recovered quite nicely. If you're referring to the mass surrounding the patient, I left it in place at the patient's request. I suggested it be removed, but the patient was adamant it'd be left in place. End log. Lesson complete. If you missed the previous orientation, go watch SCP-889, hybridization, right now. Or for the complete course, watch this playlist.


Why is it we don't have enough trades? There's a void in between your age group where kids were told not to go to trade school. So let's say it was a decade, right? When I look at the people that I'm hiring, for example, I see a certain age group that keeps coming in and out. And this one age group doesn't come in at all. And if they do come in, they're looking for a managerial position. I don't want to assume the hammer. Do you have something that's app-based? Can I do this? Can I do that? And I'm thinking to myself, there was at least a decade in between where even in my upbringing as being South Asian, you always told me to be an accountant, a doctor, a lawyer. So I'm looking at five, 10 years down the road. Whoever's learning now, 10 years down the road is the guy I want to hire. Because he has 10 years of experience. You get what you get in life. I don't care what anyone says. You don't want to work. You're not going to get any money. You want to be spoiled. You're not going to get any money. You want to work hard. You want an opportunity for an awesome job. Get in the trades. Why? Because when I build something, I stand back and go, I built that. I did that house. I did that house. I did that house. And I feel good about that. And I made good money doing it because I worked morning till night.