19 Burst results for "Kent Beck"
Waste in Software Development
"Heard that agile methodologies like td scrum were a reaction to previous ways of making software including big design up front and waterfall before the manifesto for agile soffer development. These were called lightweight methods. I started reading about all of this. In the early two thousands. At the time i was writing embedded code for an calms test instrument specifically the code that sits between the protocol stack and the. Pj's in eight six another hardware long lists of registered of were needed. Lots of room for error testing was needed and needed during development. It was reading in some order. That i don't remember the pragmatic programmer. The lean suffer development book test. I programming then. Td mostly from w to see which was worse. Cutting him zwicky and also from kent. Beck's book extreme programming from various posts in books in also at the time my company had everyone takes some six sigma training so i was thinking about all of these things at the same time in so they kind of blend together and i think of them all together the only part of six sigma that's stuck was to make. I think it stuck. Because i tried out. Small process. improvement project for my team is an acronym for define measure analyze improve control normally. It's used to save money on a large scale. But i wanted to save developers time and effort on daily level. The process improvement project was just our code change process. The process was make. Sure you have current code creative branch. Make a change build load. The compiled code onto instrument restart the instrument run a smoke test to make sure it all passes commit. The change merged from maine to your branch. If there are any conflicts or any changes on main resolve conflicts build load smoke test again merged from your branch to made if there's any
"kent beck" Discussed on Software Engineering Daily
"Comparatively. The early facebook organization was indeed a clown. Show a hacker collective that produced buggy software for teenagers in the early days when a facebook engineer attended a tech conference and gave a talk about how the company developed its software. The reaction from the external engineering world was that facebook with some kind of silly joke. A shoddy php application run by a bunch of college kids who got lucky with their website but didn't know how to do serious computer science over time. The engineering world has learned to take facebook seriously. Facebook has made unconventional decisions. But there are good reasons for each of those decisions. The circumstances under which facebook evolved have given it a set of strengths and weaknesses. that are hard to comprehend. If you don't have a holistic picture of the company and its history looking at facebooks infrastructure is like looking at the creatures that live in steam vents at the bottom of the ocean a bizarre yet thriving ecosystem born of unique evolutionary fate as the facebook product came to market users wanted new features faster than facebook could build them. facebook hired. The best engineers could find and task them with building new functionality. As fast as possible. These engineers were hackers the type of programmers who had grown up spending their nights and weekends building games chat systems and crude artificial intelligence applications. The early facebook engineering team was young. Confident an eager to build new features and see how the world would interact with them. New features were developed at the cost of testing the existing product and when the new features were pushed to production they would sometimes cause bugs or complete outages of the facebook platform but the benefits of this fast product development were numerous users. Loved rapid evolution of the product and facebook was in the unique position of releasing popular yet. Not super important software as of twenty ten facebook was not yet a crucial piece of communications infrastructure. For everyone's daily life it wasn't an operating system or a heart rate monitor or an embedded temperature control chip. Facebook was free software and it was not used for life or death situations. It was used for making friends sending messages planning events and sharing cool links if facebook went down every once in a while it wasn't the end of the world. Facebook moved fast and things were broken. Facebook did not need to build software at the glacial pace of an enterprise product company. Kent beck entered into the strange organization in two thousand eleven. Kent beck is a legendary figure in the world of software engineering as an early advocate of test driven development or. Td can't popularize the idea of writing unit tests before writing code that would satisfy those tests a unit test isolates and tests a small piece of functionality within a large piece of software practitioners of test driven development right tens or hundreds of tests. In order to simulate the many use cases that could potentially occur within their software test driven development helps maintain the quality of a code base. Can't back is the author of nine books. Including extreme programming explained and test driven development by example kent methods are so widely accepted throughout the industry. That one of my instructors in college mandated that all of our software engineering assignments were written using the test driven development process when kent beck joined facebook in two thousand eleven. He was fifty years old and thought he had seen everything in the software industry during facebook. Bootcamp kent started to realize that facebook was different from any other company. Had been a part of. I had a huge case of imposter syndrome. When i joined the company says kent even though i had been in the industry for a long time i realized just how different everything was at facebook after graduating from boot. Camp kent began to explore facebook's codebase and culture. He was shocked by what he saw. Across the facebook organization there was vast experimentation. It was a factory of innovation with engineers constantly prototyping new products and testing new internal tools. The massive scale of the user base allowed facebook to think about product development in a way that no company before it had been able to do and the volume of data allowed facebook to accurately validate its new products as it decided how to invest its resources. Facebook style is really good at exploring new engines of growth. You have very little to lose in that moment. Says kent beck. This is where move fast and break. Things is exactly the right attitude to take. You have nothing to lose breaking. Something has no cost so just go for it. I call that the exploration phase. You went to place as many bets as possible. Because you can't analyze your way to success with so many opportunities to take advantage of facebook. Engineers were sometimes spread thin. Even small teams would work on big features. Which would deliver value to millions of users. Facebook engineers did not always have the bandwidth to unit test. These new features engineers could run tests in a simulated environment. Then do a small roll out of the feature to one percent of the real user base if it worked with the one percent of the user base the engineers could gradually ramp up to one hundred percent of the user base rather than unit testing every single new feature facebook engineers had the autonomy to decide when to spend time writing unit tests if a feature became popular engineers could always add more tests later as an advocate of the steady process of test driven development. Kent beck could hardly believe how stable facebook software was despite such limited testing. They weren't doing the things in my books but they weren't failing. I'm okay with people doing things differently than in my books. I just want them to fail beck jokes. As kent back became more familiar with how facebook worked. He realized he wasn't just learning something new about facebook. He was learning something new about software engineering. Every software process has to be shaped by context says kent facebook's context was unique. They were exploring two things simultaneously. The space of social media interaction looked like as well as all the difficult engineering problems that were associated with social networking at facebook can realize that he needed to rethink many of his long held beliefs about how to build software. We can write useful stories about the software development process. But they're stories. they're not recipes. Why should different companies have different. Testing practices consider facebook in contrast with microsoft as the dominant software company throughout the nineteen nineties. Microsoft defined many of the modern best practices of software engineering considering that microsoft sells and operating system that runs a large percentage of the world's computers. It's no surprise that the company is extremely careful with its software testing and release process. Microsoft's delicate approach has been evangelized throughout the industry and many enterprise software companies have followed the best practices of microsoft to great success but the release process of modern web based software looks remarkably different than the nineties world of microsoft windows delivered via cd in the world of web based software. It is much easier to issue a bug fixes. In the world of software distributed via d's the developer pushes a new version out to the server and the user automatically loads the new version on their browser or mobile app. Consequently it is less costly to release software. That has a bug of course. There is a delicate balance. Accompany never wants to release software that permanently corrupt the database or software that causes users to distrust the company. Some parts of a code base are extremely sensitive while other parts can tolerate rapid iteration if a code base can tolerate rapid iteration and fewer tests than the company should probably be rapidly iterating and writing fewer tests. The cost of testing too much and moving too slowly can be severe in its early days. Facebook's rapid pace of development was jarring engineers accustomed to how other companies build software. When nick schroeck joined facebook in two thousand nine he had worked at microsoft for a year. Microsoft builds mission critical business software and nick understood the microsoft way of deliberate testing. Shortly after joining facebook. He realized that he was looking at something. Starkly different from anything. He had seen it microsoft. I was shocked at the way. Facebook did engineering says nick and then i was amazed. Maybe amazed and appalled simultaneously. The thing i was amazed by was the bias towards velocity. I had never worked in.
"kent beck" Discussed on Test & Code : Python Testing
"About applying dot ryan damp to testing. I'll read just section from chris edwards because it's great so far to maintain code you. I need to understand the code tender standard. You have to read it. Consider for a moment. How much time you spend reading code. It's a lot damp increases maintaining -bility by reducing the time necessary to read and understand. The code sounds good. Removing duplication ensures that every concept system has a single authoritative representation in the code. A change to business concept results in a single change to that to the code dry attempts to maintain maintain attempts maintainability by isolating change to only those parts of the system. That must change also sounds good. So why duplication more acceptable in tests. This is still part of the tests often contain inherent duplication because they are testing the same thing over and over again only with slightly different input values or setup code not following now however unlike duplication code unlike production code. This duplication is usually the isolated only to this narrow within a single test fixture file Because of this Has minimal an obvious which means it posted. The poses less risk to the project than other types of duplication again continue reading in a comeback. Furthermore removing this kind of duplication reduces the readability of tests the details that are previously duplicated in each tester now hidden away in some new method or class. Yeah that's bad to get the full picture of the test. You now have to mentally put all these pieces back together. Therefore since test code duplication often carries less risk and promotes readability. It's easy to see how it is considered acceptable as principal favorite dry in production code favored dantesque code. While both are equally important with a little wisdom. You can tip the balance in your favor into quote. And i also had some interjections in there but Some little more on the fence. He had me for a while. But then it kinda fell over a bit. I remember hearing kent beck once. Say that tests should be attest. Should tell story. I like that and i think it should be at the same abstraction but shouldn't your code in the functions in it tells stories also. I'm i guess. I'll just say that. How ideal at this. I don't really have good advice. I can tell you back. And tell you how i deal with. I do know that a long time ago tried to make I started to try to make tests as readable as possible. That's michael if there's duplication parameters ation fixtures in helper functions are great to clean that duplication up but only if you can still read the test quickly in understand it. I also wanted to make sure that anything that can fail. Generates in easy to understand failure. 'cause that's kind of a side thing from what we're talking about now but that's harder than it sounds. I also know that. I started when i started to do this for tests. Make sure my tests told the story. At a consistent level of abstraction i started wanting my production code to be like that too. So now i don't really have to rules for production code test code. I want it all to be readable. Another thing is that. I'm not that great at predicting. What kind of changes are needed in the future So my defense against all of this is A few things. I keep in mind dry. it's something to keep in mind. Even if i don't follow it all the time i make sure. My functions till story at a consistent level of abstraction without hiding important detail a voted avoid duplication when it makes sense doesn't detract from readability. I test everything everything gets tested. And don't be zealot about dry or really anything. I work with experienced engineers from all sorts of backgrounds in learning paths and some of Some people have read about all this stuff in some people have not I try to not be on my soapbox in. I learned from my fellow employees in try to have them learn for me. don't prematurely clump duplication into helper functions. Sometimes i need to write the same thing five times before i really understand what the abstraction is end in understand which of those Things a abstractions symptoms. It's too so sometimes. I have to write it several times before. I'm ready to factors big after. I really understand it and also don't be afraid to re factor other people's code. Your tests will help you to make sure that you don't make things up any version. Control system allows you to roll things back if you accidentally make these worse or possibly make it less readable. You'll know that will from code reviews anyway also have fun. This is software. Don't get too serious about it. Thank you patriot. Supporters join them at testing co dot com slash support. Thank you to dog for sponsoring get started with a free trial at testing dot com slash data. Dog in dog will send you a free t shirt. Those links are in the show notes ab testing code dot com slash. One six zero hundred sixty. That's all for now Something in may..
"kent beck" Discussed on The 6 Figure Developer Podcast
"Because i've never needed that before and i was gonna thought if i got that next promotion Could tell me that. And then even as a cio that small business was owned by a man with whom i have some deep philosophical unethical disagreements. So i came to realize that even in a c. suite role. Somebody can still tell you what to do. and i. it's time. I'd kinda concluded like i must be an outdoor cat and i just can't work for other people or something if i had been more introspective and and thought about like what do i actually walked out of getting promoted. Then i might have even at that time said well i can just go. Freelance and be more gig oriented and maybe continued to enjoy the work day life of programming and being in a flow state. So i think the first thing i would do is kind of size up like why do you wanna get ahead because that might start to speak to what opportunity coming along looks like As opposed to just kind of advancing somebody comes along and says do you want to be a manager and like whatever answer you give there might be okay so if if you get promoted to dev manager you're gotta earn more money and if what you do is earn money and try to retire young than great So i think it's kind of a matter of understanding what sort of opportunity you want and then looking for it when it comes along so when hit subscribed princeton came along i was looking for a way to get down from honor percent travel and to build a business. That was something. I could build equity in and expand beyond just me whereas consulting while lucrative it. Was you know as soon as i stopped being the client side or doing the engagements. It was done so. I don't know if that's the most like median tangible answer but i think that I guess maybe to put a little more meat on the bones. If you figure out what it is you're looking for specifically and then envision that role and you can reverse engineer what you should be doing. So if you want to be in management Look for opportunities to do leadership types of things even if they're not directly in your job description if you wanna like open up an opportunity that combines disciplines like content creation software engineering locate what are people who are good at that who have large following her her earning money for content. What are they doing. Now what can i start doing to get there. So hopefully that's helpful medical. Maybe not a perfectly applicable to who the last bit of our conversation but for our listeners. Some of the things. We mentioned static analysis. We've mentioned td Some other like disciplines and and whatnot Do you have any resources to direct people to where they can kind of kind of pick. Those things up I i don't know as much today. What people are doing but like back when i was learning all of that Turn remember there was was a kent beck who wrote like td by example..
"kent beck" Discussed on The Python Podcast.__init__
"Improvements. The it's the contrast with what's out there is so very close of things like same pipe bomb you can. It helps you to refactoring. You can kind of selective say extract method on this. If i know what i wanna do. Are these ideas that can kind of helped me that and streamline that process if you don't know what to do it's not so suggesting that so i suppose threes kind of suggesting fixes to you. You'd have to go in there. But like i want to do some refactoring now. It's like this natural flow. It's just little improvements. See how the class of tools out that things like lynching tools. Oh formatting thing we did as well limiting is often of picking out little not telling you how to fix them so i that becomes split the things you ignore. We kind of keep on. Pippi still have to manually go in and fix things said if it was. It's automatic whenever we suggests we know something we know what magic for. It's kind of speeding up. If i think back to when i was learning i didn't know the tha refactoring have concerts of rewriting cut to improve it. Initially i made after a year or two. Did i stop understand that. This was a possibility. I'm bad i have scout. Learn how to cyrus. Kent beck books. Martin fowler books when out manually learn how stable these things and i found that fascinating but took time with the to serie Give you these refactoring suggestions that teach you how to improve. Cutty got as well. So you need to not actually convey this. Because i will tell you you mentioned things like glinting and do things like extract a method and as you said there. Are things like lenders or there are tools like pipe bomb or rope. That allow you to manually say i want to do this refactoring when you know that. That's something that you want to do so source refits in this category of automated code review automated assistance kind of tools in there a number of other projects that have come out recently in the past few years to offer similar kinds of approaches. So i'm thinking things like kite by know that there are some other sort of automated review tools and automated sort of code completion where they will scan multiple open source. Repository is in use some of the patterns that they find their to suggest structures where the look on different sorts of key words or logical structure is and say you know. Here's a snippet that you might want to us to be able to perform this action that you're trying to achieve morning if you can give a bit of. A comparison of how sorcery fits within this broderick system of services that people might use to act as automatic assistance while they're programming and some of the differences in terms of the goals and priorities of what. You're building with sorcery versus what are available with these. Other systems is completion. Till's like you mentioned this kaya. We're aware of another couple by kc in top nine and all of those help as you're writing the code in the first place. So you're writing line of code. And now completes on floyd sites like your g mail erupting sentence g mouth suggests the rest of the sentence to eat these tools. Exactly the same except for with souls became difference between sorcery. These tight completion tools. Is they help you. Write the line of code. But you're working on sorcery understands the code that you've already written hombre rice it to improve the structure and improve quality as opposed to being during the codes writing off the eucharistic On it gives you the high quality care that lets you know code. Faster feature old detect bunks quicken feature. Improves the readability. The board arrested the completion asks. You don't care about the quality of the cuts that you're writing. They just care about what is the most likely rest of the line of code that you're working on a study that shows you spend maybe five percent of your time actually typing programming and like seventy time reading and trying to understand it so we're coming from the point of view of not trying to speed up typing but try and improve their ability to code taking gun make changes quickly later at readability is already focusing there are also classes of tools the particularly in python but also in other languages that serve to add things slake constraints to what the function is trying to do so like contract driven programming and then there's type in france and things like that and i'm curious how those types of information are able to feed into factoring decisions. That you're making sorcery we use within the Faces high which i really love became quite fond of strong typing when house think scarlet back in the day and wanted to find something so that the by the is really really exceptional. So in terms of the cut out that the majority of kites doesn't actually use hinson type information at the moment so we tend to the assumption. A bicycle of we analyzed one information available to us. So we try to analyze. It expects him at most veda however we do do some type inference within sorcery that helps us these types of refactoring carried hats type incident. And we'll his just more things to know if it had not talking to okay based in ten is definitely leads machines. Another interesting aspect of what you're building. It sorcery is that you both admitted that python is as you came to later in your career and having a much broader background in a number of other languages and i'm curious why you chose to focus on python as both the tool that. You're using to implement sorcery but also the primary language they are focusing on as far as the refactoring that you're providing and we'll your motivation for investing in python language for building your business on it. So interestingly enough it wasn't actually which was the first target for.
"kent beck" Discussed on Arrested DevOps
"Hours and talk about something interesting and then a couple of days later they talk of us in the interesting again and i like that. I'm digging as is called invitation to systems thinking As me and kent beck teaching it that spend superfund. So that's been trying. I think yeah. I remember like missing the one and then being like i'm watching jessica's twitter for when the next one is open or whatever 'cause tickets left to the next one oh okay well. Let's talk 'cause i will. I will say like i while it may be called introduction. This this is. This goes back to a thing. We used to say back. When i was a swing dancer we used to say the beginner dancers take intermediate classes intermediate dancers take advanced classes and advanced answers take beginner classes and i while i remember my son happening. Yeah like i love things that go back to first principles and like even if i think i know what thing an intro class that bills itself as intro is super fascinating to be and that's why i wanna take you class. Yes that's my twenty twenty bridget. What's going on with you. So when we had this call at the end of twenty eighteen. I recall saying that i plan to travel less than stay home a lot. I am really sorry for causing the apocalypse monkey's paw curls big time So that was a slight error in judgment I will try to apocalypse less in the future. I say have been doing for fewer events. Some virtual events. I have started enjoying the the prerecorded format for the options. It avails you of. I'll give a couple of examples coop con e. You a maya colleague. Her sorry my collaborator. And i recorded the talk. Then we showed a draft it to the rest of the project maintainers pressure maintainers gave us commentary and joe edited in the form of a pop up video so that we had little pop up of commentary coming from The other project maintainers as we were talking about the intro to helm little bits of trivia and added things. Now i'm gonna jump in here and say the way there's actually went was hey. This is a great video. I want to add commentary from the community. Can we do a pop up video style and did the noise towards the set you have. The soundtrack sells sells it with without the without the sound of. It's just a bunch of shit onscreen. if you get. If you actually get a little a little bubble pop noise cells so have we again. Made it back to ninety television Yep we didn't repeat that for the the Coupe kunr america version. But for the kupuna. North america one. We completely did slides and did it just like this as a podcast style conversation. And then i had. Joe add the occasional some links here and there and you did a thing you do. That with the lower thirds..
Facebook Engineering Process
"Facebook. My understanding. is that around that time. Facebook really didn't have much testing and it's kind of ironic because you were the creator of extreme programming. It was highly dependent on the process of writing unit tests and then writing the features facebook clearly reversed that process and was able to be successful despite the fact that they wrote their features before they their their tests. You you often hear that you need. Unit tests in order to build things like continuous integration. Continues to degration. Lets you move much faster because you have this battery of unit tests that runs at every new build. But i don't think facebook had that stuff until later. How is facebook able to move so fast with such a low amount of unit testing. Yes so that was. That was part of the puzzle. One when i arrived one of those. Hey this isn't what's in the books and yet it seems to be working and the answer that came to is that while the there's a couple parts of it one is. How many of your problems can you test for. And how many problems. Only show up in production so if if problems like if you're writing a simple calculation but it might not scale in production you you can't write unit tests for it so the facebook cancer is don't that's part of it is depending on the ratio of. How many problems is it possible to test for before. Production versus after if that ratio is skewed towards. Hey stuff only fails in production then. Don't write any tests. The second part of the answer is tests are a form of feedback and facebook. Engineers had many many other forms of feedback. So you'd right on your development server and you'd try stuff out and then it would go through code review his second form of feedback and then it would at that point it would roll to the internal site. So you get more feedback from that and then it would go through the deployment process where it would get rolled out to a small number of machines and then and more and you get feedback from that and then A logging and like operational awareness was just part of the engineering culture. So you'd get feedback post production of like how your feature actually was was behaving so. There's a bunch of feedback loops in place. Unit tests occupied for most development facebook. Just the cost benefit the amount of feedback. They added the timeless timeliness of that feedback and the cost of achieving that feedback. Just wasn't worth it the so in bootcamp. You're supposed to put code in production. The first week. And i was very careful to write tests than do everything properly. So i got in a fair amount of of. He got a fair amount of heat. Because my first feature didn't land for three weeks and people are like well. I don't know how this is gonna work out. One i was. I was wondering that too. I had a huge case of imposter syndrome. When i when i landed at facebook and realize just how different everything was and then the tests that i had written broke almost immediately and they were deleted. That was one of the things that surprised if if you had if you had a test and it failed but the site was up. They'd just delete the test. If you had tests that were intermittent that that were non deterministic. There were just deleted. And at first i was shocked. Like deleted attest. This is producing noise. And it's not producing signal if you eliminate this this noise production per definition. The situation is clearer all of a sudden the fact that you kinda wish that you had to test for something while you didn't and so yet just chuck it. Let's move on now. You probably wouldn't want to take that approach to nuclear power plant software or electricity grid software. That seems like a practice. That is uniquely useful. Four kind of early facebook where this thing wasn't yet a communications utility. It was more of a fun thing to do akin to
"kent beck" Discussed on The PewterCast : A Tampa Bay Bucs Fan Podcast, Buccaneers
"It is time a- time is upon us to do what we came here to do to unveil our master battle plan for what we're going to do with our free agents what we're GonNa do with all of that salary cap money that we have. Well we're going to do to try to help build out this team for this year now during the break you had mentioned that you wanted to go ahead and go. I is coming off of the The exercise we just dead so I will throw this over to you man. Walk US through. What what did you do? What was your philosophy behind how you were crafting. This team and You know 'cause obviously you're not in real negotiation so you're sort of doing both sides. How did what did you do to keep this fair? You will play for four dollars. Carl NASA tried to keep it market value. What I did was I give just about every single person rates every person every free agent that I signed I gave them a raise But a lot of these freedoms like you heard like the mentors Awad birds and Nachos Those guys that you know have under like a million dollar salaries right or just right around there But what I wanted to do. I wanted to see if I could keep Winston Barrett to j. p. and Nassib altogether right and keep it under the salary cap now. These are all rounded numbers This is all using VO tracks numbers But I did factor in the rookie pool and the injury money. Like the two three million dollars. They have set aside at the start of the season To be able to sign guys off the street when when players go down and stuff like that so my cap started eighty. Five million dollars rounded. Is that what you have that we started with? No I actually used over the CAP. And their number that they had was seventy nine eight. Oh Wow okay great. I got extra six well five to all right. Well the rookie pool. According to over the cap is the only thing I use that because I couldn't find one on SPO- track a is roughly seven point. Eight million dollars. I also had that number up. That's good since we say website so what I did was I. I'm sorry for that though. The the way that I saw that number was feared was figured rounds one through seven yet. The bucks don't have a seventh round. Pick this year but with the Compaq we should pick up an extra fourth round. Pick right. That's only about two hundred thousand dollar difference between the two so it. It really could be an eight million dollar cap it but it's worth only talking two hundred thousand dollars it's however those numbers get adjusted for people out there wondering it's not that much yeah and there's so many things you can do to come up with a million dollars here trillion dollars. These are just rough estimates like I said just to basically show people that How this can be done So with a seven point eight million dollars and then I put in just two point two to make a nice round number for injuries. So it's ten million dollars off the cap right away from me. So I'm really only playing with a seventy five million dollar cap but that counts for seven draft. Picks and injuries guy Start with the big one Or the big ones. I guess I should say Winston twenty-seven mill okay. I resigned Barrett for fifteen million. Now I'm sorry with the with the Winston one is like the. There's this thing when they do a contract right right there. We you had the. What is the average salary per year but that may not be the numbers that actually are the cockpit for each year right? You know what I mean so when you say. Twenty seven million. Are you talking a twenty-seven like I'm saying in the year twenty twenty Jason or Jason Jameis Winston Cap. It will be twenty seven million. We'll pay the quarterback position. Okay yes yes very cold. I'm giving Shaq Barrett fifteen million. Give sue a million dollar raise at ten but then I took away at Bryn back down at nine okay. He's he's not getting a rates but like we talked about. You can find two hundred thousand five hundred dollars here and there so I've also paying JP nine million. So he doesn't get his get butthurt guy I can't with Nassib at seven okay and all that knocks my seventy five seven dollars. Seven million for NASA. Yeah when you put him at five and a half okay. Nasa was the only one I really do a lot of research on. Y'All just like if I'm paying Su nine and JP nine seven. That was ill when I really didn't doing research on So that knocks me all down to eight million dollars. Yeah it goes quick. That was just so fast but Talk about people. I sign when we talk about the love and leave him Minter oh Claire. What for Nacho and It says Nelson but I. I can't Ramon writing here. Oh Ono Santer Hudson okay Give them all a minute. Raise like like a hundred thousand or a couple of hundred thousand knocks my cap down to four point six now. These are the players I got rid of basically start at the bottom of the roster and thought in my head well okay. I don't need a linebacker because I just signed mentor. Greg and I got city for his good on Middle Linebacker and I sorta did that my head. I just didn't take the bottom like ten off but it came pretty close to that so Players like where Miller Not Scotty Schnell Grayson. Those are wide receiver mcelroy tied in bells. A cornerback cozine Daniels. I got rid of Fabiano ZA tackle mickens. Franklin I did Cut TJ Logan. And I did cut Jordan Leggett. Really yes Because I've gotTa Claire. I've got rate I've got Hudson and I've Got Howard. Is the fifty three man roster so that training up there? Okay now that cutting all those guys are. I'm sorry and by the way just as you mentioned those those two numbers the projected cap it only accounts for the top fifty one contracts this time in south fifty three contracts only for the fifty one contract so as we're going into a ninety man roster for training camp buckby way over the cap if you actually do the math but they got an they'll get it down by training camp so yeah there's a certain date. I'm not sure what it is that Every team has to be blows out yet and it's usually somewhere between the fourth preseason game and the first week obviously Adding all those because none of those people had dead money adding those all together now. I've gone from four point six. I'm up to six point. Nine million dollars have lay with regency. Yeah a couple of interesting things here and I'm not sure if you saw us or not. Kendall beckwith stolen the roster. I did did you see that I did for every quarter million dollars. Seven point five eight million dollars he will or excuse me seven five seven hundred fifty thousand dollars. He and he made he made his money last year too. So he's he'll still be one hundred thirty six thousand if they cut him. It's still one hundred thirty six thousand dollars that cap money. Seventy six thousand five hundred seventy two dollar dead cap money. Yeah if they cut him. Yeah so basically. You're only gaining five hundred. Eighty one thousand four hundred twenty eight hundred women. Isn't his cabinet actually like closer to a million and when you cut him you save three million dollars now no okay go ahead. Don't don't know interesting that is on the roster and they paid him last year when they could have cut him And on there. Now I think there's doing a Masala because you've got a really bad break you ask you in a car. He was all set to be. You know if Kent Beck with doesn't get hurt. You don't have devon white right probably right so here. Here's what just you know right now. He he's currently hearing a bit of nine hundred three hundred nine hundred thirty. Four thousand dollars is based salary though is seven fifty eight that cap it that will have the dead. The dead value money is money that they paid him as a bonus earlier in his contract. So if we save three quarter million dollar Out of that right. Yeah I'm not cutting it okay and keep. It really has well. This is something they did for him last year and now I'm sure there are some legal way to get around it. If they cut him the glaziers just WANNA cut him a check for what he would've made not allowed to do that. Well Yeah but there's a lot of things you're not allowed to do but I'm keeping on. I'm keeping him on. Okay you know At least keeping his not am I keeping his roster spot I would say I'm just keeping his His money on but who I am cutting is empty. Stewart interesting interesting because before I believe it's June first He has one point one That's a salary. He gets a four hundred fifty K. Signing bonus that he's already going to get In his cap hit is one point six so if you cut him you only have to pay for the four hundred fifty thousand dollars so you would get a basically one point two million dollar bump so I go from six point nine million dollars. Eight point six million dollars by cutting. Mj Stewart okay. Now this is the free people you guys that y you guys but fans don't know about I've already signed one two three four five six seven eight nine ten free agents but they're all former bucks suddenly feel like here's the guys. I went out and found. Now what do we do? What is Jason Light liked to do? And I think all GM's like do but we really don't follow all their jobs they don't like to get pigeonholed into the draft right I. I don't have Datsun. Two now I've got like wells as my starting right tackle. So there's this guy named Dennis. Kelly plays for the for the Tennessee Titans. He was drafted by the Eagles. It was traded to the titans for receiver He can play both guard positions and play right tackle And he is basically like an earl watt for a younger version of them. That can play tackle a guy that can start but Whereas real value is is be able to plug in multiple spots on game day and be active okay but so that would be pre draft. Starting right tackle He's ever made more than a million dollars. Made a million dollars last year at Tennessee. I'm doubling his salary and giving him two million dollars Let's see then I went with Says I didn't sign Alan. I went to the New England patriots and found Danny Shelton and Shelton with the first round. Pick of the browns couple years ago. A handful of years ago. was traded to the Patriots Than they did not pick up his fifth year option. They cut him and then like week two or three. They brought him back for million dollars. Guy This is a guy who I'm taking to praise Bo Allen. A former number one pick again am tripling his salary and giving three million dollars on a one year deal. Bring any Shelton in here to bow out. Now I'm looking I'm like okay. What do I got left? I need I need a wide receiver. We're going to draft You know tackle help that a little bit. We're going to draft him. Why he was Watson and Miller. You know Going around linebacker..
"kent beck" Discussed on WBZ NewsRadio 1030
"Of the state's public utilities department ordering Columbia gas to put a stop to non emergency work let's go right to WBZ's Karen regal Karen what we learned. well we learned that a letter was sent out it is dated today October third twenty nineteen and it is from the department of public utility that is dressed your president mark Kent Beck and it's addressed to the bay state gas company you also know that as Columbia gas of Massachusetts and we all know what happened last year the war natural gas disaster in American history thousands had to be evacuated that was not the end of the story out of their homes for months well all those gals name had to be replaced then we learned of the Bogo six weeks ago that also called ghost mains had may not have been a captive properly does pose no risk to the public but that raise concerns with lots of people civilians and public official that I I spoke with and then last week a week ago tomorrow another incident a gas leak caused by a gas a gas belt that had not been eight marked correctly it was turned incorrectly by contractors working for the city of Lawrence marking a gap blind this letter from the department of public utilities center Columbia gas the queue line here says if the company had followed procedures for removing those that gave the boxes you and I know them as a gas belt the bills have been removed or made inaccessible presented preventing the subsequent gas what grade one gas leak service is shut off imports evaluation evacuation would not have happened the GPO has significant concerns the letter goes on to say and Columbia gas has been ordered to stand down on all known a merchant seek work in this is going to continue apparently indefinitely and working together some more information to you about Nicole and we'll have this as the evening goes on Karen regal WBZ Boston's newsradio right thanks so much Karen Karen has been following the situation with Columbia gas since it started last year keep it right here to WBZ radio again Columbia gas order to stop all non emergency work here in Massachusetts new investigations being opened into the company keep it right here all evening will get you up it's a. more info as we get it six seventeen the man accused of opening fire at a synagogue north of San Diego California killing one makes a fast court appearance today twenty year old John Ernest pleaded not guilty to charges of murder attempted murder arson and hate crime allegations on Thursday in court in a call to nine one one or just admitted to opening fire on the synagogue in power way because Jewish people or destroying the white race Ernest could face the death penalty if convicted but prosecutors have not said what punishment they plan to seek meantime this week marking two years since that tragic shooting at a country music festival in Las Vegas earlier today a deal was finalized to settle claims against a casino and hotel giant it's a massive amount of money MGM resorts announcing it will pay out up to eight hundred million dollars to settle hundreds of lawsuits involving thousands of victims of the Las Vegas shooting the exact amount of money will depend on how many victims and families take part MGM owns Mandalay bay where gunmen Stephen paddock stockpiled weapons in fired from a window MGM also owns a venue where the victims were shot at like stone ABC news here in Massachusetts to state lawmakers are trying to get some support now on Beacon Hill for a bill they filed into preventing more school shootings goal of the bill to try to prevent school violence before it happens the legislation would require schools to educate students and staff about the warning signs of classmates who may be at risk of hurting themselves or others and then stepping in to seek help for those struggling students we have to do a better job of modeling healthy relationships and healthy friendships.
"kent beck" Discussed on hopnology: Hop Growing and Brewing for Craft Beer
"Four hundred remembers far. I know sometime when we were sitting on your porch, and we were talking about this, and I started looking up how you dry hops. I noticed. Everybody puts them in a bed, and they blow air up through, and I'm like, where did this come from? Well, historically, and Mariel Kent Beck in fifteen. I dunno winded. Henry the eighth Killala lives, fifteen eighty s something like that. That's when growing took off in Kent. Well, the way they moved the air was by lighting a fire with anthracite coal underneath it, and therefore, the airflow up and through the hotbed. And so, I started thinking why do we need to blow the air up? Can't we believe the aired down so pressurize atop the bed, and so the bottom leaves xactly and when I started talking to others in the field they told me I was crazy. Okay. Maybe so what do you, do you put a fan above the hops then pushing down you can do that? Is going to kinda create a hop NATO is one of our former cheers, the Kent over there, Michigan, his hop NATO, as you call it when hop star flying all over the place. Because the fans blowing directly on them turbulence turbulence. You get hops flying wall. And guess what Hobson linked to be moved especially at the end. So then for not going to put the fan above it pushing down. Can we put the fan below it and suck on that hotbed? That's correct, James, you suck. I do suck. So put the fan below the bed, or at least the pressure below the bed. So you have a plan. I'm underneath a hops all the air down and the nice even manner, and you can get to a much higher velocity than if you're blowing up. Oh, now that was about twelve years ago. I kept telling James we can't blow up we can't blow up well one day I left for the day and James skept harvesting, and we ran out of your space. So James, set up another dry. Ped- and he set up a fan to blow up. And when he went to bed, everything was great because those hops for full water, and they're a nice, and heavy where did we find them all in the morning, James? I don't know. We fired that James. Oh, okay. Oh, yeah. Yeah. Yeah. That's right. That's right. We got rid of that James, he was an idiot. So what happens to a hop cone as the dries it gets nice and light and it starts opening up like a pine cone, and it gets a little wings and then high-velocity air blowing up through tends to blow hops up and out in all over the place. And that's not good. If you're trying to I don't know sell them or preserve them because after all hops are food. So if I have a bed that I'm applying pressure to underneath, and I know this from all the year Gatien stuff I've done, and I have a hole somewhere, that's of lower resistance, the water's going to go through that whole, not make it all the way down to the end of my irradiation line. Right. Same thing happens with hops. Same things happens with hop. Same. Things happens with him pot. Lavender anything you wanna dry. Yeah. Corn if you're not forcing the air to go through the hops it's going to take the pass leasers distance. So it's gonna find his way around, or if you're blowing up through that happened is going to start to shake those Hobbs shimmy, those hops in a little develop what we call blowhole. So it'll kind of move the hops aside until it has a nice clear path. And all the is gonna go through there. And now the heat the -cation, whatever you're doing for to pay for that air. It's all just going right straight back outside and it's not doing you any good. I see. So that's why we advocate sucking the air down. Yeah, it creates a little more pressure drop which means you're going to need a little larger fan but actually you're going to need a lot larger fan because we'll talk about this, and the next podcast when we're talking about design, when you're blowing up the biggest philosophy can get is about one foot per second. Maybe one and a half in the beginning or otherwise you're gonna blow your hops all over when you flip that over and you start sucking that down. You can go three four maybe even five feet per second. If you have enough structure, they'd hold your hops, and that's five times, more cups, right to pull the moisture away. So you can move even if those cups have more water in them to begin with the fact that you're moving more cups through that bed is removing more moisture. Yup. So we're going to start that way. We're going to start. Now you get done your your harvest like James said, you're tired, you probably are having a party for all your friends that came to harvest guess what? Let them go eat the suckling pig, and drink the Homebrew and everything your job isn't done yet of a hop farmer. I just wanna say that there were never any suckling, pigs or parties at our hop artist Iams, most people are to exhaust, and sick of each other. Yeah. That's pretty much true. But I I have this wonderful dream in my head that at one point we had a roasted pig. So Greg, given that diatribe can you maybe provide? Some perspective on what you have heard from folks when they contact us or just on board message boards emails, whatever you in terms of their preparedness for this kind of activity of very little preparedness, I would say, so what are they going to do? They just got. So I've got a quarter of an acre in my back my mom's side yard, right? Dan's talking about building this dryer, which we'll talk about later but, you know I it sounds really complicated. And I just I'm the thing that strikes me is got to be for his for small small folks has got to be an easier way. Well, there's the screen door of the, the way that we always talk to folks about who were just starting out, who are very little, you just need airflow, all in and around those hops, and we didn't talk much about history, and the word oast. I don't think we've actually defined. AST if our listeners haven't heard it before the old oast houses. I'm sure there's more to it than this is basically a large old barn with door and each side's. He had airflow but if you've got a very small crop, you laid out on a screen so it's got the most airflow possible around it and you, you blow through it to your point. You don't wanna blow everything away. So you've got to be careful, but you don't need to build such an intense structure, as we're talking about here with I, I heard plenty, which is going on the next the next bingo page, that I create. Yeah. That's a good one. But super simple. I think I recall one of our early harvests having everything laid out on a tarp in an air conditioned. Yeah. Pretty much one cone, deep is a key one on deep because you gotta get air contact with everything if you go three cones deep, you might get the bottom dry, you make the tap dry. But the ones in the mill are gonna have a hard time. So it's all about the exposure of that hop, cone to the air and the air may have varying degrees of fullness of its cups. So if you're if you're like, if you're cups are seventy five percent full because it's a humid s was kansin August, and you've got even one cone, deep in your garage, that's still going to take longer than if you brought them into your air, conditioned house, is that right? And I'm something here. I fully advocate, always bringing him into the house to dry master master bedroom, Bester bedroom master bedroom because your spouse. Always is in love with whatever your hobby is, whether you're male or female, your spouse will just be like, oh, I love going to sleep and waking up to the smell of did I mention the bugs to out there spuds. Yeah. The moment you pick them. Suddenly this hop cone, which been harvesting spiders and everything becomes undesirable to the bugs. So as they're sitting on the screen in your master bedroom drying away, as you and your spouse sleep at night. Well, the bugs are going to come out and join you to we talked about air as sort of cups with varying degrees of water in it. We talked about, you want to remove the water or have empty cups as empty as possible. Moving over your hops to suck the moisture out of the hop cones, and get rid of it, and there's different ways to do that. You can add heat to make the bigger you can dehumidifiers to empty the Cup and as a plant. Physiologist horticulturist. I look at that hot cone, and I as if I split it in half with a razor, most of the mass of that hop cone is in the very center, the string or the stem, S, T R, and Luke Bulan glands. Well, there's tons of moisture in the loop Ulan glands, but you've got you look at all these leaves Brax and breakfast. And you're like, well, you know, those are those are dry as soon as those dry out. I'm cool, right? Because you get there, still so much water locked potentially locked in the street in the center that if you I could understand that if you dry too fast on the outside the only way that moisture in the string can get out is through the little channels. Inside of the Bracks to work its way out to the surface and get out of we try to quick, and those little channels close up. Wouldn't you lock that moisture in the inside of that string? Yup. And now even though you're nice and crusty on the outside the middle's gonna turn into a little pile of mold and Beth agend ridden junk, so the outside the very outside dry, but the very insight is wet, but yet overall on average on average. You're right. You're you're like spot on it. So I just wanted to bring that full circle back around to that sort of water activation. You talked about, right? If I put to book is the water out and one bucket is at thirty degrees. And one bucket is at one hundred and thirty degrees on average. I'm standing in seventy degree water, right? Don't check my math on that readers. But I got one foot that's frozen in one foot. That's on fire. He's an engineer, by the way, doesn't do so good. With math, right? So I just wanted to talk about that bring that concept up because as we dry this cone, down, we need working to get the water out of the whole comb. But a huge amount of that water is stuck right in the center of the cone. And if we dry too quickly, it'll sort of roadblock all that water from being able to get out and you'll have what strings as we call it. Or what we call core lock where all that water is locked in the middle, and you can start to get degradation, and rot on the inside of the cone, even though the outside is dry. So how fast is fast? You know. It depends upon the cone. They come in different sizes. But I will say that the Pacific north west they stop at nine hours..
"kent beck" Discussed on Linear Digressions
"Hey, everybody. So this week, instead of having yours truly, and Ben here to explain some kind of data science this, or that I am here instead with a special guest. This is Joel Bruce, and he is a world renowned, author data, scientists software engineer, and a point of view holder. And we're gonna talk about all of those things in this episode. Joel, thanks for coming on. Thanks a lot for having me. It's good to be here. You are listening to linear digression. So Joel, I gave you a rather expansive introduction, because you are a, a man of many data sciences. So let me ask you to introduce yourself. Tell us a little bit about your background and how you've maybe ended up in the spot where you are right now. Sure. So originally, I'm a math person I studied math as an undergraduate. And then I got some really bad career advice because I mostly got it from math professors. And so after I graduated I went to math graduate school after a couple years of that I realized I did not want to be a mathematician, and I did not want to be a math PHD. So I dropped out and sort of went down. Of very, very whiny career path the that probably is not worth paying to every detail of I currently my job title is research engineer. I worked at the Helen stoop, artificial intelligence Seattle, which is a research nonprofit, we do basically a research and he was like an e and commonsense reasoning and revision and extracting information from, for example, scientific papers and so my job, I'm on a team called Alan and be and in addition to having an all researchers on the team, we make a library called alanon. I'll be the deep learning library. Don't be researchers to do research. And so most of my job is to work on that library for I was at air to have been there a little over three years. It was a Google as a software engineer for a couple of years. And before that, I did disci- at a bunch of startups. I read a book called data science from scratch that came out. In two thousand fifteen and the second edition just came out last month. So pure in the market for introductory data science book do science from scratch is the one I recommend, because I wrote it, I various other have various other sort of minor claims defame. I'm the I don't like Jupiter notebooks guy last year. I gave a talk at Jupiter. Con called I don't like though books and then it went somewhat viral. I wrote a blog post once about solving fizz buzz and an interview situation using tensor flow. And also went somewhat IRO. That's it. Yeah, that's a favorite in our in our department. We like to win around. Yeah. I, sometimes I make live coding videos are used to do the stunt where I would live code neural network library from scratch, you know, I have various, I'm sure there will be more stupid stunts like that in the future. I just don't know what area. So, yeah, that's in prepping for this. I was kind of struggling with whether to describe you as a software engineer, who knows a lot about data scientists about data science. If you think of yourself as a data scientist or researcher, who has strong opinions about software engineers. I mean to talk about your book a little bit data science from scratch. I think one thing that it really emphasizes in a way that I think is super valuable is a, a way of thinking about data science that has a strong emphasis on software engineering, and what's the right way to be thinking about these problems, not just from the methods, but from kind of a coding standpoint? So how do you think about that? Do you think of yourself as a person who is thinking about how to solve data science problems? And the software engineering is a means to an end or is, is there something, you know, maybe calling back to your software engineering past. That's more a little more deeply held than that. So I was a data scientist before I was a software engineer. I was working in a start up called villa metrics, and we were doing analytics on enterprise collaboration data so going into big company, and look at us emailing whom who's meeting with whom how often what topics things like that. And I was a data scientist. I was not at all software engineer, but because it was an analytics company, the data science sort of was the other. And so I wrote a lot of production code and a of a disturbingly large fraction of the product were stupid things that I built in D three kind of for fun in show to the CEO, and he said, I'll let ship that. So what happened was this product at a lot of coding that was written by me, data scientists not a software engineer, and it was not good code and supporting it was a real pain in the ass. And so that was one thing. The second thing is I discovered that I actually really liked writing that production code and I wanted to be good at it. And I wasn't getting good at it by being data. Scientists running production coat, so I made sort of. A somewhat deliberate choice to say, I, I really want to get into software engineering, and build out that part of my skill set so that I can be more valuable and do more of that kind of work. So I kind of took a hard pivot and said, I'm going to do less data science, and more software engineering. I went to Google and my job at we will had nothing to do with it. A science in the slightest, it was building back in systems, and C, plus us and building benchmarking tools to help ad sales people somewhere ads and things like that. And, and so that kind of accomplished, Mike goals of learning more about how do I build good software. And what is offering during best practices look like but at the same time after a while I thought I wanna be kind of closer to the data, and so I tried to sort of bring myself back, just how ended up at two in the sort of hybrid research, engineering, kind of role where I work with researchers. I'm expected to understand deep learning and right deep learning code, but at the end of the day, I'm really kind of a software engineer who understands research. So that's really cool. So tell me a little bit more one thing. I'm wondering about is maybe contrasting, the team that you were on it at volume metrics earlier on if you years ago because that sounds a lot, like probably what a lot of data scientists who are working at various companies are working with right now. Like they're kind of a team of one or they're out there trying to figure out what good code looks like versus the team that you're building out and the work that you're doing now at AI to, like, what's, what's the some hypothetical future state that you think is like a little bit cooler and more advanced that you see that you're building around yourself right now. So I was very early of all metrics. I was a second employees. So the first year I was there it was the CEO the lead developer me, and the lead developer was very opinionated. And he was really a geek about software engineering that he read he would read all sorts of books about software engineering. And when we would disagree about the way to build things he would really try and like, bulldoze, mayo will Kent Beck says this, you know, an uncle Bob Barr says this and like I I really struggled, like keeping up my end of those conversations in this is I don't recommend doing this. But I sorta recommend doing this, eventually, I memorize the names of all the people. He would sort of site as gospel. And sometimes in arguments, I would say, oh, well Kent Beck says that no, we should do things my way you really can't Beck said that. No. But so that was kind of fun to mess with them. So anyway, there was so little team there that the, the standard sort of division between data science and software engineering, just sort of didn't exist. We were three people in a room and as time went on. We basically tried to bring in a, you know, a CTO who could come in and say, we need to have more discipline around writing unit esta around code reviews. Around various standards around how we do our source control. And they ended up bringing in someone that I did not get along with, and that sort of, I would say, that's why I left out certainly didn't help. And so the difference. I feel very fortunate in that my team at I two the team of people building, alanon library that we really share a deep commitment to strong software engineering discipline. So if you were to look at Allen e you know, I'm my own horn and a little bit here. But it's really one of the like highest quality deep learning code bases. You will find it uses Eitan type annotations everywhere. And we is my to check them as a pre commit check, we have a pilot recommit check. We have extreme test coverage be have, you know, automated documentation building, and we've appre commit check to make sure that the documentation actually builds. And so and, and we're very hardcore about this, even when people come in with, you know, external Puerto quests, right? Okay. You can contribute, but you gotta write more tests in you, gotta typing your coat and you got to do all the stuff. So I feel very fortunate to be on a team that sort of is of a single mind on. This code quality issue right now, and it's very hard for me to imagine ever, again, working on a team that is not the case, cool, cool. And I think that's I've been, you know, one thing I like about the talks that you give like you mentioned a couple of them at the top. But once I've read recently are the, the one about I don't like notebooks very provocative title. There was one more recently about reproducibility, and how the idea reproducible science has a lot of very strong analogs with soccer engineering best best practices principles what have you and the this lies themselves like not all talks are like this. But you can actually sort of follow the narrative of the talk through the slides, you didn't have to be there in person. So some folks, you're listening to this might have actually seen those talks. But for those who haven't we'll post links on the on, leaner, digression dot com and you can actually go in and get most of it out. But. The, the reason I mentioned this is it seems to be a thing that as you're going out and giving talks publicly talking about, you know, generally, what you think people should be paying attention to that. It's, it's not just a, a local thing that you've set up on your team, where they're using these offer best practices, but trying to bring that message to the broader data science community and for folks, who either don't know that this is a way to think about building things or no it, but don't really know how to start unpacking that that seems to be, you know a pretty sweet spot for some of this stuff that you're talking about. That's right. So with the reproducibility, there's, there's sort of to sort of mirrored aspects to it, one is that if you care about reproducibility and a lot of researchers do, or at least say, they do then, you know, adopting software engineer. Best practices. Anything from like unit testing to dock rising things to making a real clean separation between your library mental code those things will help you accomplish that goal of reproducibility. And then there's this, flipside, which is a kind of an angle, I been taking a little bit more recently, which is that, if you're an engineer the thanks that researchers need to adopt software during best practices more than, you know, offering up this carrot of reproducibility. If you do all these things, you'll get reproducibility.
"kent beck" Discussed on Rework
"Welcome to a special bonus episode of rework the podcast about taking all of your stuff looking at it and asking yourself, whether it's sparks join your life. I'm Sean hill Hyllner, and I'll confess I've never read the Marie condo book or seen the TV show. I'm Waylon long. I have not read the book, but I have watched the TV show. I love the TV show. I love Marie condo. I love her hair. I love her lip color. I love her outfits. I love her demeanor translator. I love love love her interpreter. Who is also named Marie by the way. And you know, what I don't love is all of these garbage think pieces trying to take down Murray condo and the show. In fact, I will fight anyone who says that Marie condo is saying, you should get rid of your books and only have thirty bucks. L fight you, and I have learned from the best in terms of fighting with people because we work for David hammer Hanson, who's great. In a Twitter fight is going to Twitter fight. And I remember him when the book came out talking at a meet up about how much he loved that. Marie condo book the life changing magic of tidying up. That's right. It came out in two thousand fourteen and the Netflix show came out just around the start of the year and the TV show. Marie condo recently came up in a campfire conversation here at work, and I asked David if he would come on and talk about what he likes about her philosophy. How he's used it in both his life personally and in the business right here at base camp. So most of the book, you could say could possibly be boiled down to a blog post, which is all about her method of how to clean up and to give you motivation to clean up. I think that that was really the one of the missing pieces or one of the king gradients to her method d idea of sparking joy right now. It's a mean, and now is almost kind of parody which I think is actually a little bit of a shame because I think that is key to. The I mean, quote, unquote, magic of the method that you get into the mindset that you own a lot of stuff and a bunch of those things are not making your life. Any better do not make any happier. In fact, oftentimes making your kind of miserable the sheer mass Offit thinking about that as a problem in enough itself. I think he's a pretty novel idea to most westerners. Well, clearly, it's a pretty novel. That's part of the success of both the books in the TV show is that people walk around sort of blind to this idea, or they have this vague fussy idea that having fewer things that the care more about is good. But they haven't connected to that unsealed of deep emotional level. And they haven't seen any of the benefits from it. Then she has this very specific method, which I thought was really interesting too because on its face. It's almost common sense. But as most common sense, it's not at all common and people don't do it like this at all very frequently one of the key ideas is that you have to do it all at once that the impact of seeing just truly how much crap you have is is a key ingredient of making the whole thing work. So this idea of starting with just one drawer and trying to organize that one drawer. She totally knocks that. Down s just bullshit. Like that that doesn't work. That's not a way to make fundamental change in your relationship with stuff. The only way to make that fundamental changes to take all of the stuff put it in a big pile or somewhere else where you can visualize. Just how much of it there is because that gives you such a knock where you go. Oh, man. I really have a lot of crap. She also contextualized us it with a bunch of take downs. So the book has a bunch of take downs on organizing systems, for example, which she basically labels this bullshit that that's not what she does. She's not trying to help you put all the stuff that you have into more clever places. She's trying to get basically get you to have fewer things. And if you have fewer things you don't need a sophisticated organizing tools for it. And then also the animation. She does with stuff. I thought was good. She really makes a very succinct. Good case for animating objects and one of the powerful ways of doing that is thinking you're things for having served you well that you might have a say a gift that you you feel guilty about not using because you got it from someone in the gave it to you. And like, aren't you supposed to use it? And she tries to basically set you free from that guilt by saying the gift already served its purpose to give her got joy out of giving you a gift you were happy to receive a gift as a example of someone carrying about you. It has served its role. If it is not something that you use. You're actually doing that thing disservice by holding onto it on letting it go and passing it on could potentially give it a new life with someone who could actually use it. And I also found that incredibly powerful I had a bunch of cameras that I liked, but I weren't using. And I thought these cameras could be taking pictures for people that could be creating memories for someone. Why am I hiding these things away in my closet? I should just hold onto the few bits of camera equipment that I actually use and actually is creating memories for me. And then I should set the rest free and allow other people to use an thought that was just a really powerful thing to connect to that you kind of holding you things back, but not allowing them to fulfill their purpose and potential. They're interlocking ideas on their interlocking concepts that help and support each other and reveal for me at least revealed a deeper truth than just the surface layer that you would get from reading each of them individually. And I thought that this was one of those things that then made me think about programming and product development methodologies, and so on where we often deal with interlocking and supporting principles and values and techniques were if you just took one of those things out of context. Is not really gonna do a law for you. But take all these things together. It's more just one key book in program world, really stands out for me. And that is the original edition of extreme programming which was written by Kent Beck, where he percents a complete world view of how to develop software that relies on a variety of values principles and practices where they are all supporting an interlocking. Did you can't take any individual value principle a practice out of context of the rest and assume you're going to get of? Anywhere near the results that can't was getting. And he was seeing with other teams were the condo method is to Lamar little fewer moving parts, but it felt similar in the sense that like I'm presenting you with a whole world view, a whole set of mental tools and practices to think about this problem with and if you use them to gather, you're going to get outside results results, did you perhaps couldn't even -ticipant from just thinking about each of the individual parts? Do you feel like when you approach let's say like the base camp code base and the code base for all these different products that we have do you look at it with like a con Mari lens at all. Like are there any parallels? They're totally I think the con Marlins in that regard tracks very well with. Sort of some of these ideas that came out of extreme programming. Like, you're not going to need it. It's it's a acronym. Yak ni you're not going to need it, which is basically saying you might have all this code that. You think oh maybe one day if we were to expand this feature we're gonna need this stuff and extreme per se, probably not right? And in the same point that gone, Mari would say if you haven't won in sweater in in or if it's not making sort of sparking joy, and it probably isn't sparking join if it's just been hanging in your closet for for two years, then you probably going to need it. And you can let it go. And if worse came to worse, and you realize three months down the road that oh, man. I really do need this thing. You just bring it back. And it doesn't just extent. I think to code extensive the entire business. We like to think of base camp as a product that we work on and. When both Jason I read the book. I it sparked an immediate conversation about all the things that we haven't base camp all the the products and services and so forth, and it immediately actually led us to sell the we work remote Ejup board. We went like pay. It doesn't spark joy when we lifted up. It was great when we launched it. But here we are five years later, and we don't need to hang onto it. It has served its purpose for us. And now it can go somewhere else and fulfil its potential so directly from that. We went like we can sell it. And I I'd say I it even was a material factor in the discussion about high-rise, which was obviously much more material more than an expensive decision to make. But it was key to us going to sparks joy to we really love working on high rise as a product as code base has whatever. And the conclusion was essentially, no. And that made it easier to make the decision to cut off sign ups for for horizon and stop actively developing the product in terms of new features, and so on because which is thought we have limited time here, and we have limited tension, and we have limited love to give to products, and we want to give it to other ideas. Did you feel like you went through the exercise of thanking each of those products before you set them free? Absolutely. That was key to my mind too. High-rise, for example, has served so many people so well, and it's lived for what is it? Now almost twelve years. It's an incredible run for Soffer products made millions of dollars it's been instrumental in our success. And in lot of success, a customer's has had within so I'm very grateful for that whole experience. I'm even grateful for the. Let's say twist and turns that we took trying to figure out what to what to do with at. Once you realize we couldn't handle it internally we tried to sell the product, and we try to spin it off and both of those exercises. Todd is a lot about what we want and don't want to try to do again in the future, and I'm really thankful for having gone through that. And then I'm also thankful to be able to say this is this is good enough. It has served its purpose for us. We will continue to keep it in our portfolio of products that we support until the energy internet, but we're not going to spend a lot of day to day time thinking about it beyond. Just like is it secures at fast as it is working. We're gonna put our creative energies into other ideas. Earlier David had mentioned that he used the con- Mari method to get rid of all but a few pieces of camera equipment that meant a lot to him. And I wanted to know if he had done the same for the rest of his belongings. Were you able to successfully apply her method to the rest of her stuff? We had moved around a fair bit. We have moved around a fair bit. And every time we moved. We realized that why are we packing the stuff again? Like, basically having used it since we packed it last. Like, I remember the first time we moved out here to Malibu in two thousand and nine, and we we send our car out and the car washes loaded like everywhere, there was just stuff in it. Right. And then a couple of years later, we we moved back out to Malibu gin. All we brought was I had a backpack, and we had one suitcase those I alike into to bit of a brain virus, the ones you'd let the condo method. Get into your mind. It's really hard to open a closet and look at it the same way again. So now pretty much whenever I opened the closet. I go like do we really need all this crap in the night trying to get some of what do you do about your kids toys? That
"kent beck" Discussed on WAAM Talk 1600
"Energy car. What's going on is Volkswagen? I guess made an announcement gonna open up a plant in. Well, they're going to add onto that are already existing facility in Tennessee. I'm going to make them their energy efficient cars. Everybody's trying to get into getting rid of fossil fuels. That if they can make that work, and if there's a way to make that work fantastic. Why not but it don't work at it? Do not work yet. No, it don't don't. So that consequently a lot of coal fire plants shut down. I'm done has to be contributing to the fact that our electric costs are through the ceiling. Yeah. We could hurt other employees to if we weren't text up, gene gang as well. Three serious about that. I wanna talk about second amendment here. Not here. Talk about it in Brazil, second amendment in Brazil, don't have one. So in a lot of these countries fact every country except US I don't know of any other country that has the second amendment where it's literally in your your operating manual. It says, okay. Here's what is written down. We know that God made this happen and word is right down that we'd knowledge that. Yeah. Brazil's ball zero. He's the new Donald Trump down rather? Call them Brazil's adult Trump, very conservative guy. He signed a decree easing gun laws. Now, Brazil is where they made the Taurus handguns. I don't know if they still do they probably do the operation to Florida, but Brazil came up with that super. And I love that got a lot of people. Don't like it. The tourist judge tourist judge beautiful to hand. Shotgun. A hand held for ten an outstanding you can put forty five Colton air. But why bother why would you not want four ten this? This is just the most beautiful exquisite next to the bed. Nightstand gun. We're was Brazilian president. I think his name is. I don't know how you pronounce that. We know what they speak down there Portuguese. They don't speak Spanish Portuguese in Brazil. You know, why do you know what? Because the Portuguese came over. And they colonized it. I just like the Spanish colonies and everything else. That's the way it works. People move over here. Take this over to a bunch of stuff gets kicked out keep it going, whatever and it morphs into. That's the way it is. So no, we're not giving back. We are not giving back. Arizona, California, New Mexico and Texas ain't gonna happen Brazilian president are a Boland's both both scenario. I think this Bono on Tuesday signed a decree that will temporarily make it easier for Brazilians to buy guns. Did you see the what did you hear in there? The the scary part temporarily now despite fears the move could aggravate already staggering violent crime. That's why he's doing it. Because people need to be able to fight back. The executive order signed a live television broadcast following a cabinet meeting allows good citizens good citizens to are easily own firearms. And of course, the government is going to determine who's good citizen. This guy's formerly aren't Brazilian army. You know that right? And he's super super anti-communist. This is good. In fact, I think I think Pompeii not have been palm Trump guys, and they went down there. And they were actually talking out loud about standing against communism in Venezuela. Cuba. What else is communist owner? There's another one. I can't I'm not a blank right now. But we're going to stand against it. Which is good. It's about time. Somebody stood up in several understanding. It's communism because it's evil to guarantee the legitimate right of defence as president. I'm using this weapon because it a weapon he said indicating depend he's holding up the path. The far-right president ran his right? You know, they have to do that this Reuters. They they have to that. There's no way they can never to say the president after the far-right president. Yeah. Anyway, the far-right president ran a law and order on a law and order platform. Well, that's because he's far right? This message resonated with voters in Brazil because they want more order. Yeah. Because they're far right which in two thousand seventeen had a record sixty thousand murders more than any other country. So we can catch up with that come on. Let's get busy out. There. Are you paying attention to that you and I just said here that they're number one come on come on? What are you waiting for Philadelphia? What the hell's going out there? Tuesday's decree makes it much easier for adults with no criminal record to buy guns and keep them at home. But remember in the first part of the statement, he said, it's temporary. Yeah. I don't know. I would advocate for if I were Brazilian if I could actually communicate with Brazilians and Portuguese. I would advocate for a second amendment. Let's do like the US does let's recognize it. God gave us the right to self-defence. Let's recognize that the Lord God Jesus Christ gave us the right to if we have to employ lethal defense to defend ourself. In fact, Jesus actually said sell your coat by an air fifteen or I think I'm sorry. He said so your coat and buy a tourist judge and keeping the nightstand next to the bed. I think I got pretty close pretty close does not extend to carrying weapons however concealed or otherwise in public which remains restricted to the police. They're not American. But there Chicago. Now. That's that's pretty incredible information. Really is. I don't know. What Francis waiting for your friends? Just did they've got the yellow vests over there. The yellow vests started out. Now, I missed read that in the very beginning. I'm talking about the people in the streets rioting. That was very first started those people saying, you're taxing us too much. They put a huge gas tax and truck drivers were saying, well, hang on a second paying twelve thousand percent tax not quite that much. It's only eleven thousand. Paying everything we have at a sign of our firstborn male child. But it's okay because he's toxic toxic, man. Who cares? But they said we're not gonna we don't wanna get taxed like that. So what we want to do is woman about the streets and tell you that we don't want to get tax. That's how it started out. This is the yellow the yellow vest movement. Well, you know, who took over as they always do they always do when it comes down to riots in the streets and things like that the commies economies came in hijack the whole thing the entire thing. And now, they're running the show. They're not just running in France. Don't I'll get back to why mentioned this? And I like, they're they're exporting it. It's now in Belgium, Germany, there's an integration of it in England and guess who's watching astutely watching and just oh hanging on there every yellow vest movement and fought, but anyway, was going with that is the French police, and this is this is unprecedented in modern French police times, they're now they're being issued live ammunition. Yeah. Yeah. Semi automatic weapons to. So the the French police are out in the street. And watching these these the psychotics burn things down trash monuments and pretty much trying to upend the country into communism. That's what it's all about. It's not about taxes anymore now. In fact, they're actually saying that the yellow vest movement. We may see something like that. Here. You never know. You're you're definitely gonna see not too distant future. You're gonna see antifa are people in the streets. I'm iteration of that occupying communist revolution. It's the communist revolution by communist revolution. You're going to see an integration of that. No matter what happens because they are not going to let a good communist revolution crisis. Go to waste. They can't. They can't afford to now. Well, I don't want to get into this yet. I think I may hold this off until the top of the hour because let's see this is one screw this up. Oh, yeah. This is this is three pages long. And I wanna share the whole thing with you. You know, I'm looking at John k right now who John Kay Steppenwolf. You remember Barnaby while best because I've got Facebook open and John k is doing magic Cup, right? I'm not listening to it there on the original smothers brothers show. But the reason I mentioned John Kay's. Did you know John Kay is an immigrant? Yeah. I wanna say he's Bavarian. Dr germ or something like that. But John Cape. When he did that Steppenwolf thing straight up conservative straight up love America to the bone conservative. John Kent Beck when you've got all the hippies and drug fiends and nutcases. He wasn't. I wasn't going to tell you that. I got sidetracked. Oh, I want to tell you that. There's a new new caravan for me, you know, Griff Jenkins Griff Jenkins is the Guy Fawkes that whenever they need something done that really sucks. That they can't send a superstar. What are you nuts? I'm not going down. There crap is do fifteen years ago. I'm a star. So there's a call Griff congress will do anything for Steve Doocy.
"kent beck" Discussed on Hanselminutes
"Anyone and bother the viewer. Yeah. And and there is a skill to that. And it's not a skill that that we teach or that we study I call it the succession problem. What is the succession of changes that lets us get from point a to point b one with safety and secondarily as efficiently as possible, the temptation is just start working on that the the the second state, or you know, in we've all seen that la- will will replace the whole system in then you have Xenos project management paradox. Where the the closer you get the the more the the target system recedes, and you never actually catch up. So that's the one that's really hard to pull off compared to all right while what what one thing can I do. Now, that's a little bit more like where I wanna go than where I am. And how can I use the information? Gained taking that step to take the next step and the next step and the next step the result to that is can be kind of messy. You know, you're gonna be in this awkward halfway in between state or may be up the old implementation in the new implementation coexisting at the same time. But at least you're making progress towards a state that you know, is going to be better you can continue delivering value as you do it. And you don't have this risk that you think that you get to the new state and discover it's not actually what you wanted. I do talks on being a web developer where I sit down. And I fear is what if I were gonna teach someone how to become a web developer today with the explicit goal that we ignore the last twenty years in Nesta tables and one pixel gifts and all the bad things about the web as it grew over the last twenty years. How would you teach us, you know, fifteen year old or? A bunch of high school students about how to make software today would you ignore the history? Or would you spend a lot of time giving them historical context? It's a good question. I don't think I have any particular skill at teaching beginners. I think I spent much of my career Facebook coaching engineers at all levels from fairly junior to some of the most senior engineers Facebook. And I think I have a decent handle on how to help people who are engine years get better. But I I'm I'm not the person to walk into a room fifteen year olds and say of okay. Let's do. Hello world. Right. Well, the reason I ask is that as I as I enter the downhill kind of past the hump of my career and going down the other side, I call it the accelerating portion of your career what we call in directly into the grave. I'm plying that that positively down. Downhill sounds negative to me thirty feet. Second is also pretty negative who doesn't want to accelerate. Now that you're elevating the celebration portion or your cruise. Case in the celebration portion of my career and going back and forth about whether or not I nor history and try to teach them fresh perspectives and modern techniques or whether or not as they say, you know, those that fail to learn history or doomed to repeat it because you know, that you, and I will retire someone will go in invent, you know, extreme programming yellow, absolutely. And a waterfall over one or scrubber fall, which is nice. Watch your mouth that it is going to come around. I'm old enough to have I grew up in Silicon Valley. And my dad was a programmer, so I'm old enough to have seen some of that history happen. I've always liked knowing the whole stack from the instruction set architecture all the way up a have a stack of micro-processor manuals in my library to indeed every once in a while steady a new one in and be fascinated interested in it, even though that's not a really like how often is actually useful guy. Not so much at the same time. I think so much of learning emotional engagement. So he said well before we can let you do, you know, web animations first we have to study the x eighty six instruction set. Man. You just gonna lose a lot of people. So that doesn't seem like that's gonna be a very effective strategy. It's definitely well. Thank. You so much for spending time with me today. I appreciate it. Oh, scott. It's I heard your voice for for many hours in. It's great to get a chance to actually talk to you in person. That's very kind. So folks can check out Kent Beck at Kent Beck dot com. And I'm gonna include links to everything that we talked about from gino's paradox all the way up including tests commit revert in limbo on the cheap in the show notes. So it encourage you to check those out. This has been another episode of Hanson, and we'll see you again next week.
"kent beck" Discussed on Hanselminutes
"Directly to Nintendo, dispatch dot com. I love supporting other podcasts, and I would really encourage you to go and support Nintendo dispatch dot com, and maybe tweet about it. What do you think that if we think about will be very first started the opening of this show that there are people in twenty eight teen that are still not sold on what we think our ideas two decades in the in the baking. What should they do when we're they're all thinking about maybe TD, and we're off looking at TC are in limbo and beyond a should. They just jump over at all. Or do. They have to go in the linear vector and follow us behind. What a great question. So one question like this. I'm to have to fall back on first principles. So one of my principals everybody's responsible for their own learning. So if somebody came to me and said, what should I do? I'd say you're you're going to have to manage this the first is there a problem like, maybe maybe working in the style? You're working now is just fine for you just fine for your colleagues just fine for your company, and you're not one of these crazy people who needs to try the latest and greatest thing in which case don't do anything about it. You'll like it's not a problem. Don't solve it given that you want to try it out at think there are some steps that consistently helped me being in in as part of a community is helpful teaching other people is always helpful with the with new skills. The only way to get good at a describing an idea is to be bad at describing the idea. I and you just go through those interruptions with. With a forgiving audience. And eventually your presentation of it will get much much smoother. The the first time I described tea CR took me an hour. I can give you the same information now in ten minutes. But there was no way to predict which parts of that our were useful in which parts weren't until it actually tried. It looked the my listener in the I saw where they glazed over. So where I was just wrong figured out which stories are going to be helpful for people wins the right time to jump into that example, and just show them. What to do so different people are going to learn that in different ways but community in teaching and just diving in doing some stuff those of the strongest techniques that I know of to learn quickly one of the things that I find most interesting about all of this whether Batista limbo and beyond is the. That fun question. But does it scale? It's we've all had that experience where we had several hundred or several thousand or maybe even more tests, and we change one thing. And then we're looking at a screen full of red. And then you start thinking about the cartesian product of the number of programmers times the number of tests times number fail bills. And it just gets overwhelming when we break one test and other all dependent on each other. It seems like once I get into a couple of hundred tests. I'm looking at a list of tests. But I'm wondering how they're interrelated and y one went red and that caused another hundred to go read it every time I've been in that situation. I didn't really have testing problem. I headed design problem was some part of the system that wasn't pulled apart into sub elements in such a way that I could easily compose the elements to get the to get the right answer. Instead there was an assumption. That was spread around. I make one change that changes that. Option. And if if that assumption is embodied in some way, by many tests than young gonna get a whole bunch of tests breaking but that's it's not a testing problem. It's a design problem that is really really helpful. So then if I start bringing more people into that system, and they start making tiny changes they're all going to have that problem as well. Need to solve that design problem before I go in impose a new style of work like limbo on on my my team or you could use limbo to begin making improvements together on the design. So I see there's two two barriers to doing a better job of designing software one is lack of skill or idea. So I've had design problems in software that that sit there for a year. I mean, I think my my record is twelve years where this didn't like the way the something was. Signed. But I just didn't know what else to do. If that's the case, then you do have to find a way of working productively with the design. That's not as good as you wish. It was the other part is that habit of rolling your chair back and saying this is changing one more line of code is not the most effective way to address this problem. I need to say why is this happening? What is the design that would make this problem? Go away entirely. How can I get from where I am now to that new design in small safe steps that allows me to continue delivering functionality all along the way. That's a hard problem to solve this a lot of constraints Qassim overwhelming. But at some point it's better than the alternative of just writing another line of code and another line of code and throwing in another conditional. And adding another case statement and make big messes even bigger interesting in in animation. They will draw key frames. And then they would do thing called onion skinning where they would do the frame interpretation of the frames between the two frames. And when you said that, you know, I'm I'm in a certain state, you know, state a in mice off wear. My design is such that it's in the state, and then I can come up with one part of the problem, which has all right. I know where I need to go the part that I just realize you describe it so difficult as the onion skinning. It's the okay, I've got two key frames. How do I get from this frame that frame? And have it looked fluid and not hurt anyone
"kent beck" Discussed on Hanselminutes
"Incentives are to make smaller changes. So if I need to change to things I write a new test I need to change to things in order to get that test to pass. I've a strong incentive to figure out some way to make one change. I in. Stable way. And then another change afterwards. Also in a stable way. So tea CR test commit revert. Workflow pushes me to make a many more many smaller changes does it push to make even more more tests than you might ordinarily. I wouldn't say more tests. I I think I haven't noticed that kind of effect that the main effect is is is just if I'm going to if I'm gonna make a substantial change like three whole lines of code at once I really wanna find some way to change to those lines first, and then one line after that because if I if I type in three whole lines code, and it doesn't pass than poof, they disappear have to figure out what went wrong type them in again. And I don't like that. So I wanna I'm to press myself, really hard. And the surprising thing is it feels. So good solving that puzzle that not just what should the code look like, but how my going to get to that code in small safe steps that the light bulb where you say, oh, I see change the third line first. And then I change the first two lines that that's a great feeling. And I think a lot of programmers are driven by that feeling when there's some pattern you're looking for and you find it just feels fantastic interesting. Getting back a little bit the beginning when you said the sunk cost fallacy like people have this idea that they don't wanna waste resources. They don't wanna waste co. They wanna waste work. It's it's fundamentally loss aversion. I don't wanna work for an hour. And you're saying I shouldn't work for an hour. I should work for minutes or should think a lot harder seconds even. Yes. And so the the thought goes into the sequencing. Of the changes in a safe way. There's a greater expense to every step that you take. But there's a lower probability that you're going to do a bunch of work in half the throw it away. And depending on how that trade off comes out that that will or won't pay off. I wonder if I would find myself in a kind of analysis paralysis if I continue this all the way to it's kind of like ridiculous extreme or we should we should just try it out for a little while. This will find some toy project. This isn't a challenge to you. But no, I hate the idea I'm going to have to try it. It's an offer. Like, we could do a screen cast share a screen program in this way for an hour and Decio feels that's a great idea. In fact, I do things like this fun experiments with real software using the the website that this podcast is based on which has some tests both regular unit tests on all the way up to selenium tests as well. So there's a bit of a of a net there as well mass. Okay. So testing commit or revert, and how does TD relate to TC are is this is this a volition is this a partner? Well, it's been a there's been a bit of a kerfuffle on on Twitter lately about is this just TD or something something quite different and the people. Seem to be quite upset about it. And I call it alternative workflow. In the same way that test after is another alternative workflow, you can ride a bunch of code than right tests to cover it in bits and pieces. You can write the tests one at a time interleaved with the implementation that's TD or you can work in this t- CR style where the tests are always green, and you work hard to keep that true. Because if there ever not green, your whatever changes you made are just going in the bit bucket. I call it in alternative workflow, the incentives absolutely change from TD the way that I am pushed to think in different direction in the same way. That the way I'm pushed to think when I'm working TD is the those incentives are different than the incentives. If I'm gonna test after interesting, this makes me think about when when people run around and argue about get work. Lows in his oh, no us get flow. No Linus uses. It this way. And they argue about all the little details. The fact is the kid is platform that we have. And you're welcome to put whatever workflow that makes you happy and makes you feel productive. And makes you feel safe on top of that to argue that there's one true workflow seems like a waste of key strokes. Yep. -solutely one of the one of the criticisms of tea CR is that if you use get as your version control system, you're commits look very very different than the commits that you would right? If you were TD style or staff. Yet. These many many teensy-weensy commits I did the first public workshop on TC our last night in San Francisco, and we had little toy problem just to fill the Naci, and the I think the most commits someone had was twenty five commits to write maybe twelve lines of code and tests. So that's those commits are gonna look look very different. It doesn't mean. It's I I would call it even a little bit of an abusive get to do that. But his you're using it in style that it's not really intended. But it works just fine for it. You're just going to end up with a difference set of commits than you would if if you worked with a different workflow that has different incentives on wasn't the whole argument that we can squash commits and pretend that ever happened. What you can't you can't squashed. Commits the next extension of this idea is something I call limbo, where if you have a bunch of people working on the same code base, and they're working in this always green tea CR style, and they're constantly pushing their changes. And then pulling the changes other people have made you're going to have interleaved sets of these t t tiny changes. And then the Git commits don't let anything like what they look in in a code review merge, kind of style even even with the even without branches. But to me that's not a criticism it to sell. She was a natural consequence of chain you change the incentives, you get different results. All right. Well, yes to game occasion of work and programming itself. Yes show, then you want the dips to be as small as possible to presumably remove friction around the things that are all implied wants someone makes a deaf. Because like I've got to pull requests right now. One's a spelling mistake and one is a completely new feature. But they both require reviews and approvals and workflow, right? What I noticed I was at Facebook for seven years until early this year. And I watched the teen the engineering team grow from seven hundred to five thousand people, and I posed myself the question, what would it take to go to the next order? The magnitude of engineers, I looked at all of the overhead created by this a synchronous blocking code review style this poll requests style. And I I just don't see the overhead of that grows as the team size grows. And I I don't see how that works at the same time. Everybody acknowledges that small gifts or better. So that's where the the the name limbo comes from a friend of mine. Saurav Mohapatra came up with that name because the limbo song asks you how low can you go out small could we make this if you can make dips t t tiny and safe then you don't have to review them beforehand doesn't mean they don't get reviewed. But you don't have to it doesn't have to be a blocker to those dips being applied in other developer machines and for that matter in production. If they're if they're truly safe if you can do that, then you open up a Br. Save a new style of software collaboration where everybody's making a stream of t t tiny gifts doesn't that mean that theoretically if something did go wrong, there would be a lot more time kind of figure out playing whack-a-mole with all of these districts figure out which broke the system. Yeah. Potentially as with all the really, powerful ideas. This is clearly impractical one and impossible to do except if you could make it practical, then it becomes really interested on that's the same. Right. It's totally insane idea until it's like, wow, that's a really great idea. We should all be doing that right away. Yes. Yes. And then it takes years for people actually apply. Interesting. There's there's people try to impose flows whether they be on large teams or just myself where someone says I do pull requests to myself and everyone should do poor question myself. Well, I don't know about you. But I personally sometimes just say, oh, I'm going to fix that. I'll commit it directly to master my test pass, boom, all publish it right away. And it's in production. And you know, if something went wrong, I'll hit the oh crap button. And I'll reverted as soon as I noticed that they went wrong, and I don't feel bad about that. No. I nor do I life is life is too short human life is is now somewhere in the region of three billion seconds is ninety two years. So I've already spent two thirds of mine, and I don't have time to mess around with with overhead that doesn't create value. So you think that someone should should apply? This you said like the small things. You did the test commit revert as a pick of small project at can't hurt. Try right. You think limbo is still too too out there to persona to apply to a large team? I think it would take work and certain amount of appetite for chaos. You're going to be encountering problems you've never encountered before. And when they show up you're gonna need to I become aware of the problem, and then to be prepared to take a step back in and solve the problem at its root cause instead of just trying to patch over it. But given the experiments that I've done I think that it's it's an idea that could be applied immediately. If somebody wanted to to give it a shot. Hey, friends, if you're like me, and you love your Nintendo switch, you know, for at home or on the go gaming Angelo podcasts, which I assume you do 'cause you're listening to this one right now that I have a podcast recommendation for you check it out. It's Nintendo dispatch intendo dispatch as. My good friend, James monta MAG. No and his longtime friend Michael there to complete Nintendo fan, boys. Now each week James and Michael they break down the latest Nintendo news latest game releases the happenings reviews in the world of intendo. They review everything that they've been playing to subscribe, please go search for Nintendo dispatch in your podcast app or go directly
"kent beck" Discussed on Hanselminutes
"I a word about net app net app. Gives developers common tools across any environment and any cloud. If you've a cloud first mandate for your new application, then you need to know about the new Microsoft service for the Azure portal built by net app as your net app files is the only Azure, offering that lets you build your Lennox file share environment in the cloud without being a specialist to create the environment for you take control of your world with as your net app. Files to read more including the blog from solution architects, Steve Collins to blog dot net app dot com, that's blog dot NET, APP dot com and search for Azure net app files. Hi, Scott Hanson. This is another of his Hansel minutes. And today I'm talking with Ken becky's original signer of the agile manifesto, the author of the whole extreme programming book series. And great keynote speaker that I've seen all over. Thanks for chatting with me, sir. Oh, thank you very much, Scott. It's a pleasure to be here. So you've been around and software for a long time. And I I learned about you, and I was applying extreme programming concepts to banking like twenty years ago. But you're still you're still keeping it fresh. You're coming up with new ways to think about software because you're actually still building software. Right. You're not just talking about it. You're doing it. I do as much of it as a can I spend a fair amount of my time talking to people who are doing it. But. Yeah. The I don't figure I've had my last idea yet. I appreciate that. I find that. When I talked to companies that even though it's twenty eighteen and I've been thinking about and applying the concepts that that you produced for almost twenty years that still people aren't convinced that being agile iterating doing small commits like all the stuff we take for granted. They're still debating in the middle of the twentieth century. Yeah. It's a surprise to me. And there's even a revival of the waterfall which which really shocked. I thought we killed that monster once and for all, but it turns out that even smart people are seduced by the idea that you just have to figure out exactly what you're gonna do. And then go do it. And then you're done and all it still doesn't work for all the same reasons it didn't work before. But the the the attractiveness of that as a model is hasn't hasn't waned in the fact that it doesn't work doesn't seem to affect that. It seems like as we are noticing in the world right now that a lot of things are driven by fear that a lot of things in software are driven by fear of the system. Right. Like, the whole DevOps movement is just don't don't anger the machine don't bother it. Like, it it works. So we should put together systems by which we could fear. Our software less. Well, that's a fairly negative way to put it. I would say something like DevOps is aligning authority and responsibility. If you can break it, then you need to be the one who fixes it. I liked that. So empowering everyone. Yes. And certainly part of that is the reduction of of fear. I maybe ten years back. I figured out looked back over my career said what is all this ad up to. And I realized that my personal mission is to help geeks feel safe in the world. Part of that is actually being safe that is to say not making changes to software that disrupts the other people's lives and seems to be a challenge. But the there are as you said, you listed the techniques that that go along way toward reducing the probability that you're gonna make one of those airs I liked that. I liked the way that you flipped. What was a negative way of looking at something fear based and turning it into a a good feeling of one of safety and comfort. It's a habit of mine. Didn't come naturally at first. But I've been practicing that for for some time. And as you're coming up with these different ways to think about programming in different ways to think about workflow. You've got this great article on medium called test and commit that. Then became tests commit or revert. What's the story there for some time? Now I've worked. Where the my tests pass than I want to make it commit because the sunk cost fallacy is the programmers. I'm not gonna say worst nightmare. But it's definitely in the top ten where you'll you'll make a change, and it doesn't work. So you'll make another change, and it still doesn't work and the more changes you make the greater the investment. You've you've made in this initial false change you made. And so you can go days weeks sometimes an entire career of following up on that initial mistake. So I wanna make it really cheap to get back to a known state to to fight against that sunk cost Balaji. So every time the tests pass I wanna make a commit. So if there's ever a problem, and I feel myself the swirling down that drain. I can just revert to that last known green state, and then I. Move move forward again. So showing this to a group in in Norway, maybe a month month, the half ago, and Osmond Stromer was one of the students. He said well by symmetry, and I'm a sucker for symmetry. He said by symmetry if you commit when the tests pass, you should just revert your changes if the tests fail now, I thought that is a stupid idea this eighth. Because I'm just gonna make some little mistake in all the code that. I typed just going to disappear and that it would horrible. So I hate this idea so much I need to try it. If if you only try good ideas, you end up not making much progress. If you if you find a bad idea, that's cheap to experiment with and it works out. Then you've got an awesome idea 'cause 'cause nobody's stupid enough to compete with you. So this was one definitely one of those. So we gave it a shot for a week and discovered. Yes, there is a an annoying moment. When you think you've made a brilliant change to your code, and then poof, it all disappears. But what this test commit revert workflow does is the tests are always green and the incentives
"kent beck" Discussed on Full Stack Radio
"And you build a car and the thing that people don't like about that a lot of time. Is it feels like I can't use any of the parts I built for the skateboard for the car, and it's like disposable in that sense. By the time, I've gone to that last version people have people feel uncomfortable with that a lot of time. And I think it's different problem. Okay. I think I think it's embarrassing. I think it's embarrassing to launch something that you know, is a very small crack at an existing problem because if you care enough to make thing for it, then you have taste in that area. Like, you have a painter, and you can picture a really good way of solving this problem. And so to come out with your version open at one that takes on such a small portion of that in such an incomplete way is like requires actually a lot of confidence in a way to like know that you're gonna like you to be comfortable that you're testing your your most important assumption and know that you can get somewhere. Good interesting. Yeah. That's definitely true for sure like I'll even say that. I think I even have a problem with that. Even though I do strongly believe in building things on like a very interactive way. And I guess like the way that I usually do stuff like this. I'll build like the skateboard version, but I wouldn't necessarily like launch it like album, and I like to live in this world where like the master branch is always deployable. You know, what I mean like that mindset? And what would that means a lot of the time is like building the skateboard version and having that in the massive branch. So even if I know like, I don't really want like charge people money until I can have this feature set that doesn't mean that I'm going to like build for that feature said directly. I still might take like the longer zigzag path where at least there's these little checkpoints I can hit where it's like here's a working version of the app. Here's a working version of the app instead of trying to go a thousand miles before this a working version. Of the app. You know, what I mean, totally that thing you talked about of people being in sketch and designing the the one year version of the product, I think is a product of as a result of doing things in kind of the wrong order, which is like let me figure out a design and a full featured product, and then let me figure out what to build it in. So I can start small and get going, and I think that's you've you've inverted where things should be. I think your first step is like was the smallest possible useful thing I could build. Now. Let me go design the minimal amount of things that I have to make that happen. Yeah. And then as you time overtime you add to that. It's much easier to add things like that. I think then to like design the full thing. And then like, okay. What does this look like if only one percent of this is actually there? That's just like a brutal design challenge. I think. Yeah. It's it's a lot harder to like try and strip away pieces from like a fully thought through really developed product. Idea than it is to sort of like add to it as as you go. Sometimes I worry, I wonder too. If like we have the same sort of like problem in code lot of the time right where he's going to. Yeah. You worry about like, well, what about like when this gets to scale or like what if we add like another integration? And now this design is not generalized enough to support like this. And that and, you know, something that I learned a long time ago that I've tried to spouse as much as I can is it actually comes down to that famous. Kent Beck tweet that that I know you love to the like I. What does it? What does it again?.
"kent beck" Discussed on Developer Tea
"Say and glean from it things that can apply to your own life and today's episode we're going to talk about a specific person that we've actually talked about before on the show in fact i believe we had a kint beck day previous episode of developer team my name is jonathan cottrell and you're listening to develop pretty my goal on the show is helped driven developers connect to their career purpose and do better work so they can have positive influence on on the people around them and one of the ways that we can become better is to look to people who have come before us who have learned things that we are currently needing to learn and this is not to to emulate them i want to be very clear we shouldn't be emulated other people but instead we should take the learnings that they have provided to us both in in concrete terms right so the code that comes from people who have learned before us we can build on top of that but then also the concept that have come before us we can take them evaluate them and use them for our own gains but there are two pieces of kind of kint beck 'isms and really they're actually just tweets that i'm pulling directly from kent beck's time line and i believe these tweets and these ideas are really highly applicable to this audience and really excited to talk about these these statements that can back made him and i'm going to pull out to them but of course i encourage you to go and follow him back on twitter his name is just kent beck and you can find him on twitter very easily but can has been programming far longer than i have and probably longer than those who are listening to this show have and a lot of what has to talk about is more introspective than it is technical which is why he matches up quite well with the show a lot of what we talk about on the show has less to do with engineering nuances the differences between various libraries for example and much more to do with the way that you think in the way that you see the world in how you're positioning your mindset in order to accomplish your job so the first tweet is he sent on june sixteenth be careful how you talk to yourself you're always listening be careful how you talk to yourself you're always listening i want to make sure that i'm not parsing any words here the power of your thoughts is incredibly important and here's how i can kind of prove this to you your internal monologue is essentially the thoughts that you are thinking and you can actually foreign these incidences but most often they're more like words memories and the way that you interact with those memories a lot of times you can even work yourself into emotional states with only your internal monologue this is a kind of a conversation that you're having with yourself so really it's more like an internal dialogue where you have a thought and then responds to that thought this kind of an amazing thing right because we've talked about this on the show plenty of times the fast and slow thinking sometimes the dialogue is between lean the fast and the slow thinking you have an emotional response and then you have a rational response these things can sometimes being conflict with each other sometimes your internal dialogue is in reference to something that's happening externally to.