
Sign up to save your podcasts
Or


Today's featured guest is Martin Woodward! Martin is a Principal Group Program Manager on the Azure DevOps team at Microsoft as well as the Vice President of the .NET Foundation. Martin has been with Microsoft quite a while, joining back in 2009. When he first started with Microsoft, his focus was on open source, then bringing GitHub into TFS and Microsoft, and then helping with .NET team. He even created Microsoft's original account on GitHub.
In today's episode, Martin and Jeffrey dive right into the topic of Azure DevOps with GitHub; discussing some of the changes since Microsoft acquired GitHub, whether you should choose to work with Azure Repos or GitHub, and how to use Azure DevOps Services with GitHub.
Topics of Discussion:
[1:07] Jeffrey introduces Scott and welcomes him to the show!
[1:50] About Martin's journey at Microsoft.
[6:50] Why and when Martin opened the original Microsoft GitHub account.
[9:11] Martin and Jeffrey discuss some of the early projects and changes to the Outercurve Foundation (AKA CodePlex Foundation).
[11:10] Is the Outercurve Foundation still going?
[11:36] Martin and Jeffrey talk interesting offerings from the .NET Foundation.
[16:15] How to get sponsorships for user groups.
[17:40] Since Microsoft acquired GitHub, what should people be using; Git Repositories or GitHub? And is Azure Repos going to die?
[21:09] Why Azure Pipelines is such a simple, powerful solution.
[22:42] A word from Azure DevOps Podcast's sponsor: Clear Measure.
[23:07] Martin addresses the "elephant in the room": Azure Repos.
[25:50] Between Azure Repos and GitHub, was does Martin see being the premiere option 10 years down the line?
[30:17] The importance of having a GitHub account.
[32:30] Martin and Jeffrey talk about how the industry is adopting more engineering practices and collaboration which makes DevOps work so well.
[34:49] Does Martin agree with Sam Guckenheimer's ideas on DevOps (from when he was on the podcast)?
[37:09] Martin's advice on how to use Azure DevOps Services with GitHub.
[47:12] Martin's recommendations on what to follow-up on after listening to this week's podcast!
Mentioned in this Episode:
Azure DevOps
Clear Measure (Sponsor)
Martin Woodward (LinkedIn)
.NET Foundation
Outercurve Foundation (CodePlex Foundation)
Azure DevOps User Group
Meetup
CruiseControl.NET
Jenkins
TeamCity
Azure DevOps Server
The Azure DevOps Podcast episode 003: "Sam Guckenheimer on Testing, Data Collection, and the State of DevOps Report"
Azure Pipelines
Want to Learn More?
Visit AzureDevOps.Show for show notes and additional episodes.
Today's featured guest is Martin Woodward! Martin is a Principal Group Program Manager on the Azure DevOps team at Microsoft as well as the Vice President of the .NET Foundation. Martin has been with Microsoft quite a while, joining back in 2009. When he first started with Microsoft, his focus was on open source, then bringing GitHub into TFS and Microsoft, and then helping with .NET team. He even created Microsoft's original account on GitHub.
In today's episode, Martin and Jeffrey dive right into the topic of Azure DevOps with GitHub; discussing some of the changes since Microsoft acquired GitHub, whether you should choose to work with Azure Repos or GitHub, and how to use Azure DevOps Services with GitHub.
Topics of Discussion:
[1:07] Jeffrey introduces Scott and welcomes him to the show!
[1:50] About Martin's journey at Microsoft.
[6:50] Why and when Martin opened the original Microsoft GitHub account.
[9:11] Martin and Jeffrey discuss some of the early projects and changes to the Outercurve Foundation (AKA CodePlex Foundation).
[11:10] Is the Outercurve Foundation still going?
[11:36] Martin and Jeffrey talk interesting offerings from the .NET Foundation.
[16:15] How to get sponsorships for user groups.
[17:40] Since Microsoft acquired GitHub, what should people be using; Git Repositories or GitHub? And is Azure Repos going to die?
[21:09] Why Azure Pipelines is such a simple, powerful solution.
[22:42] A word from Azure DevOps Podcast's sponsor: Clear Measure.
[23:07] Martin addresses the "elephant in the room": Azure Repos.
[25:50] Between Azure Repos and GitHub, was does Martin see being the premiere option 10 years down the line?
[30:17] The importance of having a GitHub account.
[32:30] Martin and Jeffrey talk about how the industry is adopting more engineering practices and collaboration which makes DevOps work so well.
[34:49] Does Martin agree with Sam Guckenheimer's ideas on DevOps (from when he was on the podcast)?
[37:09] Martin's advice on how to use Azure DevOps Services with GitHub.
[47:12] Martin's recommendations on what to follow-up on after listening to this week's podcast!
Mentioned in this Episode:
Azure DevOps
Clear Measure (Sponsor)
Martin Woodward (LinkedIn)
.NET Foundation
Outercurve Foundation (CodePlex Foundation)
Azure DevOps User Group
Meetup
CruiseControl.NET
Jenkins
TeamCity
Azure DevOps Server
The Azure DevOps Podcast episode 003: "Sam Guckenheimer on Testing, Data Collection, and the State of DevOps Report"
Azure Pipelines
Want to Learn More?
Visit AzureDevOps.Show for show notes and additional episodes.
On today's episode, Scott Hunter joins your host, Jeffrey Palermo, to discuss DevOps capabilities in Azure. Scott is the Director of Program Management for .NET at Microsoft. When Scott first joined Microsoft back in 2007, he was working on the ASP.NET team.
As the Director of Program Management of .NET, he and his team build .NET Core, .NET Framework, ASP.NET, Entity Framework, managed languages (C#/F#/VB), as well as the Web and .NET Tooling for Visual Studio.
Join Scott Hunter and Jeffrey as they take you through the differences between .NET Core and .NET Framework, when and why you should move to .NET Core 3.0 in the future, how .NET Standard bridges the gap between these two, where all the different architectures fit into the .NET ecosystem, and an update and overview on WebAssembly and Blazor. Scott and Jeffrey also give you a preview of their upcoming book, .NET DevOps for Azure, and their motivation behind it.
Topics of Discussion:
[:46] Jeffrey introduces Scott and welcomes him to the show!
[2:46] Scott gives an overview of what his team at Microsoft builds.
[4:10] What is .NET Core 3.0 and when should people on .NET Framework consider moving over to it? What's the difference between the two?
[11:42] How should we think of .NET Core 3.0 and .NET Framework, moving forward?
[13:20] How .NET Standard bridges the gap between .NET Core and .NET Framework, opening up possibilities.
[16:08] Scott gives an overview and update on WebAssembly and Blazor — an experimental project utilizing .NET Core.
[20:55] Options that will be available with the .NET Core 3.0 release.
[25:25] A word from Azure DevOps Podcast's sponsor: Clear Measure.
[25:52] Some benefits of Blazor.
[28:00] Would you still be deploying as an Azure website when using Blazor or does it have any changes to the deployment configuration in Azure?
[28:38] Is it mandatory to use SignalR Service or are Blazor apps baked in with the framework?
[30:50] With so many options in the .NET ecosystem, where do all these architectures land? For example, monolith vs. microservices.
[37:24] Scott and Jeffrey give a preview of their upcoming book, .NET DevOps for Azure, and the motivation behind it.
[42:36] What Scott recommends listeners follow-up on after today's episode.
Mentioned in this Episode:
Azure DevOps
Clear Measure (Sponsor)
.NET Core 3.0
Blazor
WebAssembly
Mono
Azure Kubernetes Service (AKS)
SignalR Service
Monolith vs. Microservices
.NET Architecture Guides
DOT.NET
Want to Learn More?
Visit AzureDevOps.Show for show notes and additional episodes.
On today's episode, Scott Hunter joins your host, Jeffrey Palermo, to discuss DevOps capabilities in Azure. Scott is the Director of Program Management for .NET at Microsoft. When Scott first joined Microsoft back in 2007, he was working on the ASP.NET team.
As the Director of Program Management of .NET, he and his team build .NET Core, .NET Framework, ASP.NET, Entity Framework, managed languages (C#/F#/VB), as well as the Web and .NET Tooling for Visual Studio.
Join Scott Hunter and Jeffrey as they take you through the differences between .NET Core and .NET Framework, when and why you should move to .NET Core 3.0 in the future, how .NET Standard bridges the gap between these two, where all the different architectures fit into the .NET ecosystem, and an update and overview on WebAssembly and Blazor. Scott and Jeffrey also give you a preview of their upcoming book, .NET DevOps for Azure, and their motivation behind it.
Topics of Discussion:
[:46] Jeffrey introduces Scott and welcomes him to the show!
[2:46] Scott gives an overview of what his team at Microsoft builds.
[4:10] What is .NET Core 3.0 and when should people on .NET Framework consider moving over to it? What's the difference between the two?
[11:42] How should we think of .NET Core 3.0 and .NET Framework, moving forward?
[13:20] How .NET Standard bridges the gap between .NET Core and .NET Framework, opening up possibilities.
[16:08] Scott gives an overview and update on WebAssembly and Blazor — an experimental project utilizing .NET Core.
[20:55] Options that will be available with the .NET Core 3.0 release.
[25:25] A word from Azure DevOps Podcast's sponsor: Clear Measure.
[25:52] Some benefits of Blazor.
[28:00] Would you still be deploying as an Azure website when using Blazor or does it have any changes to the deployment configuration in Azure?
[28:38] Is it mandatory to use SignalR Service or are Blazor apps baked in with the framework?
[30:50] With so many options in the .NET ecosystem, where do all these architectures land? For example, monolith vs. microservices.
[37:24] Scott and Jeffrey give a preview of their upcoming book, .NET DevOps for Azure, and the motivation behind it.
[42:36] What Scott recommends listeners follow-up on after today's episode.
Mentioned in this Episode:
Azure DevOps
Clear Measure (Sponsor)
.NET Core 3.0
Blazor
WebAssembly
Mono
Azure Kubernetes Service (AKS)
SignalR Service
Monolith vs. Microservices
.NET Architecture Guides
DOT.NET
Want to Learn More?
Visit AzureDevOps.Show for show notes and additional episodes.
Simon Timms is a long-time freelance Software Engineer, multi-time Microsoft MVP co-host of ASP.NET Monsters on Channel 9, and also runs the Function Junction Youtube channel. He considers himself a generalist with a history of working in a diverse range of industries. He's personally interested in A.I., DevOps, and microservices; and skilled in Software as a Service (SaaS), .NET Framework, Continuous Integration, C#, and JavaScript. He's also written two books with Packt Publishing: Social Data Visualization with HTML5 and JavaScript and Mastering JavaScript Design Patterns.
In this week's episode, Simon and Jeffrey will be discussing Azure Functions and running processes in Azure. Simon explains how the internal model of Azure Functions works, the difference between Azure Functions and Durable Functions, the benefits and barriers to Azure Functions, and much, much more.
Topics of Discussion:
[:43] About today's episode.
[1:13] Simon's career in software engineering and the high-points in his journey.
[3:11] Simon gives a rundown of the options available for running backend jobs when targeting the Azure datacenter.
[4:23] How is Azure Functions different from Webjobs?
[7:47] How would you make the decision to run your web application or website using Azure Web Apps or App Service Plan versus Azure Functions with the consumption model?
[10:01] Simon dives deeper into how Azure Functions works.
[12:23] A word from Azure DevOps Podcast's sponsor: Clear Measure.
[12:48] Can you use Azure Functions for things that people traditionally had running as Azure Services or a scheduled task?
[13:54] About Microsoft's new framework, Durable Functions.
[15:33] Is Durable Functions ready? When should people be adopting it?
[17:02] How Window queue-based services translate into Azure Functions.
[18:29] How the internal model of Azure Functions works.
[20:02] Azure Functions vs. Durable Functions.
[21:44] How long-running business transactions look with Durable Functions.
[24:30] What the testing environment and process looks like on Durable Functions.
[26:26] Simon outlines some of the application types and scenarios you can do in Azure Functions.
[28:28] Places where Azure Functions are not really good.
[30:03] Are there any barriers to portability to going back-and-forth between hosting your job as a web job, versus hosting it as an Azure Function.
[32:02] When would Simon go for Azure Batch instead of Azure Functions?
[36:54] What Simon recommends listeners follow-up on!
Mentioned in this Episode:
Azure DevOps
Clear Measure (Sponsor)
Function Junction Youtube Channel
Simon Timms (Blog)
ASP.NET Monsters
Social Data Visualization with HTML5 and JavaScript, by Simon Timms
Mastering JavaScript Design Patterns, by Simons Timms Azure App Service Data Factory
Azure Functions
Azure Web Apps
Troy Hunt
Have I Been Pwned?
Microsoft Durable Functions
The official Twitter account for Azure Functions
Eduardo Laureano's Twitter
Jeff Hollan's Twitter
Mikhail Shilkov's Twitter
Want to Learn More?
Visit AzureDevOps.Show for show notes and additional episodes.
Simon Timms is a long-time freelance Software Engineer, multi-time Microsoft MVP co-host of ASP.NET Monsters on Channel 9, and also runs the Function Junction Youtube channel. He considers himself a generalist with a history of working in a diverse range of industries. He's personally interested in A.I., DevOps, and microservices; and skilled in Software as a Service (SaaS), .NET Framework, Continuous Integration, C#, and JavaScript. He's also written two books with Packt Publishing: Social Data Visualization with HTML5 and JavaScript and Mastering JavaScript Design Patterns.
In this week's episode, Simon and Jeffrey will be discussing Azure Functions and running processes in Azure. Simon explains how the internal model of Azure Functions works, the difference between Azure Functions and Durable Functions, the benefits and barriers to Azure Functions, and much, much more.
Topics of Discussion:
[:43] About today's episode.
[1:13] Simon's career in software engineering and the high-points in his journey.
[3:11] Simon gives a rundown of the options available for running backend jobs when targeting the Azure datacenter.
[4:23] How is Azure Functions different from Webjobs?
[7:47] How would you make the decision to run your web application or website using Azure Web Apps or App Service Plan versus Azure Functions with the consumption model?
[10:01] Simon dives deeper into how Azure Functions works.
[12:23] A word from Azure DevOps Podcast's sponsor: Clear Measure.
[12:48] Can you use Azure Functions for things that people traditionally had running as Azure Services or a scheduled task?
[13:54] About Microsoft's new framework, Durable Functions.
[15:33] Is Durable Functions ready? When should people be adopting it?
[17:02] How Window queue-based services translate into Azure Functions.
[18:29] How the internal model of Azure Functions works.
[20:02] Azure Functions vs. Durable Functions.
[21:44] How long-running business transactions look with Durable Functions.
[24:30] What the testing environment and process looks like on Durable Functions.
[26:26] Simon outlines some of the application types and scenarios you can do in Azure Functions.
[28:28] Places where Azure Functions are not really good.
[30:03] Are there any barriers to portability to going back-and-forth between hosting your job as a web job, versus hosting it as an Azure Function.
[32:02] When would Simon go for Azure Batch instead of Azure Functions?
[36:54] What Simon recommends listeners follow-up on!
Mentioned in this Episode:
Azure DevOps
Clear Measure (Sponsor)
Function Junction Youtube Channel
Simon Timms (Blog)
ASP.NET Monsters
Social Data Visualization with HTML5 and JavaScript, by Simon Timms
Mastering JavaScript Design Patterns, by Simons Timms Azure App Service Data Factory
Azure Functions
Azure Web Apps
Troy Hunt
Have I Been Pwned?
Microsoft Durable Functions
The official Twitter account for Azure Functions
Eduardo Laureano's Twitter
Jeff Hollan's Twitter
Mikhail Shilkov's Twitter
Want to Learn More?
Visit AzureDevOps.Show for show notes and additional episodes.
Paul Stovell, the founder and CEO of Octopus Deploy, joins the podcast today. Paul is an expert on all things automated deployment and Cloud operations. He started Octopus Deploy back in 2011, but prior to that, he worked as a consultant for about five years.
Octopus Deploy is a pretty major player in the market. Their mission? To do automated deployments really, really well. Today, it helps over 20,000 customers automate their deployments, and employs 40 brilliant people. It can be integrated with Azure DevOps services and many other build services.
On this week's episode, Paul talks about his career journey and what led him to create Octopus Deploy; his accomplishments, goals, and visions for Octopus Deploy; which build servers integrate best with Octopus Deploy; his tips and tricks for how to best utilize it; and his vision for the future of DevOps.
Topics of Discussion:
[:51] About today's guest — Paul Stovell.
[1:06] Paul introduces himself and gives some background on his career journey.
[3:36] Paul's take on continuous integration in the past and now.
[5:05] Paul's original vision for his company, Octopus Deploy.
[7:54] Where Octopus Deploy fits in for Visual Studio developers.
[12:03] Paul speaks about the two approaches to doing deployments.
[16:11] About the depth of the Octopus Deploy library.
[17:27] A word from the Azure DevOps Podcast sponsor: Clear Measure.
[17:54] Out of all of the build servers, which integrate best with Octopus Deploy?
[19:47] How Octopus Deploy could be a big game-changer with the newest release.
[26:17] When adopting a serverless environment, where does Octopus Deploy's tentacle agent go? How does it configure?
[29:23] Which tasks should go with Octopus Deploy and what're the boundaries?
[31:11] Paul's vision for the future of DevOps 5-10 years down the road.
[37:13] Jeffrey and Paul talk incident prevention and incident management.
[39:16] Paul's recommendations on where to follow-up to learn more about Octopus Deploy after this podcast.
Mentioned in this Episode:
Azure DevOps
Clear Measure (Sponsor)
Paul Stovell
Octopus DeployTeamCity
Atlassian BambooRed Gate
Octopus.com/blog (to join the Slack channel)
Want to Learn More?
Visit AzureDevOps.Show for show notes and additional episodes.
Paul Stovell, the founder and CEO of Octopus Deploy, joins the podcast today. Paul is an expert on all things automated deployment and Cloud operations. He started Octopus Deploy back in 2011, but prior to that, he worked as a consultant for about five years.
Octopus Deploy is a pretty major player in the market. Their mission? To do automated deployments really, really well. Today, it helps over 20,000 customers automate their deployments, and employs 40 brilliant people. It can be integrated with Azure DevOps services and many other build services.
On this week's episode, Paul talks about his career journey and what led him to create Octopus Deploy; his accomplishments, goals, and visions for Octopus Deploy; which build servers integrate best with Octopus Deploy; his tips and tricks for how to best utilize it; and his vision for the future of DevOps.
Topics of Discussion:
[:51] About today's guest — Paul Stovell.
[1:06] Paul introduces himself and gives some background on his career journey.
[3:36] Paul's take on continuous integration in the past and now.
[5:05] Paul's original vision for his company, Octopus Deploy.
[7:54] Where Octopus Deploy fits in for Visual Studio developers.
[12:03] Paul speaks about the two approaches to doing deployments.
[16:11] About the depth of the Octopus Deploy library.
[17:27] A word from the Azure DevOps Podcast sponsor: Clear Measure.
[17:54] Out of all of the build servers, which integrate best with Octopus Deploy?
[19:47] How Octopus Deploy could be a big game-changer with the newest release.
[26:17] When adopting a serverless environment, where does Octopus Deploy's tentacle agent go? How does it configure?
[29:23] Which tasks should go with Octopus Deploy and what're the boundaries?
[31:11] Paul's vision for the future of DevOps 5-10 years down the road.
[37:13] Jeffrey and Paul talk incident prevention and incident management.
[39:16] Paul's recommendations on where to follow-up to learn more about Octopus Deploy after this podcast.
Mentioned in this Episode:
Azure DevOps
Clear Measure (Sponsor)
Paul Stovell
Octopus DeployTeamCity
Atlassian BambooRed Gate
Octopus.com/blog (to join the Slack channel)
Want to Learn More?
Visit AzureDevOps.Show for show notes and additional episodes.
This week, your host, Jeffrey Palermo, is bringing you a special solo episode to discuss current industry news in the DevOps space, as well as some of his latest tips and strategies.
Jeffrey has been incredibly passionate about DevOps for a while now — since 2006 to be exact. Earlier in his career, he was a founding board member of a group called Agile Austin, led the Austin .NET User Group for about 5 years, and founded the Azure Austin Group. Since 2005, he has really had a passion for helping development teams be great — and the DevOps movement, in many ways, is a continuation of the passions of the Agile movement. It's a very unselfish movement — and that's why he loves it.
He knew he wanted to contribute to the conversation after noticing the lack of outlets for DevOps conversations in the Microsoft community. So, in 2017, he started the Azure DevOps User Group on Meetup, then, in 2018, he launched this podcast, the Azure DevOps Podcast.
In today's episode, Jeffrey reviews some of the current industry news and tips, including; an interesting announcement in the A.I. space about Cortana, ServiceNow Change Management in Azure Pipelines, Azure DevOps Agents on Azure Container Instances (ACI), .NET Core 3 and 4.8, and an article about Razor Components. He also gives his 10 tips for rapidly recovering when a deployment breaks badly.
Topics of Discussion:
[:52] About today's show, Jeffrey's background in the industry, and his passion for the DevOps movement.
[2:50] Jeffrey reviews some current industry news and tips!
[16:35] A word from Azure DevOps sponsor: Clear Measure.
[17:02] An interesting strategy announcement in the A.I. space about Cortana.
[20:39] Jeffrey highlights an article about Razor Components and gives his take on it.
[29:11] About the fantastic kickoff presentation by Brian Harry on the Azure DevOps User Group.
[30:17] 10 tips for rapidly recovering when a deployment breaks badly.
[38:13] Announcing an upcoming Azure DevOps Podcast episode.
Mentioned in this Episode:
Azure DevOps
Clear Measure (Sponsor)
Azure DevOps User Group (on Meetup)
Agile Austin
Austin .NET User Group (on Meetup)
Azure Austin Group (on Meetup)
Azure DevOps Server 2019 RC2
Blog post by Matteo Emili on how to use the new URL scheme
ServiceNow Change Management in Azure Pipelines
Azure DevOps Agents on Azure Container Instances (ACI)
.NET Core 3 Preview 1
NuGet Package Explorer Version 5
Satya Nadella on the strategy of Cortana
Razor Components for a JavaScript-Free Frontend in 2019
Recording of the kickoff presentation by Brian Harry for the Azure DevOps User Group
Paul Stovell
Octopus Deploy
Want to Learn More?
Visit AzureDevOps.Show for show notes and additional episodes.
This week, your host, Jeffrey Palermo, is bringing you a special solo episode to discuss current industry news in the DevOps space, as well as some of his latest tips and strategies.
Jeffrey has been incredibly passionate about DevOps for a while now — since 2006 to be exact. Earlier in his career, he was a founding board member of a group called Agile Austin, led the Austin .NET User Group for about 5 years, and founded the Azure Austin Group. Since 2005, he has really had a passion for helping development teams be great — and the DevOps movement, in many ways, is a continuation of the passions of the Agile movement. It's a very unselfish movement — and that's why he loves it.
He knew he wanted to contribute to the conversation after noticing the lack of outlets for DevOps conversations in the Microsoft community. So, in 2017, he started the Azure DevOps User Group on Meetup, then, in 2018, he launched this podcast, the Azure DevOps Podcast.
In today's episode, Jeffrey reviews some of the current industry news and tips, including; an interesting announcement in the A.I. space about Cortana, ServiceNow Change Management in Azure Pipelines, Azure DevOps Agents on Azure Container Instances (ACI), .NET Core 3 and 4.8, and an article about Razor Components. He also gives his 10 tips for rapidly recovering when a deployment breaks badly.
Topics of Discussion:
[:52] About today's show, Jeffrey's background in the industry, and his passion for the DevOps movement.
[2:50] Jeffrey reviews some current industry news and tips!
[16:35] A word from Azure DevOps sponsor: Clear Measure.
[17:02] An interesting strategy announcement in the A.I. space about Cortana.
[20:39] Jeffrey highlights an article about Razor Components and gives his take on it.
[29:11] About the fantastic kickoff presentation by Brian Harry on the Azure DevOps User Group.
[30:17] 10 tips for rapidly recovering when a deployment breaks badly.
[38:13] Announcing an upcoming Azure DevOps Podcast episode.
Mentioned in this Episode:
Azure DevOps
Clear Measure (Sponsor)
Azure DevOps User Group (on Meetup)
Agile Austin
Austin .NET User Group (on Meetup)
Azure Austin Group (on Meetup)
Azure DevOps Server 2019 RC2
Blog post by Matteo Emili on how to use the new URL scheme
ServiceNow Change Management in Azure Pipelines
Azure DevOps Agents on Azure Container Instances (ACI)
.NET Core 3 Preview 1
NuGet Package Explorer Version 5
Satya Nadella on the strategy of Cortana
Razor Components for a JavaScript-Free Frontend in 2019
Recording of the kickoff presentation by Brian Harry for the Azure DevOps User Group
Paul Stovell
Octopus Deploy
Want to Learn More?
Visit AzureDevOps.Show for show notes and additional episodes.
From the publisher's feed

273 Listeners

381 Listeners

290 Listeners

478 Listeners

625 Listeners

149 Listeners

582 Listeners

45 Listeners

213 Listeners

222 Listeners

986 Listeners

179 Listeners

242 Listeners

62 Listeners

139 Listeners