Also, I should have tested it better. :)
In the audio I got the numbers wrong. Doh!
This is episode 238, not 237. Oh well.
I'll still be around, of course, at:
Thanks for all the fun over the last 10 years.
I wish you the best.
Also, I should have tested it better. :)
In the audio I got the numbers wrong. Doh!
This is episode 238, not 237. Oh well.
I'll still be around, of course, at:
Thanks for all the fun over the last 10 years.
I wish you the best.
Also, I should have tested it better. :)
In the audio I got the numbers wrong. Doh!
This is episode 238, not 237. Oh well.
I'll still be around, of course, at:
Thanks for all the fun over the last 10 years.
I wish you the best.
Links:
Links:
Links:
Key topics include
This conversation offers valuable strategies for developers at any skill level to enhance their Git proficiency and optimize their coding workflows.
Links:
Key topics include
This conversation offers valuable strategies for developers at any skill level to enhance their Git proficiency and optimize their coding workflows.
Links:
Key topics include
This conversation offers valuable strategies for developers at any skill level to enhance their Git proficiency and optimize their coding workflows.
Links:
Links:
Links:
Links:
Links:
If you've got other plugins that work well with pytest-metadata, please let me know.
Links:
If you've got other plugins that work well with pytest-metadata, please let me know.
Links:
If you've got other plugins that work well with pytest-metadata, please let me know.
Normally, a test function will fail and stop running with the first failed assert. That's totally fine for tons of kinds of software tests. However, there are times where you'd like to check more than one thing, and you'd really like to know the results of each check, even if one of them fails.
pytest-check allows multiple failed "checks" per test function, so you can see the whole picture of what's going wrong.
Links:
Normally, a test function will fail and stop running with the first failed assert. That's totally fine for tons of kinds of software tests. However, there are times where you'd like to check more than one thing, and you'd really like to know the results of each check, even if one of them fails.
pytest-check allows multiple failed "checks" per test function, so you can see the whole picture of what's going wrong.
Links:
Normally, a test function will fail and stop running with the first failed assert. That's totally fine for tons of kinds of software tests. However, there are times where you'd like to check more than one thing, and you'd really like to know the results of each check, even if one of them fails.
pytest-check allows multiple failed "checks" per test function, so you can see the whole picture of what's going wrong.
Links:
Can AI play a role in creating automated software tests?
Well, yes. But it's a nuanced yes.
Anthony Shaw comes on the show to discuss the topic and try to get AI to write some test for my very own cards project.
We discuss:
Links:
Can AI play a role in creating automated software tests?
Well, yes. But it's a nuanced yes.
Anthony Shaw comes on the show to discuss the topic and try to get AI to write some test for my very own cards project.
We discuss:
Links:
Can AI play a role in creating automated software tests?
Well, yes. But it's a nuanced yes.
Anthony Shaw comes on the show to discuss the topic and try to get AI to write some test for my very own cards project.
We discuss:
Links:
This episode also discusses the attempted April Fools episode.
Links:
This episode also discusses the attempted April Fools episode.
Links:
This episode also discusses the attempted April Fools episode.
Links:
Note: This was an April Fools attempt, so the statement ...
"Unfortunately, it doesn't seem to work with Python 3.14, even though there is no rational reason why it shouldn't work."
... is NOT true.
Listen to the NEXT episode to get an explanation
Links:
Note: This was an April Fools attempt, so the statement ...
"Unfortunately, it doesn't seem to work with Python 3.14, even though there is no rational reason why it shouldn't work."
... is NOT true.
Listen to the NEXT episode to get an explanation
Links:
Note: This was an April Fools attempt, so the statement ...
"Unfortunately, it doesn't seem to work with Python 3.14, even though there is no rational reason why it shouldn't work."
... is NOT true.
Listen to the NEXT episode to get an explanation
Links:
Links:
Links:
Links:
Michael Foord was a pivotal figure in the Python community and the creator of the mock library that's now unittest.mock.
But he did so much more as well.
His contributions continue to resonate within the developer community.
This interview is just a small peek at his influence.
In this episode
python.org has put up an "In memoriam" page for Michael Foord, and many people have shared stories and memories.
Links:
Michael Foord was a pivotal figure in the Python community and the creator of the mock library that's now unittest.mock.
But he did so much more as well.
His contributions continue to resonate within the developer community.
This interview is just a small peek at his influence.
In this episode
python.org has put up an "In memoriam" page for Michael Foord, and many people have shared stories and memories.
Links:
Michael Foord was a pivotal figure in the Python community and the creator of the mock library that's now unittest.mock.
But he did so much more as well.
His contributions continue to resonate within the developer community.
This interview is just a small peek at his influence.
In this episode
python.org has put up an "In memoriam" page for Michael Foord, and many people have shared stories and memories.
Links:
In this episode:
Links:
In this episode:
Links:
In this episode:
Links:
In this episode, we'll discuss:
Links:
Errata:
In this episode, we'll discuss:
Links:
Errata:
In this episode, we'll discuss:
Links:
Errata:
In this episode:
Links:
In this episode:
Links:
In this episode:
Links:
This episode discusses
This episode discusses
This episode discusses
We'll look at: `from . import module` and `from .module import something`
and also: `import package` to access the external API from with the package.
Why would we use `import package` if `from . import api` would work fine?
We'll look at: `from . import module` and `from .module import something`
and also: `import package` to access the external API from with the package.
Why would we use `import package` if `from . import api` would work fine?
We'll look at: `from . import module` and `from .module import something`
and also: `import package` to access the external API from with the package.
Why would we use `import package` if `from . import api` would work fine?
In this episode, we discuss two options:
In this episode, we discuss two options:
In this episode, we discuss two options:
Even if you never get a chance to go to PyCon, I hope this interview helps you get a feel for the welcoming aspect of the Python community.
I recorded this interview as an episode for one of my other podcasts, Python People. But I think it's got some great pre-conference advice, so I'm sharing it here on Python Test as well.
We talk about:
- Juggling at PyCon
- How to get the most out of PyCon
- Watching talks
- Hallway track
- Open spaces
- Lightening talks
- Expo hall / vendor space
- Poster sessions
- Job fair
- A welcoming community
- Tutorials
- Sprints
- But mostly about the people of Python and PyCon.
"Python enables smart people to work faster" - Rob Ludwick
Even if you never get a chance to go to PyCon, I hope this interview helps you get a feel for the welcoming aspect of the Python community.
I recorded this interview as an episode for one of my other podcasts, Python People. But I think it's got some great pre-conference advice, so I'm sharing it here on Python Test as well.
We talk about:
- Juggling at PyCon
- How to get the most out of PyCon
- Watching talks
- Hallway track
- Open spaces
- Lightening talks
- Expo hall / vendor space
- Poster sessions
- Job fair
- A welcoming community
- Tutorials
- Sprints
- But mostly about the people of Python and PyCon.
"Python enables smart people to work faster" - Rob Ludwick
Even if you never get a chance to go to PyCon, I hope this interview helps you get a feel for the welcoming aspect of the Python community.
I recorded this interview as an episode for one of my other podcasts, Python People. But I think it's got some great pre-conference advice, so I'm sharing it here on Python Test as well.
We talk about:
- Juggling at PyCon
- How to get the most out of PyCon
- Watching talks
- Hallway track
- Open spaces
- Lightening talks
- Expo hall / vendor space
- Poster sessions
- Job fair
- A welcoming community
- Tutorials
- Sprints
- But mostly about the people of Python and PyCon.
"Python enables smart people to work faster" - Rob Ludwick
Some of the topics discussed:
Some of the topics discussed:
Some of the topics discussed:
We talk about:
Links:
We talk about:
Links:
We talk about:
Links:
Topics:
BTW.
Links from the show:
Topics:
BTW.
Links from the show:
Topics:
BTW.
Links from the show:
Since uv is the newest tool, there's quite a bit of the discussion diving into uv.
Links:
Since uv is the newest tool, there's quite a bit of the discussion diving into uv.
Links:
Since uv is the newest tool, there's quite a bit of the discussion diving into uv.
Links:
Links from the episode:
Links from the episode:
Links from the episode:
We talk about each of these in this episode.
We talk about each of these in this episode.
We talk about each of these in this episode.
Brian's commentary is saved for a followup episode.
Links:
Brian's commentary is saved for a followup episode.
Links:
Brian's commentary is saved for a followup episode.
Links:
In this episode, we'll talk about:
Plugins discussed:
In this episode, we'll talk about:
Plugins discussed:
In this episode, we'll talk about:
Plugins discussed:
This episode is to talk about this with a an example.
This episode is to talk about this with a an example.
This episode is to talk about this with a an example.
This episode covers:
Also, there's a full writeup and code samples available:
This episode covers:
Also, there's a full writeup and code samples available:
This episode covers:
Also, there's a full writeup and code samples available:
In this episode, we walk through a handful of useful examples of test code without asserts.
We also talk about how these types of tests are a great way to dip your toe into testing.
In this episode, we walk through a handful of useful examples of test code without asserts.
We also talk about how these types of tests are a great way to dip your toe into testing.
In this episode, we walk through a handful of useful examples of test code without asserts.
We also talk about how these types of tests are a great way to dip your toe into testing.
However, software tools and available CI systems have changed quite a bit since then.
Maybe it's time to re-examine the assumptions, practices, processes, and principles of TDD.
At least in the context of my software engineering career, modifications to TDD, at least the version of TDD as it's frequently taught, have been necessary.
This is the start of a series focused on examining TDD and related lightweight practices and processes.
Links from the show:
However, software tools and available CI systems have changed quite a bit since then.
Maybe it's time to re-examine the assumptions, practices, processes, and principles of TDD.
At least in the context of my software engineering career, modifications to TDD, at least the version of TDD as it's frequently taught, have been necessary.
This is the start of a series focused on examining TDD and related lightweight practices and processes.
Links from the show:
However, software tools and available CI systems have changed quite a bit since then.
Maybe it's time to re-examine the assumptions, practices, processes, and principles of TDD.
At least in the context of my software engineering career, modifications to TDD, at least the version of TDD as it's frequently taught, have been necessary.
This is the start of a series focused on examining TDD and related lightweight practices and processes.
Links from the show:
In this episode, we describe:
In this episode, we describe:
In this episode, we describe:
Johanna's book: Free Your Inner Nonfiction Writer
Johanna's book: Free Your Inner Nonfiction Writer
Johanna's book: Free Your Inner Nonfiction Writer
Joe Curley, vice president and general manager of software products and ecosystem, and Arun Gupta, vice president and general manager for open ecosystems, join the show to discuss open source, OneAPI, and open ecosystems at Intel.
Joe Curley, vice president and general manager of software products and ecosystem, and Arun Gupta, vice president and general manager for open ecosystems, join the show to discuss open source, OneAPI, and open ecosystems at Intel.
Joe Curley, vice president and general manager of software products and ecosystem, and Arun Gupta, vice president and general manager for open ecosystems, join the show to discuss open source, OneAPI, and open ecosystems at Intel.
At the top of the towncrier documentation, it says "towncrier is a utility to produce useful, summarized news files (also known as changelogs) for your project."
Towncrier is used by "Twisted, pytest, pip, BuildBot, and attrs, among others."
This is the last of 3 episodes focused on keeping a CHANGELOG.
Episode 200 kicked off the series with keepachangelog.com and Olivier Lacan
In 201 we had Ned Batchelder discussing scriv.
Special Guest: Hynek Schlawack.
Links:
At the top of the towncrier documentation, it says "towncrier is a utility to produce useful, summarized news files (also known as changelogs) for your project."
Towncrier is used by "Twisted, pytest, pip, BuildBot, and attrs, among others."
This is the last of 3 episodes focused on keeping a CHANGELOG.
Episode 200 kicked off the series with keepachangelog.com and Olivier Lacan
In 201 we had Ned Batchelder discussing scriv.
Special Guest: Hynek Schlawack.
Links:
At the top of the towncrier documentation, it says "towncrier is a utility to produce useful, summarized news files (also known as changelogs) for your project."
Towncrier is used by "Twisted, pytest, pip, BuildBot, and attrs, among others."
This is the last of 3 episodes focused on keeping a CHANGELOG.
Episode 200 kicked off the series with keepachangelog.com and Olivier Lacan
In 201 we had Ned Batchelder discussing scriv.
Special Guest: Hynek Schlawack.
Links:
Scriv "is a command-line tool for helping developers maintain useful changelogs. It manages a directory of changelog fragments. It aggregates them into entries in a CHANGELOG file."
Links:
Scriv "is a command-line tool for helping developers maintain useful changelogs. It manages a directory of changelog fragments. It aggregates them into entries in a CHANGELOG file."
Links:
Scriv "is a command-line tool for helping developers maintain useful changelogs. It manages a directory of changelog fragments. It aggregates them into entries in a CHANGELOG file."
Links:
Special Guest: Olivier Lacan.
Links:
Special Guest: Olivier Lacan.
Links:
Special Guest: Olivier Lacan.
Links:
Pamela Fox, a Cloud Advocate for Python at Microsoft, joins the show to help us with that question.
Links:
Pamela Fox, a Cloud Advocate for Python at Microsoft, joins the show to help us with that question.
Links:
Pamela Fox, a Cloud Advocate for Python at Microsoft, joins the show to help us with that question.
Links:
Classifiers are weird.
They were around in setuptools days, and are still here with pyproject.toml.
Brett Cannon joins the show to discuss these wacky bits of metadata.
Here's an example, from pytest-crayons:
[project] ... classifiers = [ "License :: OSI Approved :: MIT License", "Framework :: Pytest" ]Links:
Classifiers are weird.
They were around in setuptools days, and are still here with pyproject.toml.
Brett Cannon joins the show to discuss these wacky bits of metadata.
Here's an example, from pytest-crayons:
[project] ... classifiers = [ "License :: OSI Approved :: MIT License", "Framework :: Pytest" ]Links:
Classifiers are weird.
They were around in setuptools days, and are still here with pyproject.toml.
Brett Cannon joins the show to discuss these wacky bits of metadata.
Here's an example, from pytest-crayons:
[project] ... classifiers = [ "License :: OSI Approved :: MIT License", "Framework :: Pytest" ]Links:
There are problems with supply chain analogy when applied to software.
Thomas Depierre discusses some of those issues in this episode.
Links:
There are problems with supply chain analogy when applied to software.
Thomas Depierre discusses some of those issues in this episode.
Links:
There are problems with supply chain analogy when applied to software.
Thomas Depierre discusses some of those issues in this episode.
Links:
Anthony's list:
Brian's list:
Links:
Anthony's list:
Brian's list:
Links:
Anthony's list:
Brian's list:
Links:
But how good is that software?
How much of common best practices in software development are making it to those writing software in the sciences?
Patrick Mineault has written "The Good Research Code Handbook".
It's a website. It's concise.
And it will put you on the right path to writing better software.
Even if you don't write science based software, and even if you already have a CS degree, there's some good information worth reading.
Special Guest: Patrick Mineault.
Links:
But how good is that software?
How much of common best practices in software development are making it to those writing software in the sciences?
Patrick Mineault has written "The Good Research Code Handbook".
It's a website. It's concise.
And it will put you on the right path to writing better software.
Even if you don't write science based software, and even if you already have a CS degree, there's some good information worth reading.
Special Guest: Patrick Mineault.
Links:
But how good is that software?
How much of common best practices in software development are making it to those writing software in the sciences?
Patrick Mineault has written "The Good Research Code Handbook".
It's a website. It's concise.
And it will put you on the right path to writing better software.
Even if you don't write science based software, and even if you already have a CS degree, there's some good information worth reading.
Special Guest: Patrick Mineault.
Links:
Learning to code a game is a way that a lot of people get started and excited about programming.
Of course, I don't recommend Basic. Now we've got Python. And one of the game engines available for Python is PursuedPyBear, a project started by Piper Thunstrom.
Piper joins us this episode and we talk about PursuedPyBear, learning to code, and learning CS concepts with game development.
PursuedPyBear, ppb, is a game framework great for learning with, with goals of being fun, education friendly, an example of idiomatic Python, hardware library agnostic, and built on event driven and object oriented concepts.
Special Guest: Piper Thunstrom.
Links:
Learning to code a game is a way that a lot of people get started and excited about programming.
Of course, I don't recommend Basic. Now we've got Python. And one of the game engines available for Python is PursuedPyBear, a project started by Piper Thunstrom.
Piper joins us this episode and we talk about PursuedPyBear, learning to code, and learning CS concepts with game development.
PursuedPyBear, ppb, is a game framework great for learning with, with goals of being fun, education friendly, an example of idiomatic Python, hardware library agnostic, and built on event driven and object oriented concepts.
Special Guest: Piper Thunstrom.
Links:
Learning to code a game is a way that a lot of people get started and excited about programming.
Of course, I don't recommend Basic. Now we've got Python. And one of the game engines available for Python is PursuedPyBear, a project started by Piper Thunstrom.
Piper joins us this episode and we talk about PursuedPyBear, learning to code, and learning CS concepts with game development.
PursuedPyBear, ppb, is a game framework great for learning with, with goals of being fun, education friendly, an example of idiomatic Python, hardware library agnostic, and built on event driven and object oriented concepts.
Special Guest: Piper Thunstrom.
Links:
Links:
Links:
Links:
PyPy is implemented in Python.
What does that mean?
And how do you test something as huge as an alternative implementation of Python?
Special Guest: Carl Friedrich Bolz-Tereick.
Links:
PyPy is implemented in Python.
What does that mean?
And how do you test something as huge as an alternative implementation of Python?
Special Guest: Carl Friedrich Bolz-Tereick.
Links:
PyPy is implemented in Python.
What does that mean?
And how do you test something as huge as an alternative implementation of Python?
Special Guest: Carl Friedrich Bolz-Tereick.
Links:
The story of attrs and dataclasses is actually intertwined.
They've built on each other.
And in the middle of it all, Hynek.
Hynek joins the show today to discuss some history of attrs and dataclasses, and some differences.
If you ever need to create a custom class in Python, you should listen to this episode.
Links:
The story of attrs and dataclasses is actually intertwined.
They've built on each other.
And in the middle of it all, Hynek.
Hynek joins the show today to discuss some history of attrs and dataclasses, and some differences.
If you ever need to create a custom class in Python, you should listen to this episode.
Links:
The story of attrs and dataclasses is actually intertwined.
They've built on each other.
And in the middle of it all, Hynek.
Hynek joins the show today to discuss some history of attrs and dataclasses, and some differences.
If you ever need to create a custom class in Python, you should listen to this episode.
Links:
Links:
Links:
Links:
Karl Stolley believes it's never too early. Let's hear how he incorporates code quality in his courses.
Our discussion includes:
Karl is also writing a book on WebRTC, so we jump into that a bit too.
Links:
Karl Stolley believes it's never too early. Let's hear how he incorporates code quality in his courses.
Our discussion includes:
Karl is also writing a book on WebRTC, so we jump into that a bit too.
Links:
Karl Stolley believes it's never too early. Let's hear how he incorporates code quality in his courses.
Our discussion includes:
Karl is also writing a book on WebRTC, so we jump into that a bit too.
Links:
Nick Hodges joins the show to discuss the good and the bad of developer and team productivity, including how we can improve productivity.
Nick Hodges joins the show to discuss the good and the bad of developer and team productivity, including how we can improve productivity.
Nick Hodges joins the show to discuss the good and the bad of developer and team productivity, including how we can improve productivity.
Links:
Links:
Links:
Twisted uses a technique that should be usable by other applications, even those using asyncio or other event driven architectures.
Links:
Twisted uses a technique that should be usable by other applications, even those using asyncio or other event driven architectures.
Links:
Twisted uses a technique that should be usable by other applications, even those using asyncio or other event driven architectures.
Links:
Some topics discussed:
Some topics discussed:
Some topics discussed:
No? Neither does Nathan Aschbacher.
So when he started building the team at his company, he decided to do things differently.
Hiring is one of the essential processes for building a great team.
However, it's a high noise, low signal process.
Nathan Aschbacher has a relatively unorthodox tech hiring approach.
He's trying to make it very humane, with a better signal to noise ratio.
Nathan is not intereseted in bizarre interview processes where the interviewer doesn't know anything about the interviewee beforehand, all people are asked the same questions, and people are asked to code on white boards.
Instead, he states "if the goal is to try to figure out if the person can do the work with your team, and your trying to build the team that you are adding this person to, they need to know what the team is like, and determine if they want to be part of the team, and the team needs to know what the person is like and if they would be addititve to the team.
So what's Nathan's process:
We discuss the process, and also:
And of course, there's the story of how Nathan ended up interviewing someone with Zoo experience an no technical experience for a technical role. Of course, it was a misunderstanding of a job requirement around experience with ZooKeeper. But it's a good story.
No? Neither does Nathan Aschbacher.
So when he started building the team at his company, he decided to do things differently.
Hiring is one of the essential processes for building a great team.
However, it's a high noise, low signal process.
Nathan Aschbacher has a relatively unorthodox tech hiring approach.
He's trying to make it very humane, with a better signal to noise ratio.
Nathan is not intereseted in bizarre interview processes where the interviewer doesn't know anything about the interviewee beforehand, all people are asked the same questions, and people are asked to code on white boards.
Instead, he states "if the goal is to try to figure out if the person can do the work with your team, and your trying to build the team that you are adding this person to, they need to know what the team is like, and determine if they want to be part of the team, and the team needs to know what the person is like and if they would be addititve to the team.
So what's Nathan's process:
We discuss the process, and also:
And of course, there's the story of how Nathan ended up interviewing someone with Zoo experience an no technical experience for a technical role. Of course, it was a misunderstanding of a job requirement around experience with ZooKeeper. But it's a good story.
No? Neither does Nathan Aschbacher.
So when he started building the team at his company, he decided to do things differently.
Hiring is one of the essential processes for building a great team.
However, it's a high noise, low signal process.
Nathan Aschbacher has a relatively unorthodox tech hiring approach.
He's trying to make it very humane, with a better signal to noise ratio.
Nathan is not intereseted in bizarre interview processes where the interviewer doesn't know anything about the interviewee beforehand, all people are asked the same questions, and people are asked to code on white boards.
Instead, he states "if the goal is to try to figure out if the person can do the work with your team, and your trying to build the team that you are adding this person to, they need to know what the team is like, and determine if they want to be part of the team, and the team needs to know what the person is like and if they would be addititve to the team.
So what's Nathan's process:
We discuss the process, and also:
And of course, there's the story of how Nathan ended up interviewing someone with Zoo experience an no technical experience for a technical role. Of course, it was a misunderstanding of a job requirement around experience with ZooKeeper. But it's a good story.
Developer experience includes tools and practices to make developers more effective and efficient, and just plain make software development more fun and satisfying.
One of the things I love about this book is that it's not just for Django devs.
I'd guess that about half the book is about topics that all Python developers would find useful, from virtual environments to linters to testing.
But of course, also tons of tips and tools for working with Django.
Links:
Developer experience includes tools and practices to make developers more effective and efficient, and just plain make software development more fun and satisfying.
One of the things I love about this book is that it's not just for Django devs.
I'd guess that about half the book is about topics that all Python developers would find useful, from virtual environments to linters to testing.
But of course, also tons of tips and tools for working with Django.
Links:
Developer experience includes tools and practices to make developers more effective and efficient, and just plain make software development more fun and satisfying.
One of the things I love about this book is that it's not just for Django devs.
I'd guess that about half the book is about topics that all Python developers would find useful, from virtual environments to linters to testing.
But of course, also tons of tips and tools for working with Django.
Links:
I've mentioned Lean TDD on the podcast a few times and even tried to do a quick outline at the end of episode 162.
This episode is a more complete outline, or at least a first draft.
If you feel you've got a good understanding of TDD, and it's working awesome for you, that's great. Keep doing what you're doing. There are no problems.
For me, the normal way TDD is taught just doesn't work. So I'm trying to come up with a spin on some old ideas to make it work for me. I'm hoping it works for you as well.
I'm calling the new thing Lean TDD. It's inspired by decades of experience writing software and influence from dozens of sources, including Pragmatic Programmer, Lean Software Development, Test-Driven Development by Example, and many blog posts and wiki articles.
The main highlights, however, come from the collision of ideas between Lean and TDD and how I've tried to resolve the seemingly opposing processes.
Links:
I've mentioned Lean TDD on the podcast a few times and even tried to do a quick outline at the end of episode 162.
This episode is a more complete outline, or at least a first draft.
If you feel you've got a good understanding of TDD, and it's working awesome for you, that's great. Keep doing what you're doing. There are no problems.
For me, the normal way TDD is taught just doesn't work. So I'm trying to come up with a spin on some old ideas to make it work for me. I'm hoping it works for you as well.
I'm calling the new thing Lean TDD. It's inspired by decades of experience writing software and influence from dozens of sources, including Pragmatic Programmer, Lean Software Development, Test-Driven Development by Example, and many blog posts and wiki articles.
The main highlights, however, come from the collision of ideas between Lean and TDD and how I've tried to resolve the seemingly opposing processes.
Links:
I've mentioned Lean TDD on the podcast a few times and even tried to do a quick outline at the end of episode 162.
This episode is a more complete outline, or at least a first draft.
If you feel you've got a good understanding of TDD, and it's working awesome for you, that's great. Keep doing what you're doing. There are no problems.
For me, the normal way TDD is taught just doesn't work. So I'm trying to come up with a spin on some old ideas to make it work for me. I'm hoping it works for you as well.
I'm calling the new thing Lean TDD. It's inspired by decades of experience writing software and influence from dozens of sources, including Pragmatic Programmer, Lean Software Development, Test-Driven Development by Example, and many blog posts and wiki articles.
The main highlights, however, come from the collision of ideas between Lean and TDD and how I've tried to resolve the seemingly opposing processes.
Links:
This episode discusses the factors.
Sarah's order:
Brian's order:
The episode includes reasons why I've re-ordered them.
Links:
This episode discusses the factors.
Sarah's order:
Brian's order:
The episode includes reasons why I've re-ordered them.
Links:
This episode discusses the factors.
Sarah's order:
Brian's order:
The episode includes reasons why I've re-ordered them.
Links:
Links:
Links:
Links:
Solve a problem with software. Have a nice looking landing page and website. Get paying customers.
Eventually have it make enough revenue so you can turn it into your primary source of income.
There's a lot of software talent out there. We could solve lots of problems.
But going from idea to product to first customer is non-trivial.
Especially as a side hustle.
This episode discusses some of the hurdles from idea to first customer.
Brandon Braner is building Released.sh. It's a cool idea, but it's not done yet.
Brandon and I talk about building side projects:
Special Guest: Brandon Braner.
Links:
Solve a problem with software. Have a nice looking landing page and website. Get paying customers.
Eventually have it make enough revenue so you can turn it into your primary source of income.
There's a lot of software talent out there. We could solve lots of problems.
But going from idea to product to first customer is non-trivial.
Especially as a side hustle.
This episode discusses some of the hurdles from idea to first customer.
Brandon Braner is building Released.sh. It's a cool idea, but it's not done yet.
Brandon and I talk about building side projects:
Special Guest: Brandon Braner.
Links:
Solve a problem with software. Have a nice looking landing page and website. Get paying customers.
Eventually have it make enough revenue so you can turn it into your primary source of income.
There's a lot of software talent out there. We could solve lots of problems.
But going from idea to product to first customer is non-trivial.
Especially as a side hustle.
This episode discusses some of the hurdles from idea to first customer.
Brandon Braner is building Released.sh. It's a cool idea, but it's not done yet.
Brandon and I talk about building side projects:
Special Guest: Brandon Braner.
Links:
Answering these questions are the goals of this episode.
Links:
Answering these questions are the goals of this episode.
Links:
Answering these questions are the goals of this episode.
Links:
Some strict forms of TDD include something like this:
In reality, at least for me, the software development process is way more messy than this, and not so smooth and linear.
Pauls workflow allow you to develop non-linearly, but commit cleanly.
Links:
Some strict forms of TDD include something like this:
In reality, at least for me, the software development process is way more messy than this, and not so smooth and linear.
Pauls workflow allow you to develop non-linearly, but commit cleanly.
Links:
Some strict forms of TDD include something like this:
In reality, at least for me, the software development process is way more messy than this, and not so smooth and linear.
Pauls workflow allow you to develop non-linearly, but commit cleanly.
Links:
unittest is an xUnit style framework. For me, xUnit style frameworks are fatally flawed for software testing.
That's what this episode is about, my opinion of
Links:
unittest is an xUnit style framework. For me, xUnit style frameworks are fatally flawed for software testing.
That's what this episode is about, my opinion of
Links:
unittest is an xUnit style framework. For me, xUnit style frameworks are fatally flawed for software testing.
That's what this episode is about, my opinion of
Links:
Links:
Links:
Links:
Special Guest: Paul Ganssle.
Links:
Special Guest: Paul Ganssle.
Links:
Special Guest: Paul Ganssle.
Links:
Prayson is using pytest for some pretty cool stuff, including:
All with pytest. So cool.
Special Guest: Prayson Daniel.
Links:
Prayson is using pytest for some pretty cool stuff, including:
All with pytest. So cool.
Special Guest: Prayson Daniel.
Links:
Prayson is using pytest for some pretty cool stuff, including:
All with pytest. So cool.
Special Guest: Prayson Daniel.
Links:
Special Guest: Omri Sass.
Special Guest: Omri Sass.
Special Guest: Omri Sass.
Special Guest: Paul Everitt.
Links:
Special Guest: Paul Everitt.
Links:
Special Guest: Paul Everitt.
Links:
In this episode, we cover:
Docs for expectedFailure:
https://docs.python.org/3/library/unittest.html#skipping-tests-and-expected-failures
Some sample code.
unittest only:
unittest with pytest markers:
import unittest import pytest class ExpectedFailureTestCase(unittest.TestCase): @pytest.mark.xfail def test_fail(self): self.assertEqual(1, 0, "broken") @pytest.mark.xfail def test_pass(self): self.assertEqual(1, 1, "not broken")In this episode, we cover:
Docs for expectedFailure:
https://docs.python.org/3/library/unittest.html#skipping-tests-and-expected-failures
Some sample code.
unittest only:
unittest with pytest markers:
import unittest import pytest class ExpectedFailureTestCase(unittest.TestCase): @pytest.mark.xfail def test_fail(self): self.assertEqual(1, 0, "broken") @pytest.mark.xfail def test_pass(self): self.assertEqual(1, 1, "not broken")In this episode, we cover:
Docs for expectedFailure:
https://docs.python.org/3/library/unittest.html#skipping-tests-and-expected-failures
Some sample code.
unittest only:
unittest with pytest markers:
import unittest import pytest class ExpectedFailureTestCase(unittest.TestCase): @pytest.mark.xfail def test_fail(self): self.assertEqual(1, 0, "broken") @pytest.mark.xfail def test_pass(self): self.assertEqual(1, 1, "not broken")The episode covers:
The episode covers:
The episode covers:
pytest includes quite a few command-line flags that are useful for debugging.
We talk about thes flags in this episode.
Flags for selecting which tests to run, in which order, and when to stop:
Flags to control pytest output:
Flags to start a command-line debugger:
This list is also found in Chapter 13 of Python Testing with pytest, 2nd edition.
The chapter is "Debugging Test Failures" and covers way more than just debug flags, while walking through debugging 2 test failures.
Links:
pytest includes quite a few command-line flags that are useful for debugging.
We talk about thes flags in this episode.
Flags for selecting which tests to run, in which order, and when to stop:
Flags to control pytest output:
Flags to start a command-line debugger:
This list is also found in Chapter 13 of Python Testing with pytest, 2nd edition.
The chapter is "Debugging Test Failures" and covers way more than just debug flags, while walking through debugging 2 test failures.
Links:
pytest includes quite a few command-line flags that are useful for debugging.
We talk about thes flags in this episode.
Flags for selecting which tests to run, in which order, and when to stop:
Flags to control pytest output:
Flags to start a command-line debugger:
This list is also found in Chapter 13 of Python Testing with pytest, 2nd edition.
The chapter is "Debugging Test Failures" and covers way more than just debug flags, while walking through debugging 2 test failures.
Links:
You can also use pip to install a package in a local directory.
That's the part I want to jump in and explore with Stéphane Bidoul.
The way pip installs from a local directory is about to change, and the story is fascinating.
Special Guest: Stéphane Bidoul.
Links:
You can also use pip to install a package in a local directory.
That's the part I want to jump in and explore with Stéphane Bidoul.
The way pip installs from a local directory is about to change, and the story is fascinating.
Special Guest: Stéphane Bidoul.
Links:
You can also use pip to install a package in a local directory.
That's the part I want to jump in and explore with Stéphane Bidoul.
The way pip installs from a local directory is about to change, and the story is fascinating.
Special Guest: Stéphane Bidoul.
Links:
In this episode we talk about:
This is definitely an episode I'd like feedback on. Reach out to me for further questions or if I missed some crucial variant of TDD that you know and love.
Links:
In this episode we talk about:
This is definitely an episode I'd like feedback on. Reach out to me for further questions or if I missed some crucial variant of TDD that you know and love.
Links:
In this episode we talk about:
This is definitely an episode I'd like feedback on. Reach out to me for further questions or if I missed some crucial variant of TDD that you know and love.
Links:
I'm going to use the term waste and value in future episodes. I'm using waste in a Lean sense, so we can look at software processes critically, see the value chain, and try to reduce waste.
Lean manufacturing and lean software development caused people to talk about and examine waste and value, even in fields where we didn't really think about waste that much to begin with.
Software is just ones and zeros. Is there waste?
When I delete a file, nothing goes into the landfill.
The mistake I'm making here is confusing the common English definition of waste when what we're talking about is the Lean definition of waste.
This episode tries to clear up the confusion.
Links:
I'm going to use the term waste and value in future episodes. I'm using waste in a Lean sense, so we can look at software processes critically, see the value chain, and try to reduce waste.
Lean manufacturing and lean software development caused people to talk about and examine waste and value, even in fields where we didn't really think about waste that much to begin with.
Software is just ones and zeros. Is there waste?
When I delete a file, nothing goes into the landfill.
The mistake I'm making here is confusing the common English definition of waste when what we're talking about is the Lean definition of waste.
This episode tries to clear up the confusion.
Links:
I'm going to use the term waste and value in future episodes. I'm using waste in a Lean sense, so we can look at software processes critically, see the value chain, and try to reduce waste.
Lean manufacturing and lean software development caused people to talk about and examine waste and value, even in fields where we didn't really think about waste that much to begin with.
Software is just ones and zeros. Is there waste?
When I delete a file, nothing goes into the landfill.
The mistake I'm making here is confusing the common English definition of waste when what we're talking about is the Lean definition of waste.
This episode tries to clear up the confusion.
Links:
We'll get to all of these definitions, and then talk about how it applies to both production code and test code in this episode.
Links:
We'll get to all of these definitions, and then talk about how it applies to both production code and test code in this episode.
Links:
We'll get to all of these definitions, and then talk about how it applies to both production code and test code in this episode.
Links:
In this episode we talk about:
Links:
In this episode we talk about:
Links:
In this episode we talk about:
Links:
All of us that care about developing quality code with the help of testing can learn from each other, regardless of programming language.
Today we step outside our normal Python comfort zone and talk with Gio about TDD in Swift.
Gio Lodi, author of TDD in Swift, joins the show to discuss Test Driven Development, software workflows, bottom up vs top down, rapid feedback, developer vs customer facing tests, and more.
Links:
All of us that care about developing quality code with the help of testing can learn from each other, regardless of programming language.
Today we step outside our normal Python comfort zone and talk with Gio about TDD in Swift.
Gio Lodi, author of TDD in Swift, joins the show to discuss Test Driven Development, software workflows, bottom up vs top down, rapid feedback, developer vs customer facing tests, and more.
Links:
All of us that care about developing quality code with the help of testing can learn from each other, regardless of programming language.
Today we step outside our normal Python comfort zone and talk with Gio about TDD in Swift.
Gio Lodi, author of TDD in Swift, joins the show to discuss Test Driven Development, software workflows, bottom up vs top down, rapid feedback, developer vs customer facing tests, and more.
Links:
Anthony Sottile discusses pre-commit, for using locally by developers, and pre-commit.ci, which can run actions during merge requests.
"Git hook scripts are useful for identifying simple issues before submission to code review. We run our hooks on every commit to automatically point out issues in code such as missing semicolons, trailing whitespace, and debug statements. By pointing these issues out before code review, this allows a code reviewer to focus on the architecture of a change while not wasting time with trivial style nitpicks." - pre-commit.com
"Developers spend a fair chunk of time during their development flow fixing relatively trivial problems in their code. pre-commit.ci both enforces that these issues are discovered, which is opt in for each developer workflow via pre-commit, but also fixes the issues automatically, letting developers focus their time on more valuable problems." - A user of pre-commit.ci
Links:
Anthony Sottile discusses pre-commit, for using locally by developers, and pre-commit.ci, which can run actions during merge requests.
"Git hook scripts are useful for identifying simple issues before submission to code review. We run our hooks on every commit to automatically point out issues in code such as missing semicolons, trailing whitespace, and debug statements. By pointing these issues out before code review, this allows a code reviewer to focus on the architecture of a change while not wasting time with trivial style nitpicks." - pre-commit.com
"Developers spend a fair chunk of time during their development flow fixing relatively trivial problems in their code. pre-commit.ci both enforces that these issues are discovered, which is opt in for each developer workflow via pre-commit, but also fixes the issues automatically, letting developers focus their time on more valuable problems." - A user of pre-commit.ci
Links:
Anthony Sottile discusses pre-commit, for using locally by developers, and pre-commit.ci, which can run actions during merge requests.
"Git hook scripts are useful for identifying simple issues before submission to code review. We run our hooks on every commit to automatically point out issues in code such as missing semicolons, trailing whitespace, and debug statements. By pointing these issues out before code review, this allows a code reviewer to focus on the architecture of a change while not wasting time with trivial style nitpicks." - pre-commit.com
"Developers spend a fair chunk of time during their development flow fixing relatively trivial problems in their code. pre-commit.ci both enforces that these issues are discovered, which is opt in for each developer workflow via pre-commit, but also fixes the issues automatically, letting developers focus their time on more valuable problems." - A user of pre-commit.ci
Links:
But what does all of that mean?
Anthony Sottile is a maintainer of flake8 and has kindly offered to explain it to us.
Links:
But what does all of that mean?
Anthony Sottile is a maintainer of flake8 and has kindly offered to explain it to us.
Links:
But what does all of that mean?
Anthony Sottile is a maintainer of flake8 and has kindly offered to explain it to us.
Links:
They are actually awesome questions to ask during a software project.
We discuss the questions, where they came from, and look at some uses in software.
The questions:
Bonus question that can be swapped out for #1:
Links:
They are actually awesome questions to ask during a software project.
We discuss the questions, where they came from, and look at some uses in software.
The questions:
Bonus question that can be swapped out for #1:
Links:
They are actually awesome questions to ask during a software project.
We discuss the questions, where they came from, and look at some uses in software.
The questions:
Bonus question that can be swapped out for #1:
Links:
In this episode, we talk with Jeff about testing web applications, specifically Django apps, and of course talk about the downsides of database mocking.
Links:
In this episode, we talk with Jeff about testing web applications, specifically Django apps, and of course talk about the downsides of database mocking.
Links:
In this episode, we talk with Jeff about testing web applications, specifically Django apps, and of course talk about the downsides of database mocking.
Links:
Links:
Links:
Links:
Links:
Links:
Links:
What's happening is that I'm playing adventure, which you can pip install thanks to Brandon Rohdes. Adventure is a faithful port to Python 3 from the original 1977 FORTRAN code by Crowther and Woods that lets you explore Colossal Cave, where others have found fortunes in treasure and gold, ...
In this episode, we talk with Brandon Rhodes about this marvelous game.
Links:
What's happening is that I'm playing adventure, which you can pip install thanks to Brandon Rohdes. Adventure is a faithful port to Python 3 from the original 1977 FORTRAN code by Crowther and Woods that lets you explore Colossal Cave, where others have found fortunes in treasure and gold, ...
In this episode, we talk with Brandon Rhodes about this marvelous game.
Links:
What's happening is that I'm playing adventure, which you can pip install thanks to Brandon Rohdes. Adventure is a faithful port to Python 3 from the original 1977 FORTRAN code by Crowther and Woods that lets you explore Colossal Cave, where others have found fortunes in treasure and gold, ...
In this episode, we talk with Brandon Rhodes about this marvelous game.
Links:
Reason for the interview. Rough summary of a twitter conversation:
This diagram is referenced in the show, the Last Week In AWS Newsletter Production Pipeline.
Special Guest: Corey Quinn.
Links:
Reason for the interview. Rough summary of a twitter conversation:
This diagram is referenced in the show, the Last Week In AWS Newsletter Production Pipeline.
Special Guest: Corey Quinn.
Links:
Reason for the interview. Rough summary of a twitter conversation:
This diagram is referenced in the show, the Last Week In AWS Newsletter Production Pipeline.
Special Guest: Corey Quinn.
Links:
Also, a couple followups from last week's episode on using coverage for single file applications.
Links:
Also, a couple followups from last week's episode on using coverage for single file applications.
Links:
Also, a couple followups from last week's episode on using coverage for single file applications.
Links:
This is the topic of this weeks episode, spurred on by a listener question.
The questions:
The example code discussed in the episode: script.py
def foo(): return 5 def main(): x = foo() print(x) if __name__ == '__main__': # pragma: no cover main() ## test code # To test: # pip install pytest # pytest script.py # To test with coverage: # put this file (script.py) in a directory by itself, say foo # then from the parent directory of foo: # pip install pytest-cov # pytest --cov=foo foo/script.py # To show missing lines # pytest --cov=foo --cov-report=term-missing foo/script.py def test_foo(): assert foo() == 5 def test_main(capsys): main() captured = capsys.readouterr() assert captured.out == "5\n"Suggestion by @cfbolz if you need to import pytest:
if __name__ == '__main__': # pragma: no cover main() else: import pytestThis is the topic of this weeks episode, spurred on by a listener question.
The questions:
The example code discussed in the episode: script.py
def foo(): return 5 def main(): x = foo() print(x) if __name__ == '__main__': # pragma: no cover main() ## test code # To test: # pip install pytest # pytest script.py # To test with coverage: # put this file (script.py) in a directory by itself, say foo # then from the parent directory of foo: # pip install pytest-cov # pytest --cov=foo foo/script.py # To show missing lines # pytest --cov=foo --cov-report=term-missing foo/script.py def test_foo(): assert foo() == 5 def test_main(capsys): main() captured = capsys.readouterr() assert captured.out == "5\n"Suggestion by @cfbolz if you need to import pytest:
if __name__ == '__main__': # pragma: no cover main() else: import pytestThis is the topic of this weeks episode, spurred on by a listener question.
The questions:
The example code discussed in the episode: script.py
def foo(): return 5 def main(): x = foo() print(x) if __name__ == '__main__': # pragma: no cover main() ## test code # To test: # pip install pytest # pytest script.py # To test with coverage: # put this file (script.py) in a directory by itself, say foo # then from the parent directory of foo: # pip install pytest-cov # pytest --cov=foo foo/script.py # To show missing lines # pytest --cov=foo --cov-report=term-missing foo/script.py def test_foo(): assert foo() == 5 def test_main(capsys): main() captured = capsys.readouterr() assert captured.out == "5\n"Suggestion by @cfbolz if you need to import pytest:
if __name__ == '__main__': # pragma: no cover main() else: import pytestIn between that is exploratory testing aided by automation tools.
Michael Kennedy joins the show this week to share some of the tools he uses during development and maintenance.
We talk about tools used for semi-automated exploratory testing.
We also talk about some of the other tools and techniques he uses to keep Talk Python Training, Talk Python, and Python Bytes all up and running smoothly.
We talk about:
Links:
In between that is exploratory testing aided by automation tools.
Michael Kennedy joins the show this week to share some of the tools he uses during development and maintenance.
We talk about tools used for semi-automated exploratory testing.
We also talk about some of the other tools and techniques he uses to keep Talk Python Training, Talk Python, and Python Bytes all up and running smoothly.
We talk about:
Links:
In between that is exploratory testing aided by automation tools.
Michael Kennedy joins the show this week to share some of the tools he uses during development and maintenance.
We talk about tools used for semi-automated exploratory testing.
We also talk about some of the other tools and techniques he uses to keep Talk Python Training, Talk Python, and Python Bytes all up and running smoothly.
We talk about:
Links:
Of course we discuss mocking and unittest.mock.
We also discuss:
Micheal was instrumental in the building of testing tools for Python, and continues to be a pragmatic source of honest testing philosopy in a field that has a lot of contradictory information.
Links:
Of course we discuss mocking and unittest.mock.
We also discuss:
Micheal was instrumental in the building of testing tools for Python, and continues to be a pragmatic source of honest testing philosopy in a field that has a lot of contradictory information.
Links:
Of course we discuss mocking and unittest.mock.
We also discuss:
Micheal was instrumental in the building of testing tools for Python, and continues to be a pragmatic source of honest testing philosopy in a field that has a lot of contradictory information.
Links:
Martin and Brian discuss TDD and testing and Martin's experience with testing, TDD, and using it for code involved with scientific research.
We discuss lots of topics around this, including:
Special Guest: Martin Héroux.
Links:
Martin and Brian discuss TDD and testing and Martin's experience with testing, TDD, and using it for code involved with scientific research.
We discuss lots of topics around this, including:
Special Guest: Martin Héroux.
Links:
Martin and Brian discuss TDD and testing and Martin's experience with testing, TDD, and using it for code involved with scientific research.
We discuss lots of topics around this, including:
Special Guest: Martin Héroux.
Links:
Some of what we talk about:
Links:
Some of what we talk about:
Links:
Some of what we talk about:
Links:
Special Guest: Mark Smith.
Links:
Special Guest: Mark Smith.
Links:
Special Guest: Mark Smith.
Links:
Some of the discussion:
Also discussed:
Links:
Some of the discussion:
Also discussed:
Links:
Some of the discussion:
Also discussed:
Links:
Martin works in research and this discussion is about software and testing in scientific research and academia.
Special Guest: Martin Héroux.
Links:
Martin works in research and this discussion is about software and testing in scientific research and academia.
Special Guest: Martin Héroux.
Links:
Martin works in research and this discussion is about software and testing in scientific research and academia.
Special Guest: Martin Héroux.
Links:
We talk a software development and "shift left" where automated tests and quality checks have moved earlier into the software lifecycle.
Special Guests: Nalin Parbhu and Ola Omiyale.
We talk a software development and "shift left" where automated tests and quality checks have moved earlier into the software lifecycle.
Special Guests: Nalin Parbhu and Ola Omiyale.
We talk a software development and "shift left" where automated tests and quality checks have moved earlier into the software lifecycle.
Special Guests: Nalin Parbhu and Ola Omiyale.
Mutation testing is a way to tell you about the quality of your test suite.
Anders Hovmöller wrote mutmut for mutation testing in Python, and can be used with pytest, unittest, and others.
In this episode, Anders explains mutation testing, how mutation testing with mutmut works, and good workflows.
Special Guest: Anders Hovmöller.
Links:
Mutation testing is a way to tell you about the quality of your test suite.
Anders Hovmöller wrote mutmut for mutation testing in Python, and can be used with pytest, unittest, and others.
In this episode, Anders explains mutation testing, how mutation testing with mutmut works, and good workflows.
Special Guest: Anders Hovmöller.
Links:
Mutation testing is a way to tell you about the quality of your test suite.
Anders Hovmöller wrote mutmut for mutation testing in Python, and can be used with pytest, unittest, and others.
In this episode, Anders explains mutation testing, how mutation testing with mutmut works, and good workflows.
Special Guest: Anders Hovmöller.
Links:
We discuss:
Special Guest: Matt Harrison.
Links:
We discuss:
Special Guest: Matt Harrison.
Links:
We discuss:
Special Guest: Matt Harrison.
Links:
Wearable tech also includes one off projects by designers, makers, and hackers and there are more and more people producing tutorials on how to get started. Wearable tech is also a great way to get both kids and adults excited about coding, electronics, and in general, engineering skills.
Sophy Wong is a designer who makes really cool stuff using code, technology, costuming, soldering, and even jewelry techniques to get tech onto the human body.
Sophy joins the show to answer my many questions about getting started safely with wearable tech.
Some of the questions and topics:
Special Guest: Sophy Wong.
Links:
Wearable tech also includes one off projects by designers, makers, and hackers and there are more and more people producing tutorials on how to get started. Wearable tech is also a great way to get both kids and adults excited about coding, electronics, and in general, engineering skills.
Sophy Wong is a designer who makes really cool stuff using code, technology, costuming, soldering, and even jewelry techniques to get tech onto the human body.
Sophy joins the show to answer my many questions about getting started safely with wearable tech.
Some of the questions and topics:
Special Guest: Sophy Wong.
Links:
Wearable tech also includes one off projects by designers, makers, and hackers and there are more and more people producing tutorials on how to get started. Wearable tech is also a great way to get both kids and adults excited about coding, electronics, and in general, engineering skills.
Sophy Wong is a designer who makes really cool stuff using code, technology, costuming, soldering, and even jewelry techniques to get tech onto the human body.
Sophy joins the show to answer my many questions about getting started safely with wearable tech.
Some of the questions and topics:
Special Guest: Sophy Wong.
Links:
Topics include:
Special Guest: Adam Johnson.
Links:
Topics include:
Special Guest: Adam Johnson.
Links:
Topics include:
Special Guest: Adam Johnson.
Links:
We talk about:
I really enjoyed this conversation. But I admit that at first, I didn't realize how important this is on all software development. Metrics are front and center in a web app. But what about a service, or an embedded system with no telemetry. It still matters, maybe even more so. Little and big decisions developers face every day that have impact on costs and benefits with respect to customer value and business outcome, even if it's difficult to measure.
Special Guest: Benjamin Harding.
We talk about:
I really enjoyed this conversation. But I admit that at first, I didn't realize how important this is on all software development. Metrics are front and center in a web app. But what about a service, or an embedded system with no telemetry. It still matters, maybe even more so. Little and big decisions developers face every day that have impact on costs and benefits with respect to customer value and business outcome, even if it's difficult to measure.
Special Guest: Benjamin Harding.
We talk about:
I really enjoyed this conversation. But I admit that at first, I didn't realize how important this is on all software development. Metrics are front and center in a web app. But what about a service, or an embedded system with no telemetry. It still matters, maybe even more so. Little and big decisions developers face every day that have impact on costs and benefits with respect to customer value and business outcome, even if it's difficult to measure.
Special Guest: Benjamin Harding.
Hacking can be thought of as tinkering. Taking things apart and putting them back together as an interesting experience. There's always been some of this as part of software culture.
The people at Major League Hacking have taken this to a whole new level, bringing together Tech creators who enjoy playing around with and crating new technology, on campuses, and now in virtual spaces, all over the world.
Jonathon Gottfried, one of the cofounders of Major League Hacking, joins the show to talk about:
Special Guest: Jon Gottfried.
Links:
Hacking can be thought of as tinkering. Taking things apart and putting them back together as an interesting experience. There's always been some of this as part of software culture.
The people at Major League Hacking have taken this to a whole new level, bringing together Tech creators who enjoy playing around with and crating new technology, on campuses, and now in virtual spaces, all over the world.
Jonathon Gottfried, one of the cofounders of Major League Hacking, joins the show to talk about:
Special Guest: Jon Gottfried.
Links:
Hacking can be thought of as tinkering. Taking things apart and putting them back together as an interesting experience. There's always been some of this as part of software culture.
The people at Major League Hacking have taken this to a whole new level, bringing together Tech creators who enjoy playing around with and crating new technology, on campuses, and now in virtual spaces, all over the world.
Jonathon Gottfried, one of the cofounders of Major League Hacking, joins the show to talk about:
Special Guest: Jon Gottfried.
Links:
Anna-Lena joins the podcast to teach us about mocks and using unittest.mock objects during testing.
We discuss:
Special Guest: Anna-Lena Popkes.
Links:
Anna-Lena joins the podcast to teach us about mocks and using unittest.mock objects during testing.
We discuss:
Special Guest: Anna-Lena Popkes.
Links:
Anna-Lena joins the podcast to teach us about mocks and using unittest.mock objects during testing.
We discuss:
Special Guest: Anna-Lena Popkes.
Links:
Links:
Links:
Links:
Brian Skinn initially noticed that on Windows cmd, a space was added between a prefix defined by --prompt and the rest of the prompt, whereas on bash no space was added.
For reference, there were/are three nominal virtualenv prompt modification behaviors, all of which apply to the prompt changes that are made at the time of virtualenv activation:
Special Guest: Brian Skinn.
Links:
Brian Skinn initially noticed that on Windows cmd, a space was added between a prefix defined by --prompt and the rest of the prompt, whereas on bash no space was added.
For reference, there were/are three nominal virtualenv prompt modification behaviors, all of which apply to the prompt changes that are made at the time of virtualenv activation:
Special Guest: Brian Skinn.
Links:
Brian Skinn initially noticed that on Windows cmd, a space was added between a prefix defined by --prompt and the rest of the prompt, whereas on bash no space was added.
For reference, there were/are three nominal virtualenv prompt modification behaviors, all of which apply to the prompt changes that are made at the time of virtualenv activation:
Special Guest: Brian Skinn.
Links:
Specific Questions people asked:
We also talk about:
Some of the resulting testing strategies:
Special Guest: David Lord.
Specific Questions people asked:
We also talk about:
Some of the resulting testing strategies:
Special Guest: David Lord.
Specific Questions people asked:
We also talk about:
Some of the resulting testing strategies:
Special Guest: David Lord.
However, system state often gets in the way and order dependence can creep into a test suite.
One way to fight against order dependence is to randomize test order, and with pytest, we recommend the plugin pytest-randomly to do that for you.
The developer that started pytest-randomly and continues to support it is Adam Johnson, who joins us today to discuss pytest-randomly and another plugin he also wrote, called pytest-reverse.
Special Guest: Adam Johnson.
Links:
However, system state often gets in the way and order dependence can creep into a test suite.
One way to fight against order dependence is to randomize test order, and with pytest, we recommend the plugin pytest-randomly to do that for you.
The developer that started pytest-randomly and continues to support it is Adam Johnson, who joins us today to discuss pytest-randomly and another plugin he also wrote, called pytest-reverse.
Special Guest: Adam Johnson.
Links:
However, system state often gets in the way and order dependence can creep into a test suite.
One way to fight against order dependence is to randomize test order, and with pytest, we recommend the plugin pytest-randomly to do that for you.
The developer that started pytest-randomly and continues to support it is Adam Johnson, who joins us today to discuss pytest-randomly and another plugin he also wrote, called pytest-reverse.
Special Guest: Adam Johnson.
Links:
Julian Sequeira, of PyBites fame, has been working from home for about a year.
Reuven Lerner, an amazing Python trainer, has been working from home for much longer.
We originally had a big list of WFH topics. But we had so much fun with the tips and tricks part, that that's pretty much the whole episode.
But there's lots of great tips and tricks, so I'm glad we focused on that.
Special Guests: Julian Sequeira and Reuven Lerner.
Links:
Julian Sequeira, of PyBites fame, has been working from home for about a year.
Reuven Lerner, an amazing Python trainer, has been working from home for much longer.
We originally had a big list of WFH topics. But we had so much fun with the tips and tricks part, that that's pretty much the whole episode.
But there's lots of great tips and tricks, so I'm glad we focused on that.
Special Guests: Julian Sequeira and Reuven Lerner.
Links:
Julian Sequeira, of PyBites fame, has been working from home for about a year.
Reuven Lerner, an amazing Python trainer, has been working from home for much longer.
We originally had a big list of WFH topics. But we had so much fun with the tips and tricks part, that that's pretty much the whole episode.
But there's lots of great tips and tricks, so I'm glad we focused on that.
Special Guests: Julian Sequeira and Reuven Lerner.
Links:
Joel joins the show this week to talk about data science, software engineering, and even Fizz Buzz.
Topics include:
Special Guest: Joel Grus.
Links:
Joel joins the show this week to talk about data science, software engineering, and even Fizz Buzz.
Topics include:
Special Guest: Joel Grus.
Links:
Joel joins the show this week to talk about data science, software engineering, and even Fizz Buzz.
Topics include:
Special Guest: Joel Grus.
Links:
And there's lots to be excited about.
Anthony Sottile joins the show to discuss features, improvements, documentation updates and more.
Full release notes / changelog
Some of what we talk about:
Special Guest: Anthony Sottile.
Links:
And there's lots to be excited about.
Anthony Sottile joins the show to discuss features, improvements, documentation updates and more.
Full release notes / changelog
Some of what we talk about:
Special Guest: Anthony Sottile.
Links:
And there's lots to be excited about.
Anthony Sottile joins the show to discuss features, improvements, documentation updates and more.
Full release notes / changelog
Some of what we talk about:
Special Guest: Anthony Sottile.
Links:
Often, when you run pip, especially the first time in a new virtual environment, you will see something like:
WARNING: You are using pip version 20.1.1; however, version 20.2 is available.You should consider upgrading via the 'python -m pip install --upgrade pip' command.
And you should. Because 20.2 has a new dependency resolver.
Get in the habit, until October, of replacing pip install with pip install --use-feature=2020-resolver.
This flag is new in the 20.2 release.
This new pip dependency resolver is the result of a lot of work.
Five of the people involved with this work are joining the show today: Bernard Tyers, Nicole Harris, Paul Moore, Pradyun Gedam, and Tzu-ping Chung.
We talk about:
Special Guests: Bernard Tyers, Nicole Harris, Paul Moore, Pradyun Gedam, and Tzu-ping Chung.
Links:
Often, when you run pip, especially the first time in a new virtual environment, you will see something like:
WARNING: You are using pip version 20.1.1; however, version 20.2 is available.You should consider upgrading via the 'python -m pip install --upgrade pip' command.
And you should. Because 20.2 has a new dependency resolver.
Get in the habit, until October, of replacing pip install with pip install --use-feature=2020-resolver.
This flag is new in the 20.2 release.
This new pip dependency resolver is the result of a lot of work.
Five of the people involved with this work are joining the show today: Bernard Tyers, Nicole Harris, Paul Moore, Pradyun Gedam, and Tzu-ping Chung.
We talk about:
Special Guests: Bernard Tyers, Nicole Harris, Paul Moore, Pradyun Gedam, and Tzu-ping Chung.
Links:
Often, when you run pip, especially the first time in a new virtual environment, you will see something like:
WARNING: You are using pip version 20.1.1; however, version 20.2 is available.You should consider upgrading via the 'python -m pip install --upgrade pip' command.
And you should. Because 20.2 has a new dependency resolver.
Get in the habit, until October, of replacing pip install with pip install --use-feature=2020-resolver.
This flag is new in the 20.2 release.
This new pip dependency resolver is the result of a lot of work.
Five of the people involved with this work are joining the show today: Bernard Tyers, Nicole Harris, Paul Moore, Pradyun Gedam, and Tzu-ping Chung.
We talk about:
Special Guests: Bernard Tyers, Nicole Harris, Paul Moore, Pradyun Gedam, and Tzu-ping Chung.
Links:
Tania Allard, a Senior Cloud Developer Advocate at Microsoft, joins the show to answer some of my questions regarding setting up a Python project to use Actions.
Some of the topics covered:
Special Guest: Tania Allard.
Links:
Tania Allard, a Senior Cloud Developer Advocate at Microsoft, joins the show to answer some of my questions regarding setting up a Python project to use Actions.
Some of the topics covered:
Special Guest: Tania Allard.
Links:
Tania Allard, a Senior Cloud Developer Advocate at Microsoft, joins the show to answer some of my questions regarding setting up a Python project to use Actions.
Some of the topics covered:
Special Guest: Tania Allard.
Links:
Randall Kanna is on the show today to help us understand how to improve our resumes, and in turn, help us have better careers.
Special Guest: Randall Kanna.
Links:
Randall Kanna is on the show today to help us understand how to improve our resumes, and in turn, help us have better careers.
Special Guest: Randall Kanna.
Links:
Randall Kanna is on the show today to help us understand how to improve our resumes, and in turn, help us have better careers.
Special Guest: Randall Kanna.
Links:
In this episode we talk about:
Special Guest: Len Wanger.
Links:
In this episode we talk about:
Special Guest: Len Wanger.
Links:
In this episode we talk about:
Special Guest: Len Wanger.
Links:
The person behind FastAPI and Typer is Sebastián Ramírez.
Sebastián is on the show today, and we discuss:
Special Guest: Sebastián Ramírez.
Links:
The person behind FastAPI and Typer is Sebastián Ramírez.
Sebastián is on the show today, and we discuss:
Special Guest: Sebastián Ramírez.
Links:
The person behind FastAPI and Typer is Sebastián Ramírez.
Sebastián is on the show today, and we discuss:
Special Guest: Sebastián Ramírez.
Links:
Brett and I talk about some upcoming work on Python packaging, such as:
And then get off on tangents and talk about:
Special Guest: Brett Cannon.
Links:
Brett and I talk about some upcoming work on Python packaging, such as:
And then get off on tangents and talk about:
Special Guest: Brett Cannon.
Links:
Brett and I talk about some upcoming work on Python packaging, such as:
And then get off on tangents and talk about:
Special Guest: Brett Cannon.
Links:
But there's also lots of different opinions about using it.
I've been asked many times what I think about code coverage or test coverage.
This episode is a train of thought brain dump on what I think about code coverage.
We'll talk about:
And also the Pareto Principle or 80/20 rule, and the law of diminishing returns and how that applies (or doesn't) to test coverage.
Links:
But there's also lots of different opinions about using it.
I've been asked many times what I think about code coverage or test coverage.
This episode is a train of thought brain dump on what I think about code coverage.
We'll talk about:
And also the Pareto Principle or 80/20 rule, and the law of diminishing returns and how that applies (or doesn't) to test coverage.
Links:
But there's also lots of different opinions about using it.
I've been asked many times what I think about code coverage or test coverage.
This episode is a train of thought brain dump on what I think about code coverage.
We'll talk about:
And also the Pareto Principle or 80/20 rule, and the law of diminishing returns and how that applies (or doesn't) to test coverage.
Links:
In this episode, Brett and I discuss the Python extension and VS Code, including:
Special Guest: Brett Cannon.
Links:
In this episode, Brett and I discuss the Python extension and VS Code, including:
Special Guest: Brett Cannon.
Links:
In this episode, Brett and I discuss the Python extension and VS Code, including:
Special Guest: Brett Cannon.
Links:
We also discuss fixtures and plugins and other testing tools that work great with pytest
And then our list of pytest plugins:
That last one isn't a plugin, but we also talked about pytest-splinter at the beginning. So I think it still counts as 15.
Special Guest: Michael Kennedy.
Links:
We also discuss fixtures and plugins and other testing tools that work great with pytest
And then our list of pytest plugins:
That last one isn't a plugin, but we also talked about pytest-splinter at the beginning. So I think it still counts as 15.
Special Guest: Michael Kennedy.
Links:
We also discuss fixtures and plugins and other testing tools that work great with pytest
And then our list of pytest plugins:
That last one isn't a plugin, but we also talked about pytest-splinter at the beginning. So I think it still counts as 15.
Special Guest: Michael Kennedy.
Links:
Nina is starting something like the hallway track, online, on twitch, and it's already going, so check out the first episode of Python Tea.
Interesting coincidence is that this episode is kind of like a hallway track discussion between Nina and Brian.
We've had Nina on the show a couple times before, but it's been a while.
In 2018, we talked about Mentoring on episode 44.
In 2019, we talked about giving Memorable Tech Talks in episode 71.
In this episode, we catch up with Nina, find out what she's doing, and talk about a bunch of stuff, including:
Special Guest: Nina Zakharenko.
Links:
Nina is starting something like the hallway track, online, on twitch, and it's already going, so check out the first episode of Python Tea.
Interesting coincidence is that this episode is kind of like a hallway track discussion between Nina and Brian.
We've had Nina on the show a couple times before, but it's been a while.
In 2018, we talked about Mentoring on episode 44.
In 2019, we talked about giving Memorable Tech Talks in episode 71.
In this episode, we catch up with Nina, find out what she's doing, and talk about a bunch of stuff, including:
Special Guest: Nina Zakharenko.
Links:
Nina is starting something like the hallway track, online, on twitch, and it's already going, so check out the first episode of Python Tea.
Interesting coincidence is that this episode is kind of like a hallway track discussion between Nina and Brian.
We've had Nina on the show a couple times before, but it's been a while.
In 2018, we talked about Mentoring on episode 44.
In 2019, we talked about giving Memorable Tech Talks in episode 71.
In this episode, we catch up with Nina, find out what she's doing, and talk about a bunch of stuff, including:
Special Guest: Nina Zakharenko.
Links:
That's a lot of responsibility, and to that end, the PSF Board Directors help out quite a bit.
If you want to be a part of the board, you can. There's an election coming up right around the corner and you gotta get your nomination in by May 31. You can also join the PSF if you want to vote for who gets to be part of the board.
But what does it really mean to be on the Board, and what are some of the things the PSF does?
To help answer those questions, I've got Ewa Jodlowska, the PSF Executive Director, and Christopher Neugebauer, a current board member, on the show today. I've also got some great links in the show notes if we don't answer your questions and you want to find out more.
Special Guests: Christopher Neugebauer and Ewa Jodlowska.
Links:
That's a lot of responsibility, and to that end, the PSF Board Directors help out quite a bit.
If you want to be a part of the board, you can. There's an election coming up right around the corner and you gotta get your nomination in by May 31. You can also join the PSF if you want to vote for who gets to be part of the board.
But what does it really mean to be on the Board, and what are some of the things the PSF does?
To help answer those questions, I've got Ewa Jodlowska, the PSF Executive Director, and Christopher Neugebauer, a current board member, on the show today. I've also got some great links in the show notes if we don't answer your questions and you want to find out more.
Special Guests: Christopher Neugebauer and Ewa Jodlowska.
Links:
That's a lot of responsibility, and to that end, the PSF Board Directors help out quite a bit.
If you want to be a part of the board, you can. There's an election coming up right around the corner and you gotta get your nomination in by May 31. You can also join the PSF if you want to vote for who gets to be part of the board.
But what does it really mean to be on the Board, and what are some of the things the PSF does?
To help answer those questions, I've got Ewa Jodlowska, the PSF Executive Director, and Christopher Neugebauer, a current board member, on the show today. I've also got some great links in the show notes if we don't answer your questions and you want to find out more.
Special Guests: Christopher Neugebauer and Ewa Jodlowska.
Links:
The impacts of technical debt include emotional drain on engineers and slowing down development and can adversely affect your hiring ability and retention.
But really, what is technical debt? Can we measure it? How do we reduce it, and when?
James Smith, the CEO of Bugsnag, joins the show to talk about technical debt and all of these questions.
Special Guest: James Smith.
The impacts of technical debt include emotional drain on engineers and slowing down development and can adversely affect your hiring ability and retention.
But really, what is technical debt? Can we measure it? How do we reduce it, and when?
James Smith, the CEO of Bugsnag, joins the show to talk about technical debt and all of these questions.
Special Guest: James Smith.
The impacts of technical debt include emotional drain on engineers and slowing down development and can adversely affect your hiring ability and retention.
But really, what is technical debt? Can we measure it? How do we reduce it, and when?
James Smith, the CEO of Bugsnag, joins the show to talk about technical debt and all of these questions.
Special Guest: James Smith.
When you are trying to understand why a test is failing, you'll be very grateful to the test author if they've taken the care to make it readable.
David Seddon came up with 6 principles to help us write more readable tests.
We discuss these, as well as more benefits of readable tests.
David's 6 Principles of Readable Tests:
Special Guest: David Seddon.
Links:
When you are trying to understand why a test is failing, you'll be very grateful to the test author if they've taken the care to make it readable.
David Seddon came up with 6 principles to help us write more readable tests.
We discuss these, as well as more benefits of readable tests.
David's 6 Principles of Readable Tests:
Special Guest: David Seddon.
Links:
When you are trying to understand why a test is failing, you'll be very grateful to the test author if they've taken the care to make it readable.
David Seddon came up with 6 principles to help us write more readable tests.
We discuss these, as well as more benefits of readable tests.
David's 6 Principles of Readable Tests:
Special Guest: David Seddon.
Links:
What if you want to keep going, and check more things?
There are a few ways. One of them is subtests.
Python's unittest introduced subtests in Python 3.4.
pytest introduced support for subtests with changes in pytest 4.4 and a plugin, called pytest-subtests.
Subtests are still not really used that much.
But really, what are they? When could you use them?
And more importantly, what should you watch out for if you decide to use them?
That's what Paul Ganssle and I will be talking about today.
Special Guest: Paul Ganssle.
Links:
What if you want to keep going, and check more things?
There are a few ways. One of them is subtests.
Python's unittest introduced subtests in Python 3.4.
pytest introduced support for subtests with changes in pytest 4.4 and a plugin, called pytest-subtests.
Subtests are still not really used that much.
But really, what are they? When could you use them?
And more importantly, what should you watch out for if you decide to use them?
That's what Paul Ganssle and I will be talking about today.
Special Guest: Paul Ganssle.
Links:
What if you want to keep going, and check more things?
There are a few ways. One of them is subtests.
Python's unittest introduced subtests in Python 3.4.
pytest introduced support for subtests with changes in pytest 4.4 and a plugin, called pytest-subtests.
Subtests are still not really used that much.
But really, what are they? When could you use them?
And more importantly, what should you watch out for if you decide to use them?
That's what Paul Ganssle and I will be talking about today.
Special Guest: Paul Ganssle.
Links:
Adam Parkin, who is known online as CodependentCodr, joins us to talk about migrating an existing Django project from unittest to pytest. Adam tells us just how easy this is.
Special Guest: Adam Parkin.
Links:
Adam Parkin, who is known online as CodependentCodr, joins us to talk about migrating an existing Django project from unittest to pytest. Adam tells us just how easy this is.
Special Guest: Adam Parkin.
Links:
Adam Parkin, who is known online as CodependentCodr, joins us to talk about migrating an existing Django project from unittest to pytest. Adam tells us just how easy this is.
Special Guest: Adam Parkin.
Links:
Eric Bergemann joins Brian Okken to discuss:
Special Guest: Eric Bergemann.
Links:
Eric Bergemann joins Brian Okken to discuss:
Special Guest: Eric Bergemann.
Links:
Eric Bergemann joins Brian Okken to discuss:
Special Guest: Eric Bergemann.
Links:
Johnathan Rioux, author of "PySpark in Action", joins the show and gives us a great introduction of Spark and PySpark to help us decide how to get started and decide whether or not to decide if Spark and PySpark are right you.
Special Guest: Jonathan Rioux.
Links:
Johnathan Rioux, author of "PySpark in Action", joins the show and gives us a great introduction of Spark and PySpark to help us decide how to get started and decide whether or not to decide if Spark and PySpark are right you.
Special Guest: Jonathan Rioux.
Links:
Johnathan Rioux, author of "PySpark in Action", joins the show and gives us a great introduction of Spark and PySpark to help us decide how to get started and decide whether or not to decide if Spark and PySpark are right you.
Special Guest: Jonathan Rioux.
Links:
In this episode Alexander Hultnér introduces us to property based testing in Python with Hypothesis.
Some topics covered:
Special Guest: Alexander Hultnér.
Links:
In this episode Alexander Hultnér introduces us to property based testing in Python with Hypothesis.
Some topics covered:
Special Guest: Alexander Hultnér.
Links:
In this episode Alexander Hultnér introduces us to property based testing in Python with Hypothesis.
Some topics covered:
Special Guest: Alexander Hultnér.
Links:
In this episode, Paul Everitt and Brian discuss ways IDEs can encourage testing and make it easier for everyone, including beginners. We discuss features that exist and are great, as well as what is missing.
The conversation also includes topics around being welcoming to new contributors for both open source and professional projects.
We talk about a lot of topics, and it's a lot of fun. But it's also important. Because IDEs can make testing
Some topics discussed:
Special Guest: Paul Everitt.
Links:
In this episode, Paul Everitt and Brian discuss ways IDEs can encourage testing and make it easier for everyone, including beginners. We discuss features that exist and are great, as well as what is missing.
The conversation also includes topics around being welcoming to new contributors for both open source and professional projects.
We talk about a lot of topics, and it's a lot of fun. But it's also important. Because IDEs can make testing
Some topics discussed:
Special Guest: Paul Everitt.
Links:
In this episode, Paul Everitt and Brian discuss ways IDEs can encourage testing and make it easier for everyone, including beginners. We discuss features that exist and are great, as well as what is missing.
The conversation also includes topics around being welcoming to new contributors for both open source and professional projects.
We talk about a lot of topics, and it's a lot of fun. But it's also important. Because IDEs can make testing
Some topics discussed:
Special Guest: Paul Everitt.
Links:
Matt Layman has contributed to Python in many ways, including his educational newsletter, and his Django podcast, Django Riffs.
Matt is also the maintainer of tap.py and pytest-tap, two tools that bring the Test Anything Protocol to Python.
In this episode, Matt and I discuss TAP, it's history, his involvement, and some cool use cases for it.
Special Guest: Matt Layman.
Links:
Matt Layman has contributed to Python in many ways, including his educational newsletter, and his Django podcast, Django Riffs.
Matt is also the maintainer of tap.py and pytest-tap, two tools that bring the Test Anything Protocol to Python.
In this episode, Matt and I discuss TAP, it's history, his involvement, and some cool use cases for it.
Special Guest: Matt Layman.
Links:
Matt Layman has contributed to Python in many ways, including his educational newsletter, and his Django podcast, Django Riffs.
Matt is also the maintainer of tap.py and pytest-tap, two tools that bring the Test Anything Protocol to Python.
In this episode, Matt and I discuss TAP, it's history, his involvement, and some cool use cases for it.
Special Guest: Matt Layman.
Links:
Some of the plugins discussed (we also mention a few plugins related to some on this list):
Honorable mention:
Special Guest: Anthony Sottile.
Links:
Some of the plugins discussed (we also mention a few plugins related to some on this list):
Honorable mention:
Special Guest: Anthony Sottile.
Links:
Some of the plugins discussed (we also mention a few plugins related to some on this list):
Honorable mention:
Special Guest: Anthony Sottile.
Links:
Topics:
Special Guest: Lacey Williams Henschel.
Links:
Topics:
Special Guest: Lacey Williams Henschel.
Links:
Topics:
Special Guest: Lacey Williams Henschel.
Links:
Topics
Links:
]]>Topics
Links:
]]>Topics
Links:
]]>On today's Test & Code, Anthony and I discuss his security plugin, but also application security in general, as well as other security components you need to consider.
Security is something every team needs to think about, whether you are a single person team, a small startup, or a large corporation.
Anthony and I also discuss where to start if it's just a few of you, or even just one of you.
Topics include:
Special Guest: Anthony Shaw.
Links:
On today's Test & Code, Anthony and I discuss his security plugin, but also application security in general, as well as other security components you need to consider.
Security is something every team needs to think about, whether you are a single person team, a small startup, or a large corporation.
Anthony and I also discuss where to start if it's just a few of you, or even just one of you.
Topics include:
Special Guest: Anthony Shaw.
Links:
On today's Test & Code, Anthony and I discuss his security plugin, but also application security in general, as well as other security components you need to consider.
Security is something every team needs to think about, whether you are a single person team, a small startup, or a large corporation.
Anthony and I also discuss where to start if it's just a few of you, or even just one of you.
Topics include:
Special Guest: Anthony Shaw.
Links:
But really what is A/B testing?
That's what we'll find out on this episode with Leemay Nassery.
Special Guest: Leemay Nassery.
But really what is A/B testing?
That's what we'll find out on this episode with Leemay Nassery.
Special Guest: Leemay Nassery.
But really what is A/B testing?
That's what we'll find out on this episode with Leemay Nassery.
Special Guest: Leemay Nassery.
In this episode, I talk with testmon creator Tibor Arpas about testmon, about it's use and how it works.
Special Guest: Tibor Arpas.
Links:
]]>In this episode, I talk with testmon creator Tibor Arpas about testmon, about it's use and how it works.
Special Guest: Tibor Arpas.
Links:
]]>In this episode, I talk with testmon creator Tibor Arpas about testmon, about it's use and how it works.
Special Guest: Tibor Arpas.
Links:
]]>top 10 episodes of 2019
Looking back on the last decade
Some amazing events, like 2 podcasts, a book, a blog, speaking events, and teaching has led me to where we're at now.
Looking forward to 2020 and beyond
I discussed what's in store in the next year and moving forward.
A closing quote
Software is a blast. At least, it should be.
I want everyone to have fun writing software.
Leaning on automated tests is the best way I know to allow me confidence and freedome to:
That's why I promote and teach automated testing.
I hope you had an amazing decade.
And I wish you a productive and fun 2020 and the upcoming decade.
If we work together and help eachother reach new heights, we can achieve some pretty amazing things
Links:
top 10 episodes of 2019
Looking back on the last decade
Some amazing events, like 2 podcasts, a book, a blog, speaking events, and teaching has led me to where we're at now.
Looking forward to 2020 and beyond
I discussed what's in store in the next year and moving forward.
A closing quote
Software is a blast. At least, it should be.
I want everyone to have fun writing software.
Leaning on automated tests is the best way I know to allow me confidence and freedome to:
That's why I promote and teach automated testing.
I hope you had an amazing decade.
And I wish you a productive and fun 2020 and the upcoming decade.
If we work together and help eachother reach new heights, we can achieve some pretty amazing things
Links:
top 10 episodes of 2019
Looking back on the last decade
Some amazing events, like 2 podcasts, a book, a blog, speaking events, and teaching has led me to where we're at now.
Looking forward to 2020 and beyond
I discussed what's in store in the next year and moving forward.
A closing quote
Software is a blast. At least, it should be.
I want everyone to have fun writing software.
Leaning on automated tests is the best way I know to allow me confidence and freedome to:
That's why I promote and teach automated testing.
I hope you had an amazing decade.
And I wish you a productive and fun 2020 and the upcoming decade.
If we work together and help eachother reach new heights, we can achieve some pretty amazing things
Links:
Special Guest: Thomas Eckert.
Links:
]]>Special Guest: Thomas Eckert.
Links:
]]>Special Guest: Thomas Eckert.
Links:
]]>Some of the software in the pipeline can be tested to some extent with traditional testing tools, like pytest.
But what about the data? The data entering the pipeline, and at various stages along the pipeline, should be validated.
That's where pipeline tests come in.
Pipeline tests are applied to data. Pipeline tests help you guard against upstream data changes and monitor data quality.
Abe Gong and Superconductive are building an open source project called Great Expectations. It's a tool to help you build pipeline tests.
This is quite an interesting idea, and I hope it gains traction and takes off.
Special Guest: Abe Gong.
Links:
]]>Some of the software in the pipeline can be tested to some extent with traditional testing tools, like pytest.
But what about the data? The data entering the pipeline, and at various stages along the pipeline, should be validated.
That's where pipeline tests come in.
Pipeline tests are applied to data. Pipeline tests help you guard against upstream data changes and monitor data quality.
Abe Gong and Superconductive are building an open source project called Great Expectations. It's a tool to help you build pipeline tests.
This is quite an interesting idea, and I hope it gains traction and takes off.
Special Guest: Abe Gong.
Links:
]]>Some of the software in the pipeline can be tested to some extent with traditional testing tools, like pytest.
But what about the data? The data entering the pipeline, and at various stages along the pipeline, should be validated.
That's where pipeline tests come in.
Pipeline tests are applied to data. Pipeline tests help you guard against upstream data changes and monitor data quality.
Abe Gong and Superconductive are building an open source project called Great Expectations. It's a tool to help you build pipeline tests.
This is quite an interesting idea, and I hope it gains traction and takes off.
Special Guest: Abe Gong.
Links:
]]>If you get the job, and you enjoy the work, awesome, congratulations.
If you don't get the job, it'd be really great to know why.
Sometimes it isn't because you aren't a skilled engineer.
What other reasons are there?
Well, that's what we're talking about today.
Charity Majors is the cofounder and CTO of Honeycomb.io, and we're going to talk about reasons for not hiring someone.
This is a very informative episode both for people who job hunt in the future and for hiring managers and people on the interview team.
Special Guest: Charity Majors.
Links:
If you get the job, and you enjoy the work, awesome, congratulations.
If you don't get the job, it'd be really great to know why.
Sometimes it isn't because you aren't a skilled engineer.
What other reasons are there?
Well, that's what we're talking about today.
Charity Majors is the cofounder and CTO of Honeycomb.io, and we're going to talk about reasons for not hiring someone.
This is a very informative episode both for people who job hunt in the future and for hiring managers and people on the interview team.
Special Guest: Charity Majors.
Links:
If you get the job, and you enjoy the work, awesome, congratulations.
If you don't get the job, it'd be really great to know why.
Sometimes it isn't because you aren't a skilled engineer.
What other reasons are there?
Well, that's what we're talking about today.
Charity Majors is the cofounder and CTO of Honeycomb.io, and we're going to talk about reasons for not hiring someone.
This is a very informative episode both for people who job hunt in the future and for hiring managers and people on the interview team.
Special Guest: Charity Majors.
Links:
Andy Knight is passionate about software testing, and shares his passion through public speaking, writing on automationpanda.com, teaching as an adjunct professor, and now also through writing a book and organizing a new regional Python conference.
Topics of this episode include:
Special Guest: Andy Knight.
Links:
]]>Andy Knight is passionate about software testing, and shares his passion through public speaking, writing on automationpanda.com, teaching as an adjunct professor, and now also through writing a book and organizing a new regional Python conference.
Topics of this episode include:
Special Guest: Andy Knight.
Links:
]]>Andy Knight is passionate about software testing, and shares his passion through public speaking, writing on automationpanda.com, teaching as an adjunct professor, and now also through writing a book and organizing a new regional Python conference.
Topics of this episode include:
Special Guest: Andy Knight.
Links:
]]>Of course, it's sarcastic, and aims to highlight many problems with organizational practices that reduce software quality.
The article doesn't go out of character, and only promotes the anti-patterns.
However, in this interview, we discuss each point, and the corollary of what you really should do. At least, our perspectives.
Here's the list of all the points discussed in the article and in this episode:
Special Guest: Cristian Medina.
Links:
Of course, it's sarcastic, and aims to highlight many problems with organizational practices that reduce software quality.
The article doesn't go out of character, and only promotes the anti-patterns.
However, in this interview, we discuss each point, and the corollary of what you really should do. At least, our perspectives.
Here's the list of all the points discussed in the article and in this episode:
Special Guest: Cristian Medina.
Links:
Of course, it's sarcastic, and aims to highlight many problems with organizational practices that reduce software quality.
The article doesn't go out of character, and only promotes the anti-patterns.
However, in this interview, we discuss each point, and the corollary of what you really should do. At least, our perspectives.
Here's the list of all the points discussed in the article and in this episode:
Special Guest: Cristian Medina.
Links:
On todays episode, we're going to run through what's new, picking out the bits that I think are the most interesting and affect the most people, including
Not just the big stuff everyone's already talking about. But also some little things that will make programming Python even more fun and easy.
I'm excited about Python 3.8. And really, this episode is to my way to try to get you excited about it too.
Links:
]]>On todays episode, we're going to run through what's new, picking out the bits that I think are the most interesting and affect the most people, including
Not just the big stuff everyone's already talking about. But also some little things that will make programming Python even more fun and easy.
I'm excited about Python 3.8. And really, this episode is to my way to try to get you excited about it too.
Links:
]]>On todays episode, we're going to run through what's new, picking out the bits that I think are the most interesting and affect the most people, including
Not just the big stuff everyone's already talking about. But also some little things that will make programming Python even more fun and easy.
I'm excited about Python 3.8. And really, this episode is to my way to try to get you excited about it too.
Links:
]]>We also talk about parametrized testing and really what is fixture scope and then what is dynamic scope.
Special Guest: Anthony Sottile.
Links:
We also talk about parametrized testing and really what is fixture scope and then what is dynamic scope.
Special Guest: Anthony Sottile.
Links:
We also talk about parametrized testing and really what is fixture scope and then what is dynamic scope.
Special Guest: Anthony Sottile.
Links:
Special Guest: Nicholas Tollervey.
Links:
Special Guest: Nicholas Tollervey.
Links:
Special Guest: Nicholas Tollervey.
Links:
You've built a cool web app or service, and you want to make sure your customers have a great experience.
You know I advocate for utilizing automated tests so you find bugs before your customers do. However, fast development lifecycles, and quickly reacting to customer needs is a good thing, and we all know that complete testing is not possible. That's why I firmly believe that site monitoring tools like logging, crash reporting, performance monitoring, etc are awesome for maintaining and improving user experience.
John-Daniel Trask, JD, the CEO of Raygun, agreed to come on the show and let me ask all my questions about this whole field.
Special Guest: John-Daniel Trask.
]]>You've built a cool web app or service, and you want to make sure your customers have a great experience.
You know I advocate for utilizing automated tests so you find bugs before your customers do. However, fast development lifecycles, and quickly reacting to customer needs is a good thing, and we all know that complete testing is not possible. That's why I firmly believe that site monitoring tools like logging, crash reporting, performance monitoring, etc are awesome for maintaining and improving user experience.
John-Daniel Trask, JD, the CEO of Raygun, agreed to come on the show and let me ask all my questions about this whole field.
Special Guest: John-Daniel Trask.
]]>You've built a cool web app or service, and you want to make sure your customers have a great experience.
You know I advocate for utilizing automated tests so you find bugs before your customers do. However, fast development lifecycles, and quickly reacting to customer needs is a good thing, and we all know that complete testing is not possible. That's why I firmly believe that site monitoring tools like logging, crash reporting, performance monitoring, etc are awesome for maintaining and improving user experience.
John-Daniel Trask, JD, the CEO of Raygun, agreed to come on the show and let me ask all my questions about this whole field.
Special Guest: John-Daniel Trask.
]]>It's actually a handful of features, and there are a few ways to approach it.
Parametrization is the ability to take one test, and send lots of different input datasets into the code under test, and maybe even have different output checks, all within the same test that you developed in the simple test case.
Super powerful, but something since there's a few approaches to it, a tad tricky to get the hang of.
Links:
It's actually a handful of features, and there are a few ways to approach it.
Parametrization is the ability to take one test, and send lots of different input datasets into the code under test, and maybe even have different output checks, all within the same test that you developed in the simple test case.
Super powerful, but something since there's a few approaches to it, a tad tricky to get the hang of.
Links:
It's actually a handful of features, and there are a few ways to approach it.
Parametrization is the ability to take one test, and send lots of different input datasets into the code under test, and maybe even have different output checks, all within the same test that you developed in the simple test case.
Super powerful, but something since there's a few approaches to it, a tad tricky to get the hang of.
Links:
Awesome.
Now your colleagues want in on that super power and want to learn testing.
How do you help them?
That's where Josh Peak is. He's helping his team add testing to their workflow to boost their productivity.
That's what we're talking about today on Test & Code.
Josh walks us through 4 maxims of developing software tests that help grow your confidence and proficiency at test writing.
Special Guest: Josh Peak.
Links:
]]>Awesome.
Now your colleagues want in on that super power and want to learn testing.
How do you help them?
That's where Josh Peak is. He's helping his team add testing to their workflow to boost their productivity.
That's what we're talking about today on Test & Code.
Josh walks us through 4 maxims of developing software tests that help grow your confidence and proficiency at test writing.
Special Guest: Josh Peak.
Links:
]]>Awesome.
Now your colleagues want in on that super power and want to learn testing.
How do you help them?
That's where Josh Peak is. He's helping his team add testing to their workflow to boost their productivity.
That's what we're talking about today on Test & Code.
Josh walks us through 4 maxims of developing software tests that help grow your confidence and proficiency at test writing.
Special Guest: Josh Peak.
Links:
]]>Software test suites grow from small quick suites at the beginning of a project to larger suites as we add tests, and the time to run the suites grows with it.
Fortunately, pytest has many tricks up it's sleave to help shorten those test suite times.
Niklas Meinzer is a software developer that recentely wrote an article on optimizing test suites. In this episode, I talk with Niklas about the optimization techniques discussed in the article and how they can apply to just about any project.
Special Guest: Niklas Meinzer.
Links:
]]>Software test suites grow from small quick suites at the beginning of a project to larger suites as we add tests, and the time to run the suites grows with it.
Fortunately, pytest has many tricks up it's sleave to help shorten those test suite times.
Niklas Meinzer is a software developer that recentely wrote an article on optimizing test suites. In this episode, I talk with Niklas about the optimization techniques discussed in the article and how they can apply to just about any project.
Special Guest: Niklas Meinzer.
Links:
]]>Software test suites grow from small quick suites at the beginning of a project to larger suites as we add tests, and the time to run the suites grows with it.
Fortunately, pytest has many tricks up it's sleave to help shorten those test suite times.
Niklas Meinzer is a software developer that recentely wrote an article on optimizing test suites. In this episode, I talk with Niklas about the optimization techniques discussed in the article and how they can apply to just about any project.
Special Guest: Niklas Meinzer.
Links:
]]>The combination of Python's ease of use and Adafruit's super cool hardware and a focus on a successful beginner experience makes learning to write code that controls hardware super fun.
In this episode, Scott Shawcroft, the project lead, talks about the past, present, and future of CircuitPython, and discusses the focus on the beginner.
We also discuss contributing to the project, testing CircuitPython, and many of the cool projects and hardware boards that can use CircuitPython, and Blinka, a library to allow you to use "CircuitPython APIs for non-CircuitPython versions of Python such as CPython on Linux and MicroPython," including Raspberry Pi.
Special Guest: Scott Shawcroft.
Links:
]]>The combination of Python's ease of use and Adafruit's super cool hardware and a focus on a successful beginner experience makes learning to write code that controls hardware super fun.
In this episode, Scott Shawcroft, the project lead, talks about the past, present, and future of CircuitPython, and discusses the focus on the beginner.
We also discuss contributing to the project, testing CircuitPython, and many of the cool projects and hardware boards that can use CircuitPython, and Blinka, a library to allow you to use "CircuitPython APIs for non-CircuitPython versions of Python such as CPython on Linux and MicroPython," including Raspberry Pi.
Special Guest: Scott Shawcroft.
Links:
]]>The combination of Python's ease of use and Adafruit's super cool hardware and a focus on a successful beginner experience makes learning to write code that controls hardware super fun.
In this episode, Scott Shawcroft, the project lead, talks about the past, present, and future of CircuitPython, and discusses the focus on the beginner.
We also discuss contributing to the project, testing CircuitPython, and many of the cool projects and hardware boards that can use CircuitPython, and Blinka, a library to allow you to use "CircuitPython APIs for non-CircuitPython versions of Python such as CPython on Linux and MicroPython," including Raspberry Pi.
Special Guest: Scott Shawcroft.
Links:
]]>Then came the codechalleng.es platform, where you can do code challenges in the browser and have your answer checked by pytest tests. But how does it all work?
Bob joins me today to go behind the scenes and share the tech stack running the PyBites Code Challenges platform.
We talk about the technology, the testing, and how it went from a cool idea to a working platform.
Special Guest: Bob Belderbos.
Links:
]]>Then came the codechalleng.es platform, where you can do code challenges in the browser and have your answer checked by pytest tests. But how does it all work?
Bob joins me today to go behind the scenes and share the tech stack running the PyBites Code Challenges platform.
We talk about the technology, the testing, and how it went from a cool idea to a working platform.
Special Guest: Bob Belderbos.
Links:
]]>Then came the codechalleng.es platform, where you can do code challenges in the browser and have your answer checked by pytest tests. But how does it all work?
Bob joins me today to go behind the scenes and share the tech stack running the PyBites Code Challenges platform.
We talk about the technology, the testing, and how it went from a cool idea to a working platform.
Special Guest: Bob Belderbos.
Links:
]]>We also discuss Anthony's move from user to contributor, and how others can help with the pytest project.
Special Guest: Anthony Sottile.
Links:
]]>We also discuss Anthony's move from user to contributor, and how others can help with the pytest project.
Special Guest: Anthony Sottile.
Links:
]]>We also discuss Anthony's move from user to contributor, and how others can help with the pytest project.
Special Guest: Anthony Sottile.
Links:
]]>Today's episode is a continuation where we add new features to a supported package and how to develop and test a flit based package.
Covered:
code and command snippets from episode:
For git checkout of versions:
$ git clone https://github.com/okken/submark.git $ cd submark $ python3 -m venv venv --prompt submark $ source ./bin/activate (submark) $ git checkout v0.1 ... etc ... (submark) $ git checkout v0.7To grab the latest again:
(submark) $ git checkout masterpyproject.toml change for README to show up on pypi:
[tool.flit.metadata] ... description-file = "README.md" ...Adding dev dependencies to pyproject.toml:
[tool.flit.metadata.requires-extra] test = ["pytest", "pytest-cov", "tox"]Installing in editable mode (in top level repo directory). works in mac, linux, windows:
(submark) $ flit install --pth-fileor for mac/linux:
(submark) $ flit install -sLinks:
]]>Today's episode is a continuation where we add new features to a supported package and how to develop and test a flit based package.
Covered:
code and command snippets from episode:
For git checkout of versions:
$ git clone https://github.com/okken/submark.git $ cd submark $ python3 -m venv venv --prompt submark $ source ./bin/activate (submark) $ git checkout v0.1 ... etc ... (submark) $ git checkout v0.7To grab the latest again:
(submark) $ git checkout masterpyproject.toml change for README to show up on pypi:
[tool.flit.metadata] ... description-file = "README.md" ...Adding dev dependencies to pyproject.toml:
[tool.flit.metadata.requires-extra] test = ["pytest", "pytest-cov", "tox"]Installing in editable mode (in top level repo directory). works in mac, linux, windows:
(submark) $ flit install --pth-fileor for mac/linux:
(submark) $ flit install -sLinks:
]]>Today's episode is a continuation where we add new features to a supported package and how to develop and test a flit based package.
Covered:
code and command snippets from episode:
For git checkout of versions:
$ git clone https://github.com/okken/submark.git $ cd submark $ python3 -m venv venv --prompt submark $ source ./bin/activate (submark) $ git checkout v0.1 ... etc ... (submark) $ git checkout v0.7To grab the latest again:
(submark) $ git checkout masterpyproject.toml change for README to show up on pypi:
[tool.flit.metadata] ... description-file = "README.md" ...Adding dev dependencies to pyproject.toml:
[tool.flit.metadata.requires-extra] test = ["pytest", "pytest-cov", "tox"]Installing in editable mode (in top level repo directory). works in mac, linux, windows:
(submark) $ flit install --pth-fileor for mac/linux:
(submark) $ flit install -sLinks:
]]>Python makes it easy to build simple tools for all kinds of tasks.
And it's great to be able to share small projects with others on your team, in your company, or with the world.
When you want to take a script from "just a script" to maintainable package, there are a few steps, but none of it's hard.
Also, the structure of the code layout changes to help with the growth and support.
Instead of just talking about this from memory, I thought it'd be fun to create a new project and walk through the steps, and report back in a kind of time lapse episode. It should be fun.
Here are the steps we walk through:
Links:
]]>Python makes it easy to build simple tools for all kinds of tasks.
And it's great to be able to share small projects with others on your team, in your company, or with the world.
When you want to take a script from "just a script" to maintainable package, there are a few steps, but none of it's hard.
Also, the structure of the code layout changes to help with the growth and support.
Instead of just talking about this from memory, I thought it'd be fun to create a new project and walk through the steps, and report back in a kind of time lapse episode. It should be fun.
Here are the steps we walk through:
Links:
]]>Python makes it easy to build simple tools for all kinds of tasks.
And it's great to be able to share small projects with others on your team, in your company, or with the world.
When you want to take a script from "just a script" to maintainable package, there are a few steps, but none of it's hard.
Also, the structure of the code layout changes to help with the growth and support.
Instead of just talking about this from memory, I thought it'd be fun to create a new project and walk through the steps, and report back in a kind of time lapse episode. It should be fun.
Here are the steps we walk through:
Links:
]]>I've ran across a few lateley that I want to address.
All of the following are wrong:
This episode discusses why these are wrong.
Links:
I've ran across a few lateley that I want to address.
All of the following are wrong:
This episode discusses why these are wrong.
Links:
I've ran across a few lateley that I want to address.
All of the following are wrong:
This episode discusses why these are wrong.
Links:
Some developers either don't write tests, or don't like writing tests.
Why not? I love writing tests.
In this episode we examine lots of roadblocks to testing, and start coming up with solutions for these.
Links:
]]>Some developers either don't write tests, or don't like writing tests.
Why not? I love writing tests.
In this episode we examine lots of roadblocks to testing, and start coming up with solutions for these.
Links:
]]>Some developers either don't write tests, or don't like writing tests.
Why not? I love writing tests.
In this episode we examine lots of roadblocks to testing, and start coming up with solutions for these.
Links:
]]>These techniques should apply to all test suites dealing with complex systems:
Links:
These techniques should apply to all test suites dealing with complex systems:
Links:
These techniques should apply to all test suites dealing with complex systems:
Links:
Chris May is a Python developer and the co-founder of PyRVA, the Richmond Virginia Python group.
In this episode, Chris shares his experience with adding testing and TDD to his work flow.
I really enjoyed talking with Chris, and I think his story will help lots of people overcome testing anxiety.
Special Guest: Chris May.
Links:
]]>Chris May is a Python developer and the co-founder of PyRVA, the Richmond Virginia Python group.
In this episode, Chris shares his experience with adding testing and TDD to his work flow.
I really enjoyed talking with Chris, and I think his story will help lots of people overcome testing anxiety.
Special Guest: Chris May.
Links:
]]>Chris May is a Python developer and the co-founder of PyRVA, the Richmond Virginia Python group.
In this episode, Chris shares his experience with adding testing and TDD to his work flow.
I really enjoyed talking with Chris, and I think his story will help lots of people overcome testing anxiety.
Special Guest: Chris May.
Links:
]]>One of the people at the forefront of this push is Alan Page. Alan and his podcast cohost Brent Jensen tried to boil down what modern testing looks like in the Modern Testing Principles.
I've got Alan here today, to talk about the principles, and also to talk about this transition from classical QA to testing specialists being embedded in software teams and then to software teams doing their own testing.
But that only barely scratches the surface of what we cover. I think you'll learn a lot from this discussion.
The seven principles of Modern Testing:
Special Guest: Alan Page.
Links:
]]>One of the people at the forefront of this push is Alan Page. Alan and his podcast cohost Brent Jensen tried to boil down what modern testing looks like in the Modern Testing Principles.
I've got Alan here today, to talk about the principles, and also to talk about this transition from classical QA to testing specialists being embedded in software teams and then to software teams doing their own testing.
But that only barely scratches the surface of what we cover. I think you'll learn a lot from this discussion.
The seven principles of Modern Testing:
Special Guest: Alan Page.
Links:
]]>One of the people at the forefront of this push is Alan Page. Alan and his podcast cohost Brent Jensen tried to boil down what modern testing looks like in the Modern Testing Principles.
I've got Alan here today, to talk about the principles, and also to talk about this transition from classical QA to testing specialists being embedded in software teams and then to software teams doing their own testing.
But that only barely scratches the surface of what we cover. I think you'll learn a lot from this discussion.
The seven principles of Modern Testing:
Special Guest: Alan Page.
Links:
]]>We discuss four aspects of technical interviews that interviewers are looking for:
How to practice for the interview.
Techniques for synchronizing with interviewer and asking for hints.
Even how to ask the recruiter or hiring manager how to prepare for the interview.
If you or anyone you know has a software interview coming up, this episode will help you both feel more comfortable about the interview before you show up, and give you concrete tips on how to do better during the interview.
Special Guest: Derrick Mar.
Links:
]]>We discuss four aspects of technical interviews that interviewers are looking for:
How to practice for the interview.
Techniques for synchronizing with interviewer and asking for hints.
Even how to ask the recruiter or hiring manager how to prepare for the interview.
If you or anyone you know has a software interview coming up, this episode will help you both feel more comfortable about the interview before you show up, and give you concrete tips on how to do better during the interview.
Special Guest: Derrick Mar.
Links:
]]>We discuss four aspects of technical interviews that interviewers are looking for:
How to practice for the interview.
Techniques for synchronizing with interviewer and asking for hints.
Even how to ask the recruiter or hiring manager how to prepare for the interview.
If you or anyone you know has a software interview coming up, this episode will help you both feel more comfortable about the interview before you show up, and give you concrete tips on how to do better during the interview.
Special Guest: Derrick Mar.
]]>She recommends:
Some topics discussed:
This episode is important for anyone going into a technical interview, as a candidate, as a hiring manager, or as a member of an interview team.
Special Guest: April Wensel.
Links:
]]>She recommends:
Some topics discussed:
This episode is important for anyone going into a technical interview, as a candidate, as a hiring manager, or as a member of an interview team.
Special Guest: April Wensel.
Links:
]]>She recommends:
Some topics discussed:
This episode is important for anyone going into a technical interview, as a candidate, as a hiring manager, or as a member of an interview team.
Special Guest: April Wensel.
Links:
]]>Some of what we discuss:
Special Guest: Nina Zakharenko.
Links:
Some of what we discuss:
Special Guest: Nina Zakharenko.
Links:
Some of what we discuss:
Special Guest: Nina Zakharenko.
Links:
Dane is also writing a book to address many of these skill gaps, Code Like a Pro, that's currently in an early access phase. Use code podtest&code19 to get a discount. And, sign up as a Friend of the Show to enter for a chance to win a free copy of the eBook version.
We also discuss the writing process, testing with a multi-language stack, music, art, photography, and more.
Special Guest: Dane Hillard.
Links:
Dane is also writing a book to address many of these skill gaps, Code Like a Pro, that's currently in an early access phase. Use code podtest&code19 to get a discount. And, sign up as a Friend of the Show to enter for a chance to win a free copy of the eBook version.
We also discuss the writing process, testing with a multi-language stack, music, art, photography, and more.
Special Guest: Dane Hillard.
Links:
Dane is also writing a book to address many of these skill gaps, Code Like a Pro, that's currently in an early access phase. Use code podtest&code19 to get a discount. And, sign up as a Friend of the Show to enter for a chance to win a free copy of the eBook version.
We also discuss the writing process, testing with a multi-language stack, music, art, photography, and more.
Special Guest: Dane Hillard.
Links:
The Pragmatic Bookshelf published it's most important book, in my opinion, in 2017 with the first pytest book available from any publisher.
Topics:
Special Guest: Andy Hunt.
]]>The Pragmatic Bookshelf published it's most important book, in my opinion, in 2017 with the first pytest book available from any publisher.
Topics:
Special Guest: Andy Hunt.
]]>The Pragmatic Bookshelf published it's most important book, in my opinion, in 2017 with the first pytest book available from any publisher.
Topics:
Special Guest: Andy Hunt.
]]>What's it feel like to actually do this?
Well, Thomas Deniffel has been using it since about a month after that article came out.
In this episode, we'll hear from Thomas about his experience with it.
It's a fascinating idea. Have a listen and let me know what you think.
Special Guest: Thomas Deniffel.
Links:
What's it feel like to actually do this?
Well, Thomas Deniffel has been using it since about a month after that article came out.
In this episode, we'll hear from Thomas about his experience with it.
It's a fascinating idea. Have a listen and let me know what you think.
Special Guest: Thomas Deniffel.
Links:
What's it feel like to actually do this?
Well, Thomas Deniffel has been using it since about a month after that article came out.
In this episode, we'll hear from Thomas about his experience with it.
It's a fascinating idea. Have a listen and let me know what you think.
Special Guest: Thomas Deniffel.
Links:
I love that they include physical computing right from the start, and everything else they are doing.
It's a fun interview.
Special Guests: Kelly Paredes and Sean Tibor.
Links:
]]>I love that they include physical computing right from the start, and everything else they are doing.
It's a fun interview.
Special Guests: Kelly Paredes and Sean Tibor.
Links:
]]>I love that they include physical computing right from the start, and everything else they are doing.
It's a fun interview.
Special Guests: Kelly Paredes and Sean Tibor.
Links:
]]>I think it turned out well, and I wanted to share it with you here, with Phil's permission, of course.
Special Guest: Phil Burgess.
Links:
]]>I think it turned out well, and I wanted to share it with you here, with Phil's permission, of course.
Special Guest: Phil Burgess.
Links:
]]>I think it turned out well, and I wanted to share it with you here, with Phil's permission, of course.
Special Guest: Phil Burgess.
Links:
]]>Where did this recommendation even come from? What are the reasons?
What are the downsides to both perspectives?
That's what we're going to talk about today.
Links:
Where did this recommendation even come from? What are the reasons?
What are the downsides to both perspectives?
That's what we're going to talk about today.
Links:
Where did this recommendation even come from? What are the reasons?
What are the downsides to both perspectives?
That's what we're going to talk about today.
Links:
By "get the most" I mean:
I want you to start (or continue) studying and practicing your skills.
But not just random practice, I've got a strategy to help you focus what to study.
Why am I talking about this now? Here's some background on how I re-learned how to have fun with code refactoring through code challenges.
I'm going to write up the whole list as a blog post, which I'll share first with my Patreon Supporters, second with my email list and slack channel and then as an actual post somewhere.
Links:
By "get the most" I mean:
I want you to start (or continue) studying and practicing your skills.
But not just random practice, I've got a strategy to help you focus what to study.
Why am I talking about this now? Here's some background on how I re-learned how to have fun with code refactoring through code challenges.
I'm going to write up the whole list as a blog post, which I'll share first with my Patreon Supporters, second with my email list and slack channel and then as an actual post somewhere.
Links:
By "get the most" I mean:
I want you to start (or continue) studying and practicing your skills.
But not just random practice, I've got a strategy to help you focus what to study.
Why am I talking about this now? Here's some background on how I re-learned how to have fun with code refactoring through code challenges.
I'm going to write up the whole list as a blog post, which I'll share first with my Patreon Supporters, second with my email list and slack channel and then as an actual post somewhere.
Links:
Matt Harrison is an author and instructor of Python and Data Science. This episode focuses on his training company, MetaSnake, and corporate training.
Matt's written several books on Python, mostly self published. So of course we talk about that.
But the bulk of the conversation is about corporate training, with Brian playing the role of someone considering starting a corporate training role, and asking Matt, an experienced expert in training, how to start and where to go from there.
I think you'll learn a lot from this.
Special Guest: Matt Harrison.
Links:
Matt Harrison is an author and instructor of Python and Data Science. This episode focuses on his training company, MetaSnake, and corporate training.
Matt's written several books on Python, mostly self published. So of course we talk about that.
But the bulk of the conversation is about corporate training, with Brian playing the role of someone considering starting a corporate training role, and asking Matt, an experienced expert in training, how to start and where to go from there.
I think you'll learn a lot from this.
Special Guest: Matt Harrison.
Links:
Matt Harrison is an author and instructor of Python and Data Science. This episode focuses on his training company, MetaSnake, and corporate training.
Matt's written several books on Python, mostly self published. So of course we talk about that.
But the bulk of the conversation is about corporate training, with Brian playing the role of someone considering starting a corporate training role, and asking Matt, an experienced expert in training, how to start and where to go from there.
I think you'll learn a lot from this.
Special Guest: Matt Harrison.
Links:
If your first encounter with pytest was reading an article in Linux Journal recently, that would be the writing of Reuven.
Reuven Lerner teaches Python.
This interview definitely falls into the category of talking with interesting people doing interesting things with Python.
We talk about how incorporating testing into teaching can add a level of clarity to the interaction and help people duirng the learning process.
I'm also fascinated by people who teach and train because it's a skill I'm trying to improve.
Special Guest: Reuven Lerner.
Links:
If your first encounter with pytest was reading an article in Linux Journal recently, that would be the writing of Reuven.
Reuven Lerner teaches Python.
This interview definitely falls into the category of talking with interesting people doing interesting things with Python.
We talk about how incorporating testing into teaching can add a level of clarity to the interaction and help people duirng the learning process.
I'm also fascinated by people who teach and train because it's a skill I'm trying to improve.
Special Guest: Reuven Lerner.
Links:
If your first encounter with pytest was reading an article in Linux Journal recently, that would be the writing of Reuven.
Reuven Lerner teaches Python.
This interview definitely falls into the category of talking with interesting people doing interesting things with Python.
We talk about how incorporating testing into teaching can add a level of clarity to the interaction and help people duirng the learning process.
I'm also fascinated by people who teach and train because it's a skill I'm trying to improve.
Special Guest: Reuven Lerner.
Links:
Top 5 episodes:
Honorable mention: 32: David Hussman - Agile vs Agility, Dude's Law, and more
This episode also went through lots of:
Please listen and let me know where I should take this podcast.
]]>Top 5 episodes:
Honorable mention: 32: David Hussman - Agile vs Agility, Dude's Law, and more
This episode also went through lots of:
Please listen and let me know where I should take this podcast.
]]>Top 5 episodes:
Honorable mention: 32: David Hussman - Agile vs Agility, Dude's Law, and more
This episode also went through lots of:
Please listen and let me know where I should take this podcast.
]]>We talk about the 100 days challenge, about learning Python, and about how cool it is to learn within a community.
Special Guest: Julian Sequeira.
Links:
]]>We talk about the 100 days challenge, about learning Python, and about how cool it is to learn within a community.
Special Guest: Julian Sequeira.
Links:
]]>We talk about the 100 days challenge, about learning Python, and about how cool it is to learn within a community.
Special Guest: Julian Sequeira.
Links:
]]>Thea is the creator of Nox, the co-chair of PyCascades 2019, the lead maintainer of urllib3, and a member of the Python Packaging Authority and Packaging Working Group.
Thea works on Google Cloud Platform's wonderful Developer Relations team where she works on API client libraries and community outreach.
All of that is definitely cool enough. But she is also building a synthesiser based on Sega Genesis chips. So of course, that's where we'll start the conversation.
Special Guest: Thea Flowers.
Links:
]]>Thea is the creator of Nox, the co-chair of PyCascades 2019, the lead maintainer of urllib3, and a member of the Python Packaging Authority and Packaging Working Group.
Thea works on Google Cloud Platform's wonderful Developer Relations team where she works on API client libraries and community outreach.
All of that is definitely cool enough. But she is also building a synthesiser based on Sega Genesis chips. So of course, that's where we'll start the conversation.
Special Guest: Thea Flowers.
Links:
]]>Thea is the creator of Nox, the co-chair of PyCascades 2019, the lead maintainer of urllib3, and a member of the Python Packaging Authority and Packaging Working Group.
Thea works on Google Cloud Platform's wonderful Developer Relations team where she works on API client libraries and community outreach.
All of that is definitely cool enough. But she is also building a synthesiser based on Sega Genesis chips. So of course, that's where we'll start the conversation.
Special Guest: Thea Flowers.
Links:
]]>Can you use Python for this testing even if the application is written in some other language? Of course.
Can you use pytest? duh. yes. what else?
What if you want to spin up docker instances, get your app running in that, and run your tests against that environment?
How would you use pytest to do that?
Well, there, I'm not exactly sure. But I know someone who does.
Dima Spivak is the Director of Engineering at StreamSets, and he and his team are doing just that.
He's also got some great advice on utilizing code reviews across teams for test code, and a whole lot more.
Special Guest: Dima Spivak.
Links:
]]>Can you use Python for this testing even if the application is written in some other language? Of course.
Can you use pytest? duh. yes. what else?
What if you want to spin up docker instances, get your app running in that, and run your tests against that environment?
How would you use pytest to do that?
Well, there, I'm not exactly sure. But I know someone who does.
Dima Spivak is the Director of Engineering at StreamSets, and he and his team are doing just that.
He's also got some great advice on utilizing code reviews across teams for test code, and a whole lot more.
Special Guest: Dima Spivak.
Links:
]]>Can you use Python for this testing even if the application is written in some other language? Of course.
Can you use pytest? duh. yes. what else?
What if you want to spin up docker instances, get your app running in that, and run your tests against that environment?
How would you use pytest to do that?
Well, there, I'm not exactly sure. But I know someone who does.
Dima Spivak is the Director of Engineering at StreamSets, and he and his team are doing just that.
He's also got some great advice on utilizing code reviews across teams for test code, and a whole lot more.
Special Guest: Dima Spivak.
Links:
]]>But really what is data science?
Vicki Boykis helps me understand questions like:
Also covered:
I learned a lot about the broad field of data science from talking with Vicki.
Special Guest: Vicki Boykis.
Links:
But really what is data science?
Vicki Boykis helps me understand questions like:
Also covered:
I learned a lot about the broad field of data science from talking with Vicki.
Special Guest: Vicki Boykis.
Links:
But really what is data science?
Vicki Boykis helps me understand questions like:
Also covered:
I learned a lot about the broad field of data science from talking with Vicki.
Special Guest: Vicki Boykis.
Links:
Even if you have never wanted to be on a podcast, you might learn some great tips. A few of the things we talk about will be helpful for other endeavors, like public speaking, guest blog posts, look for unsolicited job opportunities.
Some people have never been on a podcast before, and are possibly freaked out about some of the unknowns of being on a podcast. That's why we did this episode.
Michael and I discuss a bunch of the niggly details so that you can be relaxed and know what to expect.
Topics include:
Special Guest: Michael Kennedy.
]]>Even if you have never wanted to be on a podcast, you might learn some great tips. A few of the things we talk about will be helpful for other endeavors, like public speaking, guest blog posts, look for unsolicited job opportunities.
Some people have never been on a podcast before, and are possibly freaked out about some of the unknowns of being on a podcast. That's why we did this episode.
Michael and I discuss a bunch of the niggly details so that you can be relaxed and know what to expect.
Topics include:
Special Guest: Michael Kennedy.
]]>Even if you have never wanted to be on a podcast, you might learn some great tips. A few of the things we talk about will be helpful for other endeavors, like public speaking, guest blog posts, look for unsolicited job opportunities.
Some people have never been on a podcast before, and are possibly freaked out about some of the unknowns of being on a podcast. That's why we did this episode.
Michael and I discuss a bunch of the niggly details so that you can be relaxed and know what to expect.
Topics include:
Special Guest: Michael Kennedy.
]]>Also covered:
Special Guest: Mahmoud Hashemi.
Links:
Also covered:
Special Guest: Mahmoud Hashemi.
Links:
Also covered:
Special Guest: Mahmoud Hashemi.
Links:
Special Guest: Paul Everitt.
Links:
]]>Special Guest: Paul Everitt.
Links:
]]>Special Guest: Paul Everitt.
Links:
]]>We discuss a bit about each database: Redis, Neo4J, CouchDB, MongoDB, HBase, Postgres, and DynamoDB.
Special Guest: Luc Perkins.
Links:
]]>We discuss a bit about each database: Redis, Neo4J, CouchDB, MongoDB, HBase, Postgres, and DynamoDB.
Special Guest: Luc Perkins.
Links:
]]>We discuss a bit about each database: Redis, Neo4J, CouchDB, MongoDB, HBase, Postgres, and DynamoDB.
Special Guest: Luc Perkins.
Links:
]]>Discussed:
Special Guest: Brett Cannon.
Links:
]]>Discussed:
Special Guest: Brett Cannon.
Links:
]]>Discussed:
Special Guest: Brett Cannon.
Links:
]]>A feature tests is "a test verifying a service or library as the customer would use it, but within a single process." That was a quote from an article that appeared on the Twitter engineering blog. The article describes a shift away from class tests towards feature tests, the benefits of the shift, and some reactions to it.
Feature tests are similar to something I used to call "functional subcutaneous integration test", but it's a way better name, and I plan to use it more often.
The idea fits well with my testing philosophy. Andy Knight is someone still holding onto the testing pyramid. So I thought it would be fun to ask him to discuss feature testing with me. I think it's a balanced discussion. I hope you enjoy it and learn something.
Special Guest: Andy Knight.
Links:
]]>A feature tests is "a test verifying a service or library as the customer would use it, but within a single process." That was a quote from an article that appeared on the Twitter engineering blog. The article describes a shift away from class tests towards feature tests, the benefits of the shift, and some reactions to it.
Feature tests are similar to something I used to call "functional subcutaneous integration test", but it's a way better name, and I plan to use it more often.
The idea fits well with my testing philosophy. Andy Knight is someone still holding onto the testing pyramid. So I thought it would be fun to ask him to discuss feature testing with me. I think it's a balanced discussion. I hope you enjoy it and learn something.
Special Guest: Andy Knight.
Links:
]]>A feature tests is "a test verifying a service or library as the customer would use it, but within a single process." That was a quote from an article that appeared on the Twitter engineering blog. The article describes a shift away from class tests towards feature tests, the benefits of the shift, and some reactions to it.
Feature tests are similar to something I used to call "functional subcutaneous integration test", but it's a way better name, and I plan to use it more often.
The idea fits well with my testing philosophy. Andy Knight is someone still holding onto the testing pyramid. So I thought it would be fun to ask him to discuss feature testing with me. I think it's a balanced discussion. I hope you enjoy it and learn something.
Special Guest: Andy Knight.
Links:
]]>Special Guest: Anthony Shaw.
Links:
Special Guest: Anthony Shaw.
Links:
Special Guest: Anthony Shaw.
Links:
tox is not just a tool to help you test a Python project against multiple versions of Python. In this interview, Oliver and Brian just scratch the surface of this simple yet powerful automation tool.
This is from the tox documentation:
tox is a generic virtualenv management and test command line tool you can use for:
Yet tox is so much more. It can help create development environments, hold all of your admin scripts, ...
I hope you enjoy this wonderful discussion of tox with Oliver Bestwalter, one of the core maintainers of tox.
Special Guest: Oliver Bestwalter.
Links:
tox is not just a tool to help you test a Python project against multiple versions of Python. In this interview, Oliver and Brian just scratch the surface of this simple yet powerful automation tool.
This is from the tox documentation:
tox is a generic virtualenv management and test command line tool you can use for:
Yet tox is so much more. It can help create development environments, hold all of your admin scripts, ...
I hope you enjoy this wonderful discussion of tox with Oliver Bestwalter, one of the core maintainers of tox.
Special Guest: Oliver Bestwalter.
Links:
tox is not just a tool to help you test a Python project against multiple versions of Python. In this interview, Oliver and Brian just scratch the surface of this simple yet powerful automation tool.
This is from the tox documentation:
tox is a generic virtualenv management and test command line tool you can use for:
Yet tox is so much more. It can help create development environments, hold all of your admin scripts, ...
I hope you enjoy this wonderful discussion of tox with Oliver Bestwalter, one of the core maintainers of tox.
Special Guest: Oliver Bestwalter.
Links:
It’s not a long story. And it has a happy ending. Well. It’s not over. But I’m happy with where we are now. I’m also hoping that this tale of my dedication to, or obsession with, quality and developer efficiency helps you in your own efforts to make your daily workflow better and to extend that to try to increase the efficiency of those you work with.
Links:
]]>It’s not a long story. And it has a happy ending. Well. It’s not over. But I’m happy with where we are now. I’m also hoping that this tale of my dedication to, or obsession with, quality and developer efficiency helps you in your own efforts to make your daily workflow better and to extend that to try to increase the efficiency of those you work with.
Links:
]]>It’s not a long story. And it has a happy ending. Well. It’s not over. But I’m happy with where we are now. I’m also hoping that this tale of my dedication to, or obsession with, quality and developer efficiency helps you in your own efforts to make your daily workflow better and to extend that to try to increase the efficiency of those you work with.
Links:
]]>Special Guest: Andy Knight.
Links:
]]>Special Guest: Andy Knight.
Links:
]]>Special Guest: Andy Knight.
Links:
]]>That question is a possibly terrible summary of a question sent to me by a listener. And to help me start answering that question, I asked a friend of mine to help, Antony Shaw.
Of course, different types of applications have different test strategies, so there’s not a universal answer. But I know some of you out there have experience and expertise around how to tackle this problem.
Listen to the discussion Anthony and I have about it, and let me know if you have some techniques or tips to add.
Special Guest: Anthony Shaw.
]]>That question is a possibly terrible summary of a question sent to me by a listener. And to help me start answering that question, I asked a friend of mine to help, Antony Shaw.
Of course, different types of applications have different test strategies, so there’s not a universal answer. But I know some of you out there have experience and expertise around how to tackle this problem.
Listen to the discussion Anthony and I have about it, and let me know if you have some techniques or tips to add.
Special Guest: Anthony Shaw.
]]>That question is a possibly terrible summary of a question sent to me by a listener. And to help me start answering that question, I asked a friend of mine to help, Antony Shaw.
Of course, different types of applications have different test strategies, so there’s not a universal answer. But I know some of you out there have experience and expertise around how to tackle this problem.
Listen to the discussion Anthony and I have about it, and let me know if you have some techniques or tips to add.
Special Guest: Anthony Shaw.
]]>All of that, of course, is awesome. But that's not why I asked him on the show. In 2014, during a RailsConf keynote, he started a discussion about damage caused by TDD. This was followed by a few blog posts, and then a series of recorded hangouts with Martin Fowler and Kent Beck. This is what I wanted to talk with David about; this unconventional yet practical and intuitive view of how testing and development work together.
It's a great discussion. I think you'll get a lot out of it.
Special Guest: David Heinemeier Hansson.
Links:
]]>All of that, of course, is awesome. But that's not why I asked him on the show. In 2014, during a RailsConf keynote, he started a discussion about damage caused by TDD. This was followed by a few blog posts, and then a series of recorded hangouts with Martin Fowler and Kent Beck. This is what I wanted to talk with David about; this unconventional yet practical and intuitive view of how testing and development work together.
It's a great discussion. I think you'll get a lot out of it.
Special Guest: David Heinemeier Hansson.
Links:
]]>All of that, of course, is awesome. But that's not why I asked him on the show. In 2014, during a RailsConf keynote, he started a discussion about damage caused by TDD. This was followed by a few blog posts, and then a series of recorded hangouts with Martin Fowler and Kent Beck. This is what I wanted to talk with David about; this unconventional yet practical and intuitive view of how testing and development work together.
It's a great discussion. I think you'll get a lot out of it.
Special Guest: David Heinemeier Hansson.
Links:
]]>Special Guest: Nina Zakharenko.
Links:
]]>Special Guest: Nina Zakharenko.
Links:
]]>Special Guest: Nina Zakharenko.
Links:
]]>You see, I admire the his presentation style.
So I asked him if he would share with me how he prepared for his presentations.
His answer is so thoughtful and makes so much sense, I couldn't keep it to myself.
I'm releasing this as a bonus mini-episode so that it's easy to refer back to the next time you or I have a chance to do a technical talk.
Special Guest: Kelsey Hightower.
]]>You see, I admire the his presentation style.
So I asked him if he would share with me how he prepared for his presentations.
His answer is so thoughtful and makes so much sense, I couldn't keep it to myself.
I'm releasing this as a bonus mini-episode so that it's easy to refer back to the next time you or I have a chance to do a technical talk.
Special Guest: Kelsey Hightower.
]]>You see, I admire the his presentation style.
So I asked him if he would share with me how he prepared for his presentations.
His answer is so thoughtful and makes so much sense, I couldn't keep it to myself.
I'm releasing this as a bonus mini-episode so that it's easy to refer back to the next time you or I have a chance to do a technical talk.
Special Guest: Kelsey Hightower.
]]>We discuss testing, of course, but we take it further and discuss:
Special Guest: Kelsey Hightower.
]]>We discuss testing, of course, but we take it further and discuss:
Special Guest: Kelsey Hightower.
]]>We discuss testing, of course, but we take it further and discuss:
Special Guest: Kelsey Hightower.
]]>Automated testing is a huge part of developing great software. But many new developers don't get exposed to testing for quite a while. But this is changing.
New ways to teach programming include automated tests from the beginning.
Trey Hunner is one of the PSF directors and a Python and Django team trainer, and he has been using automated tests to help people learn Python.
Special Guest: Trey Hunner.
Links:
]]>Automated testing is a huge part of developing great software. But many new developers don't get exposed to testing for quite a while. But this is changing.
New ways to teach programming include automated tests from the beginning.
Trey Hunner is one of the PSF directors and a Python and Django team trainer, and he has been using automated tests to help people learn Python.
Special Guest: Trey Hunner.
Links:
]]>Automated testing is a huge part of developing great software. But many new developers don't get exposed to testing for quite a while. But this is changing.
New ways to teach programming include automated tests from the beginning.
Trey Hunner is one of the PSF directors and a Python and Django team trainer, and he has been using automated tests to help people learn Python.
Special Guest: Trey Hunner.
Links:
]]>Special Guest: Anthony Shaw.
Links:
]]>Special Guest: Anthony Shaw.
Links:
]]>Special Guest: Anthony Shaw.
Links:
]]>He was one of the people who inspired Brian to get the Test & Code podcast started in the first place. Brian took his course in 2015. Adam is in the process of updating the course, and building a community around it.
Warning: This may be an episode to listen to with headphones if you have kids around. There is swearing.
I wanted to get Adam's help to convince many of you to either come on this show as a guest, or start your own podcast. We did some of that. But we also cover a lot of issues like self doubt and the importance of community.
Special Guest: Adam Clark.
Links:
He was one of the people who inspired Brian to get the Test & Code podcast started in the first place. Brian took his course in 2015. Adam is in the process of updating the course, and building a community around it.
Warning: This may be an episode to listen to with headphones if you have kids around. There is swearing.
I wanted to get Adam's help to convince many of you to either come on this show as a guest, or start your own podcast. We did some of that. But we also cover a lot of issues like self doubt and the importance of community.
Special Guest: Adam Clark.
Links:
He was one of the people who inspired Brian to get the Test & Code podcast started in the first place. Brian took his course in 2015. Adam is in the process of updating the course, and building a community around it.
Warning: This may be an episode to listen to with headphones if you have kids around. There is swearing.
I wanted to get Adam's help to convince many of you to either come on this show as a guest, or start your own podcast. We did some of that. But we also cover a lot of issues like self doubt and the importance of community.
Special Guest: Adam Clark.
Links:
However, some functionality is important enough to make sure the test behavior coverage is thorough enough to have high confidence in it's quality.
In this episode, we discuss 3 techniques that can be combined to quickly generate test cases. We then talk about how to implement them efficiently in pytest.
The techniques covered are:
We discuss how to use these to generate test cases for a new list filter functionality in the cards application.
The resulting tests:
Links:
]]>However, some functionality is important enough to make sure the test behavior coverage is thorough enough to have high confidence in it's quality.
In this episode, we discuss 3 techniques that can be combined to quickly generate test cases. We then talk about how to implement them efficiently in pytest.
The techniques covered are:
We discuss how to use these to generate test cases for a new list filter functionality in the cards application.
The resulting tests:
Links:
]]>However, some functionality is important enough to make sure the test behavior coverage is thorough enough to have high confidence in it's quality.
In this episode, we discuss 3 techniques that can be combined to quickly generate test cases. We then talk about how to implement them efficiently in pytest.
The techniques covered are:
We discuss how to use these to generate test cases for a new list filter functionality in the cards application.
The resulting tests:
Links:
]]>In this episode we discuss the mnemonic/heuristic and use it to prioritize tests for the cards application.
Links:
]]>In this episode we discuss the mnemonic/heuristic and use it to prioritize tests for the cards application.
Links:
]]>In this episode we discuss the mnemonic/heuristic and use it to prioritize tests for the cards application.
Links:
]]>We cover:
Strategies covered today:
We cover:
Strategies covered today:
We cover:
Strategies covered today:
She works on Basis, an image compressor, and has customers in games, video, mapping, and any application that has lots of image data.
Stephanie has also been encouraging experienced engineers to open up their twitter DMs to questions from anyone, to help mentor people not only in technical questions, but in career questions as well.
She also sets aside some time to mentor people through skype when written form just doesn't cut it.
That's the primary reason I have Stephanie on today, to talk about mentoring and open office hours.
But we also talk about
Special Guest: Stephanie Hurlburt.
Links:
She works on Basis, an image compressor, and has customers in games, video, mapping, and any application that has lots of image data.
Stephanie has also been encouraging experienced engineers to open up their twitter DMs to questions from anyone, to help mentor people not only in technical questions, but in career questions as well.
She also sets aside some time to mentor people through skype when written form just doesn't cut it.
That's the primary reason I have Stephanie on today, to talk about mentoring and open office hours.
But we also talk about
Special Guest: Stephanie Hurlburt.
Links:
She works on Basis, an image compressor, and has customers in games, video, mapping, and any application that has lots of image data.
Stephanie has also been encouraging experienced engineers to open up their twitter DMs to questions from anyone, to help mentor people not only in technical questions, but in career questions as well.
She also sets aside some time to mentor people through skype when written form just doesn't cut it.
That's the primary reason I have Stephanie on today, to talk about mentoring and open office hours.
But we also talk about
Special Guest: Stephanie Hurlburt.
Links:
At the other end of the spectrum is a full blown university degree.
One option kind of in the middle is continuing education programs available through some universities, such as University of Washington.
To discuss this option with me in more depth, we've got Andrew Hoover,
Senior Director, Program Strategy, University of Washington Continuum College
Special Guest: Andrew Hoover.
Links:
]]>At the other end of the spectrum is a full blown university degree.
One option kind of in the middle is continuing education programs available through some universities, such as University of Washington.
To discuss this option with me in more depth, we've got Andrew Hoover,
Senior Director, Program Strategy, University of Washington Continuum College
Special Guest: Andrew Hoover.
Links:
]]>At the other end of the spectrum is a full blown university degree.
One option kind of in the middle is continuing education programs available through some universities, such as University of Washington.
To discuss this option with me in more depth, we've got Andrew Hoover,
Senior Director, Program Strategy, University of Washington Continuum College
Special Guest: Andrew Hoover.
Links:
]]>Links:
Links:
Links:
Some of the topics we discuss:
Special Guest: Katharine Jarmul.
Links:
Some of the topics we discuss:
Special Guest: Katharine Jarmul.
Links:
Some of the topics we discuss:
Special Guest: Katharine Jarmul.
Links:
Special Guest: David Hussman.
Links:
]]>Special Guest: David Hussman.
Links:
]]>Special Guest: David Hussman.
Links:
]]>Special Guest: Paul Merrill.
<Links:
Special Guest: Paul Merrill.
<Links:
Special Guest: Paul Merrill.
<Links:
Topics include:
Special Guest: M. Scott Ford.
]]>Topics include:
Special Guest: M. Scott Ford.
]]>Topics include:
Special Guest: M. Scott Ford.
]]>Special Guest: Josh Lieberman.
]]>Special Guest: Josh Lieberman.
]]>Special Guest: Josh Lieberman.
]]>One of the people making sure Netflix runs smoothly is Casey Rosenthall.
He is the manager for the Traffic, Intuition, and Chaos teams at Netflix.
He's got a great perspective on quality and large systems.
We talk about
Special Guest: Casey Rosenthal.
]]>One of the people making sure Netflix runs smoothly is Casey Rosenthall.
He is the manager for the Traffic, Intuition, and Chaos teams at Netflix.
He's got a great perspective on quality and large systems.
We talk about
Special Guest: Casey Rosenthal.
]]>One of the people making sure Netflix runs smoothly is Casey Rosenthall.
He is the manager for the Traffic, Intuition, and Chaos teams at Netflix.
He's got a great perspective on quality and large systems.
We talk about
Special Guest: Casey Rosenthal.
]]>Links:
Special Guest: Mahmoud Hashemi.
]]>Links:
Special Guest: Mahmoud Hashemi.
]]>Links:
Special Guest: Mahmoud Hashemi.
]]>pyresttest
A question in the Test & Code Slack channel was raised about testing REST APIs. There were answers such as pytest + requests, of course, but there was also a mention of pyresttest, https://github.com/svanoort/pyresttest, which I hadn't heard of. I checked out the github repo, and was struck by how user friendly the user facing test definitions were. So I contacted the developer, Sam Van Oort, and asked him to come on the show and tell me about this tool and why he developed it.
Here's the "What is it?" section from the pyresttest README:
Support
Special thanks to my wonderful Patreon supporters and those who have supported the show by purchasing Python Testing with unittest, nose, pytest
]]>pyresttest
A question in the Test & Code Slack channel was raised about testing REST APIs. There were answers such as pytest + requests, of course, but there was also a mention of pyresttest, https://github.com/svanoort/pyresttest, which I hadn't heard of. I checked out the github repo, and was struck by how user friendly the user facing test definitions were. So I contacted the developer, Sam Van Oort, and asked him to come on the show and tell me about this tool and why he developed it.
Here's the "What is it?" section from the pyresttest README:
Support
Special thanks to my wonderful Patreon supporters and those who have supported the show by purchasing Python Testing with unittest, nose, pytest
]]>pyresttest
A question in the Test & Code Slack channel was raised about testing REST APIs. There were answers such as pytest + requests, of course, but there was also a mention of pyresttest, https://github.com/svanoort/pyresttest, which I hadn't heard of. I checked out the github repo, and was struck by how user friendly the user facing test definitions were. So I contacted the developer, Sam Van Oort, and asked him to come on the show and tell me about this tool and why he developed it.
Here's the "What is it?" section from the pyresttest README:
Support
Special thanks to my wonderful Patreon supporters and those who have supported the show by purchasing Python Testing with unittest, nose, pytest
]]>We Cover:
Also:
We Cover:
Also:
We Cover:
Also:
In this episode, I interview Raphael Aurich (@hackebrot), a core contributor to both pytest and cookiecutter. We discuss how Raphael got involved with both projects, his involvement in cookiecutter, pytest, "adopt pytest month", the pytest code sprint, and of course some of the cool new features in pytest 3.
Links:
In this episode, I interview Raphael Aurich (@hackebrot), a core contributor to both pytest and cookiecutter. We discuss how Raphael got involved with both projects, his involvement in cookiecutter, pytest, "adopt pytest month", the pytest code sprint, and of course some of the cool new features in pytest 3.
Links:
In this episode, I interview Raphael Aurich (@hackebrot), a core contributor to both pytest and cookiecutter. We discuss how Raphael got involved with both projects, his involvement in cookiecutter, pytest, "adopt pytest month", the pytest code sprint, and of course some of the cool new features in pytest 3.
Links:
I first ran across writings from Kent Beck as started exploring Extreme Programming in the early 2000's.
Although I don't agree with all of the views he's expressed in his long and verbose career, I respect him as one of the best sources of information about software development, engineering practices, and software testing.
Along with Test First Programming and Test Driven Development, Kent started an automated test framework that turned into jUnit. jUnit and it's model of setup and teardown wrapping test functions, as well base test class driven test frameworks became what we know of as xUnit style frameworks now, which includes Python's unittest.
He discussed this history and a lot more on episode 122 of Software Engineering Radio. The episode is titled "The History of JUnit and the Future of Testing with Kent Beck", and is from Sept 26, 2010.
I urge you to download it and listen to the whole thing. It's a great interview, still relevant, and applicable to testing in any language, including Python.
What I've done in this podcast is take a handful of clips from the interview (with permission from IEEE and SERadio), and discuss the clips and my opinions a bit.
The lessons are:
I first ran across writings from Kent Beck as started exploring Extreme Programming in the early 2000's.
Although I don't agree with all of the views he's expressed in his long and verbose career, I respect him as one of the best sources of information about software development, engineering practices, and software testing.
Along with Test First Programming and Test Driven Development, Kent started an automated test framework that turned into jUnit. jUnit and it's model of setup and teardown wrapping test functions, as well base test class driven test frameworks became what we know of as xUnit style frameworks now, which includes Python's unittest.
He discussed this history and a lot more on episode 122 of Software Engineering Radio. The episode is titled "The History of JUnit and the Future of Testing with Kent Beck", and is from Sept 26, 2010.
I urge you to download it and listen to the whole thing. It's a great interview, still relevant, and applicable to testing in any language, including Python.
What I've done in this podcast is take a handful of clips from the interview (with permission from IEEE and SERadio), and discuss the clips and my opinions a bit.
The lessons are:
I first ran across writings from Kent Beck as started exploring Extreme Programming in the early 2000's.
Although I don't agree with all of the views he's expressed in his long and verbose career, I respect him as one of the best sources of information about software development, engineering practices, and software testing.
Along with Test First Programming and Test Driven Development, Kent started an automated test framework that turned into jUnit. jUnit and it's model of setup and teardown wrapping test functions, as well base test class driven test frameworks became what we know of as xUnit style frameworks now, which includes Python's unittest.
He discussed this history and a lot more on episode 122 of Software Engineering Radio. The episode is titled "The History of JUnit and the Future of Testing with Kent Beck", and is from Sept 26, 2010.
I urge you to download it and listen to the whole thing. It's a great interview, still relevant, and applicable to testing in any language, including Python.
What I've done in this podcast is take a handful of clips from the interview (with permission from IEEE and SERadio), and discuss the clips and my opinions a bit.
The lessons are:
This episode looks at the differences between manual and automated tests and presents two strategies for converting manual to automated.
]]>This episode looks at the differences between manual and automated tests and presents two strategies for converting manual to automated.
]]>This episode looks at the differences between manual and automated tests and presents two strategies for converting manual to automated.
]]>Covered in this episode:
I also discuss:
Covered in this episode:
I also discuss:
Covered in this episode:
I also discuss:
Courses by Michael
Testing related podcast Episodes from Talk Python To Me:
]]>Courses by Michael
Testing related podcast Episodes from Talk Python To Me:
]]>Courses by Michael
Testing related podcast Episodes from Talk Python To Me:
]]>Some of the topics covered
I've been re-studying unittest recently and I mostly wanted to ask Robert a bunch of clarifying questions.
This is an intermediate to advanced discussion of unittest.
Many great features of unittest go by quickly in this talk.
Please let me know if there's something you'd like me to cover in more depth as a blog post or a future episode.
Links
]]>Some of the topics covered
I've been re-studying unittest recently and I mostly wanted to ask Robert a bunch of clarifying questions.
This is an intermediate to advanced discussion of unittest.
Many great features of unittest go by quickly in this talk.
Please let me know if there's something you'd like me to cover in more depth as a blog post or a future episode.
Links
]]>Some of the topics covered
I've been re-studying unittest recently and I mostly wanted to ask Robert a bunch of clarifying questions.
This is an intermediate to advanced discussion of unittest.
Many great features of unittest go by quickly in this talk.
Please let me know if there's something you'd like me to cover in more depth as a blog post or a future episode.
Links
]]>Joe has spent his career in startups.
He's also been involved with hiring and talent acquisition for several startups.
We talk about testing, continuous integration, code reviews, deployment, tolerance to defects, and how some of those differ between large companies and small companies and startups.
Then we get into hiring. Specifically, finding and evaluating good engineers, and then getting them to be interested in working for you.
If you ever want to grow your team size, you need to listen to this.
Joe has spent his career in startups.
He's also been involved with hiring and talent acquisition for several startups.
We talk about testing, continuous integration, code reviews, deployment, tolerance to defects, and how some of those differ between large companies and small companies and startups.
Then we get into hiring. Specifically, finding and evaluating good engineers, and then getting them to be interested in working for you.
If you ever want to grow your team size, you need to listen to this.
Joe has spent his career in startups.
He's also been involved with hiring and talent acquisition for several startups.
We talk about testing, continuous integration, code reviews, deployment, tolerance to defects, and how some of those differ between large companies and small companies and startups.
Then we get into hiring. Specifically, finding and evaluating good engineers, and then getting them to be interested in working for you.
If you ever want to grow your team size, you need to listen to this.
Links and things we talked about:
]]>Links and things we talked about:
]]>Links and things we talked about:
]]>I'm changing the name from the "Python Test Podcast" to "Test & Code".
I just want to discuss the reasons behind this change, and take a peek at what's coming up in the future for this podcast.
Links
]]>I'm changing the name from the "Python Test Podcast" to "Test & Code".
I just want to discuss the reasons behind this change, and take a peek at what's coming up in the future for this podcast.
Links
]]>I'm changing the name from the "Python Test Podcast" to "Test & Code".
I just want to discuss the reasons behind this change, and take a peek at what's coming up in the future for this podcast.
Links
]]>This is a quick intro to the concepts of Lean Software Development.
I'm starting a journey of trying to figure out how to apply lean principles to software development in the context of 2016/2017.
Links
This is a quick intro to the concepts of Lean Software Development.
I'm starting a journey of trying to figure out how to apply lean principles to software development in the context of 2016/2017.
Links
This is a quick intro to the concepts of Lean Software Development.
I'm starting a journey of trying to figure out how to apply lean principles to software development in the context of 2016/2017.
Links
Josh is a co-founder and Chief Post-It Officer at Travis CI.
Topics
Links
]]>Josh is a co-founder and Chief Post-It Officer at Travis CI.
Topics
Links
]]>Josh is a co-founder and Chief Post-It Officer at Travis CI.
Topics
Links
]]>Interview with Ian Cordasco (@sigmavirus24)
Topics:
Links:
Other Betamax resources:
]]>Interview with Ian Cordasco (@sigmavirus24)
Topics:
Links:
Other Betamax resources:
]]>Interview with Ian Cordasco (@sigmavirus24)
Topics:
Links:
Other Betamax resources:
]]>I know that coverage.py is very important to a lot of people to understand how much of their code is being covered by their test suites.
Since I'm far from an expert on coverage, I asked Ned to discuss it on the show.
I'm also quite a fan of Ned's 2014 PyCon talk "Getting Started Testing", so I definitely asked him about that.
We also discuss edX, Python user groups, PyCon talks, and more.
Some of what's covered (pun intended) in this episode:
Links:
Special Guest: Ned Batchelder.
]]>I know that coverage.py is very important to a lot of people to understand how much of their code is being covered by their test suites.
Since I'm far from an expert on coverage, I asked Ned to discuss it on the show.
I'm also quite a fan of Ned's 2014 PyCon talk "Getting Started Testing", so I definitely asked him about that.
We also discuss edX, Python user groups, PyCon talks, and more.
Some of what's covered (pun intended) in this episode:
Links:
Special Guest: Ned Batchelder.
]]>I know that coverage.py is very important to a lot of people to understand how much of their code is being covered by their test suites.
Since I'm far from an expert on coverage, I asked Ned to discuss it on the show.
I'm also quite a fan of Ned's 2014 PyCon talk "Getting Started Testing", so I definitely asked him about that.
We also discuss edX, Python user groups, PyCon talks, and more.
Some of what's covered (pun intended) in this episode:
Links:
Special Guest: Ned Batchelder.
]]>The job of the test framework to tell developers how and why their tests failed is a difficult job.
In this episode I talk about assert helper functions and the 3 methods pytest uses to get around having users need to use assert helper functions.
The job of the test framework to tell developers how and why their tests failed is a difficult job.
In this episode I talk about assert helper functions and the 3 methods pytest uses to get around having users need to use assert helper functions.
The job of the test framework to tell developers how and why their tests failed is a difficult job.
In this episode I talk about assert helper functions and the 3 methods pytest uses to get around having users need to use assert helper functions.
It doesn’t matter if you are using pytest, unittest, nose, or something completely different, this episode will help you write better tests.
Links discussed in the show:
]]>It doesn’t matter if you are using pytest, unittest, nose, or something completely different, this episode will help you write better tests.
Links discussed in the show:
]]>It doesn’t matter if you are using pytest, unittest, nose, or something completely different, this episode will help you write better tests.
Links discussed in the show:
]]>Update: Comment from Harry Percival on 19-Jan-2014
I might have been a bit down on unit tests vs functional tests in that "unit tests never fail comment".
Not true at all, particularly as we've just been thru upgrading django on our core system, and the unit tests really saved our bacon on that one...
Links
Update: Comment from Harry Percival on 19-Jan-2014
I might have been a bit down on unit tests vs functional tests in that "unit tests never fail comment".
Not true at all, particularly as we've just been thru upgrading django on our core system, and the unit tests really saved our bacon on that one...
Links
Update: Comment from Harry Percival on 19-Jan-2014
I might have been a bit down on unit tests vs functional tests in that "unit tests never fail comment".
Not true at all, particularly as we've just been thru upgrading django on our core system, and the unit tests really saved our bacon on that one...
Links
References
]]>References
]]>References
]]>References
]]>References
]]>References
]]>Why testing?
After describing my ideal test strategy and project, I list:
Why testing?
After describing my ideal test strategy and project, I list:
Why testing?
After describing my ideal test strategy and project, I list:
Mentioned:
I did the audio processing differently for this episode. Please let me know how it sounds, if there are any problems, etc.
]]>Mentioned:
I did the audio processing differently for this episode. Please let me know how it sounds, if there are any problems, etc.
]]>Mentioned:
]]>