Friday 31 March 2017

Damo's March 2017 Podcast Highlights

I subscribe to many podcasts, you can see the list as it was in 2015 here: Developer podcasts v2. I'm keeping a podcast blog here of the episodes that I find interesting or useful in some way.

Devops

[AWS Podcast] Security in Serverless Architectures https://aws.amazon.com/podcasts/aws-podcast/#178
  • In this special episode, Bryan Liston, Developer Advocate for AWS Serverless, speaks with Mark Nunnikhoven, Vice President, Cloud Research, TrendMicro and Adam Johnson, Cofounder at IOpipes. The discuss considerations for security in serverless architectures, with plenty of “war stories”!

[Pivotal Podcasts] Beyond "Survival Is Not Mandatory" https://content.pivotal.io/podcasts/beyond-survival-is-not-mandatory-the-cloud-native-cookbook-ep-54
  • Tactical advice for organizations who are finding it difficult to do all the right things that DevOps and cloud-native think are prescriptive.

[The Cloudcast] Monoliths and Microservices http://www.thecloudcast.net/2016/12/the-cloudcast-281-monoliths-and.html
  • Chat about evolving technology and organizational culture
  • How to think about monolithic applications in today’s business context
  • The challenges of microservices
  • Lessons learned from good CI practices
  • Emerging patterns to evolve existing applications.

[DevOps Chat] The 7 Habits of Successful DevOps https://devops.com/11626/
  • Lessons learned building visual studio online
  • Team autonomy and enterprise alignment
  • Rigorous management of technical debt.
  • Focus on the flow of customer value
  • Hypothesis driven development or a backlog that gets groomed with learning
  • Gather evidence in production
  • A production first mindset
  • Manage infrastructure as a flexible resource

Agile

[oredev] 7 minutes, 26 seconds, and the Fundamental Theorem of Agile Software Development https://vimeo.com/79106557
  • Fred Brooks' essay "No Silver Bullet" taught us that no single technique can bring us an order-of-magnitude improvement within a single decade. In spite of this, from his ideas of essential and accidental complication, we can conclude something stunning about the nature of agile software development.
  • A quick interesting talk about Agile, TDD, Refactoring and why your estimates suck
  • Accidental complexity vs essential complexity
  • And how if you want to be consistent in your estimates you need to refactor out all accidental complexity
  • Effort = f(g(e ), h(a)) == g(e) + h(a)
  • Effort is a function of the essential complexity plus accidental complexity. Or in other words effort required is roughly equal to essesial plus accidental complexity
  • http://blog.thecodewhisperer.com/permalink/the-eternal-struggle-between-business-and-programmers/

[Agile for Humans] A Panel Discussion on #NoEstimates http://ryanripley.com/005-agile-for-humans/
  • #NoEstimates means many different things to many different people. The group defined #NoEstimates as a conversation around when estimates are appropriate and to which level of precision teams should target.
  • We noted that the hashtag can lead to more “heat than light”, but also acknowledged that a rich conversation has formed around the questions that #NoEstimates poses.
  • To some this did not go far enough and we continued to highlight other benefits of estimating such as:
    • Conversations that occur when estimating
    • Shared understand of programming activities
    • Enabling decision making at the executive level
    • Validating project/program/product assumptions
    • Indication of possible issues when reality and the estimate do not match

[Agile for Humans] Mob Programming with Woody Zuill http://ryanripley.com/afh-027-mob-programming-with-woody-zuill-podcast/
  • Mob programming involves the whole team working on the same thing, at the same time, in the same space, and at the same computer. You can think of it as pair programming turned up to eleven.
  • What are the benefits that mob programming can bring to a team, how it can simplify the hiring and on-boarding process, and what to do when the mob needs some alone time.

[Hanselminutes] Lean Customer Development with Cindy Alvarez https://hanselminutes.com/572/lean-customer-development-with-cindy-alvarez
  • Cindy Alvarez is the author of Lean Customer Development. How do you develop products that people will actually use and buy? She shows Scott how to validate product and company ideas through customer development research—before we waste months and millions on a product or service that no one needs or wants

Programming and Testing

[StrangeLoop] Rich Hickey Simple Made Easy https://www.infoq.com/presentations/Simple-Made-Easy
  • Rich Hickey emphasizes simplicity’s virtues over easiness’, showing that while many choose easiness they may end up with complexity, and the better way is to choose easiness along the simplicity path.
  • We should aim for simplicity because simplicity is a prerequisite for reliability.
  • Simple is often erroneously mistaken for easy. "Easy" means "to be at hand", "to be approachable". "Simple" is the opposite of "complex" which means "being intertwined", "being tied together". Simple != easy.

[Toolsday] Git http://www.toolsday.io/episodes/git.html
  • Git is something we use every day
  • Discussions about some tools, tips, and tricks to make using git better.

[Software Engineering Radio] Developer Testing http://www.se-radio.net/2017/03/se-radio-episode-283-alexander-tarlinder-on-developer-testing/
  • Developer testing is more than unit testing. In most cases, developers need to supplement their unit tests with higher-level tests, such as integration tests and end-to-end tests.
  • Topics include Developer Testing, Agile Testing, Programming by Contract, Specification Based Testing,

[Software Engineering Daily] Cloudbleed and SHA-1 Collision https://softwareengineeringdaily.com/2017/03/04/cloudbleed-and-sha-1-collision-with-max-burkhardt/
  • Discussion about the Cloudbleed bug, which leaked tons of plaintext requests from across the Internet into plain view.
  • And the first collision attack against SHA-1 demonstrated by researchers at Google, foretelling the demise of SHA-1 as a safe hashing function.
  • What does this mean for the average engineer? What are the implications for regular internet users? Haseeb Qureshi interviews Max Burkhardt, a security researcher at Airbnb, to get to the bottom of what exactly happened, what it means, and how it affects the security of web applications.

[JS Party] Security on the web, Node async/await, and AR.js https://changelog.com/jsparty/1
  • Security on the web
  • SHA-1 is broken
  • Node.js v7.6 gets async/await

[JavaScript Jabber] The 20th Anniversary of Visual Studio https://devchat.tv/js-jabber/visual-studio-2017-rtm-with-bowden-kelly
  • Bowden Kelly is currently working on the Typescript language and Javascript dev tools across Visual Studio VS code and other editing environments in preparation for Visual Studio 2017 release coming soon.
  • When to use VS for Javascript?
  • New features for Javascript in the new Visual Studio
  • Features Bowden likes
  • What is the relationship with the angular team
  • What can you expect in future
  • The reality of types in javascript

[Angular Air] The Importance of Learning JavaScript http://audio.angularair.com/e/41-ngair-the-importance-of-learning-javascript-with-kyle-simpson/

[.NET Rocks!] Beyond Legacy Code with David Bernstein https://www.dotnetrocks.com/?show=1426
  • How do you manage legacy code?
  • The conversation starts out talking about what legacy code is - and David brings up the idea that code is legacy if you don't have confidence in it. Now how do you get confidence? This is where the rewrite behavior comes from: You're naturally more confident in your own code. But is it a good idea? David talks about nine practices that are most effective at getting your application under control and out of legacy!
  • Say What, Why, and for Whom Before How excerpt
  • Build in Small Batches
  • Integrate Continuously
  • Collaborate
  • Create CLEAN Code
  • Write the Test First
  • Specify Behaviors with Tests
  • Implement the Design Last
  • Refactor Legacy Code excerpt

[Cucumber Podcast] Approval Testing https://cucumber.io/blog/2017/01/26/approval-testing
  • Approval testing is a test technique which compares the current output of your code with an "approved" version. The approved version is created by initially examining the test output and approving the result.
  • You can revisit the approved version and easily update it when the requirements change.

[Software Engineering Daily] WebAssembly with Brendan Eich https://softwareengineeringdaily.com/2017/03/31/webassembly-with-brendan-eich/
  • Brendan Eich created the first version of JavaScript in 10 days
  • Today Brendan Eich is still pushing the web forward across the technology stack with his involvement in the WebAssembly specification and the Brave browser.
  • For all of its progress, JavaScript struggles to run resource-intensive programs like complex video games. With JavaScript falling short on its charge to be the “assembly language for the web” the four major browser vendors started collaborating on the WebAssembly project to allow programming languages a faster, lower level compile target when deploying to the web.


Others

[Simple Programmer Podcast] 7 Habits That Ruin Your Technical Team http://simpleprogrammer.libsyn.com/416-7-habits-that-ruin-your-technical-team-with-marcus-blankenship-simple-programmer-podcast
  • Technical leads and managers work hard to hire the best people, choose the best tools, implement the best process, and deliver great software. Unfortunately, our actions too often sabotage our best efforts, producing frustrated teams, poor software quality and driving away our best developers.
  • What are the habits that ruin a technical team and how you can avoid them, based on his new book, with the same name.

[On Books] 10 Life-Changing Spring Cleaning Tips from the life changing magic of tidying up http://onbooks.libsyn.com/10-life-changing-spring-cleaning-tips-from-the-life-changing-magic-of-tidying-up http://castig.org/the-life-changing-magic-of-tidying-up-10-spring-cleaning-tips/
  • 10. Discard all at once
  • 9. Collect everything in one spot
  • 8. Discard first, before you put things back
  • 7. Visualize a clutter-free space
  • 6. Choose what you want to keep, not what you want to get rid of
  • 5. The order of discarding matters
  • 4. Avoid attachment anxiety
  • 3. Learn how to fold clothes (aka. I was doing it wrong)
  • 2. Ask yourself, “Does this spark joy?”
  • 1. Make space for your mission in life

[Focus 53] Stop Making Excuses, Fix Your Excuses & Grow Your Business - Cameron Herold http://focus53.libsyn.com/f53-082-stop-making-excuses-fix-your-excuses-grow-your-business-cameron-herold
  • Cameron Herold, the mastermind behind the exponential growth of hundreds of companies. Cameron built a dynamic consultancy and his current clients include a Big Four wireless carrier and a monarchy.
  • His clients say what they like the most about him is that he isn't a "theory" guy. He speaks from experience. He's actually done the things he talks about doing.

[Freakonomics Radio] Why Is My Life So Hard? http://freakonomics.com/podcast/why-is-my-life-so-hard/
  • Most of us feel we face more headwinds and obstacles than everyone else — which breeds resentment. We also undervalue the tailwinds that help us — which leaves us ungrateful and unhappy. How can we avoid this trap?
  • This is just human nature, if you could objectively look at your life you would see you don't have it so bad.
  • May the road rise up to meet you. May the wind always be at your back.

[Focus 53] Put Me In The Rafters | Strive To Be A Champion http://focus53.libsyn.com/f53-083-put-me-in-the-rafters-strive-to-be-a-champion
  • There's a lot of great people in business and in the sports world that are not in the rafters but still live epic lives.
  • Are you working hard to get into the rafters? Or are you just going with the flow and drifting? Are you fulfilling your destiny and using your God-given skills to better yourself and the world, to better your family, to better your life, and to better your circumstances? Are you getting up everyday letting your feet up the ground, getting fired up to be the best you can be?