Wednesday, 31 May 2017

Damo's May 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.

Architecture and Devops

[GOTO 2017] The Many Meanings of Event-Driven Architecture https://martinfowler.com/videos.html#many-meanings-event
  • https://www.youtube.com/watch?v=STKCRSUsyP0
  • Event notification: components communicating via events
  • Event-based State Transfer: allowing components to access data without calling the source.
  • Event Sourcing: using an event log as the primary record for a system
  • CQRS: having a separate component for updating a store from any readers of the store

[The Cloudcast] The ServerlessCast - Event-Driven Design Thinking http://www.thecloudcast.net/2017/05/the-serverlesscast-6-events-vs-functions.html
  • How to run a company entirely on serverless, the on-going benefits of not maintaining servers, new application patterns with events, and the potentials of serverless in the future.
  • 3-tier applications and architectures vs. event-driven architectures?
  • What is a "bulky function"? How to evolve from procedural thinking to event or asynchronous thinking?
  • How to optimize the many functions that make up an application

[InfoQ] Daniel Bryant on Microservices and Domain Driven Design https://www.infoq.com/podcasts/daniel-bryant
  • Moving from monoliths to micro-services, covering bounded contexts, when to break up micro-services, event storming, practices like observability and tracing, and more.
  • Migrating a monolith to micro-services is best done by breaking off a valuable but not critical part first.
  • Designing a greenfield application as micro-services requires a strong understanding of the domain.
  • When a request enters the system, it needs to be tagged with a correlation id that flows down to all fan-out service requests.
  • Observability and metrics are essential parts to include when moving micro-services to production.
  • A service mesh allows you to scale services and permit binary transports without losing observability.

[DockerCon 2016] Making friendly micro services https://www.youtube.com/watch?v=zRg7pIS3TjM
  • Small is the new big, and for good reason. The benefits of microservices and service-oriented architecture have been extolled for a number of years, yet many forge ahead without thinking of the impact the users of the services. 
  • Consuming micro services can be enjoyable as long as the developer experience has been crafted as finely as the service itself. But just like with any other product, there isn’t a single kind of consumer. 
  • Together we will walk through some typical kinds of consumers, what their needs are, and how we can create a great developer experience using brains and tools like Docker.
  • Helpful docs are always up to date
  • Revision history - what changed and why
  • Trouble shooting built in, monitoring
  • Easy to deploy and scale
  • Easy to consume, how to consume and when
  • Must co-exist in a larger eco system, don’t be the biggest tree in the forest. 

Programming and Testing

[funfunfunction - youtube] Functional programming in JavaScript https://www.youtube.com/playlist?list=PL0zVEGEvSaeEd9hlmCXrk5yUyqUag-n84
  • Some really good fun overviews of functional programming concepts in javascript

[InfoQ] Lisa Crispin and Justin Searls on Testing and Innovation in Front End Technology https://www.infoq.com/podcasts/crispin-searls
  • Pair testers to write production code with the programmers.
  • Developers have to be focused on right now, testers have freedom to look at more of the big picture
  • People know testing is good and there a lot of tools for it, but some tools are ill-conceived.
  • We need a better language for talking about good QA and full stack testing.

[Simple programmer] The Future of Software Development (With Erik Dietrich) http://simpleprogrammer.libsyn.com/449-the-future-of-software-development-with-erik-dietrich-simple-programmer-podcast
  • What could the future of software development look like and how should you prepare for it

Agile

[Youtube] Agile Product Ownership in a Nutshell https://www.youtube.com/watch?v=502ILHjX9EE

[Deliver it] Back to Basics http://deliveritcast.com/ep50-back-to-basics
  • Episode 50 is an overview of the last 50 episodes revisiting many of them and giving a taste of what past episodes you might like to catch up on
  • A common theme for Product Owners is how do I get better? The best answer is to get better at the basics.  Inspired by another show that looks at its core purpose every so often, this episode looks at what the basics are since our initial podcast, what might have changed, and also serves as a reflection point for what we’ve covered in our first 50 shows. If you’re a PO who’s new to the show, this is a great place to start.

[Deliver it] DevOps for Product Owners http://deliveritcast.com/ep49-devops-for-product-owners
  • In order for Product Owners to help teams deliver value to our customers, the product has to actually be delivered.  The teams must perform some level of effort to get the code deployed and out the door. For that to be easy for everyone, DevOps is a set of skills and practices that allow that process to be automated, error-free, and turn delivery into a routine event.  
  • In this episode, Lee Eason joins to discuss what a PO needs to know about DevOps, why you should insist on it, and what you can do to help the teams achieve it.  

[Agile uprising] Agile Architecture with Martin Fowler and Rebecca Wirfs-Brock http://agileuprising.libsyn.com/agile-architecture-with-martin-fowler-and-rebecca-wirfs-brock
  • https://www.martinfowler.com/ieeeSoftware/whoNeedsArchitect.pdf
  • Martin and Rebecca provide a very clear definition of what architecture is to start the conversation which then leads into an honest conversation about how architecture is defined in the product’s unique context. They also provide great insight into the dynamics of what can be and cannot be considered architecture, and how the definition is fluid based on the engineering context.
  • We discuss the impact of unit tests on architecture, and to what degree tests and emergence define architecture, vs. up front design.
  • We also discuss the importance of domain models, and who should be involved in the definition of the domain model – specifically the requirement that the business folks be in the conversation.
  • As the interview draws to a close, we discuss the importance of documentation in agile architecture. The discussion covers the “the code is the documentation” stance to more comprehensive documentation stances.

/Stuff

[Tim Ferriss] Accelerated Learning and Mentors – My Personal Story http://tim.blog/2017/05/17/meta-learning/
  • An episode on education and accelerated learning amongst other things
  • Want to learn something fast? Listen to this reverse interview.

[The school of greatness] Nelson Dellis is training your brain to do the impossible https://lewishowes.com/podcast/e-nelson-dellis/
  • Not only does Nelson compete in memory championships around the world, he also has created great courses, videos, and soon a book to teach others his techniques.
  • it’s important to train our brains as much as we train our bodies.

[TED] The future we are building — and boring https://www.ted.com/talks/elon_musk_the_future_we_re_building_and_boring
  • Elon Musk discusses his new project digging tunnels under LA, the latest from Tesla and SpaceX and his motivation for building a future on Mars in conversation with TED's Head Curator, Chris Anderson.

[Decrypted] Fake News in the French Elections http://pca.st/iErg
  • What is fake news and why does it matter?

[Code and cast] publishing content on Pluralsight and some javascript http://codeand.us/podcast/episode-16-pluralsight-and-javascript/
  • On Pluralsight and presenting
  • Javascript and Architecture questions and answers

Other interesting blog posts

“I have nothing to hide. Why should I care about my privacy?” https://medium.com/@FabioAEsteves/i-have-nothing-to-hide-why-should-i-care-about-my-privacy-f488281b8f1d

Privacy Protects Bothersome People https://martinfowler.com/articles/bothersome-privacy.html

Facebook users unwittingly revealing intimate secrets http://www.theguardian.com/technology/2013/mar/11/facebook-users-reveal-intimate-secrets
Facebook users are unwittingly revealing intimate secrets – including their sexual orientation, drug use and political beliefs – using only public "like" updates, according to a study of online privacy

Get your loved ones off Facebook http://www.salimvirani.com//facebook/

Why I Can’t/Won’t Point to Facebook Blog Posts http://scripting.com/2017/05/31.html#a110526
A reply to not posting on facebook https://daringfireball.net/2017/06/fuck_facebook

Sunday, 30 April 2017

Damo's April 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

[Continuous Discussions] Value Stream Mapping and DevOps https://electric-cloud.com/blog/2017/02/continuous-discussions-c9d9-podcast-episode-63-value-stream-mapping-devops/

  • Value Stream Mapping helps organizations streamline their DevOps adoption
  • Accelerate releases, optimize pipelines and toolchains, and even transform culture
  • In the IT value stream, success is all about the left-to-right flow of value to the customer — from development to IT Operations

Agile

[Agile for humans] Agile Musings with GeePaw Hill http://ryanripley.com/afh-061-agile-musings-with-geepaw-hill-podcast/

  • A nice flowing wide ranging discussion about all things agile
  • Optimisation of programs vs optimising programming
  • Internal quality vs external quality
  • Generating insights about software
  • The dangers of dogma in agile software development
  • How to debunk the quality vs quantity myth
  • Why maximizing your insights per hour is important
  • What is hurting the agile industry today


[Agile for humans] Lessons from #NoEstimates Critics http://ryanripley.com/007-agile-for-humans/

  • What is the critic’s view against #NoEstimates?
  • Discuss the many areas of agreement that we have with some of the #NoEstimates critics
  • The remaining time was spent on systems thinking, pre-conditions necessary to question estimation processes and value, and the role of excellent engineering practices in reducing the role of estimates in a software delivery system


[Agile for humans] Product Mastery with Geoff Watts http://ryanripley.com/afh-059-product-mastery-with-geoff-watts-podcast/

  • How difficult the role of Product Owner is to do well
  • The tools, mindset, and techniques necessary to be a successful Product Owner
  • Why the Product Owner needs the support of the whole team in order to get their job done

Architecture

[Software Engineering Radio] Success Skills for Architects with Neil Ford http://www.se-radio.net/2017/04/se-radio-episode-287-success-skills-for-architects-with-neil-ford/

  • What skills are required to be a successful software architect
  • how to create and maintain them
  • how to transition from other roles, such as software engineering
  • Those looking to make the transition should focus especially on learning “soft skills” before making the move, and exploring the idea of taking an architectural role temporarily to see if it suites you. He also discusses problem solving skills, why understanding history is so important, and how to recognize and avoid increasing complexity


[The InfoQ Podcast] Chris Richardson on Domain-Driven Microservices Design https://www.infoq.com/podcasts/chris-richardson

  • Discussion on how to use DDD and CQRS concepts as a guide for implementing a robust microservices architecture
  • "Microservice architecture" is a better term than "microservices". The latter suggests that a single microservice is somehow interesting
  • The concepts discussed in Domain-Driven Design are an excellent guide for how to implement a microservices architecture
  • Bounded Contexts correspond well to individual microservices
  • Event sourcing and CQRS provide patterns for how to implement loosely coupled servicesWhen converting a monolith to microservices, avoid a big bang rewrite, in favor of an iterative approach


[Docker cast] Microservices + Events + Docker = A Perfect Trio - Docker Captain Chris Richardson https://www.youtube.com/watch?v=pD0rEtEEwck

  • https://blog.eventuate.io/2016/08/01/microservices-events-docker-perfect-trio/
  • Microservices are an essential enabler of agility but developing and deploying them is a challenge
  • In order for microservices to be loosely coupled, each service must have its own datastore, this makes it difficult to maintain data consistency across services
  • Deploying microservices is also a complex problem since an application typically consists of 10s or 100s of services, written in a variety of languages and frameworks
  • In this presentation, you will learn how to solve these problems by using an event-driven architecture to maintain data consistency and by using Docker to simplify deployment.

Programming and testing

[JavaScript Jabber] Clean Code JavaScript with Ryan McDermott https://devchat.tv/js-jabber/clean-code-javascript-with-ryan-mcdermott

  • Ryan converted the principles in Clean code to apply to javascript
  • Software engineering principles, from Robert C. Martin's book Clean Code, adapted for JavaScript. This is not a style guide. It's a guide to producing readable, reusable, and refactorable software in JavaScript.
  • https://github.com/ryanmcdermott/clean-code-javascript


[Cucumber Podcast] Property-Based Testing https://cucumber.io/blog/2017/04/27/property-based-testing

  • The programmer provides a specification of the program, in the form of properties which functions, methods or objects should satisfy, the framework then tests that the properties hold in a large number of randomly generated cases
  • The core idea is that instead of enumerating expected input and output for unit tests, you write properties about your function that should hold true for all inputs. This lets you write concise, powerful tests.

Others

[The Changelog] How We Got Here with Cory Doctorow https://changelog.com/podcast/221



[Complete Developer Podcast] Salary Negotiations with Josh Doody http://completedeveloperpodcast.com/episode-85/

  • In the episode they talk about some of the common questions developers have about negotiating as well as covering some mistakes that we all make when negotiating for a higher salary.


[This Agile Life] Cat Killed the WiFi http://www.thisagilelife.com/126

  • Are interviews and the interview progress broken?


[TED Talks] To raise brave girls, encourage adventure https://www.ted.com/talks/caroline_paul_to_raise_brave_girls_encourage_adventure

  • Gutsy girls skateboard, climb trees, clamber around, fall down, scrape their knees, get right back up — and grow up to be brave women.
  • Learn how to spark a little productive risk-taking and raise confident girls with stories and advice from firefighter, paraglider and all-around adventurer Caroline Paul.


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?

Tuesday, 28 February 2017

Damo's Febuary 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

[.NET Rocks!] Ops and Operability with Dan North https://www.dotnetrocks.com/?show=1412
  • Dig into the challenges of operating modern applications and how a constant demand for new features can be destabilizing to software. 
  • The conversation explores getting to the root of concerns in systems so that everyone understands what is hard and what is easy. 
  • When people are misunderstood, fear and resistance almost always follow.

[RunAs Radio] The MongoDB Exploit with Niall Merrigan http://runasradio.com/Shows/Show/519
  • Are your noSQL stores safe? While at NDC London, Richard chatted with Niall Merrigan about the latest wave of exploits targeting MongoDB, ElasticSearch and others. 
  • As Niall explains, the challenge is that the default security models for many of these products leaves them vulnerable to outside attack. As these attacks have progressed, they have presented themselves as ransomware - data is removed and a bitcoin account offered up to restore the data. However, to date, even when the ransoms are paid, no data is restored. 
  • Apparently there is no honour among thieves.

Programming and testing

[Coding Blocks] Clean Code – How to Write Amazing Unit Tests http://www.codingblocks.net/podcast/how-to-write-amazing-unit-tests/
  • When and why should you write unit tests, and just how important are they?

[DevOps Interviews - Channel 9] Interview with Gopinath https://channel9.msdn.com/Blogs/DevOps-Interviews/Interview-with-Gopinath-Chigakkagari
  • In this interview, Senior DevOps Program Manager Donovan Brown interviews Principal PM Manager Gopinath Chigakkagari about Testing.

[Herding Code] Richard Campbell on Humanitarian Toolbox http://herdingcode.com/herding-code-220-richard-campbell-on-humanitarian-toolbox/
  • Humanitarian Toolbox is a collection of open source projects, and they’re initially focused on the allReady project. 
  • allReady started to help the Red Cross organize and coordinate smoke detector installation efforts to prevent home fire disasters. 
  • Software can help through things like mapping, mobile apps, and Twilio based notifications. 
  • Just the simple addition of reminder notifications before going out to install smoke detectors has raised their install rate from about 30% to about 80%.

[LDNUG - London .net user group] February meetup (12 factor apps) https://www.meetup.com/London-NET-User-Group/events/237160739
  • The buzz is all around Cloud Native: continuous deployment and easy scaling of your server side code. You have heard about Docker and Microservices, but what are 12-factor apps?
  • The Twelve-Factor App methodology (https://12factor.net/), was created by engineers with experience of delivering apps on Heroku, and is a "recipe for success" when authoring code for cloud native scenarios. 
  • In this presentation we will look at what a Twelve-Factor App is, and demonstrate how to meet the requirements when creating .NET applications. We will show examples using ASP.NET Core, Brighter and Darker of authoring code to meet these requirements, and show its deployment to containers.
  • Presentation is now online - https://skillsmatter.com/skillscasts/9275-londondot-net-february-meetup

[The Changelog] 99 Practical Bottles of OOP with Sandi Metz https://changelog.com/podcast/225
  • Sandi Metz joined the show to talk about her beginnings on a mainframe, her 30+ years of programming experience, the ins and outs of OOP, her book Practical Object-Oriented Design in Ruby (aka POODR), as well as her latest book 99 Bottles of OOP which she co-authored with Katrina Owen

Architecture

[.NET Rocks!] Conway`s Law with Mark Seemann http://www.dotnetrocks.com/?show=1418
  • What is Conway's Law and how does it apply to your organization? 
  • How organization structure affects the structure of software. 
  • That is the essence of Conway's Law, going all the way back to the 1960s, where he talked about how committees designing software end up making software that reflects the structure of the committees themselves. This leads to a broad conversation about how virtually every company today is actually a software company, and that software represents a vital asset to most businesses, but they may not recognize it yet. 
  • Getting your organization into shape to build great software can be the difference between success and bankruptcy!

Agile, Teams and Business analysis

[Agile For Humans] #NoEstimates with Vasco Duarte http://ryanripley.com/noestimates-with-vasco-duarte/
  • One of the staring points of #NoEstimates is: “We as an industry are not able to estimate well.”
  • With that starting point, alternatives are necessary. #NoEstimates seeks to explore those alternatives.

[Agile in 3 Minutes] Mob programming https://agilein3minut.es/32/

[Agile Weekly] Episode #107 – Is Agile Faster? http://integrumtech.com/2013/04/episode-107-is-agile-faster/
  • Is agile faster?
  • Why is agile faster?

[Agile for humans] 5 Base Patterns to Guide Agile Teams http://ryanripley.com/5-base-patterns-to-guide-agile-teams/
  • Measure economic progress
  • Experiment
  • Limit work in progress
  • Embrace collective responsibility
  • Solve systemic problems
  • Top down vs. bottom up agile transformations
  • Some discussions about no estimates and the limitations of such a technique

Other interests and stuff

[Developer Tea] The Einstellung Effect https://spec.fm/podcasts/developer-tea/59037
  • Einstellung is the development of a mechanized state of mind. Often called a problem solving set, Einstellung refers to a person's predisposition to solve a given problem in a specific manner even though better or more appropriate methods of solving the problem exist. The Einstellung effect is the negative effect of previous experience when solving new problems.
  • Thus older and more experienced developers are more prone to the Einstellung effect than younger less experienced ones.

[The Ruby Rogues] The Future of Work in Web Development https://devchat.tv/ruby-rogues/rr-296-the-future-of-work-in-web-development-with-erik-dietrich
  • Erik is currently working on a book which he titled “Developer Hegemony”. It centres around the idea of software developers and the future of software development.
  • In its broadest sense, software developers would leave big enterprise organizations and shift to more freelance work. They would unite and create firms that focus on application development. These firms would then be in contract with large enterprises.

[On Books] Kevin Kelly on The Inevitable, 60s Counterculture, and How to Read Better http://castig.org/kevin-kelly-on-the-inevitable-60s-counterculture-and-how-to-read-better/
  • The Counterculture movement of the 60s
  • Travelling as an act of rebellion
  • Kevin’s latest book The Inevitable in which he writes that, “Much of what will happen in the next thirty years is inevitable, driven by technological trends that are already in motion.” He’ll share some of those predictions with us.
  • Lessons on how to read better

[On Books] Book Summary: The Inevitable by Kevin Kelly http://castig.org/the-inevitable-by-kevin-kelly/
  • The Inevitable: Understanding the 12 Technological Forces That Will Shape Our Future, by Kevin Kelly.
  • The Inevitable is driven by the idea that the technological trends of the next 30 years can be predicted. Over 336 pages the book breaks down the Top 12 technological forces at work such as: “Becoming, Cognifying, Flowing, Screening, Accessing, Sharing, Filtering, Remixing, Interacting, Tracking, Questioning, and Beginning.”

[LSE] Politics: between the extremes http://www.lse.ac.uk/website-archive/newsAndMedia/videoAndAudio/channels/publicLecturesAndEvents/player.aspx?id=3576
  • A cautionary tale. An exposé. A defence of the centre-ground. An appeal to reason. A call to arms. An honest account from the top and bottom of British politics. 
  • Come along to this public conversation with former Deputy Prime Minister Nick Clegg who will be speaking about his new book, Politics: Between the Extremes.

[LSE] Politics after Brexit and Trump http://www.lse.ac.uk/website-archive/newsAndMedia/videoAndAudio/channels/publicLecturesAndEvents/player.aspx?id=3718
  • A year of unpredictable political upheavals in the industrialised world promises an interesting period ahead. What are the lessons from Brexit and the Trump election for our democracy?
  • Richard H. Pildes is the Sudler Family Professor of Constitutional Law at the New York University Law School. He is one of the nation's leading scholars of constitutional law and a specialist in legal issues affecting democracy.
  • Mervyn King was Governor of the Bank of England from 2003 to 2013, and is currently School Professor at the London School of Economics and Political Science. Lord King was made a life peer in 2013, and appointed by the Queen a Knight of the Garter in 2014.

Tuesday, 31 January 2017

Damo's January 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

[RunAs Radio] The DevOps Handbook with Gene Kim http://runasradio.com/Shows/Show/510
  • The DevOps Handbook is finally released! Richard chats with the one-and-only Gene Kim about the five years of effort that have gone into making the DevOps handbook. Gene talks about how the Handbook was supposed to come out before the Phoenix project, but as the scope of the book grew, they realized it needed more time. The benefit of time has been a ton of case studies and great detailed evidence of how automating workflows, instrumenting systems deeply and a culture of experimentation leads to better applications, happier employees and customers, and a better business all around. You need to read this book!

[Radio TFS] A New Year with Donovan Brown http://www.radiotfs.com/Show/129/ANewYearwithDonovanBrown
  • Donovan is a Principal Program Manager for DevOps in the Developer Division at Microsoft, focusing on developer tools including Visual Studio Team Services and Team Foundation Server.
  • In this episode Greg, Martin, Josh and Angela are joined by Donovan Brown to talk TFS, VSTS and, of all things, DevOps!

Programming and Testing

[No Fluff Just Stuff] REST is Dead, Long Live the Web! http://blog.nofluffjuststuff.com/2015/12/28/podcast-rest-is-dead-long-live-the-web/
  • REST is dead, long live the Web

[Full Stack Radio] Toran Billups - Test Driving the Front-end http://www.fullstackradio.com/49

[No Fluff Just Stuff] Professional Git with Brent Laster http://blog.nofluffjuststuff.com/2016/12/28/professional-git-brent-laster/
  • He talks and trains in-depth on not only in Git and source control, but continuous delivery concepts, and a variety of different topics. He’s just published his book, “Professional Git,” by Brent Laster. It’s available on Amazon. We sat down to dive deep and talk all things Git

[Software Engineering Daily] Bots Podcast with Jon Bruner https://softwareengineeringdaily.com/2016/12/15/bots-podcast-with-jon-bruner/
  • Over the next few years, bots will pervade our lives more and more. These smart, conversational text interfaces provide a new way of engaging with the computer systems that we have been mostly interacting with through web and mobile app interfaces for the last decade.
  • Bots are a necessary complement to the voice interfaces of the future, because we don’t always want to talk to the computer, and natural language processing is not yet good enough to always translate our vocal request accurately. Bots are not toys, they aren’t trivial, and they aren’t going away any time soon.

[Complete Developer Podcast] Learning A Second Language http://completedeveloperpodcast.com/episode-67/
  • Before starting to learn a new programming language you should take a few considerations. How different is the new language from your current one? Compare the envivornment, paradigm, syntax, and level of automatic operations between the languages.
  • Tim Ferris wrote up twelve rules for learning a a new language. His rules were for a spoken language but they can also be applied to programming languages.
  • Learn the right words, the right way.
  • Learn cognates, things that are the same across languages.
  • Interact daily in the language through spaced repetition in a controlled environment.
  • Daily spoken practice.
  • Look for free resources.
  • Realize that experience makes it easier to infer rules.
  • Learn to effectively use mnemonics.
  • Embrace mistakes.
  • Create Smart goals (Specific, Measurable, Attainable, Relevant, Time-Bound).
  • Jump from conversational to mastery.
  • Learn to sound more native through the use of idioms.
  • Keep going until you actually get things down.

[Software Engineering Radio] Peter Hilton on Naming http://www.se-radio.net/2016/12/se-radio-episode-278-peter-hilton-on-naming/
  • why naming is much harder than we think, why naming matters in programming and program comprehension, how to create good names, and recognize bad names, and how to improve your naming skills.

[Cucumber Podcast] Cucumber Anti-Patterns https://cucumber.io/blog/2016/05/09/cucumber-antipatterns
  • Matt, Steve, and Aslak from the core Cucumber team discuss writing good gherkin and avoiding common pitfalls.
  • We’ll unpick why it’s important to write your gherkin before you write the code, consider if you should ever delete scenarios, and give tips on incorporating your team’s different perspectives into maintainable, predictable cukes!

[Software Engineering Radio] Gerald Weinberg on Bugs Errors and Software Quality http://www.se-radio.net/2017/01/se-radio-episode-280-gerald-weinberg-on-bugs-errors-and-software-quality/
  • Gerald Weinberg about software errors, the fallacy of perfection, how languages and process can reduce errors, and the attitude great programmers have about their work. Gerald’s new book, Errors: Bugs, Boo-boos, and Blunders, focuses on why programmers make errors, how teams can improve their software, and how management should think of and discuss errors. We learn why all programs are perfect (for something), quality can be judged only by the end user of the software, and computers act as “error amplifiers” for our own human imperfections.

Architecture

[Software Engineering Daily] Reactive Microservices with Jonas Boner https://softwareengineeringdaily.com/2016/12/19/reactive-microservices-with-jonas-boner/
  • For many years, software companies have been breaking up their applications into individual services for the purpose of isolation and maintainability. In the early 2000s, we called this pattern “service-oriented architecture”. Today we call it “microservices”.
  • The reactive manifesto is a collection of principles for how to build applications. When the reactive manifesto is applied to the idea of microservices, we get reactive microservices, which Jonas and I discuss in today’s episode.

[Software Engineering Daily] Self-Contained Systems with Eberhard Wolff https://softwareengineeringdaily.com/2017/01/03/self-contained-systems-with-eberhard-wolff/
  • Self-contained systems is an architectural approach that separates the functionality of a system into many independent systems. Each self-contained system is an autonomous web application, and is owned by one team. Communication with other self-contained systems or 3rd party systems is asynchronous where possible.
  • As Eberhard Wolff explains in this episode, self-contained systems is not the same thing as microservices, but they are not mutually exclusive. Organizations often adopt a mix of architectural ideas, and it is worth understanding these different models so you can decide which of them to apply to your own projects.

[Software Engineering Daily] Evolutionary Architecture with Neal Ford https://softwareengineeringdaily.com/2017/01/05/evolutionary-architecture-with-neal-ford/
  • Evolutionary architecture supports incremental, guided change as a first principle along multiple dimensions. A company with an evolutionary architecture is structured to evolve in response to changes inside the company (such as a decision to change the product) or outside the company (such as the emergence of Docker). Neal Ford is an architect at ThoughtWorks and one the creators of the evolutionary architecture concept.

[AWS Podcast] Serverless Special https://aws.amazon.com/podcasts/aws-podcast/#171
  • Bryan Liston, Developer Advocate for AWS Serverless, speaks with Matt Weagle, Ant Stanley & Ben Kehoe. They discuss server less architectures, testing and other fun topics!

Agile, Teams and Business analysis

[Mastering Business Analysis] Split Your Stories! https://www.acast.com/masteringbusinessanalysis/mba101-split-your-stories
  • The problems big user stories can cause
  • How big your user stories should be
  • Why splitting stories helps create a shared understanding
  • How just four splitting techniques apply to almost all stories

[Agile for Humans] Agile is a cancer http://ryanripley.com/003-agile-for-humans/
  • Zach is an independent consultant who recently posted a provocative article called: “The Subversion of Agile: Agile is a Cancer”. We discussed his post, talked about what the cancer is in the community that needs to be removed about posts from others in the community about the “death of Agile”.

[Developing Up] The Four Attributes of a Great Development Team http://www.developingup.com/7
  • The four attributes of a great development team:
  • Communication
  • Responsibility
  • Positive attitudes
  • Collaboration

[Developing Up] The Importance of one-on-ones http://www.developingup.com/8
  • Great developers need great support, feedback and communication. In today's episode we talk about the importance of regular one-on-one meetings for both developers and managers. We discuss how managers can establish and maintain successful one-on-one meetings. We then discuss how as a developer you can take ownership of and benefit from these meetings.

[Mastering Business Analysis] Using Behavior Driven Development for Better User Stories http://masteringbusinessanalysis.com/episode-023-using-behavior-driven-development-for-better-user-stories-interview-with-jeffrey-davidson/
  • Better understand how to get better at user stories and how behavior driven development (BDD) helps create a shared understanding. We also discuss how to create the nirvana state of living requirements.

[.NET Rocks!] Punishment Driven Development with Louise Elliott https://www.dotnetrocks.com/?show=1406
  • The beatings will continue until morale improves!
  • Louise talks about getting rid of blame and punishment, whether self-inflicted or team-inflicted, so that the individual unique contributions and capabilities of every member of the team are valued. The conversation also dives into creating constructive incentives - not pitting team members or separate teams against each other, actually making sure everyone is focused on making sure the business is successful.

Other interests and stuff

[Revisionist History] Blame Game http://revisionisthistory.com/episodes/08-blame-game
  • How can we all make human error
  • The simplest solution often is
  • Cars with runaway acceleration. And what to do if it does. It can happen to you, honestly
  • In the summer and fall of 2009, hundreds of Toyota owners came forward with an alarming allegation: Their cars were suddenly and uncontrollably accelerating. Toyota was forced to recall 10 million vehicles, pay a fine of more than $1 billion, and settle countless lawsuits. The consensus was that there was something badly wrong with the world’s most popular cars. Except that there wasn’t.
  • “Blame Game” looks under the hood at one of the strangest public hysterias in recent memory. What really happened in all those Camrys and Lexuses? And how did so many drivers come to misunderstand so profoundly what was happening to them behind the wheel? The answer touches on our increasingly fraught relationship to technology and the dishonesty and naiveté of many in the media.

[TED Talks] How to gain control of your free time https://www.ted.com/talks/laura_vanderkam_how_to_gain_control_of_your_free_time
  • There are 168 hours in each week. How do we find time for what matters most? Time management expert Laura Vanderkam studies how busy people spend their lives, and she's discovered that many of us drastically overestimate our commitments each week, while underestimating the time we have to ourselves. She offers a few practical strategies to help find more time for what matters to us, so we can "build the lives we want in the time we've got."

[TED Talks] Bring on the female superheroes! https://www.ted.com/talks/christopher_bell_bring_on_the_female_superheroes
  • Why is it so hard to find female superhero merchandise? In this passionate, sparkling talk, media studies scholar (and father of a Star Wars-obsessed daughter) Christopher Bell addresses the alarming lack of female superheroes in the toys and products marketed to kids — and what it means for how we teach them about the world.

[Developer On Fire] Neal Ford - Architecting Appreciation http://developeronfire.com/podcast/episode-197-neal-ford-architecting-appreciation

[No Fluff Just Stuff] Lifelong Learning with Venkat Subramaniam http://blog.nofluffjuststuff.com/2016/11/16/lifelong-learning-venkat-subramaniam/

Tuesday, 24 January 2017

Using beyond compare with Git on Linux (and windows)

EDIT - See footer for more info and an alternative to the main body of this post.


I'm a massive fan of Beyond compare, I use it a lot. It's brilliant for all the tasks related to file and folder diffs, either on the file system or in source control when viewing changes between revisions or branches.

Using git diff is ok when you are looking at a small set of changes but if there are many changes across many files I much prefer to use beyond compare to visualise the change set.

Git / Beyond Compare integration

The following code snippets are taken from a centos linux build, but there is no reason that with a little tweak this wont work on a windows machine. (In fact the little tweak is shown in the appendix at the bottom).

Edit your ~/.gitconfig (c:/users/UserName on windows) by adding the following:

[diff]
  tool = bcompare
[difftool "bcompare"]
  cmd = bcompare \"$LOCAL\" \"$REMOTE\"
  prompt = false
[merge]
  tool = bcompare
[mergetool "bcompare"]
  cmd = bcompare \"$LOCAL\" \"$REMOTE\" \"$BASE\" \"$MERGED\"
  keepBackup = false
  trustExitCode = false
[alias]
  diffdir = difftool -dir-diff -tool=bcompare -no-prompt


The above assumes that you have installed beyond compare and it is now accessible from the terminal as bcompare. In fact you can see how I install beyond compare in my vagrant bash scripts here: https://github.com/DamianStanger/centos-node-developer-build/blob/master/scripts/beyondcompare.sh

Usage - launching beyond compare from the git command line:

#View all un-staged differences one by one
git difftool

#View all committed differences between the current HEAD and the penultimate commit one by one
git difftool HEAD HEAD~1

#View all differences between master branch and bugfix branch in beyond compares directory view
git diffdir master bugfix

#View all differences between two change sets (SHA-1 ) in beyond compares directory view
git diffdir 6b6aa87 4f7d15d

#View the diff of one un-staged file, note the use of -no-prompt to stop the prompt on the terminal
git difftool -no-prompt myfile.txt

#View all changes both staged and modified one by one.
#As soon as you close beyond compare the next change will pop open (due to the -no-prompt flag)
git difftool HEAD -no-prompt


You might notice that when you use the diffdir command that the files are not editable, where as if you use the more interactive difftool command that the local files are available for changing and saving in beyond compare. This is because behind the scenes when you use the -dir-diff flag, git copies the modified files to a temporary location and then performs a directory diff on them. So if you do want to modify the files as you do a comparison you must use the more interactive difftool command.

references:

https://git-scm.com/docs/git-config
https://git-scm.com/docs/git-diff
https://git-scm.com/docs/git-difftool
https://git-scm.com/docs/git-mergetool

Windows

On windows its just as easy. The users gitconfig is located at c:\users\UserName\.gitconfig

Just replace the difftool and mergetool commands from the above code snippets with the following:
cmd = "'c:\\Program Files\\Beyond Compare 4\\BCompare.exe' $LOCAL $REMOTE"
cmd = "'c:\\Program Files\\Beyond Compare 4\\BCompare.exe' $LOCAL $REMOTE $BASE $MERGED"


EDIT

Since writing this post I’ve done more playing with git, difftool and beyond compare and have made the following revelations. Which I've only tested on linux centos 7.0 with git 1.8.3.1:
  • Out of the box you can use beyond compare as your difftool
    • Use 'git difftool -tool-help' to show all the options you have, do you see bc3 in the list? if so you are set to go.
    • Use 'git difftool -tool bc3' to open your diffs in beyond compare
  • Same with the mergetool
    • git mergetool --tool-help
    • git mergetool --tool bc3
I’ve also found that you can actually edit and save files whilst using the diffdir commaand, here’s how/why:

As I said before when using the -dir-diff command git makes copies of the files into a temp location. Well if one of the sides contains the modified (current working directory) files then the copy is not a hard file copy it’s a simlink to the file in the working directory. So, that means that if you have the option ‘Handling -> follow symbolic links’ in the ‘session settings – folder compare’ dialogue of beyond compare (I recommend that you save this as a session default) then any editing of files that you do WILL be in the working folder of your git repo. Bonza.

So what does all this mean to me? Do I actually need to edit my .gitconfig then?

Well, no, and yes. Beyond compare integration is there out of the box but I would create some alias entries so you don’t have to type in the full command as that would be painful.
[alias]
  bc3 = difftool -tool=bc3
  bc33 = difftool -no-prompt -tool=bc3
  bc3dir = difftool -dir-diff -tool=bc3


You now can issue the same commands as outlines above but with 'git bc3' or 'git bc3dir' rather than 'git difftool' and 'git diffdir'

Notice that I’ve made a distinction between bc3 and bc33. bc33 will not prompt you for opening the changes and so if you use it with a large change set you will have to cancel through a lot of files until the process ends. But I guess you could always ctrl+c on the terminal to kill the process, either way I find the distinction useful for just one extra character to type.

Sunday, 18 December 2016

Damo's Podcast Highlights 2016 #50

I subscribe to many podcasts, you can see the list as it was in 2015 here: Developer podcasts v2 but I thought I would start to keep a weekly log of the episodes that I found interesting or useful in some way.

[No Fluff Just Stuff] The Challenges facing Software Architects http://blog.nofluffjuststuff.com/2016/11/02/challenges-software-architect/
  • The title of “Software Architect” is often an ill-defined role. In the pursuit of a software architect role many critical facets of the skill set are frequently overlooked. 
  • It is also increasingly difficult to gain necessary experience as a software architect when most software architects focus on an average of one architecture a year-and frequently never see the full lifecycle of their work.

[Scale Your Code Podcast] JavaScript best practices, Node.js and ending poverty https://scaleyourcode.com/interviews/interview/8
  • Take your JavaScript projects and turn them into more maintainable and scalable applications. Eric has a background of building apps that scale, and I asked him to teach us how. 
  • We also talk about Node.js use cases and how to get started with it. If you've been interested in trying Node out, time to dive in!

[No Fluff Just Stuff] Reflections on Agile in 2016 - What's Wrong and how to fix it http://blog.nofluffjuststuff.com/2016/09/21/reflections-agile-john-borys/
  • The agile manifesto was written 15 years ago and many agree the principles reflect the true nature of software development. Despite that, we continue to face challenges in making and maintaining the transition. 
  • The low-level details of the implementation are often poorly understood, the organizational buy-in can be challenging and the result is a sort of “worst of both worlds” mashup of waterfall and agile; “Scrummerfall” as our guest John Borys like to call it.

[Software Engineering Daily] Distributed Tracing with Reshmi Krishna https://softwareengineeringdaily.com/2016/08/24/distributed-tracing-with-reshmi-krishna/
  • In a microservices architecture, a user request will often make its way through several different services before it returns a result to the end user. If a user experiences a failed request, the root cause could be in any of the services along that request path. Even more problematic is the challenge of debugging latency in this kind of request chain.
  • What is distributed tracing
  • Why use ir
  • What is zipkin
  • How it works

[Software Engineering Daily] Algorithms to Live By with Brian Christian https://softwareengineeringdaily.com/2016/12/05/algorithms-to-live-by-with-brian-christian/
  • When you are deciding who to marry, you are using an algorithm. The same is true when you are looking for a parking space, playing a game of poker, or deciding whether or not to organize your closet. Algorithms To Live By is a book about the computer science of human decisions. It offers strategies for how to think through everyday life like a computer scientist.
  • Done in a book review style
  • Time management
  • Sorting vs searching
  • Decision making, optimal stopping

[Developing Up] Six ways you can be a more productive developer http://www.developingup.com/5
  • Be smart about your time and remove time waste
  • Prioritize what you need to get done and focus on the MVP.
  • Use goals and set milestones for yourself.
  • Plan backwards, start with your end result.
  • Be active in your progression and learn deliberately
  • Remove distractions and enter the zone.

[Mastering Business Analysis] Episode 016 – User Story Mapping with Jeff Patton http://masteringbusinessanalysis.com/episode-016-user-story-mapping-with-jeff-patton/
  • Why Jeff believes the word “requirements” means “shut up”
  • What User Story Maps are and how they can create a shared understanding within your team
  • How to use Story Maps to create slices of functionality and break a large effort into smaller pieces
  • How to avoid the common pitfalls with User Story Mapping
  • Why User Stories aren’t a different way of writing requirements

[Mastering Business Analysis] MBA081: User Story Mapping with David Hussman http://masteringbusinessanalysis.com/mba081-user-story-mapping-david-hussman/
  • Why story maps are a powerful tool
  • How to create a user story map
  • What to do with the story map
  • How to avoid building solutions people don’t want

[The Tim Ferriss Show] Testing the "Impossible": 17 Questions that changed my life http://fourhourworkweek.com/2016/12/07/testing-the-impossible-17-questions-that-changed-my-life/
  • “Whenever you find yourself on the side of the majority, it is time to pause and reflect.” — Mark Twain
  • What would happen if i did the opposite for 48 hours
  • How do i scratch my own itch
  • whats my real target monthly income
  • can i get back to where i am now
  • Empower people
  • You dont need to make it back in the same way
  • What if i could only subtract to solve problems
  • Am i hunting antelope or field mice
  • 'Waste' money to improve quality of life
  • Non hurry, no pause

[London DevOps] DevOps Transformation in a Large Bank - Nic Ferrier https://youtu.be/JcZOCoUqjBo?list=PL-JvSFEhoWGdv_Cs8c9hY2cYaD1pGXGDZ
  • From a release every 3 months to > 4000 a year

[Developer Tea] How We Spend Our Days Is How We Spend Our Lives http://developertea.simplecast.fm/episodes/10038-how-we-spend-our-days-how-we-spend-our-lives-and-one-way-to-get-a-better-grasp-on-time
  • How we spend our days is, of course, how we spend our lives. But how can we get a better grasp on time? 
  • In this episode, I share a simple tip that exploits our brain's natural tendency to take shortcuts to help you better experience time and avoid the feeling of "time flying by" faster than you'd like.

Sunday, 11 December 2016

Damo's Podcast Highlights 2016 #49

I subscribe to many podcasts, you can see the list as it was in 2015 here: Developer podcasts v2 but I thought I would start to keep a weekly log of the episodes that I found interesting or useful in some way.

[Software Engineering Daily] Database as a Service with Eliot Horowitz https://softwareengineeringdaily.com/2016/12/01/database-as-a-service-with-eliot-horowitz/
  • History of mongoDB
  • Current versions
  • Future
  • Competitors
  • Running in the cloud
  • How they do it
  • Document Vs relational

[Software Engineering Daily] AWS Open Guide with Joshua Levy https://softwareengineeringdaily.com/2016/11/14/aws-guide-with-joshua-levy/
  • As AWS has grown to be a gigantic platform, the documentation about how to use cloud infrastructure has become insufficient. As an answer to this, Joshua Levy initiated The Open Guide to Amazon Web Services, an open-source collection of resources available on github

[Hello techpros] The Second Dysfunction of a Software Team: Social Anxiety http://hellotechpros.com/social-anxiety-leadership/
  • An overview of Patrick Lencioni’s second dysfunction of a team: fear of conflict.
  • Why software developers want to think, work and socialize like Commander Spock.
  • How a technical lead or architect can derail a healthy debate by stating their position.
  • Why we need to combine empathy and love with a fierce desire to get our message across.
  • How to foster an environment of healthy conflict in your software development team.

[Freakonomics Radio] How to Make a Bad Decision http://freakonomics.com/podcast/make-bad-decision/
  • Some of our most important decisions are shaped by something as random as the order in which we make them. The gambler’s fallacy, as it’s known, affects loan officers, federal judges — and probably you too. How to avoid it? The first step is to admit just how fallible we all are.

[Agile for Humans] The Agile Mindset with Gil Broza http://ryanripley.com/afh-043-the-agile-mindset-with-gil-broza-podcast/
  • How to foster an agile mindset
  • The impediments to adopting an agile mindset
  • What it means to value the human side of agile
  • How change can happen on an agile team

[Agile for Humans] The Grows Method for Adopting Agile Software Develpoment http://ryanripley.com/afh-042-the-grows-method-for-adopting-agile-software-development-podcast/
What is the Grows Method for Agile Adoption
  • How to gradually grow agile in an organization
  • What is essential to be agile
  • How to get alignment between executives and agile teams

[The Cloudcast] DevOps from the Enterprise http://www.thecloudcast.net/2016/11/the-cloudcast-280-devops-from-enterprise.html
  • All about the DevOps Enterprise Summit (#DOES16), DevOps success stories, how companies manage the evolution, common DevOps failures and any models that can be reused by other companies.
  • Topic 1 - Let’s talk about your experiences at DOES in UK vs. DOES in US.
  • Topic 2 - What stories of successful DevOps implementations did you hear about, and were there any commonalities in those stories?
  • Topic 3 - Are you seeing the successful companies focus more on people/process or cultural changes or automation/CI/CD or on application transformation as part of their DevOps journey?
  • Topic 4 - Have any models emerged that are showing companies how to move DevOps from greenfield environments or POCs or Centers of Excellence (COEs) to wider-scale adoption?
  • Topic 5 - How are people managing the distributed nature of “two pizza teams” and the overhead of keeping projects in sync?
  • Topic 6 - What are the common pitfalls or mistakes that companies need to avoid if they are moving down the path towards DevOps?

[Fight Mediocrity] The 7 habits of highly effective people by stephen covey - animated book review https://www.youtube.com/watch?v=ktlTxC4QG8g&feature=youtu.be
  • be proactive
  • begin with the end in mind
  • put first things first
  • think win win
  • seek first to understand then be understood
  • synergyse
  • sharpen the saw

[Nodevember] Staying Sane (dot) JS https://www.youtube.com/watch?v=WP8oEhFXhZs&feature=youtu.be
  • how not to go crazy whilst writing JS
  • How it feels to learn JavaScript in 2016 - https://hackernoon.com/how-it-feels-to-learn-javascript-in-2016-d3a717dd577f#.8i5g054y4
  • Developing apps with JavaScript is fun and scary in this day and age. It feels like every application we write will outlive the libraries used to write the app in... and that's not a fun feeling. Sometimes we get the impression that anything written in JavaScript today is so volatile because smart people will come up with smarter ways of solving problems, that will render solutions I write outdated about two minutes after writing it.

Saturday, 3 December 2016

Damo's Podcast Highlights 2016 #48

I subscribe to many podcasts, you can see the list as it was in 2015 here: Developer podcasts v2 but I thought I would start to keep a weekly log of the episodes that I found interesting or useful in some way.

[AWS Podcast] Re:Invent 2016 Day 1-2 Announcements https://soundcloud.com/amazon-web-services-306355661/163-reinvent-2016-day-1-announcements https://soundcloud.com/amazon-web-services-306355661/164-reinvent-announcements-day-2
  • In this special episode Simon summarises all the announcements from Re:Invent 2016 - Day 1-2
  • Athena - search and analyse data in S3
  • Snowmobile - want to move a large amount of data?
  • personal health dashboard
  • DDoS mitigation
  • C# in AWS Lambda
  • AWS Batch
  • AWS CodeBuild - managed build service, only pay for the time you use
  • AWS X-Ray - analyse and debug production, distributed applications, such as those built using a microservices architecture
  • Lambda at edge


[Software Engineering Daily] Microservices with Rafi Schloming https://softwareengineeringdaily.com/2016/11/22/microservices-with-rafi/
  • Microservices are a widely adopted pattern for breaking an application up into pieces that can be well-understood by the individual teams within the company
  • Microservices also allow these individual pieces to be scaled independently and updated in isolation
  • Rafael Schloming, who is building tools for microservices at Datawire

[The Tim Ferriss Show] Tools of Titans: Josh Waitzkin Distilled https://player.fm/series/the-tim-ferriss-show/204-tools-of-titans-josh-waitzkin-distilled
  • Josh has written the book 'the art of learning'
  • Considered a chess prodigy, Josh has perfected learning strategies that can be applied to anything, including his other loves of Brazilian jiu-jitsu (he's a black belt under phenom Marcelo Garcia) and Tai Chi push hands (he's a world champion)
  • These days, he spends his time coaching the world's top athletes and investors, working to revolutionize education, and tackling his new passion for paddle surfing

[O'Reilly Software architecture conference] Reactive architecture, design, and programming with Duncan Devore https://youtu.be/nZ1NucpEyxM
  • What is reactive architecture, design and programming

[Reactive summit 2016] Bla Bla Microservices Bla Bla https://youtu.be/DRK7WYNh6AA
  • Everyone is talking about microservices, but there is more confusion than ever about what the promise of microservices really means and how to deliver on it. In this talk we will explore microservices from first principles, distilling their essence and putting them in their true context: distributed systems
  • Core traits of isolation, single responsibility, autonomy, exclusive state, asynchronous message-passing, and mobility
  • It is in between the microservices that the most interesting and rewarding, but also challenging, problems arise—here we are entering the world of distributed systems
  • Slicing an existing system into various REST services and wiring them back together again with synchronous protocols and traditional enterprise tools—designed for monolithic architectures—will set you up for failure
  • What we need in order to build resilient, elastic, and responsive microservices-based systems is to embrace microservices as systems and re-architect them from the ground up using reactive principles

[JavaScript Jabber] Visual Studio Code with Chris Dias https://devchat.tv/js-jabber/199-jsj-visual-studio-code-with-chris-dias-and-erich-gamma
  • Whats new with VSCode

[Agile for humans] System Thinking and #NoEstimates with Chris Chapman http://ryanripley.com/afh-045-system-thinking-and-noestimates-with-chris-chapman-podcast/
  • How a #NoEstimates mindset brings value to a team
  • What lean thinking can do for executives
  • Coaching techniques for when you’re learning about a team
  • Where we learned about lean and system thinking

[This Agile Life] Trust, Transparency and Truth http://www.thisagilelife.com/119/
  • Presentation recorded at Agile Gravy 2016 - Trust Transparency Truth

[Developer Tea] Addictions https://spec.fm/podcasts/developer-tea/6531
  • How do you use technology?
  • Could we be more intentional in the time we spend with screens?

Sunday, 27 November 2016

Damo's Podcast Highlights 2016 #47

I subscribe to many podcasts, you can see the list as it was in 2015 here: Developer podcasts v2 but I thought I would start to keep a weekly log of the episodes that I found interesting or useful in some way.

[Adventures in Angular] Back end and front end teams versus cross functional teams https://devchat.tv/adv-in-angular/120-aia-back-end-and-front-end-teams-versus-cross-functional-teams
  • Issues and concerns with working on back end/front end teams
  • Measuring success with split and cross-functional teams
  • Benefits of full-stack teams
  • Hiring experts and specialists

[Reactive summit] Monolith to reactive - it's all about architecture https://www.youtube.com/watch?v=ofxbypDz4h8&feature=youtu.be
  • There are plenty of reactive technologies out there, but these are only the building blocks for building reactive systems, using these technologies to build a system does not necessarily make the system reactive. A reactive system will have a fundamentally different architecture to the traditional monolith found in the enterprise.
  • In this presentation we take a hands on look at how the architecture of a system, including the flow of data, the types of communication used, and the way the system is broken down into components, will need to change as you decompose a monolith into a reactive microservice based system.

[Soft Skills Engineering] Attracting Talent https://softskills.audio/2016/11/15/episode-35-attracting-talent-and-quitting-without-burning-bridges/
  • How to attract top talent to your team
  • How to sell the company from a technical perspective

[Agile for Humans] How Project Managers Can Fit on Agile Teams http://ryanripley.com/afh-048-how-project-managers-can-fit-on-agile-teams-podcast/
  • Discussions on how project managers and developers can find common ground on Agile teams

[JavaScript Air] End to End Testing with Julie Ralph http://audio.javascriptair.com/e/014-jsair-end-to-end-testing-with-julie-ralph/
  • End-to-End testing is among the various forms of testing that is critical for the development and quality assurance of your applications. Join us with a subject matter expert to chat about this important part of application development

[Software Engineering Daily] You Are Not A Commodity https://softwareengineeringdaily.com/2016/08/07/you-are-not-a-commodity/
  • Why big companies usually underpay engineers and offer unrewarding work
  • Suggests strategies for engineers looking to escape the role of the commodity developer

[The Tim Ferriss Show] The choice minimal lifestyle, 6 Formulas for More Output and less overwhelm http://fourhourworkweek.com/2008/02/06/the-choice-minimal-lifestyle-6-formulas-for-more-output-and-less-overwhelm/
  1. Set rules for yourself so you can automate as much decision-making as possible
  2. Don’t provoke deliberation before you can take action
  3. Don’t postpone decisions or open “loops,” to use GTD parlance, just to avoid uncomfortable conversations
  4. Learn to make non-fatal or reversible decisions as quickly as possible
  5. Don’t strive for variation—and thus increase option consideration—when it’s not needed. Routine enables innovation where it’s most valuable
  6. Regret is past-tense decision making. Eliminate complaining to minimize regret