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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • “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
  • From a release every 3 months to > 4000 a year

[Developer Tea] How We Spend Our Days Is How We Spend Our Lives
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
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
  • 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
  • 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
  • how not to go crazy whilst writing JS
  • How it feels to learn JavaScript in 2016 -
  • 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
  • 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
  • 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
  • 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
  • What is reactive architecture, design and programming

[Reactive summit 2016] Bla Bla Microservices Bla Bla
  • 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
  • Whats new with VSCode

[Agile for humans] System Thinking and #NoEstimates with Chris Chapman
  • 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
  • Presentation recorded at Agile Gravy 2016 - Trust Transparency Truth

[Developer Tea] Addictions
  • 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
  • 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
  • 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
  • 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
  • Discussions on how project managers and developers can find common ground on Agile teams

[JavaScript Air] 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
  • 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
  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

Sunday, 20 November 2016

Damo's Podcast Highlights 2016 #46

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.

[Toolsday] State of Javascript
  • The abundance of tools in web development

[Hanselminutes] Mob Programming with Woody Zuill
  • You've pair programmed but have you tried Mob Programming? 
  • Woody Zuill and his team "discovered" programming as a group and it changed their whole process. 
  • Woody joins Scott and explains how they stumbled on this, how they refined it, and how Mob Programming may make your programming life better.

[Scrum Master Toolbox Podcast] Successful Agile adoption is about people and their goals
  • Many organisations want to adopt Agile because it supports some part of their world view that existed before Agile was there 
  • In fact we adapt easily to changes that support our world view, so the first question in our mind when joining a new organization should be “why exactly do you think Agile is a good approach for his company?”.

[Cucumber Podcast] How XP Can Improve the Experiences of Female Developers
  • Clare feels many of the difficulties associated with being a minority have subsided since working in an XP environment
  • "My belief is that XP creates a more conducive environment for women and other minorities within the industry. I believe that XP can – and should – pave the way to making the tech industry a more welcoming and attractive place for women."

[Mastering Business Analysis] The Art and Science of Influence
  • Why influence is a key skill for any project professional
  • How to build trust within your organization
  • Why knowing yourself and emotional intelligence are vital to your ability to influence

[Software Engineering Daily] Slack Bots with Amir Shevat
  • The rise of Slack has coincided with the rise of chatbots
  • A chatbot is a simple, conversational interface into a computer program that may have simple functionality, like telling you some simple statistics, or more complex functionality, like helping you manage your continuous integration pipeline

[.NET Rocks] Connect Debrief with Scott Hunter
  • So many amazing things announced at Connect! Important announcements including:
  • new support in Visual Studio for containers
  • cool new integration with SQL Server 2016
  • the on-going evolution of .NET Core and it's tooling

Monday, 14 November 2016

Damo's Podcast Highlights 2016 #45

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.

[Cucumber Podcast] Agile Anarchy
  • The wide adoption of agile has produced practices and tools that help teams communicate and deliver software effectively. But many activities we assume we must use don't add the value we hoped.
  • What happens when you throw out the rulebook and start at zero - will we see a marked improvement or just a Hobbesian mess?

[ThoughtWorks Beacon] Evolutionary Architecture

[Software Engineering Radio] Rebecca Parsons on Evolutionary Architecture
  • The practice of evolutionary software architecture means making decisions as late as possible (last responsible moment) and setting up cross-functional requirements that the architecture has to meet (architectural fitness function)
  • Last responsible moment
  • Architect for testability
  • Postals law
  • Architect for evolveability
  • Conways law

[JavaScript Jabber] Interview with Mads Kristensen from Microsoft Ignite
  • Things that make web development more difficult
  • Creating accessible javascript tools that aren’t immediately outdated

[Software Engineering Daily] Ad Industry with Bob Hoffman
  • Online advertising is heavily affected by a set of delusions and fraudulent practices that few people in the adtech industry have an interest in stopping. This is the curious, perverse nature of the world of online media
  • Some of the online advertising we see fulfills its job, when an ad successfully conveys a meaningful message from a marketer to a consumer
  • But there are reasons to be extremely skeptical of the way that online advertising works

[Software Engineering Daily] Ad Tracking with Larry Furr
  • When you visit a web page, that web page can write data to a file on your computer, known as a cookie. Scripts on that page can also read from your cookie file to understand where you have been in the past. All of this data about you is getting shared between advertising companies like Google, Facebook, and AppNexus.
  • Ghostery is a browser extension that allows you to limit what you share with these online tracking companies. Larry Furr develops products at Ghostery, and on this episode he takes us through the process of how we are tracked through the Internet.
  • We also explore the topic of ad fraud, which is a theme we will continue to explore on SE Daily

[MongoDB Radio] The MEAN Stack with Jason Zucchetto
  • Jason Zucchetto, Product Manager at MongoDB, explains what the MEAN stack is and how it can be leveraged to make GIANT ideas into GIANT realities.

[.NET Rocks!] Data Lakes with Michael Rys
  • Azure Data Lakes - a place to store your data "as is" so that you can easily query and organize the data for further analysis
  • Michael discusses the problems of data warehouses, with their Extract-Transform-Load (ETL) processes that manipulate the data into a particular shape for the warehouse - and make it harder to ask new questions of the data
  • Leave the data as it is in the data lake and then build mechanism to extract on demand for the various data marts you have

Connecting to a mongod instance from a different VM

I've got two CentOS installations running within Virtual Box. I want to run mongodb on one which will be optimised for this purpose, the other for developing and running my node apps.

VM1. CentOS full desktop install as documented here

This is the environment that I'm doing my development, running node etc.

VM2. CentOS minimal install, command line only

I've followed the instructions as documented in my other post to install mongod here.


Now I want to connect from VM1 to the mongod service running in VM2.

First change the network adapter of VM2 away from 'NAT' (the default) to 'Bridged Adapter' this will make this VM a full citizen of the network, it will get its own IP address and can be accessed on it from any other machine on the network.
Next amend the mongod.conf file in /ect/ by adding in the new IP address.

$ ip addr show
1: lo: mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp0s3: mtu 1500 qdisc pfifo_fast state UP qlen 1000
    link/ether 08:00:27:5c:41:9c brd ff:ff:ff:ff:ff:ff
    inet brd scope global dynamic enp0s3
       valid_lft 85748sec preferred_lft 85748sec
    inet6 fe80::a00:27ff:fe5c:419c/64 scope link
       valid_lft forever preferred_lft forever

$ su -c 'vi /etc/mongod.conf'
# Listen to local and LAN interface.
bind_ip =,

This will allow remote access to the service as documented here

once this is done restart the mongod service on VM1 and connect from the remote VM thus:
$ mongo

Sunday, 6 November 2016

Damo's Podcast Highlights 2016 #44

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] ChatOps with Jason Hand
  • Chat bots are your newest co-worker. Slack, HipChat, and other chat clients allow developers and other team members to communicate more dynamically than the limits of email. 
  • Companies have started to add bots to their chat rooms. These bots can give you technical information, restart a server, or notify you that a build has finished.

[Full Stack Radio] Building the Right Thing with BDD
  • What exactly is BDD?
  • Is BDD a technical or non-technical practice?
  • How do you get started with BDD?
  • How do you keep the number of system tests low to keep your test suite fast?
  • What's your strategy for dealing with external services in acceptance tests?
  • What are the advantages of using Cucumber even as a solo developer working on a side project?

[Cucumber Podcast] Mob Programming
  • “All the brilliant people working on the same thing, at the same time, in the same space, and on the same computer.” That’s how Woody Zuill - who coined the term Mob Programming - describes it. He is our esteemed guest on the podcast, and we spend some time digging into his own experiences mobbing.
  • This is a fun episode for folks looking for novel ways to improve the certainty of their software.

[Azure Friday - Channel 9] What's new in Azure DocumentDB?
  • Get up to speed with what documentDb is and what is new

[Microsoft Cloud Show] DocumentDB's recent Improvement
  • New support for MongoDB, 
  • Performance and scale, specifically some new capabilities that the DocumentDB team has added like partitioned collections and planet scale with global databases. 
  • Pricing changes announced in April 2016 
  • Support for automatically expiring data with TTL settings.

[JavaScript Air] (Rerun) The past, present, and future or javascript
  • A rerun of the very first show: Kicking off JavaScript Air with the first guest Brendan Eich (original creator of JavaScript) to talk about the past, present, and future of JavaScript.

[JavaScript Air] JavaScript and the Web Platform with Brendan Eich
  • The history of ad networks and how add tracking works
  • Why this is not a good thing for anyone
  • What can we all do to stop the madness
  • Use the brave browser

[Simple Programmer Podcast] People Don't Take Action
  • Hear good ideas, gotta take action

[AWS Podcast] AWS Quickstarts

[TEDTalks] Your smartphone is a civil rights issue
  • The smartphone you use reflects more than just personal taste ... it could determine how closely you can be tracked, too. 
  • Privacy expert and TED Fellow Christopher Soghoian details a glaring difference between the encryption used on Apple and Android devices and urges us to pay attention to a growing digital security divide. 
  • "If the only people who can protect themselves from the gaze of the government are the rich and powerful, that's a problem," he says. "It's not just a cybersecurity problem — it's a civil rights problem."

Sunday, 30 October 2016

Damo's Podcast Highlights 2016 #43

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 Radio] Barry O’Reilly on Lean Enterprise
  • A lean enterprise is a large organization that manages to keep innovating while keeping its existing products in the market.
  • O’Reilly talks about the idea of scientific experiments and the build-measure-learn loop popularized by the lean-startup method. He shares his experiment of an online wine seller using Twitter. He further discusses the challenges for enterprises trying to do something similar and introduce the three-horizon model, to manage innovative, growing, and new products.
  • As an example of a successful lean enterprise, O’Reilly talks about GOV.UK, the British government’s new website.

[Parent Programming] Episode 1 - Kent C. Dodds
  • Kent talks about what it's like to raise two young kids, going over the highs and lows of parenting.
  • He also mixes in a little bit of "leaky abstraction" humor in regards to figuring out how to work with his children.

[Developer On Fire] The learning mindset with Linda Rising
  • Linda Rising, Kendall Rael, and Dave Rael have a conversation about the pitfalls of talent and the importance of effort and share an empowering message
  • Falling down, getting back up and the frustrations of learning

[Software Engineering Daily] Monitoring Architecture
  • Building a monitoring system is a complex distributed systems problem
  • Events are produced from different points in an application and must be aggregated in order to form metrics
  • These events are often ingested by a time series database, which forms the backbone of the monitoring system

Wednesday, 26 October 2016

Node development on CentOS for .Net devs

I'm about to start a new role which entails Node, Angular, Mongo and linux (CentOS) so ive set about learning the above. Quite a bit of a shift from the previous number of years which have been pretty much exclusively Microsoft and .Net. But im really excited about it and the new learning I need to embark upon. Today it was the turn of getting a CentOS development environment up and running on virtual box with npm, node and webstorm.

Creating the development environment

Install virtual box (5.1 at time of writing)
download the dvd image of centOS (7 at time of writing)

Create a VM of the image,
On software selection i used KDE Plasma with internet tools and 
i used the KDE desktop with internet and KDE applications and development Tools
enable the network
create a user as well as set the super user password

To enable higher resolution
once set up, from the VM menu: device > insert guest additions CD image
this will act as if a cd was inserted into the VM
in the VBOXADDITIONS drive double click and enter your superuser password

Installing npm, node and webstorm

Within a terminal window
su -
yum install epel-release
yum install npm
npm --version
node --version

Download webstorm
Extract the folder to the place you want to install webstorm
double click to install
remember to chose a dark theme ;-)

Create your first hello world node app with express

In a terminal (not as root)
cd /home/username/
mkdir code
cd code
mkdir express01
cd express01

npm init
take all the defaults
npm install express --save

Im not going to go into the the how to create a basic express app to echo something to the console and to the browser, there are so many tutorials about that out there.

Enjoy your new development environment.

Major learnings. I.e. Don't do this at work...

When you enter sudo for the first time you get the apt warning:

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

The first time I created the hello world app from the guide above I used su for everything, including creating the folders and npm init. This resulted in files and folders that i could not write to from webstorm so i tried to fix the permissions with chmod. But I used it very very wrongly and the interwebs advised me to reinstall everything. Which as it happens, this time was not a big deal for me.
So what did i do?
Whilst i was su i think i ran:
chmod 777 /. -R
In powershell .\ is the current directory, I thought ./ would be the same in linux but i did a typo and so i ended up making all the files and folders (on the whole VM) 777 rather than just the new code folders. Apparently this is very hard to fix.
The symptom is you type the command su - you get the error:
su -
su: cannot set groups: Operation not permitted

It can make things rather difficult if you cant get root access anymore.

Should it be this easy to screw your entire VM? or was there actually an easy fix? if you know id love to hear about it.

Sunday, 23 October 2016

Damo's Podcast Highlights 2016 #42

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] DevOps Handbook with Gene Kim
  • The intent of the DevOps movement is to get organizations moving faster and more effectively by breaking down siloes, and improving communication. Gene Kim’s book The Phoenix Project illustrated this by telling the fictional story of a company adopting a DevOps mentality. Although that book was fiction, Gene is an experienced engineer, having worked as founder and CTO of Tripwire, a software company that makes security and compliance automation software.
  • In his new book The DevOps Handbook, Gene presents a practical companion to The Phoenix Project. Together with his co-authors, Gene has written a guide for how to move an organization toward DevOps, and in this episode we explore some of the topics from his book

[Hanselminutes] Orchestrating and automating deployments with Octopus Deploy
  • We first interviewed Paul Stovell a few years back when he started a micro-ISV he was calling "Octopus Deploy." Now it's a fully formed and successful company whose flagship product Octopus Deploy is used all over. Damian Brady joins Scott and explains why deployment is more subtle then you think.

[TEDx] Surprising Lessons From 100 Days of Rejection: Jia Jiang &
  • Jia Jiang knows first-hand how the fear of rejection can hold us back. The tendency to avoid it at all costs can be detrimental to our lives, our careers, our dreams
  • Chasing your dream requires you put everything out there and deal with the consequences. When aspiring entrepreneur Jia Jiang left corporate life to build his dream company, he had no idea it also meant facing crushing rejection. The best way to recover? 100 Days of Rejection Therapy

[CodingBlocks] Clean Code – Writing Meaningful Names
  • In this episode, we take our first dive into the book Clean Code by Robert Martin and specifically we talk about writing meaningful names for all things code related. You’ll be amazed at how following some decent rules that you can start naming things that will help you and fellow coders understand your code at a glance.
  • As always with coding blocks skip skip skip all the news and chit chat to get to the meat of the conversation
  • Lots of good show notes

[YOW! 2015] Adrian Cockcroft - It's Complicated...
  • What does it mean to be complicated?
  • How can we manage complexity when we scale up systems?
  • Why do people find it horrifying when the internal complexity of monolithic apps is replaced by a “death star” diagram of the relationships between microservices?
  • Are many microservices less complicated than one monolith?
  • Why do people expect complex adaptive systems to behave predictably?
  • How does complicated relate to intuitive?
  • How can small fast release processes reduce risk, speed up teams and reduce costs?

[Rocky Mountain Ruby 2016] Kill "Microservices" before its too late by Chad Fowler
  • Keep changing things, even if you don’t need to
  • Microservices make it easier to replace than to change
  • Unit tests are a design smell (tests optimise for permanence, creates coupling)
  • Use metrics instead , esp business metrics. Use alerting around the metrics to perform true testing of the system
  • Small projects vs large projects, success vs failure, stay small, go for impermanence
  • Microservices is not an architecture and small is not the goal, its health longevity
  • Systems that survive are made of components that can change
  • If it hurts do it more often

[Angular Air] 01 ngAir - Hitting the Ground Running with Angular

[Hanselminutes] Infrastructuralism with Truss
  • What is Infrastructuralism and how can it help you think differently about software and large problems? Scott sits down with Everett Harper, CEO of Truss. They talk about how applying some old ideas in new ways helped them fix
  • How we should avoid succumbing to the Black swan theory

Sunday, 16 October 2016

Damo's Podcast Highlights 2016 #41

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] Continuous Delivery with David Rice
  • In order to move software updates from the development team to production, companies do a variety of things. Some teams might email files to each other or use FTP or even floppy disks. Most companies today at least use version control systems like Git together with separate servers for development and production. When code is ready to move to production, a build that is on the development server gets copied over to the production servers, and the production servers begin serving real users.
  • This process is known as deployment, and over the last few decades companies have started deploying more rapidly (even “continuously”), leading to faster iterations and better feedback loops between the software development team and the users of the product. A particularly effective version of this workflow is known as continuous delivery.
  • In today’s episode, David Rice from ThoughtWorks joins the show to give a short history of continuous delivery, and how continuous delivery actually looks in practice.

[StrangeLoop 2011] Simple Made Easy - Rich Hickey
  • 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.

[Telerik] Talking Software Craftmanship with Steve Smith
  • On this episode guests Steve Smith and Sam Basu share their thoughts on software craftsmanship, clean code, and software quality. Are you taking steps to create maintainable, and testable code? Find out what you can do to get started.

[JavaScript Air] Learning and Developing JavaScript with Ashley
[JavaScript Air] Unit Testing JavaScript with Christian Johansen

[Magpie Talk Show] Microservices, cloud and Adrian Cockcroft
  • Few people have done as much to help share the power of the cloud in recent years as Adrian, but he certainly has a career that predates the explosion of Amazon Web Services. In episode 22 of the Magpie Talkshow, he shares is journey so far in the IT industry, from physics to venture capital firm Battery Ventures, with stops at Sun, EBay and Netflix in-between.

[Developer on fire] Jon Skeet - Awesome, Humble, and Human
  • Jon Skeet talks with Dave Rael about community involvement, family and perspective, having outlandish things said about him and the joy of relationships
  • Jon Skeet is a software engineer at Google, working in their London offices. He's best known for his contributions to Stack Overflow and his book "C# in Depth". Jon loves digging into the guts of the language specification, and has an unhealthy fixation with date/time APIs.

[The Cloudcast] Multi-Cloud Serverless Platforms
  • The history of Serverless/Event-Driven/FaaS/Jeff computing, the differences in frameworks in the market, common customer use-cases and the need for multi-cloud platforms.

[Blinkist Podcast] A “How-To-Sleep” Talk with The Sleep Coach – Max Kirsten

Monday, 10 October 2016

Damo's Podcast Highlights 2016 #40

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] Serverless Architecture
  • “Serverless” usually refers to an architectural pattern where the server side logic is run in stateless compute containers that are event-triggered and ephemeral. Mike Roberts has written a series of articles about serverless computing, in which he discusses theories and patterns around serverless architecture.
  • In this episode, Mike and I discuss how to reimagine our software architecture using functions-as-a-service. We go into the costs, benefits, and modern limitations of current serverless platforms like AWS Lambda.

[Developing Up] To get more done as a developer you need a personal task management system
  • In episode two of the Developing Up podcast we cover task management. We discuss the importance of establishing a personal task management system. We then outline the key concepts and methodologies of many systems that we have found helpful ourselves. Finally we discuss the systems we use and how you can build one that works for you.
  • Omnifocus
  • Wunderlist
  • Getting Things Done
  • Pomodoro Technique
  • Personal Kanban

[Software Engineering Daily] Salary Negotiation with Haseeb Qureshi
  • Negotiation is an important skill for software engineers. The salary you negotiate at the beginning of your job could be a difference of tens of thousands of dollars over the course of an engineer’s career, but intimidating recruiters and exploding offers scare many engineers from negotiating at all.
  • Today, Haseeb Qureshi returns to the show to discuss his epic story of salary negotiation. On a previous episode, Haseeb discussed leaving his career as a poker player to join a coding boot camp and start down the path of a software engineer.

[The Tim Ferriss Show] The Art and Science of Learning Anything Faster
  • I explore the tips, tricks, and framework I’ve used to learn just about any skill.
  • This is the meta-skill of meta-learning, or learning how to learn.
  • I’m going to share techniques that can help you — even if you’re sub-par or a rote beginner — take the smartest first steps and use 80/20 analysis to accelerate your progress.
  • This is adapted from The 4-Hour Chef, which is the cookbook that’s not a cookbook — it’s a book on accelerated learning.

[The Tim Ferriss Show] How a Computer Hacker Optimizes Online
  • Samy Kamkar is one of the most innovative and notorious computer hackers in the United States. He’s also a well-known whistleblower. If you want to learn how Samy hacks everything from online dating to car alarms, this episode is for you.
  • He is best known for creating the fastest spreading virus of all time, a MySpace worm named “Samy.” He got raided by the United States Secret Service for that one. More recently, he’s created SkyJack, a custom drone that hacks into any nearby drones, allowing him (or any operator) to control a swarm of devices; and Evercookie, which appeared in top-secret NSA documents revealed by Edward Snowden. He also discovered illicit mobile phone tracking by Apple iPhone, Google Android and Microsoft Windows Phone mobile devices.
  • His research and findings led to a series of class-action lawsuits against these companies and a privacy hearing on Capitol Hill.

Sunday, 2 October 2016

Damo's Podcast Highlights 2016 #39

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.

[Developing Up] Using D.U.M.B goals and S.M.A.R.T goals to grow
  • Goals and goal writing systems
  • Why goals matter for personal and career growth
  • How you can create and write goals using specific goal writing systems
  • How to succeed in your goals
  • S.M.A.R.T Goals
  • D.U.M.B Goals
  • Why SMART goals are Lame

[.NET Rocks!] nServiceBus Update with Udi Dahan
  • SOA, microservices and actors
  • Version 6 of nServiceBus

[Hello Tech Pros] Flight 1549 "Sully" Survivor and Software Architect Ben Bostic on Motivation
  • Life changing events can lead to reflecting on life goals.
  • In survival-mode, your mind filters out things that aren’t helpful.
  • If all your worldly possessions are sinking to the bottom of a river, do you really care?
  • Try to live in the now. Don’t worry about the past or regrets.
  • Have goals and dreams. Focus on building stronger relationships.
  • Get rid of negativity and surround yourself with more positive people.
  • When life flashes before your eyes, will you regret the things you have yet to do?

[Software Engineering Daily] Tech Leadership with Jeff Norris
  • The role of “tech lead” is a combination of a software engineer, a project manager, and an architect

[Soft Skills Engineering] Writing Great Resumes and Pushing Back on Non-Engineering Tasks
  • Do you really need a resume these days?
  • How important is formatting and good design?
  • What content should be on your resume?
  • How and when to push back on non-engineering tasks like powerpoint

[Adventures in Angular] 112 AiA Upgrading from Angular 1.x to Angular 2
  • Should everybody update to Angular 2?
  • Defining migration
  • Is migration worth it?
  • Schedule for rewriting large and small apps
  • Business versus Technology: Rewriting apps
  • Process for migrating from Angular 1 to Angular 2
  • Role of testing in a migration

[Software Engineering Daily] Remote Work with Scott Berkun
  • Thoughts and perspectives on remote work
  • Workplace dynamics

[.NET Rocks!] The Scourge of Multitasking with Ben Day
  • You can't multitask! Carl and Richard talk about the myth and scourge of multitasking, which has been proven again and again to not actually work. Ben talks about how the human brain is not that different from a microcomputer CPU - the context shifts involved in multitasking are expensive, and if you do too much of it, you spend all your time switching contexts, rather than actually getting work done. The conversation digs into all sorts of good discussion around productivity, but first and foremost, it is about getting things done - focus on one task until you're finished, then move on!

Tuesday, 27 September 2016

Damo's Podcast Highlights 2016 #36-38

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.

This is a big catch-up post as I've fallen behind in the last couple of weeks:

[Mastering Business Analysis] Agile Manifesto – What it Means to Business Analysts
  • In this episode, they take a look at the 12 principles of the Agile Manifesto and see what they mean in the context of Business Analysis
  • How to apply each of the 12 principles of the Agile Manifesto to Business Analysis
  • The mindset shift we need to make to be successful in agile environments
  • What you can do to adopt agile practices, even in waterfall environments

[Developer Tea] Deliberate Practice: Part 1
  • Learning About Learning
  • The Role of Deliberate Practice in the Acquisition of Expert Performance (white paper)
  • Code Kata - A Practice Arena for Becoming a Better Programmer

[Developer Tea] Deliberate Practice: Part 2

[The Ruby Rogues] The Evolution of Agile and Evolutionary Design
  • Co-opting Agile and the movement away from technology/software
  • Agile Alliance Technical Conference
  • Agile Fluency Model
  • Evolutionary Design in Agile
  • Technical Practices and Agile Architecture
  • Procrastinate on Purpose
  • Engineering on a Team Level
  • Redesigning Team Responsibilities

[The Ruby Rogues] Software Craftsmanship

[Devnology Podcast] 97 Things Every Programmer Should Know - Kevlin Henney
  • Kevlin shares his thoughts on the software craftmanship movement and states his opinion on the discussion whether our profession is a form of engineering or not.

[Simple Programmer Podcast] What Are The Areas You Should Master In Life?
  • Talking about what are the areas of your life that you MUST master.

[Software Engineering Radio] Kief Morris on Infrastructure as Code
  • Why this concept is becoming increasingly important due to cloud computing. They discuss best practices for writing infrastructure code, including why you should treat your servers as cattle, not pets, as well as how to monitor your cattle.
  • The benefits — security, auditability, testing, documentation, and traceability.
  • How to introduce infrastructure as code to organizations.

[Simple Programmer Podcast] Can You Really Learn Anything In 3 Months?

[Cloud foundary summit] Devops, microservices and platforms, oh my

[Nordic APIs] Microservices Anti-Patterns
  • When microservices are appropriate, and where to draw the lines between services.
  • Dealing with performance issues (data affinity, parallelism, monitoring).
  • Testing and debugging techniques.
  • Managing a polyglot landscape and the explosion of platforms.
  • Managing failure and graceful degradation.
  • If you’re an active programmer, then you’re either building a microservice architecture now, or you’re about to inherit someone else’s. This talk will give you the tools to build yours right, and to quickly identify shortcomings of those you have to work within.

[Talks at Google] Scott Berkun- The Art of Project Management

[Agile Vancouver] Deception and Estimation How We Fool Ourselves - Linda Rising

[Eat Sleep Code Podcast] Better code with functional programming
  • We discuss how functional programming has made its way back into modern development, clean coding, and more.

Saturday, 3 September 2016

Damo's Podcast Highlights 2016 #35

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.

[RunAs Radio] The Science of DevOps
  • Nicole is one of the key people behind the State of DevOps report (published by Puppet).
  • The conversation digs into some of the findings in that report, including the proof that stability and speed are not mutually exclusive - you can bring new features and products to market quickly while keeping your systems stable.

[.NET Rocks!] Feature Toggles
  • The conversation starts out talking about different kinds of features toggles, starting with the classic one that allows you to build features over time, but keep the code in the trunk, just not visible to the users until you're ready.
  • In some cases, that feature toggle because permanent because it is a tool for ops to reduce load on a server at peak times.
  • Toggles are also a strategy for A/B testing of different features, styling and advertising

[Focus 53] What Football Has Taught Me About Business and Life
  • Short memory
  • How to lose
  • How to spot leaders
  • How to be a leader
  • Controlling your emotions
  • Setting, working for, and achieving goals
  • Life isn't always fair.
  • Hard work
  • Knowing who you are
  • Discipline
  • Responsible for yourself
  • Managing time
  • Focusing on what you can control

[Eat Sleep Code Podcast] Six Figure Developer

[Startups For the Rest of Us] Our Favorite Tabletop Games
  • Many games mentioned here, if your into table top games this is worth a listen. They put the games into 3 different categories by age range and difficulty and share some stories on how their families and kids enjoy them.

Tuesday, 30 August 2016

Damo's Podcast Highlights 2016 #34

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.

[RunAs Radio] Building a Blameless Post-Mortem Culture
  • How do you build a blameless post-mortem culture?
  • A methodology embraced by the safest and most reliable organizations - think aircraft safety. Having everyone involved in an incident able to discuss everything they did and saw helps to get a clear picture of the truth. Without that information, it's very hard to make real improvements in our organizations.
  • ChatOps as a strategy to get there, using tools like Slack to let people see the conversations going on and capture the critical information during an incident to address problems.

[Hello Tech Pros] Motivation
  • Neither the carrot or the stick are advantageous. Tap into intrinsic motivations: passion and purpose.
  • Everyone wants to count.
  • It’s important to have a support group around you that believe in your vision.
  • Quit because you don’t like it. Don’t give up if you think you can’t.
  • Convince yourself you MUST follow your dreams.
  • You don’t need to take MASSIVE action, you just need to take some action. Start now rather than later.
  • Get clear on your passion and purpose. What’s your underling emotional benefit for what your going for?

[Troy Hunt] Understanding account enumeration, the video tutorial edition
  • What is account enumeration?
  • How do you protect against it?

[London devops] 18 - London DevOps #18 @ Facebook
  • This is the event that Ruben and I attended back in June
  • Getting Bits from Developers to Users: How we ship
  • Continuous Integration in the Data Center Provisioning Space
  • IoT Project Canned: Let's Use Docker.

[.NET Rocks!] Patterns and Anti-Patterns
  • Developer Habits, good and bad
  • Discussions about anti patterns in software development

[Developer Tea] 3 Things Aspiring Developers Should Be Doing Today
  • Not easy, require effort
  • Eliminate the bottom 20%, remove all activities that do not provide value
    • Focus on the things on the critical path
  • Make one single value statement for the next 6 months 
  • Make learning about yourself a priority

Tuesday, 23 August 2016

Damo's Podcast Highlights 2016 #33

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.

[This Agile Life] Moving from Scrum to Kanban
  • What is Kanban and how does it compare to scrum
  • Scrum vs. Kanban
  • Kanban board
  • WIP limiting
  • Flow of work
  • Pull versus push work-flow

[Developer Tea] Focus
  • how to cultivate focus

[The Static Void Podcast] .NET Core RTM
  • Jeff Fritz from Microsoft joins Jess, Todd, and Chris to talk about .NET Core and we challenge our discussion of .NET Core RTM in the previous episode.

[The School of Greatness with Lewis Howes] 8 Lessons the Olympics taught me about greatness
  1. Vision is the beginning of the journey.
  2. Develop your talent.
  3. Have obsession with your passion.
  4. Don’t try to do it alone – have coaches and a team.
  5. Embrace pain and adversity.
  6. Play for something bigger than yourself.
  7. Understand that all we can do is our very best.
  8. Acknowledge and appreciate your accomplishments.

[The Ruby Rogues] Contempt Culture with Aurynn Shaw

Thursday, 18 August 2016

Damo's Podcast Highlights 2016 #32

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.

[This agile life] The Version One 10th Annual State of Agile™ report. Pt 2.

[Eat Sleep Code] JavaScript Messaging Patterns
  • How to use messaging patterns like RabbitMQ to create scale-able applications.
  • We also learn how messaging promotes asynchronous behavior throughout an application.

[.Net Rocks] Data on DocumentDB with Ryan CrawCour
  • Ryan talks about how DocumentDB provides a fast, scalable place to store objects and write your queries any way you like. You write the rules for how your data partitions between collections, as well as the performance of each of those collections, and you can change them on the fly. More sophisticated than a simple key-value-pair store, but less structured that a relational database, DocumentDB sits in a great spot in your data storage needs. 

[audiobookpodcast.Programming] Software Craftsmanship by Sandro Mancuso
  • video -
  • After over ten years since the Agile summit, software projects are still failing and developers are still behaving and being treated as factory workers. The software development industry is still very amateur when compared to other professions. How can we change this? Why Agile was not sufficient? Why so many clients are unhappy with their software projects? Why is it so difficult to find good developers? Our industry needs more professionalism and that's what Software Craftsmanship brings to the table

[.Net Rocks] Building Multi-Tenant Applications with Paul Stovell
  • What does it take to make an application support multiple customers?
  • As with most things, making multi-tenant apps is more complicated than it seems! Paul talks about making architectural decisions around separation between various customers - do they each get their own database? What about web server and/or app-pool? What about customizations and deployment. Do customers get new features immediately, or do they have the option to wait? How does the cloud impact your decision making? It's a complicated subject with a variety of trade-offs!

[Devnology Podcast] David Anderson - Kanban
  • From the Theory of Constraints to Kanban and the benefits of visualizing the workflow and limiting Work-in-Progress

[OnBooks] Ego Is The Enemy by Ryan Holiday
  • Early in our careers, it impedes learning and the cultivation of talent.
  • With success, it can blind us to our faults and sow future problems.
  • In failure, it magnifies each blow and makes recovery more difficult.

Wednesday, 10 August 2016

Damo's Podcast Highlights 2016 #31

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 radio] James Phillips on Service Discovery with consul
  • what is service discovery and how can consul help?

[Adventures in Angular] New Developer Problems
  • Getting Setup to Develop in Angular 2, how hard should it be? and why does the default quick start contain 40,000+ files?

[Planet Money : NPR] Episode 548: Project Eavesdrop
  • Planet Money's Steve Henn wanted to know just how much someone could learn about him by just sitting back and watching his internet traffic slide by. So he invited a couple hacking experts to bug his internet connection for a week.

[MS Dev Show] .Net Core with Scott Hunter
  • A talk with Scott Hunter about the amazing things going on with .NET core and ASP.NET.

[.NET Rocks!] State of DevOps at DevTeach
  • The conversation focuses first and foremost on culture - the chant of People, Process and Products around DevOps is not accidental, without a commitment in culture, nothing much can happen. 
  • How do we create organizations that are willing to admit failure and make improvements? 
  • Does it always have to come from the top? 
  • How do you get started down the DevOps path?

[Quiet: The Power of Introverts with Susan Cain] Episode 1: The Long runway
  • The first in a 10 part series. Susan Cain introduces you to the neuroscience of introversion and shares tips on how to help quiet kids navigate the world at their own pace.

[Start ups for the rest of us] Ten Lessons Every Startup Founder Should Learn from Bill Walsh
  • From the book ‘The Score Takes Care of Itself: My Philosophy of Leadership.’ by Bill Walsh who was the head coach of the San Francisco 49ers, one of the greatest football coaches of all time.
  1. Everything starts with work ethic.
  2. Blame yourself for poor team performance.
  3. Don’t win by fluke.
  4. Make friends not enemies.
  5. Take pride in your effort as an entity. Separate yourself from the result of that effort.
  6. Demonstrate respect for each person in the organization.
  7. Be deeply committed to learning and teaching.
  8. Demonstrate and prize loyalty.
  9. Know what constitutes greatness for every role.
  10. Control what you can control then let the score take care of itself.

[Blinkist] David Epstein on the Olympics and Why 10,000 Hours Won’t Make You Great

Monday, 1 August 2016

Damo's Podcast Highlights 2016 #30

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.

[The Cognicast] Michael Nygard - The new normal, failure is a good thing
Blog series the new normal
  • "What we need is a new approach where “continuous partial failure” is the normal state of affairs"
  • "Instead of expecting everything to run like clockwork, we should anticipate the opposite. We must embrace failure as a means to build IT infrastructures and organizations that not only withstand threats but profit from them."
  • Everything breaks. It's just a question of when and how badly.

[Scrum Master Toolbox Podcast] Yves Hanoulle - How systems influence individual and team performance

[This Agile Life] You Can’t Handle the Truth
  • Constructive criticism as a gift
  • How have we (the hosts) established safety (trust) on teams?
  • Can we have trust without transparency?
  • Can we have safety without trust?

[This Agile Life] The Version One 10th Annual State of Agile™ report
The team discuss the bottom 10 of the agile techniques employed on page 10 of the 'Version One 10th Annual State of Agile™ report'
Can you be 'Agile' with out TDD, BDD, refactoring, and pairing?

[AudioBookPodcast.Microservices] Daniel Bryant - The Seven Deadly Sins of Microservices
  1. LUST – Using the latest and greatest tech…
  2. GLUTTONY – Excessive communication protocols
  3. GREED – All your service are belong to us…
  4. SLOTH – Creating a distributed monolith
  5. WRATH – Blowing up when bad things happen
  6. ENVY – The shared single domain fallacy
  7. PRIDE – Testing in the world of transience

[Mastering Business Analysis] Addressing Bottlenecks with Theory of Constraints
The Theory of Constraints is an approach to improving organizational performance created by Dr. Eli Goldratt and is explained in his book, The Goal.
  • Step 0: Define the Goal
  • Step 1: Identify the Bottleneck
  • Step 2: Exploit the Bottleneck
  • Step 3: Subordinate Decisions to the Bottleneck
  • Step 4: Elevate the Bottleneck
  • Step 5: Repeat

Sunday, 24 July 2016

Damo's Podcast Highlights 2016 #29

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.

[Mastering Business Analysis 81] David Hussman - User Story Mapping
  • A map is simply a collection of information with orientation
  • User stories aren’t just a pile of things to do. There’s an underlying structure that helps you see the big picture from the customer’s point of view.
  • By organizing the story cards into a map, we can better understand the customer journey and identify small slices of value to deliver.
  • User Story Maps are an arrangement in which story cards from left to right follows people’s interaction with the system and top to bottom to decompose that interaction
[Skills Matter] Dan North - Event storming for fun and profit
[Freakonomics Radio] Is the Internet Being Ruined?
[AudioBookPodcasts.Microservices] Adrian Cockcroft - State of the Art in Microservices
[YouTube] Kent Beck - The Return of the Waterfall
[ASP.NET Monsters - Channel 9] Configuration From Any Source in ASP.NET Core
[SE-Radio 263] Camille Fournier - Real-World Distributed Systems
[Vimeo] Catastrophic Backtracking ‒ When Regular Expressions Explode
  • Limit nested quantifiers
  • Ensure only one way to do the matching
  • Use atomic grouping
  • Use DefaultRegExMatchTimeout in .net apps
  • Always, always consider the failure cases (esp. the almost but not quite matches)