<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Jamie</title>
    <description>The latest articles on Forem by Jamie (@dotnetcoreblog).</description>
    <link>https://forem.com/dotnetcoreblog</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F74588%2F39c634f0-0bb1-4f03-995f-13dc9fb33a3f.jpg</url>
      <title>Forem: Jamie</title>
      <link>https://forem.com/dotnetcoreblog</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/dotnetcoreblog"/>
    <language>en</language>
    <item>
      <title>10 Lessons Learnt From the Last 2 Years in Podcasting</title>
      <dc:creator>Jamie</dc:creator>
      <pubDate>Sat, 01 Aug 2020 12:37:19 +0000</pubDate>
      <link>https://forem.com/rjjsoftware/10-lessons-learnt-from-the-last-2-years-in-podcasting-2l8p</link>
      <guid>https://forem.com/rjjsoftware/10-lessons-learnt-from-the-last-2-years-in-podcasting-2l8p</guid>
      <description>&lt;p&gt;&lt;em&gt;This blog post was originally published at the RJJ Software blog. The original post (without gifs) can be found &lt;a href="https://rjj-software.co.uk/blog/10-lessons-learnt-from-the-last-2-years-in-podcasting/"&gt;here&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;The cover image for this post is by &lt;a href="https://unsplash.com/photos/QziaoZM0M44"&gt;CoWomen&lt;/a&gt; over at Unsplash&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;For those who don't know, I'm the host of &lt;a href="https://dotnetcore.show/"&gt;The .NET Core Podcast&lt;/a&gt;. I'm also a "serial podcast producer" (in the words of my friend &lt;a href="https://cynicaldeveloper.com/"&gt;James Studdart&lt;/a&gt;), as I've started a number of them throughout the years. Some of them are &lt;a href="https://dotnetcore.show/"&gt;about technology&lt;/a&gt;, some are &lt;a href="https://wafflingtaylors.rocks/"&gt;about video games&lt;/a&gt;, some are about the &lt;a href="https://tabsandspaces.io/"&gt;business of writing software&lt;/a&gt;, and &lt;a href="https://www.podchaser.com/podcasts/askabrit-780277"&gt;some are just&lt;/a&gt; fun &lt;a href="https://www.podchaser.com/podcasts/dev-otaku-653997"&gt;to produce&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can see a list of all the shows I’ve been involved in at &lt;a href="https://www.podchaser.com/creators/jamie-taylor-107ZzkFzHS/"&gt;my podchaser profile page&lt;/a&gt; - which includes this wonderful statistic:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--SeJJxut3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ayymh77c0whw8yw6ifxd.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--SeJJxut3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/ayymh77c0whw8yw6ifxd.jpg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Anyway, none of that is the reason why I wanted to write this blog post. I wanted to talk about the 10 things that I've learned from running a &lt;a href="https://dotnetcore.show/"&gt;tech podcast&lt;/a&gt; for two years.&lt;/p&gt;

&lt;h3&gt;
  
  
  Number 1 - You're Playing The Long Game
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/1gQwb1H2tahKlnFuoF/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/1gQwb1H2tahKlnFuoF/giphy.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Some podcasts can achieve instant success, and that's fantastic. Usually, these shows have a very specific niche, an engrossing host team, or a &lt;em&gt;large&lt;/em&gt; team of folks behind them.&lt;/p&gt;

&lt;p&gt;Unless you are lucky enough to have those things, then you're likely going to be playing the long game. This is because it will likely take time for your show to gain traction - and &lt;em&gt;that's&lt;/em&gt; partially because there are so many other people out there creating shows on everything. Seriously, almost any topic you can think of has several established podcasts with engaged audiences and a legion of not so well established podcasts.&lt;/p&gt;

&lt;p&gt;With that being said, you shouldn't let what I've said stop you from starting the podcast of your dreams. But you should know that it may take a while to gain traction.&lt;/p&gt;

&lt;h3&gt;
  
  
  Number 2 - Ignore the Stats at the Start
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/xT5LMWNOjGqJzUfyve/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/xT5LMWNOjGqJzUfyve/giphy.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It's incredibly exciting to jump over to your podcast host's website and take a look at the numbers going up. I'm not going to lie that I used to do this daily. The problem with that is, that podcasts are an on-demand type of media: folks will listen whenever it suits them.&lt;/p&gt;

&lt;p&gt;Because of this, you will have days where it feels like almost no one will be listening to your show. This is because of the very ad-hoc nature of podcast consumption. Imagine the situation: you only listen to your favourite show when you're driving to work, and you suddenly no longer need to drive to work - let's say that there's a public holiday. Well, you're not going to be listening to your favourite show.&lt;/p&gt;

&lt;p&gt;And that's where Number 3 comes in:&lt;/p&gt;

&lt;h3&gt;
  
  
  Number 3 - There's no "Perfect Day" to Release
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/gfTPmNCC7PKHevwp25/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/gfTPmNCC7PKHevwp25/giphy.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I've seen this question come up a lot, usually from folks just starting out or from folks reaching out to me to up their game. I'll tell you what I tell them:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;There's no perfect day to release an episode of your show, just a day which is perfect for you.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Let's face it when we start a new project we go through a "Honeymoon phase" of sorts: we want to keep working on it as much as possible and get as much content out there for people to see and consume. The problem with that is that it's not sustainable.&lt;/p&gt;

&lt;p&gt;Imagine that you get super excited about a podcast that you're creating and decide to release 4 episodes a week. That's fine right now because you've likely budgeted your time out to give you time to experiment. But what happens in 6 months, when you're suddenly moving to another state? What about 12 months, when the enthusiasm starts to wear thing? What if the unthinkable happens and you get ill? What if - and I hope it doesn't happen to you - you have some tragic news? Can you keep that release cadence up?&lt;/p&gt;

&lt;p&gt;The only perfect release day which matters is the release day that you can fit into your schedule. If you can't fit it into your schedule, then it's not a perfect release day.&lt;/p&gt;

&lt;h3&gt;
  
  
  Number 4 - Automate All The Things
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/S0hxMGYFhEMzm/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/S0hxMGYFhEMzm/giphy.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At the start of every episode of The .NET Core Podcast, I say:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;let's sit back, open up a terminal, type in &lt;code&gt;dotnet new podcast&lt;/code&gt; and let the show begin&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;with the sound of me typing the command &lt;code&gt;dotnet new podcast&lt;/code&gt; into my terminal. The reason for this is because I do that when starting a new episode.&lt;/p&gt;

&lt;p&gt;I have a small .NET application for scaffolding all of the files I need to create a new episode. It creates a markdown file for show notes, adds an entry into my calendar, sets up a planning document, and opens a new email in my email client.&lt;/p&gt;

&lt;p&gt;And that's just the recording side of it.&lt;/p&gt;

&lt;p&gt;I also have an automated deployment pipeline for releasing the episodes. Each episode is released at 12:30 (UK time) on Friday afternoons, and the website for the show is built on using the &lt;a href="https://gohugo.io/"&gt;Hugo static site engine&lt;/a&gt;. so I have a &lt;a href="https://github.com/features/actions"&gt;GitHub action&lt;/a&gt; which rebuilds the site at midday (again, UK time), ahead of the release of that week's episode. My episodes are also set to auto-release at 12:30 and to link back to the show notes address.&lt;/p&gt;

&lt;p&gt;So the pre-production is automated, and the release is automated. I just have to deal with production, editing, and post-production.&lt;/p&gt;

&lt;h3&gt;
  
  
  Number 5 - Know Your Tooling
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/fhAwk4DnqNgw8/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/fhAwk4DnqNgw8/giphy.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This goes without saying, regardless of whether you are working with audio, crafting code, writing unit tests, or writing prose. Once you know your tooling, you'll be both more efficient and be able to do things you previously thought not possible.&lt;/p&gt;

&lt;p&gt;For a lot of folks who are new to podcasting and working with audio, this will mean learning both the audio production and editing tools &lt;em&gt;and&lt;/em&gt; learning about the physics of audio. But don't be put off by the fact that you have to learn something new, you can pick it up as you go along.&lt;/p&gt;

&lt;p&gt;For some, this might mean heading over to &lt;a href="http://udemy.com/"&gt;Udemy&lt;/a&gt; (or some other video-based training site), grabbing a course on Audition, Garage Band, or similar, and sitting through several hours of someone talking you through the tooling. For others, this might mean recording something and figuring it out as they go.&lt;/p&gt;

&lt;p&gt;Let me just say that both of those strategies are fine because we all learn differently. Picking it up as you go along is just as valid as learning everything ahead of time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Number 6 - The "Anti-Umm" Thing
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/DZKTbSdli7iPqP5OpB/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/DZKTbSdli7iPqP5OpB/giphy.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Don't waste your time with this. It will sound unnatural, and there will likely be imperceptible audio spikes which cause issues when &lt;a href="https://backtracks.fm/resources/podcast-dictionary/bouncing+audio"&gt;bouncing&lt;/a&gt;/rendering the audio. Everyone can tell when you cut out some umms and errs, so just don't do it.&lt;/p&gt;

&lt;p&gt;Plus, it takes a &lt;em&gt;very&lt;/em&gt; long time to do (see Number 8)&lt;/p&gt;

&lt;h3&gt;
  
  
  Number 7 - You'll Get Better At It With Time
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/fsPSH7nJQxMcDkgKy9/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/fsPSH7nJQxMcDkgKy9/giphy.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Unless you have years of experience doing podcast production under your belt, you're going to start with something good enough and get better with time.&lt;/p&gt;

&lt;p&gt;What I mean by "good enough" is not that it will be bad in any way, shape, or form. I just mean that because you don't have the experience, you won't spot things that you could have done to make the quality better, the edit faster, or the post-production tighter.&lt;/p&gt;

&lt;p&gt;It's the same with anything in life: you want to get good at swimming? Go out and swim a &lt;em&gt;lot&lt;/em&gt;, as you approach that magical &lt;a href="https://en.wikipedia.org/wiki/Outliers_(book)"&gt;10,000 hours&lt;/a&gt; of &lt;a href="https://blog.gaprogman.com/2018/03/the-importance-of-deliberate-practise/"&gt;deliberate practice&lt;/a&gt;, you'll start seeing improvements.&lt;/p&gt;

&lt;p&gt;So don't sweat it, if you start slow or look back on where you started and cringe.&lt;/p&gt;

&lt;h3&gt;
  
  
  Number 8 - It Takes Time
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/l46Cl0tMeGOdC6CCA/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/l46Cl0tMeGOdC6CCA/giphy.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Unless you hire an editor&lt;/p&gt;

&lt;p&gt;&lt;em&gt;one of the services that RJJ offers is &lt;a href="https://rjj-software.co.uk/services/#items/audio"&gt;podcast editing&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;then you can expect to spend a &lt;em&gt;lot&lt;/em&gt; of time editing. The rule of thumb that I throw around is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;for every 30 minutes of recorded audio, you're looking at 60 minutes of editing time &lt;strong&gt;at the very least&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The emphasis here is the important part. When you start, you'll likely be slower because you might still be learning the tooling. You'll get faster as you get better, but it will still likely take about double the length of the recorded audio. This is because you'll likely start picking up other tips and techniques, meaning that you spend even more time getting everything edited together.&lt;/p&gt;

&lt;p&gt;And that doesn't count the time you'll be spending planning episodes, writing them, reaching out to and scheduling guests, getting promotional pieces done, shouting up about it on social media sites, and answering listener feedback.&lt;/p&gt;

&lt;p&gt;There's a reason why folks like Joe Rogan have a team of people around him. He turns up to the studio with a list of topics, sits down in front of the mic, starts talking when the audio engineer clears him, and leaves when the recording is done. His team handle everything else.&lt;/p&gt;

&lt;h3&gt;
  
  
  Number 9 - Have a Pre-Release Checklist
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/l4EpblDY4msVtKAOk/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/l4EpblDY4msVtKAOk/giphy.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;You've recorded the audio, edited it down, post-produced it, sourced a sponsor, added the ad-read, and even uploaded the mp3 file to be released. But have you done everything?&lt;/p&gt;

&lt;p&gt;That's where a pre-release checklist comes in. This allows you to doublecheck that you've done everything. What if you release an episode which was meant to have some ad-copy in there, but it's somehow missing from the episode? Well, you're likely going to have a very upset sponsor calling you up as soon as they find out - and they'll find out as soon as the episode goes live.&lt;/p&gt;

&lt;p&gt;This is where having a pre-release checklist is vital, and having a step on there with "listen to the episode in &lt;strong&gt;it's entirety&lt;/strong&gt; before releasing". The emphasis here is super important. What if the bounce/render failed partway through? What if the audio suddenly becomes super loud at the halfway mark? You don't want your listeners or sponsors to have to report that to you.&lt;/p&gt;

&lt;h3&gt;
  
  
  Number 10 - Don't Release Until It's Approved
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/vVLRlV2Ee3m7K/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/vVLRlV2Ee3m7K/giphy.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Part of the process for getting your podcast out there is telling Apple about it. It's a step which goes back to the iTunes days - it's since been renames Apple Music. Here's what you need to do:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Tell Apple Podcasts (used to be called iTunes) that your show exists&lt;/li&gt;
&lt;li&gt;Wait for them to approve it&lt;/li&gt;
&lt;li&gt;Wait for them to approve it&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;li&gt;Wait for them to approve it&lt;/li&gt;
&lt;li&gt;It will appear in Apple Podcasts&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;If your podcast isn't in Apple Podcasts, then the majority of people won't have a chance at hearing it. This is because the majority of the podcast aggregators pull their podcast feeds directly from Apple Podcasts - whether they should or not is up for debate.&lt;/p&gt;

&lt;p&gt;So if your podcast isn't on there, then it won't be anywhere. And if you've ever released an app to the Apple App Store, you'll know that there's a period where the folks at Cupertino need to do some checking and vetting of your show. If you don't follow &lt;a href="https://itunespartner.apple.com/podcasts/articles/podcast-requirements-3058"&gt;Apple's guidelines&lt;/a&gt; to the letter, then your show won't be accepted, and you'll have a bad time.&lt;/p&gt;

&lt;p&gt;As such, it's worth waiting until your podcast has been accepted by Apple before you start the media campaigns. You don't want potential listeners to flock to their podcatchers (the term for podcast consumption apps) only to struggle to find your podcast because Apple denied the show.&lt;/p&gt;

&lt;h3&gt;
  
  
  Summary
&lt;/h3&gt;

&lt;p&gt;Those are some of the things that I've picked up over the first two years of producing, hosting, editing, dogsboddying, and promoting The .NET Core Podcast. I have so much more advice to give, but I'd rather not keep you all day.&lt;/p&gt;

&lt;p&gt;Are you involved in creating a podcast? I'd love to hear some of your top tips? If you're not involved in one, are you considering it? Let me know in the comments.&lt;/p&gt;

&lt;p&gt;One last thing: I've put a &lt;a href="https://rjj-software.co.uk/getting-started-in-podcasting/"&gt;course together on getting into podcasting&lt;/a&gt;. If you liked this article, and are considering getting into podcasting, or if you already have a podcast and are looking to up your game (as it were), then I'd recommend enrolling today.&lt;/p&gt;

</description>
      <category>podcast</category>
    </item>
    <item>
      <title>Backups Backups Backups</title>
      <dc:creator>Jamie</dc:creator>
      <pubDate>Wed, 19 Feb 2020 14:29:32 +0000</pubDate>
      <link>https://forem.com/rjjsoftware/backups-backups-backups-4ff1</link>
      <guid>https://forem.com/rjjsoftware/backups-backups-backups-4ff1</guid>
      <description>&lt;p&gt;&lt;em&gt;The cover image for this post is by &lt;a href="https://unsplash.com/photos/5yEiCUynJ9w"&gt;Markus Spiske&lt;/a&gt; over on Unsplash&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  A Little History
&lt;/h3&gt;

&lt;p&gt;Like many people who came of age in the 1990s, I hadn't taken backups seriously until I got to college.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;side note: by "College" I mean in the UK sense. For friends who went through the American style of education, this means non-compulsory education which usually starts at the age of 16 and lasts for 2 years&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It was while at college that I suffered my first big data loss.&lt;/p&gt;

&lt;p&gt;I'd been working on an app, written in Assembler for a &lt;a href="http://www.flite.co.uk/flite-flt-68k-68000-training-system.htm"&gt;Flight 68K&lt;/a&gt;. To run the application, we had to visit the labs and:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Boot a device into DOS&lt;/li&gt;
&lt;li&gt;Start the IDE&lt;/li&gt;
&lt;li&gt;Load the source code from either hard drive or floppy disk&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;I was at college in the early 2000s&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Build, deploy, and run the application&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At some point between making changes on my Windows 2000 machine and loading it into the DOS-based IDE, the source code became corrupted. These days, I would know how to repair the source code&lt;/p&gt;

&lt;p&gt;&lt;em&gt;and not just by the use of &lt;code&gt;git reset --hard origin/master&lt;/code&gt; or whatever your favourite way is for undoing any local changes&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;but back then I had no way of knowing how to fix the text files. I also wasn't using source control, because I hadn't been introduced to the topic yet - we were studying electronics.&lt;/p&gt;




&lt;p&gt;This would happen again, several months later, with a short story that I was working on.&lt;/p&gt;

&lt;p&gt;Those of you who have read my other articles will know that I'm not much of a writer, but there was a time when I wanted to try it out.&lt;/p&gt;

&lt;p&gt;I had a short story, stored as a Word document, on a 64 MB&lt;/p&gt;

&lt;p&gt;&lt;em&gt;yes, MB&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;USB memory stick. That memory stick was attached to my keys and was quite bulky. Keys have a certain amount of weight, and USB ports are usually found on the front or back of a PC tower.&lt;/p&gt;

&lt;p&gt;Over time, the connectors between the USB port and the board within the memory stick snapped. Meaning that I had no (cheap) way of rescuing the data from it.&lt;/p&gt;




&lt;p&gt;In both of these real-world examples, there was no real money lost. There was also no reputational damage. And there was definitely no-one holding me to ransom.&lt;/p&gt;

&lt;p&gt;But that could happen to you if you're not taking backups.&lt;/p&gt;

&lt;h3&gt;
  
  
  3-2-1
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--pu5QPLgU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://images.unsplash.com/flagged/photo-1578928534298-9747fc52ec97%3Fixlib%3Drb-1.2.1%26ixid%3DeyJhcHBfaWQiOjEyMDd9%26auto%3Dformat%26fit%3Dcrop%26w%3D1489%26q%3D80" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--pu5QPLgU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://images.unsplash.com/flagged/photo-1578928534298-9747fc52ec97%3Fixlib%3Drb-1.2.1%26ixid%3DeyJhcHBfaWQiOjEyMDd9%26auto%3Dformat%26fit%3Dcrop%26w%3D1489%26q%3D80" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;image by &lt;a href="https://unsplash.com/photos/qIu77BsFdds"&gt;Joshua Golde&lt;/a&gt; over on Unsplash&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I am in no way a backup and restoration expert, but the most basic thing that you'll need to understand is the &lt;a href="https://en.wikipedia.org/wiki/Backup#Storage"&gt;3-2-1 rule&lt;/a&gt;. The tl;dr is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;at least 3 copies of the data, stored on 2 different types of storage media, and one copy should be kept offsite&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If you are using git (or some other distributed source control system), you are almost doing this already. You have (at least) 2 copies of the source code, and one is offsite. I've said "at least" because there might be others in the team who also have the full git tree.&lt;/p&gt;

&lt;p&gt;But what if you wanted to keep other things backed up?&lt;/p&gt;

&lt;h3&gt;
  
  
  Drafting a Backup Plan
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--m1uiL9-M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://images.unsplash.com/photo-1523726491678-bf852e717f6a%3Fixlib%3Drb-1.2.1%26ixid%3DeyJhcHBfaWQiOjEyMDd9%26auto%3Dformat%26fit%3Dcrop%26w%3D1350%26q%3D80" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--m1uiL9-M--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://images.unsplash.com/photo-1523726491678-bf852e717f6a%3Fixlib%3Drb-1.2.1%26ixid%3DeyJhcHBfaWQiOjEyMDd9%26auto%3Dformat%26fit%3Dcrop%26w%3D1350%26q%3D80" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;image created by &lt;a href="https://unsplash.com/photos/ZSPBhokqDMc"&gt;Med Badr Chemmaoui&lt;/a&gt; at unsplash&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The first things to think about are:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What are you backing up?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Is it just source code? Usually, that is pretty small, compared to raw video footage, photos, or other types of data.&lt;/p&gt;

&lt;p&gt;Is it financial data? You might need to look into certain regulations about long term storage for that.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How often does the data change?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;If it's source code, this might be hundreds of times per day.&lt;/p&gt;

&lt;p&gt;If it's raw video footage, this might be rarely. If you're dealing with raw video footage, you'll likely save edits to that as a separate file or project - depending on how what you are creating&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How will you restore the data?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Is this going to be a single restoration process? i.e. when some calamity happens, like your office floods:&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/dotnetcoreblog" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--o9qSxd4a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--Mn1i5s5I--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/74588/39c634f0-0bb1-4f03-995f-13dc9fb33a3f.jpg" alt="dotnetcoreblog image"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/dotnetcoreblog/get-insurance-a-real-story-5909" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Get Insurance - A Real Story&lt;/h2&gt;
      &lt;h3&gt;Jamie ・ Nov  9 '19 ・ 2 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#reallife&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#insurance&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#advice&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;Are you going to be restoring individual parts, or files, within the backed up data? i.e. some kind of git revert action?&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;How will you test the restore action?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A lot of people forget this step. What use is a backup of all of your data, if you have no idea whether the restoration steps work?&lt;/p&gt;

&lt;p&gt;This can be as simple as spinning up a new VM, pulling the most recent backup, and running through the restore steps. You'll be surprised at how many systems have restoration steps which don't work or aren't kept up to date.&lt;/p&gt;

&lt;h3&gt;
  
  
  Creating a Backup Plan
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gATBY5TU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://images.unsplash.com/photo-1531403009284-440f080d1e12%3Fixlib%3Drb-1.2.1%26ixid%3DeyJhcHBfaWQiOjEyMDd9%26auto%3Dformat%26fit%3Dcrop%26w%3D1350%26q%3D80" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gATBY5TU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://images.unsplash.com/photo-1531403009284-440f080d1e12%3Fixlib%3Drb-1.2.1%26ixid%3DeyJhcHBfaWQiOjEyMDd9%26auto%3Dformat%26fit%3Dcrop%26w%3D1350%26q%3D80" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;image by &lt;a href="https://unsplash.com/photos/qWwpHwip31M"&gt;Alvaro Reyes&lt;/a&gt; over on Unsplash&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Depending on the type of data that you are backing up, you might have different backup schedules.&lt;/p&gt;

&lt;p&gt;Shortly after I graduated (University of Hull, 2008), I started working at a school. I wasn't working in the IT department, but I had a lot of communication with the folks in that team. Since the PCs that they had at the school where disposable, and all o the important data was stored on network shares, they didn't bother running backups on individual machines.&lt;/p&gt;

&lt;p&gt;What they &lt;em&gt;did&lt;/em&gt; backup was the collection of network shares. Each day, at around 11pm, a &lt;a href="https://en.wikipedia.org/wiki/Cron"&gt;cron&lt;/a&gt; job would fire which would back up all of the network shares to &lt;a href="https://en.wikipedia.org/wiki/Tape_drive"&gt;tape&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;tape is more reliable than spinning rust&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Each Saturday, those tapes would be taken offsite and copied. Once returned, they would be entered into a monthly rotation queue. Each month, the data on the tapes would be replaced. And every six months, the remote tapes would be rotated (and re-used).&lt;/p&gt;

&lt;p&gt;This worked for them because the important data would change very slowly. And they accepted that, after an entire year, a backup would be destroyed.&lt;/p&gt;

&lt;p&gt;They also had a separate network stack, at a third location. This network stack was isolated from the world&lt;/p&gt;

&lt;p&gt;&lt;em&gt;via network cards, anyway&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;and they would use it as a training and practice ground for restoring the data which had been backed up.&lt;/p&gt;

&lt;p&gt;This might be too much for you, or might not be good enough. I decided to mention it because I thought that it was a good middle ground.&lt;/p&gt;

&lt;h3&gt;
  
  
  My Backup And Restore Plan
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--M_hCnRx4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://images.unsplash.com/photo-1514782831304-632d84503f6f%3Fixlib%3Drb-1.2.1%26ixid%3DeyJhcHBfaWQiOjEyMDd9%26auto%3Dformat%26fit%3Dcrop%26w%3D675%26q%3D80" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--M_hCnRx4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://images.unsplash.com/photo-1514782831304-632d84503f6f%3Fixlib%3Drb-1.2.1%26ixid%3DeyJhcHBfaWQiOjEyMDd9%26auto%3Dformat%26fit%3Dcrop%26w%3D675%26q%3D80" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;image by &lt;a href="https://unsplash.com/photos/94Ld_MtIUf0"&gt;Plush Design Studio&lt;/a&gt; from unplash&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;For those who don't know, I work on a bunch of podcasts. In fact &lt;a href="https://www.podchaser.com/creators/jamie-taylor-107ZzkFzHS"&gt;here is a link to my podchaser profile&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The reason that I bring this up, is because I currently have over 200 GB of raw audio, produced and edited content, and related files combined. I don't know whether you've tried to keep a rotating backup of 200 GB of data, but it requires some forethought.&lt;/p&gt;

&lt;p&gt;I had decided early on that, once the data was backed up, I would hardly ever need to restore that data. In fact, it's a point that was reinforced in episode 19 of The .NET Core Podcast, when Richard Campbell told me:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Don't throw anything away. Your legacy is important too. And I think that listeners appreciate that you're evolving.&lt;/p&gt;
&lt;/blockquote&gt;


&lt;div class="podcastliquidtag"&gt;
  &lt;div class="podcastliquidtag__info"&gt;
    &lt;a href="/dotnetcorepodcast/the-history-of-net-with-richard-campbell"&gt;
      &lt;h1 class="podcastliquidtag__info__episodetitle"&gt;The History of .NET with Richard Campbell&lt;/h1&gt;
    &lt;/a&gt;
    &lt;a href="/dotnetcorepodcast"&gt;
      &lt;h2 class="podcastliquidtag__info__podcasttitle"&gt;
        The .NET Core Podcast  

      &lt;/h2&gt;
    &lt;/a&gt;
  &lt;/div&gt;
  &lt;div id="record-the-history-of-net-with-richard-campbell" class="podcastliquidtag__record"&gt;
    &lt;img class="button play-butt" id="play-butt-the-history-of-net-with-richard-campbell" src="/assets/playbutt.png" alt="play"&gt;
    &lt;img class="button pause-butt" id="pause-butt-the-history-of-net-with-richard-campbell" src="/assets/pausebutt.png" alt="pause"&gt;
    &lt;img class="podcastliquidtag__podcastimage" id="podcastimage-the-history-of-net-with-richard-campbell" alt="The .NET Core Podcast" src="https://res.cloudinary.com/practicaldev/image/fetch/s--mbHTmEn3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--oMLeFKrd--/c_fill%2Cf_auto%2Cfl_progressive%2Cq_auto/https://dev-to-uploads.s3.amazonaws.com/uploads/podcast/image/58/c6bc9a85-2b7e-4b2b-9ac0-921bf4a37f7e.jpg"&gt;
  &lt;/div&gt;
  &lt;div class="hidden-audio" id="hidden-audio-the-history-of-net-with-richard-campbell"&gt;
    
      
      Your browser does not support the audio element.
    
    &lt;div id="progressBar" class="audio-player-display"&gt;
      &lt;a href="/dotnetcorepodcast/the-history-of-net-with-richard-campbell"&gt;
        &lt;img id="episode-profile-image" alt="The History of .NET with Richard Campbell" width="420" height="420" src="https://res.cloudinary.com/practicaldev/image/fetch/s--WWdPkvV7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--YsIxloEE--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_420%2Cq_auto%2Cw_420/https://dev-to-uploads.s3.amazonaws.com/uploads/podcast/image/58/c6bc9a85-2b7e-4b2b-9ac0-921bf4a37f7e.jpg"&gt;
        &lt;img id="animated-bars" src="/assets/animated-bars.gif" alt="animated volume bars"&gt;
      &lt;/a&gt;
      &lt;span id="barPlayPause"&gt;
        &lt;img class="butt play-butt" src="/assets/playbutt.png" alt="play"&gt;
        &lt;img class="butt pause-butt" src="/assets/pausebutt.png" alt="pause"&gt;
      &lt;/span&gt;
      &lt;span id="volume"&gt;
        &lt;span id="volumeindicator" class="volume-icon-wrapper showing"&gt;
          &lt;span id="volbutt"&gt;
            &lt;img alt="volume" class="icon-img" height="16" width="16" src="https://res.cloudinary.com/practicaldev/image/fetch/s--SnhE4kcy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/volume.png"&gt;
          &lt;/span&gt;
          &lt;span class="range-wrapper"&gt;
            
          &lt;/span&gt;
        &lt;/span&gt;
        &lt;span id="mutebutt" class="volume-icon-wrapper hidden"&gt;
          &lt;img alt="mute" class="icon-img" height="16" width="16" src="https://res.cloudinary.com/practicaldev/image/fetch/s--prPRZNLS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/volume-mute.png"&gt;
        &lt;/span&gt;
        &lt;span class="speed" id="speed"&gt;1x&lt;/span&gt;
      &lt;/span&gt;
      &lt;span class="buffer-wrapper" id="bufferwrapper"&gt;
        &lt;span id="buffer"&gt;&lt;/span&gt;
        &lt;span id="progress"&gt;&lt;/span&gt;
        &lt;span id="time"&gt;initializing...&lt;/span&gt;
        &lt;span id="closebutt"&gt;×&lt;/span&gt;
      &lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;&lt;em&gt;there was a time when I needed to revisit an episode, but that's a story for another day&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;And so I would need to backup:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;raw audio&lt;/li&gt;
&lt;li&gt;audio projects representing the rendered audio&lt;/li&gt;
&lt;li&gt;cover art, in super high quality (we're talking 4000*4000 pixels png and the RAW GiMP project files)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The raw audio is created several times a week and can range from 60 to 240 minutes per show (remember: I work on several shows). So that is a huge amount of data: each person on the show has their own audio channel, so a 120-minute recording with 4 people actually maps to 480 minutes of raw, uncompressed audio.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;for those who don't know, wav audio usually runs into about a GB per hour of audio. You can reduce the space required by using FLAC, but that makes the restoration process a &lt;strong&gt;little&lt;/strong&gt; more complex&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;As many will have noticed, I use &lt;a href="https://system76.com/pop"&gt;Pop!_OS&lt;/a&gt; which is a distribution of Linux&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/dotnetcoreblog" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--o9qSxd4a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--Mn1i5s5I--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/74588/39c634f0-0bb1-4f03-995f-13dc9fb33a3f.jpg" alt="dotnetcoreblog image"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/dotnetcoreblog/my-media-creation-setup-4k99" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;My Media Creation Setup&lt;/h2&gt;
      &lt;h3&gt;Jamie ・ Feb  4 '20 ・ 5 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#mediacreation&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#linux&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#request&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#suggestion&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;I also use a Mac Air for editing while travelling. What's great about Unix-based OS distributions is that they ship with a CLI app called &lt;a href="https://en.wikipedia.org/wiki/Rsync"&gt;rsync&lt;/a&gt;. Rsync does a lot of things, but the basic process is:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;an SSH connection is created&lt;/li&gt;
&lt;li&gt;files are copied over to the remote machine&lt;/li&gt;
&lt;li&gt;validation is performed to ensure that the files made it to the remote machine&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I also have several local &lt;a href="https://www.synology.com/en-uk/products/DS218"&gt;Synology DS218&lt;/a&gt;s. These devices have two drives installed in them but have them in a &lt;a href="https://en.wikipedia.org/wiki/Standard_RAID_levels#RAID_1"&gt;RAID-1&lt;/a&gt; which means both drives are exact copies of each other. These devices also run a Linux distribution, so rsync is available there, too.&lt;/p&gt;

&lt;p&gt;The reason that I bring up rsync is that I use it to copy these large files across my network. So when I want to create a backup on one of the Synology devices, I run something like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;rsync &lt;span class="nt"&gt;-avP&lt;/span&gt;  &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="s2"&gt;"ssh -i /path/to/ssh/keys -p &amp;lt;port-number&amp;gt;"&lt;/span&gt;&lt;span class="nb"&gt;.&lt;/span&gt; &amp;lt;user&amp;gt;@&amp;lt;IP&amp;gt;::/backup/path
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This command tells my machine to set up a secure shell (&lt;code&gt;ssh&lt;/code&gt;) connection to the remote device found at &lt;code&gt;IP&lt;/code&gt; as a specific user &lt;code&gt;user&lt;/code&gt; on the supplied port number (&lt;code&gt;port-number&lt;/code&gt;)&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I'd always recommend changing the default SSH port from 22, as an easy win for SSH security&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;it also uses an SSH key (&lt;code&gt;/path/to/ssh/keys&lt;/code&gt;) to authenticate with the remote device. Once the connection is created, &lt;code&gt;rsync&lt;/code&gt; takes over and sends all of the files in the current directory (&lt;code&gt;.&lt;/code&gt;) using the following setup:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;recursive&lt;/li&gt;
&lt;li&gt;keeping &lt;a href="https://en.wikipedia.org/wiki/Symbolic_link"&gt;symlinks&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;preserving

&lt;ul&gt;
&lt;li&gt;permissions&lt;/li&gt;
&lt;li&gt;timestamps&lt;/li&gt;
&lt;li&gt;groups&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;omitting directory timestamps&lt;/li&gt;
&lt;li&gt;preserving device and special files&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;and that's just what &lt;code&gt;-a&lt;/code&gt; does&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;in a verbose way (&lt;code&gt;-v&lt;/code&gt;), so that I can see if something goes wrong, and keeping any previously partially completed files copy operations (&lt;code&gt;-P&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;Because each of my devices (except for my Windows laptop) has rsync built-in, I can backup or restore files in either direction.&lt;/p&gt;

&lt;p&gt;On top of that, I have one-way sync to an offsite cloud backup provider. Each week, my "master" or main NAS performs one-way sync to my offsite provider: meaning that it will never pull data down &lt;em&gt;from&lt;/em&gt; the cloud, but it can write &lt;em&gt;to&lt;/em&gt; the cloud.&lt;/p&gt;

&lt;p&gt;I can get the data from the cloud but only do this every few months as there is a big cost involved in pulling the data back down, as it is &lt;a href="https://aws.amazon.com/glacier/"&gt;Glacier-like&lt;/a&gt; storage.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;writes are super cheap, but reads can be expensive&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;But when I do test a restore, I:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;take down two of my NAS devices&lt;/li&gt;
&lt;li&gt;clone the cloud version of the files to one of them&lt;/li&gt;
&lt;li&gt;recursively verify that both of the NAS devices have the same data&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the data doesn't match, then I know which part of the backup process has failed and can pin-point where the weak step in the chain is.&lt;/p&gt;




&lt;p&gt;This backup plan isn't for everyone one, and you might think that it's a little over the top. But I'd rather it was over the top than suffer some massive data outage.&lt;/p&gt;

&lt;h3&gt;
  
  
  Conclusion
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--8j1Zr7OE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://images.unsplash.com/photo-1457524461416-8796b6d23efb%3Fixlib%3Drb-1.2.1%26ixid%3DeyJhcHBfaWQiOjEyMDd9%26auto%3Dformat%26fit%3Dcrop%26w%3D1350%26q%3D80" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--8j1Zr7OE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://images.unsplash.com/photo-1457524461416-8796b6d23efb%3Fixlib%3Drb-1.2.1%26ixid%3DeyJhcHBfaWQiOjEyMDd9%26auto%3Dformat%26fit%3Dcrop%26w%3D1350%26q%3D80" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;image by &lt;a href="https://unsplash.com/photos/UGQoo2nznz8"&gt;João Silas&lt;/a&gt; over on Unsplash&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Whether you simply have a couple of USB drives in rotation or a wildly over-complicated setup like mine&lt;/p&gt;

&lt;p&gt;&lt;em&gt;remember, it's &lt;strong&gt;just&lt;/strong&gt; for podcast audio, not company data&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;you really should be looking into having:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;at least 3 copies of the data, stored on 2 different types of storage media, and one copy should be kept offsite&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;But you should also be checking that your backups can be restored, too. Because what's the point of backing things up, if you're not checking that it can be restored?&lt;/p&gt;

&lt;h3&gt;
  
  
  What's Your Backup and Restore Plan?
&lt;/h3&gt;

&lt;p&gt;Is it as complicated as mine? Is it more complicated? Do you think that mine is too complicated for the type of data that I'm backing up? Should my backup process be simpler?&lt;/p&gt;

&lt;p&gt;Let's swap suggestions in the comments.&lt;/p&gt;

</description>
      <category>backup</category>
      <category>restore</category>
      <category>storage</category>
    </item>
    <item>
      <title>My Media Creation Setup</title>
      <dc:creator>Jamie</dc:creator>
      <pubDate>Tue, 04 Feb 2020 01:25:51 +0000</pubDate>
      <link>https://forem.com/dotnetcoreblog/my-media-creation-setup-4k99</link>
      <guid>https://forem.com/dotnetcoreblog/my-media-creation-setup-4k99</guid>
      <description>&lt;p&gt;&lt;em&gt;The cover images for this post is by &lt;a href="https://unsplash.com/photos/SYTO3xs06fU"&gt;marvelous&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I was recently asked (via DM) by someone on Twitter about writing a blog post on the tools that I used for creating media. It should be of no surprise to some of you all that I create a number of podcasts. In fact, I wrote a post with disparate pieces of advice for aspiring podcasters:&lt;/p&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/dotnetcoreblog" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--o9qSxd4a--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--Mn1i5s5I--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/74588/39c634f0-0bb1-4f03-995f-13dc9fb33a3f.jpg" alt="dotnetcoreblog image"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/rjjsoftware/starting-a-podcast-my-advice-lha" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;Starting a Podcast - My Advice&lt;/h2&gt;
      &lt;h3&gt;Jamie ・ Jan  2 ・ 25 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#podcast&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;p&gt;For those wondering, I'm involved in the creation of two&lt;/p&gt;

&lt;p&gt;&lt;em&gt;psst. it's soon to be &lt;a href="https://tabsandspaces.io/"&gt;three&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;podcasts:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;The .NET Core Podcast&lt;/li&gt;
&lt;li&gt;The Waffling Taylors Podcast&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Here is an embedded player for the latest episode of The .NET Core Podcast at the time of writing:&lt;/p&gt;


&lt;div class="podcastliquidtag"&gt;
  &lt;div class="podcastliquidtag__info"&gt;
    &lt;a href="/dotnetcorepodcast/how-do-you-even-start-with-josey-howarth"&gt;
      &lt;h1 class="podcastliquidtag__info__episodetitle"&gt;How Do You Even Start with Josey Howarth&lt;/h1&gt;
    &lt;/a&gt;
    &lt;a href="/dotnetcorepodcast"&gt;
      &lt;h2 class="podcastliquidtag__info__podcasttitle"&gt;
        The .NET Core Podcast  

      &lt;/h2&gt;
    &lt;/a&gt;
  &lt;/div&gt;
  &lt;div id="record-how-do-you-even-start-with-josey-howarth" class="podcastliquidtag__record"&gt;
    &lt;img class="button play-butt" id="play-butt-how-do-you-even-start-with-josey-howarth" src="/assets/playbutt.png" alt="play"&gt;
    &lt;img class="button pause-butt" id="pause-butt-how-do-you-even-start-with-josey-howarth" src="/assets/pausebutt.png" alt="pause"&gt;
    &lt;img class="podcastliquidtag__podcastimage" id="podcastimage-how-do-you-even-start-with-josey-howarth" alt="The .NET Core Podcast" src="https://res.cloudinary.com/practicaldev/image/fetch/s--mbHTmEn3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--oMLeFKrd--/c_fill%2Cf_auto%2Cfl_progressive%2Cq_auto/https://dev-to-uploads.s3.amazonaws.com/uploads/podcast/image/58/c6bc9a85-2b7e-4b2b-9ac0-921bf4a37f7e.jpg"&gt;
  &lt;/div&gt;
  &lt;div class="hidden-audio" id="hidden-audio-how-do-you-even-start-with-josey-howarth"&gt;
    
      
      Your browser does not support the audio element.
    
    &lt;div id="progressBar" class="audio-player-display"&gt;
      &lt;a href="/dotnetcorepodcast/how-do-you-even-start-with-josey-howarth"&gt;
        &lt;img width="420" height="420" id="episode-profile-image" alt="How Do You Even Start with Josey Howarth" src="https://res.cloudinary.com/practicaldev/image/fetch/s--WWdPkvV7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--YsIxloEE--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_420%2Cq_auto%2Cw_420/https://dev-to-uploads.s3.amazonaws.com/uploads/podcast/image/58/c6bc9a85-2b7e-4b2b-9ac0-921bf4a37f7e.jpg"&gt;
        &lt;img id="animated-bars" src="/assets/animated-bars.gif" alt="animated volume bars"&gt;
      &lt;/a&gt;
      &lt;span id="barPlayPause"&gt;
        &lt;img class="butt play-butt" src="/assets/playbutt.png" alt="play"&gt;
        &lt;img class="butt pause-butt" src="/assets/pausebutt.png" alt="pause"&gt;
      &lt;/span&gt;
      &lt;span id="volume"&gt;
        &lt;span id="volumeindicator" class="volume-icon-wrapper showing"&gt;
          &lt;span id="volbutt"&gt;
            &lt;img alt="volume" class="icon-img" height="16" width="16" src="https://res.cloudinary.com/practicaldev/image/fetch/s--SnhE4kcy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/volume.png"&gt;
          &lt;/span&gt;
          &lt;span class="range-wrapper"&gt;
            
          &lt;/span&gt;
        &lt;/span&gt;
        &lt;span id="mutebutt" class="volume-icon-wrapper hidden"&gt;
          &lt;img alt="mute" class="icon-img" height="16" width="16" src="https://res.cloudinary.com/practicaldev/image/fetch/s--prPRZNLS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/volume-mute.png"&gt;
        &lt;/span&gt;
        &lt;span class="speed" id="speed"&gt;1x&lt;/span&gt;
      &lt;/span&gt;
      &lt;span class="buffer-wrapper" id="bufferwrapper"&gt;
        &lt;span id="buffer"&gt;&lt;/span&gt;
        &lt;span id="progress"&gt;&lt;/span&gt;
        &lt;span id="time"&gt;initializing...&lt;/span&gt;
        &lt;span id="closebutt"&gt;×&lt;/span&gt;
      &lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;I've also tried my hand at video creation and editing - something you can see in my live coding streams:&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/pciLsFZmlBw"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;p&gt;I've even tried some graphic design work&lt;/p&gt;

&lt;p&gt;&lt;em&gt;no I didn't create the artwork for &lt;a href="https://wafflingtaylors.rocks/"&gt;The Waffling Taylors&lt;/a&gt; - that's created by the super amazing &lt;a href="https://twitter.com/yurricanes"&gt;Yuricannes&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;But I have tried my luck at creating SVG icons for some of my open-source libraries, such as the logo for my ASP .NET Core middleware for injecting OWASP recommended HTTP Headers: &lt;a href="https://nuget.org/packages/OwaspHeaders.Core/"&gt;OWASPHeaders.Core&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--GENYofjB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/GaProgMan/OwaspHeaders.Core/master/OwaspHeaders.Core-Logo.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--GENYofjB--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/GaProgMan/OwaspHeaders.Core/master/OwaspHeaders.Core-Logo.png" alt="The logo for OWASPHeaders.Core - a green outline of a wasp, a green outline of a padlock, on a grey background"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All of this whilst using &lt;a href="https://system76.com/pop"&gt;Pop!_OS&lt;/a&gt; as my daily driver OS. So which tools do I use:&lt;/p&gt;

&lt;h3&gt;
  
  
  Audio
&lt;/h3&gt;

&lt;p&gt;Aside from my development work (and writing), the majority of my time is spent doing audio work. So how do I go from no audio to a fully rendered MP3 of a podcast episode?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;note: I started planning this blog post before I hired an editor, who takes the lion's share of the editing work from me&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  VS Code
&lt;/h4&gt;

&lt;p&gt;It all starts with &lt;a href="https://code.visualstudio.com/"&gt;VS Code&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--VIxetbxN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/mr5luylee7gpvyccr4to.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--VIxetbxN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/mr5luylee7gpvyccr4to.jpg" alt="VS Code with the front matter for episode 41s show notes"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I start with VS Code when planning out episodes because I can quickly type out my idea using &lt;a href="https://en.wikipedia.org/wiki/Markdown"&gt;markdown&lt;/a&gt;. There are other editors which do a good job of rendering markdown, but I also use VS Code as one of my IDEs - so I'm happy using it for markdown, too.&lt;/p&gt;

&lt;p&gt;I use VS Code to write out a plan for an episode idea or to take a bunch of ideas and expand on them. This is then saved in a private git repo&lt;/p&gt;

&lt;p&gt;&lt;em&gt;pro tip: source control all the things&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  .NET Core
&lt;/h4&gt;

&lt;p&gt;I have a &lt;a href="http://dot.net/core"&gt;.NET Core&lt;/a&gt; template which I can use to scaffold everything I need to record a new episode:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--YajGSi1B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q5xb17bz2vwcuxoib8mg.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--YajGSi1B--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/q5xb17bz2vwcuxoib8mg.jpg" alt="some of the output from my .NET Core template"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;note: &lt;a href="https://github.com/GaProgMan/DotNet-New-Templates"&gt;the open-source&lt;/a&gt; version only scaffolds the markdown show notes; whereas the closed source version does all of the episode scaffolding for me&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I use this to quickly set up everything that I might need in order to record a new episode of the podcast.&lt;/p&gt;

&lt;h4&gt;
  
  
  Audacity
&lt;/h4&gt;

&lt;p&gt;Once the recording is completed, I'll use &lt;a href="https://www.audacityteam.org/"&gt;Audacity&lt;/a&gt; to edit the raw audio.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--W29HoeH7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/4owrm0ogrvocum1hg3x1.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--W29HoeH7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/4owrm0ogrvocum1hg3x1.jpg" alt="An Audacity project being edited"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is the application that I'll spend the most time in when putting an episode together. Editing and post-producing&lt;/p&gt;

&lt;p&gt;&lt;em&gt;which are similar, yet subtly different, things&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;an episode takes a long time - the rule of thumb is that 30 minutes of audio will take 60 minutes of work.&lt;/p&gt;

&lt;h4&gt;
  
  
  Auphonic
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://auphonic.com/"&gt;Auphonic&lt;/a&gt; is an amazing post-production tool, especially if you're not a fully-fledged audio engineer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--bIN4moTP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/u0p49zpz19fmjhsgu58z.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--bIN4moTP--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/u0p49zpz19fmjhsgu58z.jpg" alt="Auphonic running on Pop!_OS"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is the first paid tool on the list, but I'm happy paying for it because it makes my shows sound much better than I could. It's also really simple to use - the default setup is almost perfect for my shows. I feed this app an uncompressed wav file (exported from Audacity), and it gives me an MP3 with radion and TV industry-standard audio levelling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Beware&lt;/strong&gt;: although there are desktop versions of Auphonic, there isn't a native version for any Linux distros. This means that you'll have to setup &lt;a href="https://www.winehq.org/"&gt;WINE&lt;/a&gt; in order to run the Windows version of Auphonic on your distro.&lt;/p&gt;

&lt;h4&gt;
  
  
  kid3
&lt;/h4&gt;

&lt;p&gt;Once I have the MP3, I put it through &lt;a href="https://kid3.sourceforge.io/"&gt;kid3&lt;/a&gt; in order to tag it correctly.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--gtl_pv0w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/m6ett71sitmd21vlr7sk.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--gtl_pv0w--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/m6ett71sitmd21vlr7sk.jpg" alt="kid3 being used to alter the ID3 tags for an episode of The Waffling Taylors Podcast"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I like to set the ID3 tags on episodes of my podcasts before I upload them. Most podcast hosts allow you to alter them once episodes have been uploaded, but you can use the contents of the tags to auto-fill most data on podcast host sites.&lt;/p&gt;

&lt;p&gt;Also, setting ID3 tags on any audio that you create&lt;/p&gt;

&lt;p&gt;&lt;em&gt;assuming that you're creating MP3s&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;will your listeners happy.&lt;/p&gt;

&lt;h3&gt;
  
  
  Video
&lt;/h3&gt;

&lt;p&gt;In the past, I have scheduled live code sessions&lt;/p&gt;

&lt;p&gt;&lt;em&gt;something I'm tempted to get back into&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;and these have been facilitated by a single application:&lt;/p&gt;

&lt;h4&gt;
  
  
  OBS
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://obsproject.com/"&gt;OBS&lt;/a&gt;. This has become the de facto application for streaming video to and from services like Twitch, Youtube, and Mixer. It's used by the pros along with the amateurs&lt;/p&gt;

&lt;p&gt;&lt;em&gt;like me&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;all for free.&lt;/p&gt;

&lt;p&gt;Did you know that the software which ships with &lt;a href="https://www.elgato.com/en"&gt;Elgato&lt;/a&gt; devices is simply a re-branded version of OBS?&lt;/p&gt;

&lt;h3&gt;
  
  
  Images
&lt;/h3&gt;

&lt;p&gt;I use two applications when creating images or doing any kind of (admittedly simple) design work:&lt;/p&gt;

&lt;h4&gt;
  
  
  GIMP
&lt;/h4&gt;

&lt;p&gt;&lt;a href="https://www.gimp.org/"&gt;GiMP&lt;/a&gt; (or GNU Image Manipulation Program) is also known as "free Photoshop".&lt;/p&gt;

&lt;p&gt;It's incredibly powerful, but the work that I do with it barely scratches the surface of what's capable with it.&lt;/p&gt;

&lt;h4&gt;
  
  
  Inkscape
&lt;/h4&gt;

&lt;p&gt;When I need to work with SVGs or any kind of illustrations, I open &lt;a href="https://inkscape.org/"&gt;Inkscape&lt;/a&gt; first.&lt;/p&gt;

&lt;p&gt;Just like GiMP, Inkscape is super powerful and I'm barely even scratching the surface of what it can do. I've used it to create the icons for the majority of my opensource projects, and for touch up work on the &lt;a href="https://wafflingtaylors"&gt;Waffling Taylors&lt;/a&gt; logo ready for placing on &lt;a href="https://d33wubrfki0l68.cloudfront.net/909edf147b0224cfaddf325f6ce2229694fbdf9e/7ffde/posts/mini-consoles-other-options/raspi.jpg"&gt;business cards&lt;/a&gt; and hoodies:&lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;
      &lt;div class="ltag__twitter-tweet__media"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--TRLHP2Q6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/media/EG_iT58W4AAmku0.jpg" alt="unknown tweet media content"&gt;
      &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--uUy3tDJd--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/839924844577894405/JxIrN39p_normal.jpg" alt="The Waffling Taylors profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        The Waffling Taylors
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        @wafflingtaylors
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--B8bbACBj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/twitter-99c56e7c338b4d5c17d78f658882ddf18b0bbde5b3f42f84e7964689e7e8fb15.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      And so we begin our journey to London for &lt;a href="https://twitter.com/hashtag/EGX2019"&gt;#EGX2019&lt;/a&gt;.&lt;br&gt;&lt;br&gt;If you spot us (either during our journey, or whilst we're there) do say hello. We'll be wearing these incredibly limited edition hoodies, as moddeled by me.&lt;br&gt;&lt;br&gt;- Jay 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      10:21 AM - 16 Oct 2019
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1184414069475958786" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-reply-action.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1184414069475958786" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-retweet-action.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      1
      &lt;a href="https://twitter.com/intent/like?tweet_id=1184414069475958786" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-like-action.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
      4
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;h3&gt;
  
  
  What Do You Use?
&lt;/h3&gt;

&lt;p&gt;If you're rocking a FOSS OS&lt;/p&gt;

&lt;p&gt;&lt;em&gt;that's pretty catchy&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;what do you use for media creation? I'd love to hear about other applications that I can use to potentially increase my productivity or create higher quality media.&lt;/p&gt;

&lt;p&gt;I've intentionally left off the majority of the tools that I use for my day to day client work for a number of reasons:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Some of it is covered by NDAs&lt;/li&gt;
&lt;li&gt;IDE choice is a sticky subject&lt;/li&gt;
&lt;li&gt;This was a post specifically about media creation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's swap suggestions in the comments.&lt;/p&gt;

</description>
      <category>mediacreation</category>
      <category>linux</category>
      <category>request</category>
      <category>suggestion</category>
    </item>
    <item>
      <title>Securing a Webapp - Step 1: Start As You Mean To Go On</title>
      <dc:creator>Jamie</dc:creator>
      <pubDate>Mon, 03 Feb 2020 23:47:06 +0000</pubDate>
      <link>https://forem.com/rjjsoftware/securing-a-webapp-step-1-start-as-you-mean-to-go-on-208j</link>
      <guid>https://forem.com/rjjsoftware/securing-a-webapp-step-1-start-as-you-mean-to-go-on-208j</guid>
      <description>&lt;p&gt;&lt;em&gt;The cover images for this post is by &lt;a href="https://unsplash.com/photos/5fNmWej4tAA" rel="noopener noreferrer"&gt;Helloquence&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;“Begin at the beginning," the King said, very gravely, "and go on till you come to the end: then stop.”&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Lewis Carroll, Alice in Wonderland&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

&lt;p&gt;For those who may have missed it, this is part one in a series of posts on how you can secure a web app. &lt;a href="https://dev.to/rjjsoftware/securing-a-webapp-step-0-an-introduction-5no"&gt;Here is a link to part 0&lt;/a&gt;, which lays out what I'm going to achieve with this series of posts.&lt;/p&gt;

&lt;p&gt;As a quick reminder (and a form of tl;dr): I'm in the process of building a web application for a real client, and I'm going to be covering what I'll be doing in order to ensure that the app has security baked in from the get-go.&lt;/p&gt;

&lt;p&gt;The point of this post is to get you thinking about the things you should be including in your design decisions &lt;em&gt;at the start&lt;/em&gt; of your project. Some of these features require explicit design from the start (multifactor auth, for example), and some can be "bolted on" afterwards.&lt;/p&gt;

&lt;p&gt;Before we start, I'm not a security expert. I'm simply collecting all of the knowledge that I've gained over the years into a series of posts. I want to give you a great place to start in discovering the ways to lock down the systems that you are designing. It's also not meant to be an exhaustive list of things to include but should be enough to get you out of the unknown-unknowns and into the known-unknowns&lt;/p&gt;

&lt;p&gt;&lt;em&gt;i.e. you should have enough information to do some more research of your own&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Security From The Ground Up
&lt;/h3&gt;

&lt;p&gt;The first thing that you need to be thinking about when you start a new project is how you can keep the bad guys&lt;sup&gt;TM&lt;/sup&gt; out. The easiest way to achieve this is to not build the app. Seriously, if it doesn't exist then they can't break-in.&lt;/p&gt;

&lt;p&gt;How can someone steal your car, if you don't have one?&lt;/p&gt;

&lt;p&gt;But your clients are going to get quite upset with you if you take their money and don't produce anything in return. So we need to take the next step up: add security in from the get-go.&lt;/p&gt;

&lt;p&gt;Imagine that the building you work in has those card-based entry points. You know the ones: you have to present a card at each door for it to unlock and if you're not authorised to get in, then the door doesn't unlock.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7mdrhjjblyf3cinrj1o7.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F7mdrhjjblyf3cinrj1o7.jpg" alt="A card-based entry system"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then you look up and realise that the building has &lt;a href="https://en.wikipedia.org/wiki/Dropped_ceiling" rel="noopener noreferrer"&gt;those ceiling tiles which can be pushed slightly out of the way&lt;/a&gt;, revealing a walk-way.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F5pt474qyabndsp6z8hd4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2F5pt474qyabndsp6z8hd4.jpg" alt="A dropped ceiling"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How secure is that door now? Not very, right? Sure the bad guys need to bring a ladder, but that's totally doable.&lt;/p&gt;

&lt;p&gt;Worse yet, you have floor to ceiling glass doors with a single lock on them; bolting them both closed and to the floor. What if I cut out the lock?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;this may or may not have actually happened at a previous employer's office&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;With that in mind, we want to include security at the very beginning.&lt;/p&gt;

&lt;h3&gt;
  
  
  But I Don't Have a Site Yet
&lt;/h3&gt;

&lt;p&gt;And this is the best time to start. Adding things like &lt;a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP" rel="noopener noreferrer"&gt;CSP&lt;/a&gt; in after the fact will just give you headaches.&lt;/p&gt;

&lt;p&gt;Adding security at this stage (i.e. before there's a design) will inform how the design comes together.&lt;/p&gt;

&lt;p&gt;Let's say that your client wants an e-commerce site. They want to be able to show off their wares, have users make orders, and take payments. Well, you don't &lt;em&gt;have&lt;/em&gt; to build all of that functionality. Imagine having to create all of that, secure it, and be the person to blame when something goes wrong.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;because it's going to go wrong&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You don't need all that stress, so just drag in Stripe (or your payment processor of choice) and throw together a &lt;a href="https://dotnetcore.show/episode-18-the-history-of-net-with-richard-campbell/" rel="noopener noreferrer"&gt;forms over data&lt;/a&gt; view for the database.&lt;/p&gt;

&lt;p&gt;But even that needs security adding to it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Single Responsibility Principle
&lt;/h3&gt;

&lt;p&gt;Putting aside all of the complex stuff that you &lt;em&gt;can&lt;/em&gt; to in order to make an app more secure, let's start right at the beginning: the &lt;a href="https://dev.to/dotnetcoreblog/an-intro-on-http-security-580a#single-responsibility-principle"&gt;single responsibility principle&lt;/a&gt; states that a user can do one thing only:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Is the user a blog post editor? Then they don't need access to the database settings&lt;/li&gt;
&lt;li&gt;Is the user someone who packs customer orders into a box? Then they don't need access to credit card details&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This goes hand-in-hand with the &lt;a href="https://en.wikipedia.org/wiki/Principle_of_least_privilege" rel="noopener noreferrer"&gt;Principle of Least Privilege&lt;/a&gt;. Average users of Windows (i.e. usually not tech workers) fall afoul of this more often than Unix and Linux users, as the default type of user on Windows is an Administrator.&lt;/p&gt;

&lt;p&gt;Create an account for your two-year-old so that she can play around with the keyboard and make the lights flash, and suddenly she's making system-wide changes to your computer, for instance.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;that may or may not have happened to someone I know&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I don't mean to pick on Windows here, I just use it as an example.&lt;/p&gt;

&lt;p&gt;So now that you've decided that you have a number of user types, and you've started to slice the functionality into pieces, next is how the users log in.&lt;/p&gt;

&lt;h3&gt;
  
  
  Single vs Multi-Factor Auth
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Multi-factor_authentication" rel="noopener noreferrer"&gt;Multi-factor authentication&lt;/a&gt; isn't necessarily a new thing&lt;/p&gt;

&lt;p&gt;&lt;em&gt;hardly anything in tech really is new, these days&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;but it has been shown to vastly improve the security of a system with very little downsides. Sure it can be a headache for some users, but we're seeing the widescale adoption of multi-factor auth in systems. This means that - from an auth perspective at least - things are getting better.&lt;/p&gt;

&lt;p&gt;But what &lt;em&gt;is&lt;/em&gt; multifactor auth? We're all familiar with single-factor auth (i.e. username and password), as something that we know. Multifactor auth is an extension on this and includes:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Something you know (username and password, or pin)&lt;/li&gt;
&lt;li&gt;Something you have (cell phone, YubiKey)&lt;/li&gt;
&lt;li&gt;Something you are (biometrics, geolocation)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Multifactor auth can help in protecting both users and the software that they use by adding an extra step in the auth cycle. That way, if the credentials of a user are discovered, a malicious party won't be able to use them to log in - they'll need to figure out how to beat the multifactor auth steps.&lt;/p&gt;

&lt;p&gt;Make no mistake, multifactor auth isn't a silver bullet and can still be beaten. But you only need to be more secure than your competitors.&lt;/p&gt;

&lt;h3&gt;
  
  
  User Input
&lt;/h3&gt;

&lt;p&gt;Imagine that you have a series of antiques in your living room. One day, you have friends over and their three-year-old child causes some kind of &lt;a href="https://en.wikipedia.org/wiki/Rube_Goldberg_machine" rel="noopener noreferrer"&gt;Rube Goldberg machine&lt;/a&gt; like effect by knocking one of your chairs over, causing a chain reaction which destroys all of your antiques.&lt;/p&gt;

&lt;p&gt;You question the little one, asking for the truth. "No one will be upset if you tell the truth," you say. And when the little one in question opens their mouth, they tell the most fantastical story involving aliens, soldiers, knights, and a crocodile.&lt;/p&gt;

&lt;p&gt;There's a chance that you live in a country which has constant issues with aliens and crocs, but most of us don't.&lt;/p&gt;

&lt;p&gt;The point is: do you trust what the little one said?&lt;/p&gt;

&lt;p&gt;Just like the little one's story, you should never trust user input. It's ridiculously easy to target websites with things like SQL injection attacks - remember little Johnny Drop-Tables:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgs.xkcd.com%2Fcomics%2Fexploits_of_a_mom.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fimgs.xkcd.com%2Fcomics%2Fexploits_of_a_mom.png" alt="Exploits of a Mom"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;&lt;a href="https://xkcd.com/327/" rel="noopener noreferrer"&gt;source&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Each time you allow a user to supply any kind of input (text, files, telemetry, etc.) you are opening your system up to attack. Most of these attacks can be mitigated by enabling validation on three surfaces:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Client&lt;/li&gt;
&lt;li&gt;Server&lt;/li&gt;
&lt;li&gt;Database&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;&lt;em&gt;EDIT:&lt;/em&gt;&lt;br&gt;
It has been pointed out in the comments, that the original version of this paragraph seemed at odds with my intent. I'll leave the original paragraph here, but will also include a revised one&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Original:&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You can enable validation built into the HTML standard, or use libraries like &lt;a href="https://jqueryvalidation.org/" rel="noopener noreferrer"&gt;jQuery Validation&lt;/a&gt;, for the client. Checking the input &lt;em&gt;before&lt;/em&gt; it is sent to the server can be a lifesaver, and will save you from having to validate on the server - not to mention the roundtrip back to the server.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Revised:&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You can enable validation built into the HTML standard, or use libraries like &lt;a href="https://jqueryvalidation.org/" rel="noopener noreferrer"&gt;jQuery Validation&lt;/a&gt;, for the client. Checking the input &lt;em&gt;before&lt;/em&gt; it is sent to the server can save bandwidth, but should never be trusted. You can't trust client-side validation for a number of reasons: chief of them being that I can turn JS off, alter the JS before it's executed, or add breakpoints to alter it whilst it's executing.&lt;/p&gt;

&lt;p&gt;Relying on client-side validation alone is effectively suicide, as Pablo pointed out in the comments:&lt;/p&gt;


&lt;div class="liquid-comment"&gt;
    &lt;div class="details"&gt;
      &lt;a href="/exadra37"&gt;
        &lt;img class="profile-pic" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F28130%2F93537d38-9c49-4cf5-a94e-b651030f2dbc.jpeg" alt="exadra37 profile image"&gt;
      &lt;/a&gt;
      &lt;a href="/exadra37"&gt;
        &lt;span class="comment-username"&gt;Paulo Renato&lt;/span&gt;
      &lt;/a&gt;
      &lt;span class="color-base-30 px-2 m:pl-0"&gt;•&lt;/span&gt;

&lt;a href="https://dev.to/exadra37/comment/l66e" class="comment-date crayons-link crayons-link--secondary fs-s"&gt;
  &lt;time class="date-short-year"&gt;
    Feb 4 '20
  &lt;/time&gt;

&lt;/a&gt;

    &lt;/div&gt;
    &lt;div class="body"&gt;
      

&lt;p&gt;Client: is the application making the request to the server. This can be a web app, a mobile app, a script, or a tool like Postman.&lt;/p&gt;

&lt;p&gt;The server cannot trust data from the client, but if you only do validation in the client side, your web app, then your server is trusting in client data.&lt;/p&gt;

&lt;p&gt;For me the message you are passing is that once you validate the data the user inputs on the client side, then the server doesn't necessarily need to check it again, and this his why I said that is a &lt;strong&gt;suicide&lt;/strong&gt;.&lt;/p&gt;



    &lt;/div&gt;
&lt;/div&gt;





&lt;p&gt;All major server-side frameworks include some form of validation. I'm a .NET developer and I know that support for validation is built into ASP .NET Core. It requires a call to &lt;code&gt;ModelState.IsValid&lt;/code&gt; in a controller method, in order to check the model. You can even have those errors sent back to the client to be displayed.&lt;/p&gt;

&lt;p&gt;Validation at the database level is a little harder to achieve and is very specific to the database technology that you are using. Some database technologies don't have validation and will blindly accept any data that they are fed, whereas some have validation enabled out of the box.&lt;/p&gt;

&lt;p&gt;If you want to go the whole hog, you can validate the data on the way out of the database, too. This might be required for your industry, or it might be seen as a little too much. YMMV.&lt;/p&gt;

</description>
      <category>security</category>
      <category>owasp</category>
      <category>secureheaders</category>
    </item>
    <item>
      <title>Starting a Podcast - My Advice</title>
      <dc:creator>Jamie</dc:creator>
      <pubDate>Thu, 02 Jan 2020 23:33:49 +0000</pubDate>
      <link>https://forem.com/rjjsoftware/starting-a-podcast-my-advice-lha</link>
      <guid>https://forem.com/rjjsoftware/starting-a-podcast-my-advice-lha</guid>
      <description>&lt;p&gt;This blog post was originally posted over at the blog for RJJ Software - here is &lt;a href="https://rjj-software.co.uk/blog/starting-a-podcast-our-advice/"&gt;a link directly to it&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  A Question About Podcasting
&lt;/h3&gt;

&lt;p&gt;Recently, KaleighS asked a question over at the Blogging Mastermind slack group all about podcasting:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;any good articles/sites/(or even podcasts) on getting started podcasting?&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We had a short thread, before I did a veritable brain dump of information. Here is the thread:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Lva2dlHZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/vwcaorrytm0n5qebakuk.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Lva2dlHZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/vwcaorrytm0n5qebakuk.jpg" alt="the conversation which started this blog post"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I've blurred the avatar that KaleighS uses because I didn't want to somehow dox them&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I read back through the brain dump and thought that parts of it could be useful - if I tidied it up a bit, that is. So I've taken some time to do just that, and here it is: my advice for budding podcasters:&lt;/p&gt;

&lt;h4&gt;
  
  
  TL;DR
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;It's challenging, but rewarding&lt;/li&gt;
&lt;li&gt;Stick to the cadence that you set&lt;/li&gt;
&lt;li&gt;Don't look for sponsors right away&lt;/li&gt;
&lt;li&gt;Don't focus on the download numbers, focus on quality&lt;/li&gt;
&lt;li&gt;You get what you pay for&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Intro
&lt;/h3&gt;

&lt;p&gt;Everything you're about to read is my own personal opinion based on my experiences of running two regular podcasts (and having started a few which have podfaded), namely:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://wafflingtaylors.rocks/"&gt;The Waffling Taylors&lt;/a&gt; - fortnightly releases&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://dotnetcore.show/"&gt;The .NET Core Podcast&lt;/a&gt; - fortnight releases&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.podchaser.com/podcasts/dev-otaku-653997"&gt;DevOtaku&lt;/a&gt; - podfaded, but may be returning&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.podchaser.com/podcasts/askabrit-780277"&gt;Ask a Brit&lt;/a&gt; - podfaded, but definitely returning&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;First a little terminology:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Podfade; when a podcast stops creating new episodes and fades into obscurity&lt;/li&gt;
&lt;li&gt;Host; someone who will host your MP3 files and create an RSS feed for people to consume&lt;/li&gt;
&lt;li&gt;IAB; The Internet Advertising Bureau - they have a standard for measuring a podcast's success when reporting to advertisers&lt;/li&gt;
&lt;li&gt;RSS; a way to consume syndicated content on the web. There are many RSS feed readers, and podcasts are just one of the uses of it&lt;/li&gt;
&lt;li&gt;Double Ender; when you and a guest have to use some kind of VoIP system have everyone record their audio and splice &lt;em&gt;that&lt;/em&gt; together&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Advice 1: Have a Solid Idea
&lt;/h3&gt;

&lt;p&gt;My first piece of advice is that you should have a really solid idea. If it's not solid, then the show wont really be fully formed before people start listening, and if the show isn't fully formed then people will stop listening (people are fickle).&lt;/p&gt;

&lt;p&gt;After that, take some time to record a few demo episodes. You'll get a feel for just how long a planned, structured show takes to produce. You'll also start to get a feel for what the show will be - the first 5 to 10 episodes that you record won't reflect the final material because you'll still be figuring out what goes where.&lt;/p&gt;

&lt;p&gt;This is because, whilst the idea is still forming in your head you will want to try new things out. "What does this filter do?", "Can I somehow make my voice sound like I'm a ghost?"&lt;/p&gt;

&lt;p&gt;&lt;em&gt;yes. In Audacity: select a section, reverse it, add an echo, and reverse it again&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You might even come up with new segments whilst you are figuring out how to use the technology that you have. As Steve Jobs said:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Stay hungry; stay foolish&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You may also start having ideas about intro and outro music. I'll come to this later, but DO. NOT. USE COPYRIGHTED. MUSIC. If you didn't create it, and you didn't pay someone to create it, don't use it. There's a small group of folks called the &lt;a href="https://www.riaa.com/"&gt;RIAA&lt;/a&gt; who will likely send you a cease and desist.&lt;/p&gt;

&lt;h3&gt;
  
  
  Mini Advice 1: Music
&lt;/h3&gt;

&lt;p&gt;Whatever you do, DO. NOT. USE COPYRIGHTED. MUSIC. Even a second is enough to get on the bad side of the &lt;a href="https://www.riaa.com/"&gt;RIAA&lt;/a&gt;. The RIAA represents all of the music industry types across the world. From their &lt;a href="https://www.riaa.com/about-riaa/"&gt;about page&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The Recording Industry Association of America® (RIAA) is the trade organization that supports and promotes the creative and financial vitality of the major music companies. Its members comprise the most vibrant record industry in the world, investing in great artists to help them reach their potential and connect to their fans. &lt;strong&gt;Nearly 85% of all legitimate recorded music produced and sold in the United States is created, manufactured or distributed by RIAA members.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;emphasis is mine&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;If you want to have music in your show, then have it composed for you. I've used folks on Fiverr for this in the past, and I've actually received the full license from them. For the tiny sum of $11 (US) I was able to have someone compose a piece of music to my liking, but also to transfer all ownership rights to me.&lt;/p&gt;

&lt;p&gt;Whether you go down the route of Fiverr or not, ensure that you legally own the music that you put into your show. Otherwise the RIAA will want a chat with you.&lt;/p&gt;




&lt;h3&gt;
  
  
  Advice 2: On Recording - Hardware
&lt;/h3&gt;

&lt;p&gt;You can start with as little as the microphone in your laptop. Examples from my own past are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://wafflingtaylors.rocks/2017/11/10/56-games-in-63-minutes/"&gt;53 Games in 63 Minutes&lt;/a&gt; which was recorded in my brother's games room with the mic built into my Mac Air - and it really sounds like it.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://cynicaldeveloper.com/podcast/8/"&gt;.NET to The Core!&lt;/a&gt; the first time I was interviewed for a show. I used my Mac Air microphone for this, and we connected over Skype&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;When you are ready to increase the production value and sound quality of your podcast, I would recommend buying an external microphone. Laptop microphones are ok to get started with, but they aren't the best. Take a look into the differences between Condenser and Dynamic mics: Condensers tend to be louder, but pick up a LOT of background noise; whereas Dynamic mics are quieter, but don't pick up the noise.&lt;/p&gt;

&lt;p&gt;you don't have to spend a huge amount of money on a mic, as you're just starting out. But know that you get what you pay for. For the majority of the episodes for &lt;a href="https://dotnetcore.show/"&gt;The .NET Core Show&lt;/a&gt;, I use a Blue Yeti mic. This a condenser mic which plugs directly into USB, and most apps will detect it without any issues. For the newer episodes of &lt;a href="http://wafflingtaylors.rocks/"&gt;The Waffling Taylors&lt;/a&gt; we have been using lavalier mics which have XLR (rather than USB) connectors, which we plug into a Zoom H6N.&lt;/p&gt;

&lt;p&gt;The H6N is a hardware recorder, which means we no longer need a computer to record, and can do recordings "in the field" - which is what we did for &lt;a href="https://wafflingtaylors.rocks/categories/egx/"&gt;our episodes at EGX&lt;/a&gt;. This means we can take the hardware recorder, a number of mics, and set up shop wherever we want.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s---WtSTHfU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/2ad5ojs63eyen6pb07ok.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s---WtSTHfU--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/2ad5ojs63eyen6pb07ok.jpg" alt="The Zoom H6N"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;One of the best things about this piece of kit is that we can plug four mics into it, and still use the two mics at the top of the device (in the image, they are the silver mics at the top of the device), for a combined 6 mics. Each mic is recorded on it's own track, so it makes editing really easy.&lt;/p&gt;

&lt;p&gt;On top of that, you can also use it as an input device for your laptop/PC, so those 6 mics can be recorded (on your laptop/PC) with yet more mics. I wouldn't recommend it, but if you desperately need to have 7 mics, it's a quick win.&lt;/p&gt;

&lt;p&gt;Regardless, know that you don't have to jump to this level of equipment at the start, but setting aside some money for buying hardware (and eventually software) will help.&lt;/p&gt;

&lt;h3&gt;
  
  
  Advice 3: On Recording - Software
&lt;/h3&gt;

&lt;p&gt;Recording episodes can be incredibly easy or fraught with difficulty.&lt;/p&gt;

&lt;p&gt;If you have Apple hardware, like a Mac laptop or Apple computer, then you have access to a piece of software called GarageBand. This can be used to get you started. It's simple to pick up, but can be difficult to master. The &lt;a href="https://wafflingtaylors.rocks/2017/11/10/56-games-in-63-minutes"&gt;first episode of The Waffling Taylors&lt;/a&gt; was recorded using GarageBand and the mic built into my Mac Air. All of which was free - after the cost of the laptop.&lt;/p&gt;

&lt;p&gt;There are hundreds of products on the market for recording audio using a PC, laptop or Apple device. I use &lt;a href="https://www.audacityteam.org/"&gt;Audacity&lt;/a&gt;, mainly because it's free (remember: you get what you pay for). It's &lt;em&gt;relatively&lt;/em&gt; bug free, and works wonderfully. But when it crashes, whatever you were working on &lt;strong&gt;cannot&lt;/strong&gt; be recovered.&lt;/p&gt;

&lt;p&gt;I've heard a lot of talk about &lt;a href="http://reaper.fm/"&gt;Reaper&lt;/a&gt; and &lt;a href="https://www.blackmagicdesign.com/products/davinciresolve/"&gt;Davinci Resolve&lt;/a&gt;. These are paid products, as is the &lt;a href="https://www.adobe.com/creativecloud.html"&gt;Creative Cloud&lt;/a&gt;. All of these products have the ability to record and edit audio. I'd recommend taking a look at demos of them on YouTube, and trying out any free trials of them to see which sits with you best. Reaper is definitely at the pro end of the audio and music production spectrum, so expect to see a &lt;em&gt;lot&lt;/em&gt; of features that you are never going to use.&lt;/p&gt;

&lt;p&gt;I've learned all of the short cuts for Audacity, and have a solid backup plan, so I'm happy using that. But YMMV (Your Mileage May Vary).&lt;/p&gt;

&lt;h3&gt;
  
  
  Advice 4: On Recording - Remote
&lt;/h3&gt;

&lt;p&gt;There will come a time when you need to record part of your podcast remotely. This will likely be because you and a guest cannot be in the same physical location at the same time.&lt;/p&gt;

&lt;p&gt;There are a &lt;em&gt;lot&lt;/em&gt; of services which strive to help you with this. As I've said already: you get what you pay for. I've found that free services like Google Hangouts, Skype, and similar can be incredibly flaky. If you have to use these tools, ensure that you do a double ender.&lt;/p&gt;

&lt;p&gt;A double ender consists of each person recording their own audio and sending it to you to be multiplexed together (that's a fancy way of saying "edited together"). If you have to do a double ender, ensure that you have a sync signal. The most common way to do this is to have everyone recording then count down from three and all clap together. When you come to edit everything, you can use the spike caused by the spike to line everything up.&lt;/p&gt;

&lt;p&gt;There are products out there which are designed to do all of this for you. Some of them are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ZenCastr&lt;/li&gt;
&lt;li&gt;Ringr&lt;/li&gt;
&lt;li&gt;Squadcast&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The idea with these apps is that they set up a VoIP call for you, record each person's audio within the browser cache, and upload them to some central server. I've used ZenCastr and SquadCast more than I have done double enders; when they work, they work gloriously. But when there's an issue (I've seen this with ZenCastr more than anything else), nothing is usable. I've had to re-record several interviews that I've done with ZenCastr, and I still have a few that are unusable because I haven't had the chance to re-arrange them.&lt;/p&gt;

&lt;p&gt;If you end up using something like ZenCastr or SquadCast, it's worth pointing out to everyone involved that they should read the FAQ for the service that you choose. They often have limits on the browsers that they support. The following text comes from the FAQ that I send to guests of my show:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;One thing to note about SquadCast is that the default UI includes a map with a vague geo-location of all participants. This can be disabled on a per-guest basis by blocking the geo-location services API when it is requested, this will not affect the quality of the recording. However, according to their support channels, using a VPN may cause issues with the recording. If this is likely ot cause an issue, we can arrange another way of performing the interview.&lt;/p&gt;

&lt;p&gt;SquadCast will also ask for video permissions. Video footage will not be used for the recording, as such it is recommended to not share video. Doing so will require more bandwidth, and could potentially affect the recording.&lt;/p&gt;

&lt;p&gt;Having headphones, earphones or some other form of audio monitor will ensure that there is no audio feedback from a combination of the speakers that your computer uses and the microphone that you are using.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Also have an FAQ for your guests. This can help with easing them into being on a podcast, should they be new to being interviewed for them.&lt;/p&gt;

&lt;h3&gt;
  
  
  Advice 5: On Planning
&lt;/h3&gt;

&lt;p&gt;I have a multi part plan for each episode:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Come up with an idea, or set of topics&lt;/li&gt;
&lt;li&gt;Write out as much as I can think of for each topic&lt;/li&gt;
&lt;li&gt;Figure out who (if anyone) will be on the episode with me

&lt;ul&gt;
&lt;li&gt;If there are guests, reach out to them and arrange a time which suits them best&lt;/li&gt;
&lt;li&gt;Discuss the episode with them ahead of time, and share as much in the way of notes, so that they're not going in blind&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Actually record the episode&lt;/li&gt;
&lt;li&gt;Edit and post-produce the episode&lt;/li&gt;
&lt;li&gt;Either:

&lt;ul&gt;
&lt;li&gt;Provide show notes commenting on the episode (ala Waffling Taylors)&lt;/li&gt;
&lt;li&gt;Provide a full transcription of the episode (ala The .NET Core Show)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Mini Advice 2: Show Notes
&lt;/h4&gt;

&lt;p&gt;If you take a look at the show notes for an episode of The Waffling Taylors - &lt;a href="https://wafflingtaylors.rocks/2019/12/27/waffle-christmas-2019-part-2/"&gt;here's the latest episode&lt;/a&gt; as of posting this - you'll see that it's more like commentary, filling in gaps, and discussing the episode itself. This is because it's designed more as supplemental material to the show. I could provide a transcription of the episode, but they tend to be a little too frenetic to provide a transcription - which means it would take too long to create one. This means that we're cutting out a large portion of our potential listener base: those with accessibility needs. This is something I'm looking to fix in the future.&lt;/p&gt;

&lt;p&gt;Whereas, if you take a look at The .NET Core Podcast - again, &lt;a href="https://dotnetcore.show/episode-41-visual-recode-with-mark-rendle/"&gt;here's the latest episode&lt;/a&gt; - you'll find a full transcription of the episode. This helps folks with accessibility needs, as they can read the transcription rather than listen to the episode. This also has the side benefit of adding SEO juice&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I really dislike that term&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;to your show notes site, as it's now searchable and indexable.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;But&lt;/strong&gt; if you're going to supply a transcription, do it for those with accessibility needs rather than the SEO; as your audience should be your priority.&lt;/p&gt;




&lt;h3&gt;
  
  
  Advice 6: Editing
&lt;/h3&gt;

&lt;p&gt;I pay an editor to actually edit the shows, that way I don't spend my evenings and weekends doing it - but I did used to do that. It's hard to juggle a passion project like a podcast, a full time job, and family commitments. So I'd recommend looking into paying an editor to put it all together for you, but only after you've got the show off the ground. The reason for this is that a lot of really good editors will want:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A: a lot of money for what they do (again, you get what you pay for)&lt;/li&gt;
&lt;li&gt;B: some kind of assurance that there will be a more than just one episode to work on (they've got mouths to feed too)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you go down the route of being the editor, you'll need to learn a &lt;em&gt;lot&lt;/em&gt; about the tools that you use. You'll potentially need to learn about filtering and equalising, noise gates, amplification levels, and things like &lt;a href="https://bobbyowsinskiblog.com/2019/06/05/lufs-standards/"&gt;LUFS&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The last part is pretty easy to learn about. LUFS are the loudness units (think like pounds and ounces, but for audio) for audio levels in radio, TV and movies. There's an industry standard for LUFS for TV and Radio and you'll want to stick with that. Otherwise your listeners will end up having to increase the volume of your show up and then scramble to reduce the volume when yours ends - from a listeners point of view, that's horrendous and separates the pros from the flight-by-nights.&lt;/p&gt;

&lt;p&gt;You can achieve the LUFS levels by investing in an app called &lt;a href="https://auphonic.com/"&gt;Auphonic&lt;/a&gt;. It's available for both Windows and Mac, and as a web site. All three offerings will take an input audio file, and apply Dynamic Range Compression to ensure that your resulting episode is within the LUFS range. I leave all of my episodes at -16 LUFS, as that's the standard for Podcasts and Mobile phone calls.&lt;/p&gt;

&lt;p&gt;My typical work flow for editing an episode of The .NET Core Podcast is this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Obtain all tracks from an interview recording&lt;/li&gt;
&lt;li&gt;Feed them all into Audacity&lt;/li&gt;
&lt;li&gt;Line them up&lt;/li&gt;
&lt;li&gt;Go through the recording, tweaking things

&lt;ul&gt;
&lt;li&gt;Removing any long sliences&lt;/li&gt;
&lt;li&gt;Removing any flubs (I often fall over my words)&lt;/li&gt;
&lt;li&gt;Removing any parts where someone mentions that they'd like to try again&lt;/li&gt;
&lt;li&gt;Perhaps the person speaking flubbed, or need to refer to notes&lt;/li&gt;
&lt;li&gt;Remove any gaps for taking a sip of water&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;Add an intro and outro&lt;/li&gt;
&lt;li&gt;Add short musical indents at key places&lt;/li&gt;
&lt;li&gt;Add any ad reads (if approprite)&lt;/li&gt;
&lt;li&gt;Export as a WAV file&lt;/li&gt;
&lt;li&gt;Put the WAV file through Auphonic

&lt;ul&gt;
&lt;li&gt;96 kbps MP3, Mono&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Mini Advice 3: File Sizes
&lt;/h4&gt;

&lt;p&gt;96kbps because the music idents are specifically designed to sound ok at that bit rate; MP3 because you don't want someone downloading a ~600 MB audio file; and Mono because it's conversation with everyone mixed to the centre, so it immediately halves the file size. Here is an example of an episode that I'm working on right now, a WAV version and the MP3 encoded version:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--CCsjP39I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/lf7uv71jo1t76qwtg87b.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--CCsjP39I--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/lf7uv71jo1t76qwtg87b.jpg" alt="comparing the file sizes for a WAV and MP3 version of an episode"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Your listeners will thank you for the smaller file sizes, and your host will thank you for saving them on bandwidth.&lt;/p&gt;

&lt;p&gt;If your show has a &lt;em&gt;lot&lt;/em&gt; of music - maybe it's a music review show or similar - you'll want to look at a higher bit rate. Because my shows are mostly speech, they can be encoded at a lower bit rate and still sound good.&lt;/p&gt;




&lt;p&gt;As for actual advice on where to start: be prepared to put a &lt;em&gt;lot&lt;/em&gt; of work in. The average episode of The .NET Core Podcast is 45-80 minutes long. But I actually spend about 8 hours working on a single episode.&lt;/p&gt;

&lt;p&gt;Recording the episode is one of the easiest parts, as I hit record and my "podcast interview voice comes out". Also, I'm incredibly lucky that I'm an auditory learner so I can speed through the recordings a 1.6 to 2 times faster than normal and still take it all in. You might not be able to do this, but with a little training, you will be able to reach those speeds. I'd still recommend going through the episode again at normal speed, in case you miss something.&lt;/p&gt;

&lt;p&gt;The rule of thumb for editing is: every 30 minutes of audio is going to take at least 60 minutes to edit - more if there are lots of issues with the audio. Even though I go through my episodes super quickly, I'm still spending around 90 minutes editing every 30 minutes of audio.&lt;/p&gt;

&lt;p&gt;It just takes time.&lt;/p&gt;

&lt;h3&gt;
  
  
  Advice 7: Growing Your Audience
&lt;/h3&gt;

&lt;p&gt;Getting and maintaining an audience is the hardest part. Just like blogging, it requires a lot of effort on your part.&lt;/p&gt;

&lt;p&gt;When you start, you'll be shouting into the void. This is because there are so many other content creators out there offering the same stuff - and podcasting has had a &lt;em&gt;lot&lt;/em&gt; of positive press in the past year or so. Once you've managed to differentiate yourself from the other creators, you'll need to try and stay ahead of them by innovating quicker or offering something that they don't. That's the biggest drain, for me.&lt;/p&gt;

&lt;p&gt;After that, you'll need to try and get some kind of back and forth going with your listeners. Your podcast host will give you vague numbers for your subscriber levels - these are based on download levels, but are not accurate. Whilst it's great to see the numbers go up, don't create the show specifically for that because as soon as those numbers drop, so will your motivation to create the show along with your morale surrounding it.&lt;/p&gt;

&lt;p&gt;Focus on quality over quantity.&lt;/p&gt;

&lt;h3&gt;
  
  
  Advice 8: Show Launch
&lt;/h3&gt;

&lt;p&gt;I launched all of my shows, with a single episode each, whilst working full time. Others will tell you to have a number of episodes ready to go before you launch. It's really up to you.&lt;/p&gt;

&lt;p&gt;If you have a specific date in mind for a public launch (maybe you have something planned for social media outreach) ensure that Apple Podcasts (formerly iTunes) and Google Podcasts have discovered your show at least before you launch. Most of the other platforms piggy back off of those two (even though Google Podcasts is still very new).&lt;/p&gt;

&lt;p&gt;It will be worth looking into &lt;a href="https://itunesconnect.apple.com/"&gt;Podcasts Connect&lt;/a&gt; and creating an account before you plan to release your show. This is one of the ways that you can submit you show to Apple Podcasts (your host will likely have a way to post to Apple Podcasts for you), it's also a way to get some stats on your show from Apple.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--ri4ts9TM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/q6p2rp2wepow99078psj.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ri4ts9TM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/q6p2rp2wepow99078psj.jpg" alt="A selection of stats for The .NET Core Podcast, as show in Apple Podcast Connect"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;some stats for The .NET Core Podcast from Podcast Connect&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Podcast Connect have guidelines on how long it might take for your show to be indexed by them - as they do some kind of vetting process before allowing a show onto their system. The indexing time can change from month to month, and some periods (like the recent festive holiday period) have much longer wait times. So if you are planning to launch on a specific date, ensure that Apple Podcasts has indexed your podcast &lt;em&gt;way&lt;/em&gt; in advance of that because there is no way to speed up the process.&lt;/p&gt;

&lt;p&gt;The easiest way to get onto Google Podcasts is to let Google do it for you. This will mean that you'll need a website for your podcast - which I'd recommend anyway, that way you can have long form show notes. So you might need to approach a web developer in order to help you do it (YMMV), as there are specific tags that you need to include so that the Google bot can discover your show.&lt;/p&gt;

&lt;p&gt;One of the neat positives to this is that you can have Google display the episodes in search results, and will let folks listen to the episode right there in the search results.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--MoIl49WT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/ec0ykct40whsem3hyy39.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--MoIl49WT--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/ec0ykct40whsem3hyy39.jpg" alt="Results for a Google Search for The .NET Core Podcast - showing episode players in the search results"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;clicking on one of those play buttons will play the episode in the search results&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Advice 9: Download Numbers - Ignore Them
&lt;/h3&gt;

&lt;p&gt;Don't expect success overnight. For every &lt;a href="http://podcasts.joerogan.net/"&gt;Joe Rogan Experience&lt;/a&gt;, there are 300 other shows recorded in basements. For every &lt;a href="https://www.themcelroy.family/"&gt;McElroy trio&lt;/a&gt;, there are hundreds of other wannabe comedians who haven't been given air time. Keep working at your show, keep producing high quality content, and keep telling people about it; only then will the people come.&lt;/p&gt;

&lt;p&gt;Most companies who offer sponsorship and advertising will want to know what your audience size it. But this is a difficult metric to measure.&lt;/p&gt;

&lt;p&gt;Podcasts use RSS feeds. &lt;a href="https://feeds.transistor.fm/the-waffling-taylors-podcast"&gt;Here is the RSS feed&lt;/a&gt; for The Waffling Taylors. As you can see, you can just load it in your browser, and play the episodes there.&lt;/p&gt;

&lt;p&gt;Even if you listen in Apple Podcasts (or some other app), you don't have to sign-in in order to listen to an episode. My previous screen shot showed that you can listen within a Google results page. So how do they measure your audience?&lt;/p&gt;

&lt;p&gt;Total downloads.&lt;/p&gt;

&lt;p&gt;It's that simple. The amount of time that one of your episodes has been downloaded, for the first 30 days after it was released. &lt;strong&gt;SOME&lt;/strong&gt; hosts count unique downloads by IP address and User Agents, but not all of them do. Which leads to some confusion with this metric.&lt;/p&gt;

&lt;p&gt;The problem with that, is that podcasts are ad-hoc: you can listen when you like. I've found podcasts which are 2 or 3 years old, and gone back to the start listening from the beginning. Doing that (which a lot of folks do, if this history of the show is important) doesn't add to their audience from a sponsorship point of view, but it does make their audience larger.&lt;/p&gt;

&lt;p&gt;On top of that, streaming an episode (clicking play on and of the links in the screenshot above) will only count as a listen after the first 30 seconds has been played. Anything less than that, doesn't count as a listen.&lt;/p&gt;

&lt;p&gt;On top of THAT, the potential sponsors could ask to see proof that you're actually getting as many listens as you claim. It could just be one person listening to your show, on repeat for all they know.&lt;/p&gt;

&lt;p&gt;Some podcast hosts will give you access to a bunch of stats about your listeners. These are (usually) anonymised stats collected from useragent and IP addresses. All webhosts have access to this data for the websites that they serve, and a podcast feed is no different in this aspect.&lt;/p&gt;

&lt;p&gt;Here's a rough idea of the worldwide listener stats for The Waffling Taylors:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--9DMdYosX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/l6d0t88gjczy4rstu1wu.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--9DMdYosX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/l6d0t88gjczy4rstu1wu.jpg" alt="The global stats for The Waffling Taylors"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;All of this can be faked with someone who has access to a global VPN, as they can connect to a node in one country, download an episode of your show, then change to another node and repeat.&lt;br&gt;
In fact, this is what a lot of folks who offer to boost your download stats (on sites like Fiverr and the like) are actually doing. Whilst it will increase that number, it doesn't actually grow your audience. Again, that download number is just a number, and shouldn't be your goal.&lt;/p&gt;

&lt;h3&gt;
  
  
  Advice 10: Sponsorship
&lt;/h3&gt;

&lt;p&gt;When it comes time to actually look for sponsors, take a look at some of the ad networks. But do your due dilligence. Look for reviews of them by folks who are actually using them. Most of the ad networks will include testimonials on their site, but do some background checking to ensure that they are still using the network. The quote may be old or fabricated, so look into it. Also familiarise yourself with the IAB. Look into things like their &lt;a href="https://www.iab.com/guidelines/podcast-measurement-guidelines/"&gt;podcast measurement guidelines&lt;/a&gt;. Your potential sponsors will know this stuff and will be looking for specific numbers, so make sure that you have them to hand (or know where to look to find them).&lt;/p&gt;

&lt;p&gt;Some hosts will only give you access to IAB numbers if you pay them extra. LibSyn does this (they host The .NET Core Podcast), but their stats breakdown is amazing, and totally worth paying for. Without the IAB numbers, many sponsors simply won't be interested.&lt;/p&gt;

&lt;p&gt;If you go directly to a potential sponsor - rather than using a network - be ready to sell your podcast as a platform to get their message out. You want to go for the hard sell here, why should this company put their ad on your podcast? Is it even relevant to the subject matter? If your podcast is about submarine engineering and you are approaching &lt;a href="https://casper"&gt;Casper&lt;/a&gt;, they might pass. What can your show bring to their brand? Do you have those numbers to hand?&lt;/p&gt;

&lt;p&gt;Another thing to know is that a lot of sponsors will only be looking for shows which release episodes &lt;em&gt;very&lt;/em&gt; frequently - one sponsor I approached said that they where only interested in shows which released new episodes every day.&lt;/p&gt;

&lt;h3&gt;
  
  
  Advice 11: Release Cadence
&lt;/h3&gt;

&lt;p&gt;It can be super exciting to release your first episode, and you may want to release the next episode right away. But you need to think about the longevity of your show.&lt;/p&gt;

&lt;p&gt;If you release two episodes a week now, will you be able to keep that cadence up in 6 months time? What about in a year? What about if you get sick? You need to set a cadence that you can stick to in a year's time.&lt;/p&gt;

&lt;p&gt;When I started &lt;a href="https://dotnetcore.show/"&gt;The .NET Core Podcast&lt;/a&gt;, I was releasing episodes every week. But that was impossible to maintain. I was editing episodes during my lunch break at work, during my commutes to work, and into the evenings on most days - and once or twice on the weekends. I dropped the release cadence to fortnightly and built up a backlog of episodes to fall back on, and I'm much more relaxed now.&lt;/p&gt;

&lt;h4&gt;
  
  
  Mini Advice 4: Backlogs
&lt;/h4&gt;

&lt;p&gt;Before I created a single episode for The .NET Core Podcast, I had a markdown file with ideas for the first 15 episodes. Each of these ideas was fully fleshed out. This helped me to see what the longevity of the show would be. I had a clear topic for each episode, and I spent time writing them, cross referencing them with blog posts that I had written, blog posts by friends, or official documentation. These 15 episode drafts became monologues about aspects of .NET Core that I thought would be interesting to listeners - either new to .NET and seasoned veterans alike.&lt;/p&gt;

&lt;p&gt;Looking at the released episodes for the show, I have only released 9 of these monologues so far. Which means that I still have 6 episodes that I can turn around very quickly, should I find myself without any episodes ready to go.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;in fact in writing this blog post, I came up with 5 more monologues&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The key is to have a stable of episodes that you can fall back on. I've been in a situation (early on) where I was editing right up until the hours before release of an episode - reading on, you'll be able to guess what time I stopped editing that episode. The key to never ending up in that situation is to have a bank of episode ideas ready to go.&lt;/p&gt;




&lt;p&gt;Once you've set your cadence STICK. TO. IT.&lt;/p&gt;

&lt;p&gt;The majority of podcast listeners have subscribed to around 10-15 shows. As such, they actively look for new episodes. Just like how a lot of people without YouTube accounts use YouTube: they'll search for their favourite shows, and if there isn't a new episode they'll move onto something else, if there's no new episode then they'll stop watching altogether.&lt;/p&gt;

&lt;p&gt;I'm a bit of a "power listener" as I have a lot of shows that I subscribe to&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6LMkJF4n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/0iw13bompe4pbr3wbbi0.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6LMkJF4n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/0iw13bompe4pbr3wbbi0.jpg" alt="A selection of the podcasts that I listen to, as shown in PocketCasts"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;just some of the shows I subscribe to, as shown in PocketCasts&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;A number of podcasts that I listen to aren't available on PocketCasts, so I use the podcast feature of VLC to keep up with those shows.&lt;/p&gt;

&lt;p&gt;So called "power listeners" are folks who listen to podcasts the majority of the time. They don't tend to listen to music. They listen to podcasts when doing menial tasks (commuting, chores, etc.), and some (including me) listen when they work (I'm an auditory learner so can usually both work &amp;amp; listen - and take it all in).&lt;/p&gt;

&lt;p&gt;A lot of your audience will NOT be those listeners. As such there will be peaks and troughs in your listenership (those download numbers that you can't trust). The majority of your listeners will likely listen during their commute and when doing chores, and that's it. Because of that, you should expect to see dips in listenership during holiday seasons, and times when folks aren't working (Labour day, etc.). This is because they'll be doing what you (likely) are doing: spending time with family.&lt;/p&gt;

&lt;p&gt;So don't be put off with occasional dips in download numbers.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4Hbw6u8v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/p1dlaty1cq9hcenxcst4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4Hbw6u8v--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://thepracticaldev.s3.amazonaws.com/i/p1dlaty1cq9hcenxcst4.jpg" alt="Stats for The .NET Core Podcast for December"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;The two peaks here are episode releases, but the trough afterward is the 2019 festive season&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Advice 12: When To Release Episodes
&lt;/h3&gt;

&lt;p&gt;Whenever fits your schedule.&lt;/p&gt;

&lt;p&gt;Don't set yourself up for failure by releasing episodes when it's hard to. You still need to edit, upload, release, and publicise the episodes. So you need to factor in time to do that. Fit it in around your schedule.&lt;/p&gt;

&lt;p&gt;I'd recommend taking a look at your monthly calendar and finding multiple days which work; and remember you need to be able to do this every time you release and episode. Once you've found a number of days which work with your schedule, have a think about your subject matter. Is it evergreen? Is it related to a real-time event?&lt;/p&gt;

&lt;p&gt;Most of the episodes for my shows are evergreen, so I release them on a day which suits me. But the &lt;a href="https://wafflingtaylors.rocks/categories/egx/"&gt;EGX&lt;/a&gt; episodes of The Waffling Taylors went out at the end of each day of that conference. This was super tiring, as we'd recorded hours of content which needed to be whittled down to 90 minutes, edited together, and released AFTER a full day at a gaming conference... for four days in a row.&lt;br&gt;
It was not easy.&lt;/p&gt;

&lt;p&gt;Is your show about a specific TV show? It might make sense to release it very soon after each new episode of the TV show. Is it about a series of ongoing movies (still being released to theatres)? Is it possible to release your episodes during the lead up to the release of the new movie? If so, people will organically find your show when they are searching for the subject.&lt;/p&gt;

&lt;p&gt;I chose Fridays at 1230 GMT because I'm usually on my lunch hour at that time, and can quickly sign into my podcast hosts to ensure that the episodes have gone out. I also have all of the tweets/posts/statuses (stati?) for them ready to go just before that. On top of that, it's a time during the day where most folks will be able to listen to the episode:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;For folks in the far east, it will be late at night so that covers commute times&lt;/li&gt;
&lt;li&gt;For folks in Europe and The UK, it's lunch time into early afternoon&lt;/li&gt;
&lt;li&gt;For folks in the Americas, it's relatively early in the day - again more commute times&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Again, YMMV and do what works for you.&lt;/p&gt;

&lt;h3&gt;
  
  
  Advice 13: Automate What You Can
&lt;/h3&gt;

&lt;p&gt;I've partially automated the entire process. I have a .NET Core application that I can run which:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Creates a SquadCast recording session&lt;/li&gt;
&lt;li&gt;Creates the Audacity Project on disk&lt;/li&gt;
&lt;li&gt;Creates an empty show notes file&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Which takes the ceremony of getting everything set up. I'm also looking into whether I can automate that with an &lt;a href="https://ifttt.com/"&gt;IFTT&lt;/a&gt; connected to the &lt;a href="https://calendly.com/dotnetcoreshow/interview"&gt;calendly&lt;/a&gt; for the show.&lt;/p&gt;

&lt;p&gt;Once an episode has been uploaded to my hosts, I set up a another IFTT job to do the social stuff, release the show notes, and email folks for me (usually the guests, and my editor). It isn't hugely difficult to get this all set up, it just means reading a bit of documentation and getting your head around how it all works.&lt;/p&gt;

&lt;h3&gt;
  
  
  Advice 14: Share The Load
&lt;/h3&gt;

&lt;p&gt;If you are going to have co-hosts, make sure that you divide the lion's share of the responsibilities for the show between you. Otherwise, you'll end up doing it all and they'll take all of the credit. You don't want to be working until the wee hours of the morning, wondering if you'll ever see sunlight again, slaving over getting the next episode out, for your co-hosts to take all the credit and claim all the glory. It's just not fair.&lt;/p&gt;

&lt;p&gt;A friend of mine (who has a very successful, weekly show) has gone as far as to draw up a contract between him and his co-hosts. I don't suggest going this far, but it can help. Especially if co-hosts end up not pulling their weight, or want to leave the show: you then have a legal document saying whether the IP is shared between you and the co-hosts, and whether they should expect to receive a share of any sponsorship or profits after they have left.&lt;/p&gt;

&lt;p&gt;For a number of reasons (copyright, legal protection, sponsorship, taxes, and sharing the load), it might be worth looking into setting up some kind of legal entity which owns the show. Seek legal and accounting advice on this, as this will differ per state and country.&lt;/p&gt;

&lt;p&gt;I have done this, both The Waffling Taylors and The .NET Core Podcast are owned by &lt;a href="https://rjj-software.co.uk"&gt;my limited company&lt;/a&gt;. This same limited company is the one that I use for my development contracting business. This protects me (the individual) in case a guest makes a libellous or incorrect statement on the either of shows, and someone takes issue with it.&lt;/p&gt;

&lt;p&gt;The &lt;a href="https://www.codingblocks.net/"&gt;Coding Blocks Podcast&lt;/a&gt; is owned by an LLC for tax and accounting reasons (as far as I know). This helps the three hosts keep an eye on spending (they each put money into the LLC, and that is spent on things relating to the podcast), and it helps with taxes due to sponsorship. However, they are based in the Atlanta, GA area and this may be a requirement based on local laws.&lt;/p&gt;

&lt;p&gt;Again, due diligence.&lt;/p&gt;

&lt;h3&gt;
  
  
  Advice 15: Guests &amp;amp; Promotion
&lt;/h3&gt;

&lt;p&gt;Look for other shows in your niche, and approach the hosts about potentially being on their show as a guest. A lot of shows will happily do this, because it makes it easier to create content, and it means more people will listen (you will likely tell all of your friends, family, and colleagues about your appearance). It also works in your favour, because it gets your name out to people who are very likely to be interested in your show. And you can return the favour and have them on your show, doubling down on the guest spot potential.&lt;/p&gt;

&lt;p&gt;Before I even started The .NET Core Podcast, I was on a number of shows talking about .NET Core (Cynical Developer, Productivity in Tech, etc.). This meant that when I launched my show, the hosts of those shows were willing to shout out about it, and place a link on shows notes for the episodes I was in.&lt;/p&gt;

&lt;p&gt;I would also look into Facebook, Twitter, and LinkedIn groups with a lot of users in your niche. Before you start blindly posting links to your episodes, check with the admins of those groups as to whether that's permitted - some groups will want to foster a conversation rather than turn into a link farm. Each group will be different, so check with the admins and make sure that your posts follow those guidelines.&lt;/p&gt;

&lt;p&gt;I haven't looked into other social networking sites, as I didn't see how they were relevant to the podcasts that I create. But they might be relevant to yours, so I'd recommend doing some research.&lt;/p&gt;




&lt;p&gt;So that's 15 peices of advice for budding podcasters. Do you agree with everything here? Is there something you would have added? Do you disagree with anything in the list? Let's chat in the comments, or get in touch over on &lt;a href="https://twitter.com/dotetcoreshow"&gt;Twitter&lt;/a&gt;, and let's talk about it - lets not get into arguments about bit rates though, that doesn't help anyone.&lt;/p&gt;

</description>
      <category>podcast</category>
    </item>
    <item>
      <title>Get Insurance - A Real Story</title>
      <dc:creator>Jamie</dc:creator>
      <pubDate>Sat, 09 Nov 2019 12:20:23 +0000</pubDate>
      <link>https://forem.com/dotnetcoreblog/get-insurance-a-real-story-5909</link>
      <guid>https://forem.com/dotnetcoreblog/get-insurance-a-real-story-5909</guid>
      <description>&lt;h3&gt;
  
  
  TL;DR
&lt;/h3&gt;

&lt;p&gt;If have any things in your house: GET INSURANCE!&lt;/p&gt;




&lt;p&gt;For those of you who missed it, I tweeted this out on Thursday:&lt;/p&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--VItNZ7SW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/895624328112480256/Dv4KPqaq_normal.jpg" alt="dotnetcore.show profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        dotnetcore.show
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        @dotnetcoreshow
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--B8bbACBj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/twitter-99c56e7c338b4d5c17d78f658882ddf18b0bbde5b3f42f84e7964689e7e8fb15.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      It is with an extremely heavy heart that I must announce that The .NET Core Podcast has go on an indefinite hiatus.&lt;br&gt;I returned home from work this evening to find that my home office had flooded. I don't know how, or what the source was, yet.&lt;br&gt;But it destroyed all of my hardware.
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      20:23 PM - 07 Nov 2019
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1192538100557320194" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-reply-action.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1192538100557320194" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-retweet-action.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      9
      &lt;a href="https://twitter.com/intent/like?tweet_id=1192538100557320194" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-like-action.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
      16
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;p&gt;Essentially what happened was:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the UK had a month's worth of rain in 24 hours&lt;/li&gt;
&lt;li&gt;many parts of the UK where affected&lt;/li&gt;
&lt;li&gt;there was chaos on the roads and railways&lt;/li&gt;
&lt;/ul&gt;


&lt;blockquote class="ltag__twitter-tweet"&gt;
      &lt;div class="ltag__twitter-tweet__media"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--DXZ_GGyJ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/media/EIyRFrDWsAAgC_l.jpg" alt="unknown tweet media content"&gt;
      &lt;/div&gt;

  &lt;div class="ltag__twitter-tweet__main"&gt;
    &lt;div class="ltag__twitter-tweet__header"&gt;
      &lt;img class="ltag__twitter-tweet__profile-image" src="https://res.cloudinary.com/practicaldev/image/fetch/s--VItNZ7SW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://pbs.twimg.com/profile_images/895624328112480256/Dv4KPqaq_normal.jpg" alt="dotnetcore.show profile image"&gt;
      &lt;div class="ltag__twitter-tweet__full-name"&gt;
        dotnetcore.show
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__username"&gt;
        @dotnetcoreshow
      &lt;/div&gt;
      &lt;div class="ltag__twitter-tweet__twitter-logo"&gt;
        &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--B8bbACBj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/twitter-99c56e7c338b4d5c17d78f658882ddf18b0bbde5b3f42f84e7964689e7e8fb15.svg" alt="twitter logo"&gt;
      &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__body"&gt;
      Rather than announce that any trains are cancelled (they're appearing as cancelled on third party sites and apps), they're allvlisted as delayed.&lt;br&gt;Including one which has been delayed by three hours (far left).&lt;br&gt;It's cruel to make people wait around for that long. 
    &lt;/div&gt;
    &lt;div class="ltag__twitter-tweet__date"&gt;
      17:02 PM - 07 Nov 2019
    &lt;/div&gt;


    &lt;div class="ltag__twitter-tweet__actions"&gt;
      &lt;a href="https://twitter.com/intent/tweet?in_reply_to=1192487538323283969" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-reply-action.svg" alt="Twitter reply action"&gt;
      &lt;/a&gt;
      &lt;a href="https://twitter.com/intent/retweet?tweet_id=1192487538323283969" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-retweet-action.svg" alt="Twitter retweet action"&gt;
      &lt;/a&gt;
      1
      &lt;a href="https://twitter.com/intent/like?tweet_id=1192487538323283969" class="ltag__twitter-tweet__actions__button"&gt;
        &lt;img src="/assets/twitter-like-action.svg" alt="Twitter like action"&gt;
      &lt;/a&gt;
      1
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/blockquote&gt;


&lt;p&gt;Also, my home office was flooded out.&lt;/p&gt;

&lt;h3&gt;
  
  
  Flooded
&lt;/h3&gt;

&lt;p&gt;My home office was in the basement of my house - which was the only free room in the house. It was the room where I did remote work for my clients; it was the room where I recorded &lt;a href="https://dotnetcore.show/"&gt;podcast interviews&lt;/a&gt; and &lt;a href="https://wafflingtaylors.rocks/"&gt;episodes&lt;/a&gt;; it was the room where I wrote my &lt;a href="https://github.com/gaprogman"&gt;open source projects&lt;/a&gt; and worked on my websites.&lt;/p&gt;

&lt;p&gt;Before the flooding, that room contained my:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;desktop PC - a machine which was less than a year old&lt;/li&gt;
&lt;li&gt;XPS 13 - a machine belonging to &lt;a href="https://rjj-software.co.uk/"&gt;my company&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Apple Macbook Air&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;It also contained all of the hardware that I use to record the shows, and all of my books.&lt;/p&gt;

&lt;p&gt;Right now, it contains a marsh-land of a carpet, a dehumidifier, and a radiator which is working 24/7 to try and dry everything out.&lt;/p&gt;

&lt;p&gt;I was able to rescue the XPS 13, and the majority of the desktop (SSDs are safe, but the spin rust drives are gone), but everything else is ruined.&lt;/p&gt;

&lt;h3&gt;
  
  
  Reflections
&lt;/h3&gt;

&lt;p&gt;As I said in the edition of the newsletter &lt;a href="https://buttondown.email/dotnetcoreshow/archive/bfa87334-dc7b-4f40-9379-45e2cdaefa0c"&gt;that I released shortly after the event&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;First, I need to apologise for the potential sombre feel to this newsletter. Secondly, let me say that no one is injured or hurt in anyway.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There were a lot of people who were more gravely affected by the recent weather - there have been reports of people having lost their lives - and I'm eternally thankful for the fact that no one I know was harmed.&lt;/p&gt;

&lt;p&gt;I'm also incredibly thankful that I have a multi-stage backup process. This is a process that I follow when creating episodes of the podcast:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I record the episode or interview&lt;/li&gt;
&lt;li&gt;I store the raw files on a local NAS&lt;/li&gt;
&lt;li&gt;Those raw files are then backed up, offsite&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At every step along the editing and rendering path, all data goes back through that same pathway. Meaning that, even though the majority of my drives where kaput, I still had two copies (one warm, and one cold) of all of my data.&lt;/p&gt;

&lt;p&gt;And of course, I'm thankful that I have insurance which covers the damages. Once every thing has dried out, I will be able to have contractors in to rebuild, and I'll be able to get new hardware to replace the lost parts.&lt;/p&gt;

&lt;p&gt;It will mean that things are a little difficult for me for the next month or so, but &lt;a href="https://www.youtube.com/watch?v=t99KH0TR-J4"&gt;The Show Must Go On&lt;/a&gt; and it will do.&lt;/p&gt;

&lt;p&gt;In short: GET INSURANCE!&lt;/p&gt;

</description>
      <category>reallife</category>
      <category>insurance</category>
      <category>advice</category>
    </item>
    <item>
      <title>Should I Jump Ship to iOS? </title>
      <dc:creator>Jamie</dc:creator>
      <pubDate>Wed, 28 Aug 2019 06:46:34 +0000</pubDate>
      <link>https://forem.com/dotnetcoreblog/should-i-jump-ship-to-ios-13il</link>
      <guid>https://forem.com/dotnetcoreblog/should-i-jump-ship-to-ios-13il</guid>
      <description>&lt;p&gt;Before we begin, I want to point out that the &lt;a href="https://dev.to/code-of-conduct"&gt;code of conduct&lt;/a&gt; applies to this post and all others on DEV. I don't expect that anyone will be particularly horrible, but I do know that many folks can get quite proud of their &lt;a href="https://dev.to/t/gear"&gt;#gear&lt;/a&gt; choices.&lt;/p&gt;

&lt;p&gt;On to the topic at hand: Should I jump ship to iOS?&lt;/p&gt;

&lt;p&gt;I've been an Android user since Gingerbread was released, so I'm quite deeply entrenched into the ecosystem. But I feel like the lack of immidiate update support for Android, and the lack of care for privacy is really turning me off from the OS.&lt;/p&gt;

&lt;p&gt;I'm currently using an Honor device (you care about privacy and bought a Huawei device?) and the hardware is amazing, but the base OS is terrible. &lt;/p&gt;

&lt;p&gt;I know that I could totally buy a device which actually allows me to unlock the bootloader (Huawei have locked all of their devices down), and flash something like LineageOS onto it. In fact, until I bought my current device, this is exactly what I used to to - stock Android (as in the AOSP) is good, LineageOS with root is better, and most vendor specific builds of Android are terrible.&lt;/p&gt;

&lt;p&gt;Security updates for Android, as some folks know, can take months (if not years) to be released for devices. And a lot of users are often left running insecure, outdated versions of the OS simply because the hardware vendors want to sell you the latest and greatest rather than support a device which is less then 9 months old - and the less said about companies like WileyFox the better.&lt;/p&gt;

&lt;p&gt;I'm also totally aware thst iOS devices tend to become a lot less useful after 2-3 years of use, and that they're not as open as Android devices can be. I do have PC hardware which runs MacOS, Linux distros and Windows, so I'm not averse to running different OSs.&lt;/p&gt;

&lt;p&gt;I'm really interested to hear the experiences of folks who have jumped ship (either way), and folks who have tried out both.&lt;/p&gt;

&lt;p&gt;So fellow DEV readers, help me out. Should I jump ship? Or what are some of the things that I should be considering with reference to jumping over?&lt;/p&gt;

</description>
      <category>healthydebate</category>
    </item>
    <item>
      <title>The .NET Core Podcast Episode 31 - The Liberal Arts and Levelling Up Your Career with Thomas Betts</title>
      <dc:creator>Jamie</dc:creator>
      <pubDate>Mon, 12 Aug 2019 19:25:00 +0000</pubDate>
      <link>https://forem.com/dotnetcoreblog/the-net-core-podcast-episode-31-the-liberal-arts-and-levelling-up-your-career-with-thomas-betts-5dae</link>
      <guid>https://forem.com/dotnetcoreblog/the-net-core-podcast-episode-31-the-liberal-arts-and-levelling-up-your-career-with-thomas-betts-5dae</guid>
      <description>&lt;p&gt;Hey everyone!&lt;/p&gt;

&lt;p&gt;Episode 31 of The .NET Core Podcast was released a few days ago. But, as usual, I wanted to create some show notes for it which are specific to dev.to&lt;/p&gt;

&lt;p&gt;As a quick reminder, The .NET Core Podcast is the &lt;em&gt;only&lt;/em&gt; podcast devoted to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;.NET Core&lt;/li&gt;
&lt;li&gt;ASP.NET Core&lt;/li&gt;
&lt;li&gt;EF Core&lt;/li&gt;
&lt;li&gt;SignalR&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and not forgetting The .NET Core community, itself.&lt;/p&gt;

&lt;p&gt;I wont make you browse over to the show notes page&lt;/p&gt;

&lt;p&gt;&lt;em&gt;because I'm not the boss of you&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;because I'll add a dev.to specific player here:&lt;/p&gt;


&lt;div class="podcastliquidtag"&gt;
  &lt;div class="podcastliquidtag__info"&gt;
    &lt;a href="/dotnetcorepodcast/the-liberal-arts-and-levelling-up-your-career-with-thomas-betts"&gt;
      &lt;h1 class="podcastliquidtag__info__episodetitle"&gt;The Liberal Arts and Levelling Up Your Career with Thomas Betts&lt;/h1&gt;
    &lt;/a&gt;
    &lt;a href="/dotnetcorepodcast"&gt;
      &lt;h2 class="podcastliquidtag__info__podcasttitle"&gt;
        The .NET Core Podcast
      &lt;/h2&gt;
    &lt;/a&gt;
  &lt;/div&gt;
  &lt;div id="record-the-liberal-arts-and-levelling-up-your-career-with-thomas-betts" class="podcastliquidtag__record"&gt;
    &lt;img class="button play-butt" id="play-butt-the-liberal-arts-and-levelling-up-your-career-with-thomas-betts" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fplaybutt-5e444a2eae28832efea0dec3342ccf28a228b326c47f46700d771801f75d6b88.png" alt="play"&gt;
    &lt;img class="button pause-butt" id="pause-butt-the-liberal-arts-and-levelling-up-your-career-with-thomas-betts" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fpausebutt-bba7cb5f432cfb16510e78835378fa22f45fa6ae52a624f7c9794fefa765c384.png" alt="pause"&gt;
    &lt;img class="podcastliquidtag__podcastimage" id="podcastimage-the-liberal-arts-and-levelling-up-your-career-with-thomas-betts" alt="The .NET Core Podcast" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fpodcast%2Fimage%2F58%2Fc6bc9a85-2b7e-4b2b-9ac0-921bf4a37f7e.jpg"&gt;
  &lt;/div&gt;

  &lt;div class="hidden-audio" id="hidden-audio-the-liberal-arts-and-levelling-up-your-career-with-thomas-betts"&gt;
  
    
    Your browser does not support the audio element.
  
  &lt;div id="progressBar" class="audio-player-display"&gt;
    &lt;a href="/dotnetcorepodcast/the-liberal-arts-and-levelling-up-your-career-with-thomas-betts"&gt;
      &lt;img id="episode-profile-image" alt="The Liberal Arts and Levelling Up Your Career with Thomas Betts" width="420" height="420" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fpodcast%2Fimage%2F58%2Fc6bc9a85-2b7e-4b2b-9ac0-921bf4a37f7e.jpg"&gt;
      &lt;img id="animated-bars" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fanimated-bars-4e8c57c8b58285fcf7d123680ad8af034cd5cd43b4d9209fe3aab49d1e9d77b3.gif" alt="animated volume bars"&gt;
    &lt;/a&gt;
    &lt;span id="barPlayPause"&gt;
      &lt;img class="butt play-butt" alt="play" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fplaybutt-5e444a2eae28832efea0dec3342ccf28a228b326c47f46700d771801f75d6b88.png"&gt;
      &lt;img class="butt pause-butt" alt="pause" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fpausebutt-bba7cb5f432cfb16510e78835378fa22f45fa6ae52a624f7c9794fefa765c384.png"&gt;
    &lt;/span&gt;
    &lt;span id="volume"&gt;
      &lt;span id="volumeindicator" class="volume-icon-wrapper showing"&gt;
        &lt;span id="volbutt"&gt;
          &lt;img alt="volume" class="icon-img" height="16" width="16" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fvolume-cd20707230ae3fc117b02de53c72af742cf7d666007e16e12f7ac11ebd8130a7.png"&gt;
        &lt;/span&gt;
        &lt;span class="range-wrapper"&gt;
          
        &lt;/span&gt;
      &lt;/span&gt;
      &lt;span id="mutebutt" class="volume-icon-wrapper hidden"&gt;
        &lt;img alt="volume-mute" class="icon-img" height="16" width="16" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fvolume-mute-8f08ec668105565af8f8394eb18ab63acb386adbe0703afe3748eca8f2ecbf3b.png"&gt;
      &lt;/span&gt;
      &lt;span class="speed" id="speed"&gt;1x&lt;/span&gt;
    &lt;/span&gt;
    &lt;span class="buffer-wrapper" id="bufferwrapper"&gt;
      &lt;span id="buffer"&gt;&lt;/span&gt;
      &lt;span id="progress"&gt;&lt;/span&gt;
      &lt;span id="time"&gt;initializing...&lt;/span&gt;
      &lt;span id="closebutt"&gt;×&lt;/span&gt;
    &lt;/span&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


&lt;p&gt;This was an exceptionally wonderful conversation with &lt;a href="https://twitter.com/thomasbetts" rel="noopener noreferrer"&gt;Thomas Betts&lt;/a&gt; about the ways that you can increase your ability to &lt;a href="https://www.infoq.com/articles/great-engineer-needs-liberal-arts/" rel="noopener noreferrer"&gt;communicate with your clients by studying the Liberal Arts&lt;/a&gt;, we also talk about the use of metaphor&lt;/p&gt;

&lt;p&gt;&lt;em&gt;I particularly love one he uses which is related to coffee shops&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;in getting the core idea of how the project should work across to your clients. We also talk about strategies for when your boss comes to you and says:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;I've heard of this great new technology, and I want you to build our next mission critical application with it.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The full show notes and a transcription are available at the show's website&lt;/p&gt;

&lt;p&gt;&lt;em&gt;here's a &lt;a href="https://dotnetcore.show/episode-31-the-liberal-arts-and-levelling-up-your-career-with-thomas-betts/" rel="noopener noreferrer"&gt;link&lt;/a&gt; directly to the show notes&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I'd love any and all feedback that you can provide on the show, this episode, or anything related to it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Links to Related Stuff
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;these came directly from the show notes&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/thomasbetts" rel="noopener noreferrer"&gt;Thomas on Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.linkedin.com/in/thomasbetts" rel="noopener noreferrer"&gt;Thomas on LinkedIn&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.infoq.com/profile/Thomas-Betts/" rel="noopener noreferrer"&gt;Thomas on InfoQ&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.infoq.com/articles/great-engineer-needs-liberal-arts/" rel="noopener noreferrer"&gt;A Great Engineer Needs the Liberal Arts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://developdenver.org/profiles/976" rel="noopener noreferrer"&gt;Arlene Andrews on  Developer Denver&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://dddeurope.com/2018/speakers/indu-alagarsamy/" rel="noopener noreferrer"&gt;Indu Alagarsamy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://exploreddd.com" rel="noopener noreferrer"&gt;Explore DDD&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.savinola.com/" rel="noopener noreferrer"&gt;Laura Savino&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.youtube.com/watch?v=B3X_nhJ61Ak" rel="noopener noreferrer"&gt;Reading in a New Language&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Egoless_programming" rel="noopener noreferrer"&gt;Egoless programming&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.nytimes.com/interactive/2019/03/20/magazine/rick-steves-travel-world.html" rel="noopener noreferrer"&gt;Rick Steves in the New York Times&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Liberal_arts_education" rel="noopener noreferrer"&gt;Liberal Arts Education&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Social and Stuff
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dotnetcoreshow" rel="noopener noreferrer"&gt;The show on Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://buttondown.email/dotnetcoreshow/" rel="noopener noreferrer"&gt;Sign up for the mailing list&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the show has been helpful in anyway, please consider giving it a rating or review in your podcatcher of choice. Services like &lt;a href="https://itunes.apple.com/gb/podcast/the-net-core-podcast/id1433496275" rel="noopener noreferrer"&gt;Apple Podcasts&lt;/a&gt;, &lt;a href="https://www.stitcher.com/podcast/the-net-core-podcast" rel="noopener noreferrer"&gt;Stitcher&lt;/a&gt;, and &lt;a href="https://www.podchaser.com/TheDotNetCorePodcast" rel="noopener noreferrer"&gt;Podchaser&lt;/a&gt; allow you to leave a rating or review. These help other potential listeners to find the show.&lt;/p&gt;

&lt;p&gt;And finally, if you wish to support the show in a more direct fashion, I have created both a &lt;a href="https://www.patreon.com/TheDotNetCorePodcast" rel="noopener noreferrer"&gt;Patreon page&lt;/a&gt; (which has bonuses, but requires a monthly commitment) and a &lt;a href="https://www.buymeacoffee.com/dotnetcoreshow/" rel="noopener noreferrer"&gt;Buy me a coffee page&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;but I wont harp on about that&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Call for Guests
&lt;/h3&gt;

&lt;p&gt;We're always on the lookout for &lt;a href="https://dev.to/dotnetcoreblog/open-call-for-guests-3bgp"&gt;anyone who might be interested on being on the show&lt;/a&gt;. It's about and for the community, so if you have something cool to show off, or something you'd like to talk about, then get in touch.&lt;/p&gt;

</description>
      <category>podcast</category>
      <category>dotnetcore</category>
      <category>dotnet</category>
    </item>
    <item>
      <title>I'm a .NET Core Contractor, Podcast editor, and host of both The .NET Core Podcast and The Waffling Taylors. Ask me anything!</title>
      <dc:creator>Jamie</dc:creator>
      <pubDate>Thu, 08 Aug 2019 12:43:34 +0000</pubDate>
      <link>https://forem.com/dotnetcoreblog/i-m-a-net-core-contractor-podcast-editor-and-host-of-both-the-net-core-podcast-and-the-waffling-taylors-ask-me-anything-3co</link>
      <guid>https://forem.com/dotnetcoreblog/i-m-a-net-core-contractor-podcast-editor-and-host-of-both-the-net-core-podcast-and-the-waffling-taylors-ask-me-anything-3co</guid>
      <description>&lt;p&gt;&lt;em&gt;this is my first #ama, so please bear with me&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  What I'm Willing to Talk About
&lt;/h3&gt;

&lt;p&gt;I'm happy to answer questions on podcasting (hosting, producing, and editing), creating content, .NET Core, and anything else that the following information inspires you to ask about.&lt;/p&gt;

&lt;h3&gt;
  
  
  Posting Questions
&lt;/h3&gt;

&lt;p&gt;Please post any questions that you have as comments on this article.&lt;/p&gt;

&lt;h3&gt;
  
  
  About Me
&lt;/h3&gt;

&lt;p&gt;I've been a .NET developer for close to 11 years, recently went contractor. I've been writing about .NET Core since November 2016 over at &lt;a href="https://dotnetcore.gaprogman.com/"&gt;https://dotnetcore.gaprogman.com/&lt;/a&gt; which, combined with my appearances on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://cynicaldeveloper.com/guests/#jamie-taylor"&gt;The Cynical Developer&lt;/a&gt; podcast - across four episodes&lt;/li&gt;
&lt;li&gt;The Productivity in Tech podcast

&lt;ul&gt;
&lt;li&gt;This was on the old show, before the recent rebrand&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://risingyoungminds.com/@dotNetCoreBlog"&gt;Rising Young Minds&lt;/a&gt; blog&lt;/li&gt;
&lt;li&gt;My posts on codeshare.co.uk on &lt;a href="https://codeshare.co.uk/blog/how-to-get-a-free-https-certificate-ssl/"&gt;Free HTTPS Certificates&lt;/a&gt; and &lt;a href="http://www.codeshare.co.uk/blog/what-is-jetbrains-rider/"&gt;Rider from Jet Brains&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;lead to the creation of one of my podcasts: &lt;a href="https://dotnetcore.show/"&gt;The .NET Core Podcast&lt;/a&gt; - which is celebrating it's one year anniversary this month.&lt;/p&gt;

&lt;p&gt;I've also been writing and creating podcast episodes for a website that I run with my brother: &lt;a href="https://wafflingtaylors.rocks"&gt;The Waffling Taylors&lt;/a&gt;. We've been writing about video games since January 2017, and launched our podcast in &lt;a href="https://www.wafflingtaylors.rocks/2017/11/10/56-games-in-63-minutes/"&gt;November that same year&lt;/a&gt;, too.&lt;/p&gt;

&lt;p&gt;In November 2017, I started working as a DevOps engineer for a UK-based start up consultancy. This required me to learn containerisation technologies (focusing primarily on docker) and cloud based architecture (focusing on Microsoft's Azure platform). It was during this time that I started looking into productivity tools, and I started making &lt;a href="https://docs.microsoft.com/en-us/dotnet/core/tools/global-tools"&gt;.NET Core Global Tools&lt;/a&gt; and &lt;a href="https://docs.microsoft.com/en-us/dotnet/core/tools/custom-templates"&gt;.NET Core custom templates&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I'm an open source advocate, and have created a number of NuGet packages&lt;/p&gt;

&lt;p&gt;&lt;em&gt;that's kind of like npm packages but for .NET&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;which are used in a lot of projects:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://www.nuget.org/packages/OwaspHeaders.Core/"&gt;OwaspHeaders.Core&lt;/a&gt;

&lt;ul&gt;
&lt;li&gt;which adds OWASP recommended HTTP Headers for ASP.NET Core applications (33,456 total downloads according to NuGet)&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://github.com/GaProgMan/OwaspHeaders.Core/"&gt;source code&lt;/a&gt; is freely available on GitHub (used in 10 other open source projects)&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://www.nuget.org/packages/ClacksMiddlware/"&gt;ClacksMiddleware&lt;/a&gt; (4,054 total downloads according to NuGet)

&lt;ul&gt;
&lt;li&gt;which adds the &lt;a href="http://www.gnuterrypratchett.com/"&gt;GNU Terry Pratchett&lt;/a&gt; HTTP header to ASP.NET Core applications&lt;/li&gt;
&lt;li&gt;The &lt;a href="https://github.com/GaProgMan/ClacksMiddleware"&gt;source code&lt;/a&gt; is freely available on GitHub&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I'm also a &lt;a href="https://www.hack24.co.uk/2018-winners"&gt;Hack24 winner&lt;/a&gt; - as part of a four person team called Merge Conflicts. I also entered in 2017, as a member of Abstract Sausage Factory - although we didn't win, we had a great time.&lt;/p&gt;

&lt;p&gt;I've also been looking into JAM Stack and static site generators like Hugo, Jekyll, and Gatsby. Which is something that I talked about on my recent appearance on the &lt;a href="https://www.developersidequestspodcast.com/7-jamie-taylor"&gt;Developer Side Quests&lt;/a&gt; podcast.&lt;/p&gt;

&lt;p&gt;So I invite you all to ask me anything. I'll be answering questions until around 10pm UK time.&lt;/p&gt;

</description>
      <category>ama</category>
    </item>
    <item>
      <title>The .NET Core Podcast Episode 30 - Reflections on .NET with Pablo Santos and Phil Haack</title>
      <dc:creator>Jamie</dc:creator>
      <pubDate>Tue, 30 Jul 2019 21:12:55 +0000</pubDate>
      <link>https://forem.com/dotnetcoreblog/the-net-core-podcast-episode-30-reflections-on-net-with-pablo-santos-and-phil-haack-257e</link>
      <guid>https://forem.com/dotnetcoreblog/the-net-core-podcast-episode-30-reflections-on-net-with-pablo-santos-and-phil-haack-257e</guid>
      <description>&lt;p&gt;Hey everyone!&lt;/p&gt;

&lt;p&gt;Episode 30 of The .NET Core Podcast was released a few days ago. But, as usual, I wanted to create some show notes for it which are specific to dev.to&lt;/p&gt;

&lt;p&gt;As a quick reminder, The .NET Core Podcast is the &lt;em&gt;only&lt;/em&gt; podcast devoted to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;.NET Core&lt;/li&gt;
&lt;li&gt;ASP.NET Core&lt;/li&gt;
&lt;li&gt;EF Core&lt;/li&gt;
&lt;li&gt;SignalR&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and not forgetting The .NET Core community, itself.&lt;/p&gt;

&lt;p&gt;I wont make you browse over to the show notes page&lt;/p&gt;

&lt;p&gt;&lt;em&gt;because I'm not the boss of you&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;because I'll add a dev.to specific player here:&lt;/p&gt;


&lt;div class="podcastliquidtag"&gt;
  &lt;div class="podcastliquidtag__info"&gt;
    &lt;a href="/dotnetcorepodcast/reflections-on-net-with-pablo-santos-and-phil-haack"&gt;
      &lt;h1 class="podcastliquidtag__info__episodetitle"&gt;Reflections on .NET with Pablo Santos and Phil Haack&lt;/h1&gt;
    &lt;/a&gt;
    &lt;a href="/dotnetcorepodcast"&gt;
      &lt;h2 class="podcastliquidtag__info__podcasttitle"&gt;
        The .NET Core Podcast  

      &lt;/h2&gt;
    &lt;/a&gt;
  &lt;/div&gt;
  &lt;div id="record-reflections-on-net-with-pablo-santos-and-phil-haack" class="podcastliquidtag__record"&gt;
    &lt;img class="button play-butt" id="play-butt-reflections-on-net-with-pablo-santos-and-phil-haack" src="/assets/playbutt.png" alt="play"&gt;
    &lt;img class="button pause-butt" id="pause-butt-reflections-on-net-with-pablo-santos-and-phil-haack" src="/assets/pausebutt.png" alt="pause"&gt;
    &lt;img class="podcastliquidtag__podcastimage" id="podcastimage-reflections-on-net-with-pablo-santos-and-phil-haack" alt="The .NET Core Podcast" src="https://res.cloudinary.com/practicaldev/image/fetch/s--mbHTmEn3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--oMLeFKrd--/c_fill%2Cf_auto%2Cfl_progressive%2Cq_auto/https://dev-to-uploads.s3.amazonaws.com/uploads/podcast/image/58/c6bc9a85-2b7e-4b2b-9ac0-921bf4a37f7e.jpg"&gt;
  &lt;/div&gt;
  &lt;div class="hidden-audio" id="hidden-audio-reflections-on-net-with-pablo-santos-and-phil-haack"&gt;
    
      
      Your browser does not support the audio element.
    
    &lt;div id="progressBar" class="audio-player-display"&gt;
      &lt;a href="/dotnetcorepodcast/reflections-on-net-with-pablo-santos-and-phil-haack"&gt;
        &lt;img width="420" height="420" id="episode-profile-image" alt="Reflections on .NET with Pablo Santos and Phil Haack" src="https://res.cloudinary.com/practicaldev/image/fetch/s--WWdPkvV7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--YsIxloEE--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_420%2Cq_auto%2Cw_420/https://dev-to-uploads.s3.amazonaws.com/uploads/podcast/image/58/c6bc9a85-2b7e-4b2b-9ac0-921bf4a37f7e.jpg"&gt;
        &lt;img id="animated-bars" src="/assets/animated-bars.gif" alt="animated volume bars"&gt;
      &lt;/a&gt;
      &lt;span id="barPlayPause"&gt;
        &lt;img class="butt play-butt" src="/assets/playbutt.png" alt="play"&gt;
        &lt;img class="butt pause-butt" src="/assets/pausebutt.png" alt="pause"&gt;
      &lt;/span&gt;
      &lt;span id="volume"&gt;
        &lt;span id="volumeindicator" class="volume-icon-wrapper showing"&gt;
          &lt;span id="volbutt"&gt;
            &lt;img alt="volume" class="icon-img" height="16" width="16" src="https://res.cloudinary.com/practicaldev/image/fetch/s--SnhE4kcy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/volume.png"&gt;
          &lt;/span&gt;
          &lt;span class="range-wrapper"&gt;
            
          &lt;/span&gt;
        &lt;/span&gt;
        &lt;span id="mutebutt" class="volume-icon-wrapper hidden"&gt;
          &lt;img alt="mute" class="icon-img" height="16" width="16" src="https://res.cloudinary.com/practicaldev/image/fetch/s--prPRZNLS--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/volume-mute.png"&gt;
        &lt;/span&gt;
        &lt;span class="speed" id="speed"&gt;1x&lt;/span&gt;
      &lt;/span&gt;
      &lt;span class="buffer-wrapper" id="bufferwrapper"&gt;
        &lt;span id="buffer"&gt;&lt;/span&gt;
        &lt;span id="progress"&gt;&lt;/span&gt;
        &lt;span id="time"&gt;initializing...&lt;/span&gt;
        &lt;span id="closebutt"&gt;×&lt;/span&gt;
      &lt;/span&gt;
    &lt;/div&gt;
  &lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;I was incredibly honoured to get the chance to interview &lt;a href="https://twitter.com/psluaces"&gt;Pablo Santos&lt;/a&gt; and &lt;a href="https://twitter.com/haacked"&gt;Phil Haack&lt;/a&gt; in this episode about where .NET has come from, it's evolution, and where we think it might be heading.&lt;/p&gt;

&lt;p&gt;The full show notes and a transcription are available at the show's website&lt;/p&gt;

&lt;p&gt;&lt;em&gt;here's a &lt;a href="https://dotnetcore.show/episode-30-reflections-on-net-with-pablo-santos-and-phil-haack/"&gt;link&lt;/a&gt; directly to the show notes&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I'd love any and all feedback that you can provide on the show, this episode, or anything related to it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Links to Related Stuff
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;these came directly from the show notes&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dotnetcore.show/episode-26-plastic-scm-with-pablo-santos/"&gt;Episode 26 - Plastic SCM with Pablo Santos&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/psluaces"&gt;Pablo Santos on twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/haacked"&gt;Phil Haack on twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.theregister.co.uk/2001/06/02/ballmer_linux_is_a_cancer/"&gt;Linux is a Cancer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/dotnet/reactive"&gt;Reactive Extensions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Moore%27s_law"&gt;Moore's Law&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare/"&gt;Tony Hoare's Billion Dollare Mistake&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/en-us/dotnet/api/system.collections.arraylist?view=netframework-4.8"&gt;ArrayList&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://deviq.com/boy-scout-rule/"&gt;Boy Scout Rule&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://blogs.msdn.microsoft.com/jerrynixon/2014/02/26/at-last-c-is-getting-sometimes-called-the-safe-navigation-operator/"&gt;Elvis Operator&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.wildernesslabs.co/meadow"&gt;Meadow project&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.techempower.com/benchmarks/"&gt;Tech Empower&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/.NET_Compact_Framework"&gt;.NET Compact&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/Wi-Fi_Direct"&gt;Wi-Fi Direct&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Phil's website &lt;a href="https://haacked.com/"&gt;haacked.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://blog.plasticscm.com/"&gt;PlasticSCM blog&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Social and Stuff
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dotnetcoreshow"&gt;The show on Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://buttondown.email/dotnetcoreshow/"&gt;Sign up for the mailing list&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the show has been helpful in anyway, please consider giving it a rating or review in your podcatcher of choice. Services like &lt;a href="https://itunes.apple.com/gb/podcast/the-net-core-podcast/id1433496275"&gt;Apple Podcasts&lt;/a&gt;, &lt;a href="https://www.stitcher.com/podcast/the-net-core-podcast"&gt;Stitcher&lt;/a&gt;, and &lt;a href="https://www.podchaser.com/TheDotNetCorePodcast"&gt;Podchaser&lt;/a&gt; allow you to leave a rating or review. These help other potential listeners to find the show.&lt;/p&gt;

&lt;p&gt;And finally, if you wish to support the show in a more direct fashion, I have created both a &lt;a href="https://www.patreon.com/TheDotNetCorePodcast"&gt;Patreon page&lt;/a&gt; (which has bonuses, but requires a monthly commitment) and a &lt;a href="https://www.buymeacoffee.com/dotnetcoreshow/"&gt;Buy me a coffee page&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;but I wont harp on about that&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Call for Guests
&lt;/h3&gt;

&lt;p&gt;We're always on the lookout for &lt;a href="https://dev.to/dotnetcoreblog/open-call-for-guests-3bgp"&gt;anyone who might be interested on being on the show&lt;/a&gt;. It's about and for the community, so if you have something cool to show off, or something you'd like to talk about, then get in touch.&lt;/p&gt;

</description>
      <category>podcast</category>
      <category>dotnetcore</category>
      <category>dotnet</category>
    </item>
    <item>
      <title>The .NET Core Podcast Episode 29 - Developer Relations and Education with Jasmine Greenway and Cecil Phillip</title>
      <dc:creator>Jamie</dc:creator>
      <pubDate>Sun, 14 Jul 2019 17:44:19 +0000</pubDate>
      <link>https://forem.com/dotnetcoreblog/the-net-core-podcast-episode-29-episode-29-developer-relations-and-education-with-jasmine-greenway-and-cecil-phillip-3mg6</link>
      <guid>https://forem.com/dotnetcoreblog/the-net-core-podcast-episode-29-episode-29-developer-relations-and-education-with-jasmine-greenway-and-cecil-phillip-3mg6</guid>
      <description>&lt;p&gt;Hey everyone!&lt;/p&gt;

&lt;p&gt;Episode 29 of The .NET Core Podcast was released a few days ago. But, as usual, I wanted to create some show notes for it which are specific to dev.to&lt;/p&gt;

&lt;p&gt;As a quick reminder, The .NET Core Podcast is the &lt;em&gt;only&lt;/em&gt; podcast devoted to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;.NET Core&lt;/li&gt;
&lt;li&gt;ASP.NET Core&lt;/li&gt;
&lt;li&gt;EF Core&lt;/li&gt;
&lt;li&gt;SignalR&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and not forgetting The .NET Core community, itself.&lt;/p&gt;

&lt;p&gt;You don't even have to browse away from this page to listen to the episode, because it should appear here:&lt;/p&gt;


&lt;div class="podcastliquidtag"&gt;
  &lt;div class="podcastliquidtag__info"&gt;
    &lt;a href="/dotnetcorepodcast/developer-relations-and-education-with-jasmine-green-and-cecil-philip"&gt;
      &lt;h1 class="podcastliquidtag__info__episodetitle"&gt;Developer Relations and Education with Jasmine Green and Cecil Philip&lt;/h1&gt;
    &lt;/a&gt;
    &lt;a href="/dotnetcorepodcast"&gt;
      &lt;h2 class="podcastliquidtag__info__podcasttitle"&gt;
        The .NET Core Podcast
      &lt;/h2&gt;
    &lt;/a&gt;
  &lt;/div&gt;
  &lt;div id="record-developer-relations-and-education-with-jasmine-green-and-cecil-philip" class="podcastliquidtag__record"&gt;
    &lt;img class="button play-butt" id="play-butt-developer-relations-and-education-with-jasmine-green-and-cecil-philip" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fplaybutt-5e444a2eae28832efea0dec3342ccf28a228b326c47f46700d771801f75d6b88.png" alt="play"&gt;
    &lt;img class="button pause-butt" id="pause-butt-developer-relations-and-education-with-jasmine-green-and-cecil-philip" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fpausebutt-bba7cb5f432cfb16510e78835378fa22f45fa6ae52a624f7c9794fefa765c384.png" alt="pause"&gt;
    &lt;img class="podcastliquidtag__podcastimage" id="podcastimage-developer-relations-and-education-with-jasmine-green-and-cecil-philip" alt="The .NET Core Podcast" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fpodcast%2Fimage%2F58%2Fc6bc9a85-2b7e-4b2b-9ac0-921bf4a37f7e.jpg"&gt;
  &lt;/div&gt;

  &lt;div class="hidden-audio" id="hidden-audio-developer-relations-and-education-with-jasmine-green-and-cecil-philip"&gt;
  
    
    Your browser does not support the audio element.
  
  &lt;div id="progressBar" class="audio-player-display"&gt;
    &lt;a href="/dotnetcorepodcast/developer-relations-and-education-with-jasmine-green-and-cecil-philip"&gt;
      &lt;img id="episode-profile-image" alt="Developer Relations and Education with Jasmine Green and Cecil Philip" width="420" height="420" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fpodcast%2Fimage%2F58%2Fc6bc9a85-2b7e-4b2b-9ac0-921bf4a37f7e.jpg"&gt;
      &lt;img id="animated-bars" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fanimated-bars-4e8c57c8b58285fcf7d123680ad8af034cd5cd43b4d9209fe3aab49d1e9d77b3.gif" alt="animated volume bars"&gt;
    &lt;/a&gt;
    &lt;span id="barPlayPause"&gt;
      &lt;img class="butt play-butt" alt="play" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fplaybutt-5e444a2eae28832efea0dec3342ccf28a228b326c47f46700d771801f75d6b88.png"&gt;
      &lt;img class="butt pause-butt" alt="pause" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fpausebutt-bba7cb5f432cfb16510e78835378fa22f45fa6ae52a624f7c9794fefa765c384.png"&gt;
    &lt;/span&gt;
    &lt;span id="volume"&gt;
      &lt;span id="volumeindicator" class="volume-icon-wrapper showing"&gt;
        &lt;span id="volbutt"&gt;
          &lt;img alt="volume" class="icon-img" height="16" width="16" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fvolume-cd20707230ae3fc117b02de53c72af742cf7d666007e16e12f7ac11ebd8130a7.png"&gt;
        &lt;/span&gt;
        &lt;span class="range-wrapper"&gt;
          
        &lt;/span&gt;
      &lt;/span&gt;
      &lt;span id="mutebutt" class="volume-icon-wrapper hidden"&gt;
        &lt;img alt="volume-mute" class="icon-img" height="16" width="16" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fvolume-mute-8f08ec668105565af8f8394eb18ab63acb386adbe0703afe3748eca8f2ecbf3b.png"&gt;
      &lt;/span&gt;
      &lt;span class="speed" id="speed"&gt;1x&lt;/span&gt;
    &lt;/span&gt;
    &lt;span class="buffer-wrapper" id="bufferwrapper"&gt;
      &lt;span id="buffer"&gt;&lt;/span&gt;
      &lt;span id="progress"&gt;&lt;/span&gt;
      &lt;span id="time"&gt;initializing...&lt;/span&gt;
      &lt;span id="closebutt"&gt;×&lt;/span&gt;
    &lt;/span&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


&lt;p&gt;This episode is an wonderful discussion that I had with &lt;a href="https://twitter.com/@paladique" rel="noopener noreferrer"&gt;Jasmine Greenway&lt;/a&gt; and &lt;a href="https://twitter.com/@cecilphillip" rel="noopener noreferrer"&gt;Cecil Phillip&lt;/a&gt; about teaching and learning in the tech space, developer relations, and what Microsoft are doing to help us developers (and aspiring developers) to learn in ways which suit them.&lt;/p&gt;

&lt;p&gt;The full show notes and a transcription are available at the show's website&lt;/p&gt;

&lt;p&gt;&lt;em&gt;here's a &lt;a href="https://dotnetcore.show/episode-29-developer-relations-and-education-with-jasmine-green-and-cecil-philip/" rel="noopener noreferrer"&gt;link&lt;/a&gt; directly to the show notes&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I'd love any and all feedback that you can provide on the show, this episode, or anything related to it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Links to Related Stuff
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;these came directly from the show notes&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/@paladique" rel="noopener noreferrer"&gt;Jasmine on twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://twitter.com/@cecilphillip" rel="noopener noreferrer"&gt;Cecil on twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://docs.microsoft.com/" rel="noopener noreferrer"&gt;Microsoft docs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devpost.com/" rel="noopener noreferrer"&gt;DevPost&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://meetup.com/" rel="noopener noreferrer"&gt;meetup.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.hanselman.com/blog/HowDoYouEvenKnowThisCrap.aspx" rel="noopener noreferrer"&gt;How Do You Even Know This Crap?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://glitch.com/" rel="noopener noreferrer"&gt;glitch&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Social and Stuff
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dotnetcoreshow" rel="noopener noreferrer"&gt;The show on Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://join.slack.com/t/thenetcoreshow/shared_invite/enQtNjIwNDY1NDk4MTE3LTM3NWZiMDAxMWVlMDQyZGU3NDAyYzgyY2EwYjk2MmZlMjU2NDI4YTNjYzVlZDc2YzYxMDExYjFhZjYzMThlMDM" rel="noopener noreferrer"&gt;Join the slack group!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://buttondown.email/dotnetcoreshow/" rel="noopener noreferrer"&gt;Sign up for the mailing list&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://join.slack.com/t/thenetcoreshow/shared_invite/enQtNjIwNDY1NDk4MTE3LTM3NWZiMDAxMWVlMDQyZGU3NDAyYzgyY2EwYjk2MmZlMjU2NDI4YTNjYzVlZDc2YzYxMDExYjFhZjYzMThlMDM" rel="noopener noreferrer"&gt;Join the Slack group&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the show has been helpful in anyway, please consider giving it a rating or review in your podcatcher of choice. Services like &lt;a href="https://itunes.apple.com/gb/podcast/the-net-core-podcast/id1433496275" rel="noopener noreferrer"&gt;Apple Podcasts&lt;/a&gt;, &lt;a href="https://www.stitcher.com/podcast/the-net-core-podcast" rel="noopener noreferrer"&gt;Stitcher&lt;/a&gt;, and &lt;a href="https://www.podchaser.com/TheDotNetCorePodcast" rel="noopener noreferrer"&gt;Podchaser&lt;/a&gt; allow you to leave a rating or review. These help other potential listeners to find the show.&lt;/p&gt;

&lt;p&gt;And finally, if you wish to support the show in a more direct fashion, I have created both a &lt;a href="https://www.patreon.com/TheDotNetCorePodcast" rel="noopener noreferrer"&gt;Patreon page&lt;/a&gt; (which has bonuses, but requires a monthly commitment) and a &lt;a href="https://www.buymeacoffee.com/dotnetcoreshow/" rel="noopener noreferrer"&gt;Buy me a coffee page&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;but I wont harp on about that&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Call for Guests
&lt;/h3&gt;

&lt;p&gt;We're always on the lookout for &lt;a href="https://dev.to/dotnetcoreblog/open-call-for-guests-3bgp"&gt;anyone who might be interested on being on the show&lt;/a&gt;. It's about and for the community, so if you have something cool to show off, or something you'd like to talk about, then get in touch.&lt;/p&gt;

</description>
      <category>podcast</category>
      <category>dotnetcore</category>
      <category>teaching</category>
      <category>learning</category>
    </item>
    <item>
      <title>The .NET Core Podcast Episode 28 - memstate with Robert Friberg</title>
      <dc:creator>Jamie</dc:creator>
      <pubDate>Tue, 02 Jul 2019 07:02:54 +0000</pubDate>
      <link>https://forem.com/dotnetcoreblog/the-net-core-podcast-episode-28-memstate-with-robert-friberg-2ded</link>
      <guid>https://forem.com/dotnetcoreblog/the-net-core-podcast-episode-28-memstate-with-robert-friberg-2ded</guid>
      <description>&lt;p&gt;Hey everyone!&lt;/p&gt;

&lt;p&gt;Episode 28 of The .NET Core Podcast was released a few days ago, but I wanted to create some dev.to specific show notes for it. So here they are.&lt;/p&gt;

&lt;p&gt;As a quick reminder, The .NET Core Podcast is the &lt;em&gt;only&lt;/em&gt; podcast devoted to:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;.NET Core&lt;/li&gt;
&lt;li&gt;ASP.NET Core&lt;/li&gt;
&lt;li&gt;EF Core&lt;/li&gt;
&lt;li&gt;SignalR&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;and not forgetting The .NET Core community, itself.&lt;/p&gt;

&lt;p&gt;You don't even have to browse away from this page to listen to the episode, because it should appear here:&lt;/p&gt;


&lt;div class="podcastliquidtag"&gt;
  &lt;div class="podcastliquidtag__info"&gt;
    &lt;a href="/dotnetcorepodcast/memstate-with-robert-friberg"&gt;
      &lt;h1 class="podcastliquidtag__info__episodetitle"&gt;memstate with Robert Friberg&lt;/h1&gt;
    &lt;/a&gt;
    &lt;a href="/dotnetcorepodcast"&gt;
      &lt;h2 class="podcastliquidtag__info__podcasttitle"&gt;
        The .NET Core Podcast
      &lt;/h2&gt;
    &lt;/a&gt;
  &lt;/div&gt;
  &lt;div id="record-memstate-with-robert-friberg" class="podcastliquidtag__record"&gt;
    &lt;img class="button play-butt" id="play-butt-memstate-with-robert-friberg" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fplaybutt-5e444a2eae28832efea0dec3342ccf28a228b326c47f46700d771801f75d6b88.png" alt="play"&gt;
    &lt;img class="button pause-butt" id="pause-butt-memstate-with-robert-friberg" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fpausebutt-bba7cb5f432cfb16510e78835378fa22f45fa6ae52a624f7c9794fefa765c384.png" alt="pause"&gt;
    &lt;img class="podcastliquidtag__podcastimage" id="podcastimage-memstate-with-robert-friberg" alt="The .NET Core Podcast" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fpodcast%2Fimage%2F58%2Fc6bc9a85-2b7e-4b2b-9ac0-921bf4a37f7e.jpg"&gt;
  &lt;/div&gt;

  &lt;div class="hidden-audio" id="hidden-audio-memstate-with-robert-friberg"&gt;
  
    
    Your browser does not support the audio element.
  
  &lt;div id="progressBar" class="audio-player-display"&gt;
    &lt;a href="/dotnetcorepodcast/memstate-with-robert-friberg"&gt;
      &lt;img id="episode-profile-image" alt="memstate with Robert Friberg" width="420" height="420" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fpodcast%2Fimage%2F58%2Fc6bc9a85-2b7e-4b2b-9ac0-921bf4a37f7e.jpg"&gt;
      &lt;img id="animated-bars" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fanimated-bars-4e8c57c8b58285fcf7d123680ad8af034cd5cd43b4d9209fe3aab49d1e9d77b3.gif" alt="animated volume bars"&gt;
    &lt;/a&gt;
    &lt;span id="barPlayPause"&gt;
      &lt;img class="butt play-butt" alt="play" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fplaybutt-5e444a2eae28832efea0dec3342ccf28a228b326c47f46700d771801f75d6b88.png"&gt;
      &lt;img class="butt pause-butt" alt="pause" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fpausebutt-bba7cb5f432cfb16510e78835378fa22f45fa6ae52a624f7c9794fefa765c384.png"&gt;
    &lt;/span&gt;
    &lt;span id="volume"&gt;
      &lt;span id="volumeindicator" class="volume-icon-wrapper showing"&gt;
        &lt;span id="volbutt"&gt;
          &lt;img alt="volume" class="icon-img" height="16" width="16" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fvolume-cd20707230ae3fc117b02de53c72af742cf7d666007e16e12f7ac11ebd8130a7.png"&gt;
        &lt;/span&gt;
        &lt;span class="range-wrapper"&gt;
          
        &lt;/span&gt;
      &lt;/span&gt;
      &lt;span id="mutebutt" class="volume-icon-wrapper hidden"&gt;
        &lt;img alt="volume-mute" class="icon-img" height="16" width="16" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev.to%2Fassets%2Fvolume-mute-8f08ec668105565af8f8394eb18ab63acb386adbe0703afe3748eca8f2ecbf3b.png"&gt;
      &lt;/span&gt;
      &lt;span class="speed" id="speed"&gt;1x&lt;/span&gt;
    &lt;/span&gt;
    &lt;span class="buffer-wrapper" id="bufferwrapper"&gt;
      &lt;span id="buffer"&gt;&lt;/span&gt;
      &lt;span id="progress"&gt;&lt;/span&gt;
      &lt;span id="time"&gt;initializing...&lt;/span&gt;
      &lt;span id="closebutt"&gt;×&lt;/span&gt;
    &lt;/span&gt;
  &lt;/div&gt;
&lt;/div&gt;

&lt;/div&gt;


&lt;p&gt;This episode is an wonderful discussion that I had with &lt;a href="https://twitter.com/robertfriberg" rel="noopener noreferrer"&gt;Robert Friberg&lt;/a&gt; about &lt;a href="https://memstate.io/" rel="noopener noreferrer"&gt;memstate&lt;/a&gt;, the &lt;a href="https://martinfowler.com/bliki/MemoryImage.html" rel="noopener noreferrer"&gt;Memory Image Pattern&lt;/a&gt;, and how you could be storing your entire database in RAM.&lt;/p&gt;

&lt;p&gt;The full show notes and a transcription are available at the show's website&lt;/p&gt;

&lt;p&gt;&lt;em&gt;here's a &lt;a href="https://dotnetcore.show/episode-28-memstate-with-robert-friberg/" rel="noopener noreferrer"&gt;link&lt;/a&gt; directly to the show notes&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I'd love any and all feedback that you can provide on the show, this episode, or anything related to it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Links to Related Stuff
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;these came directly from the show notes&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/robertfriberg" rel="noopener noreferrer"&gt;Robert on twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://devrex.se/" rel="noopener noreferrer"&gt;DevRex Labs&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://cynicaldeveloper.com/" rel="noopener noreferrer"&gt;The Cynical Developer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/ACID" rel="noopener noreferrer"&gt;ACID Transactions&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://martinfowler.com/bliki/MemoryImage.html" rel="noopener noreferrer"&gt;Memory Image Pattern&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;An article I've written on the &lt;a href="https://www.wafflingtaylors.rocks/2017/03/03/our-first-computer-amstrad-cpc-464/" rel="noopener noreferrer"&gt;Amstrad CPC 464&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="http://prevayler.org/" rel="noopener noreferrer"&gt;Prevayler&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://en.wikipedia.org/wiki/MapReduce" rel="noopener noreferrer"&gt;MapReduce&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://memstate.io/" rel="noopener noreferrer"&gt;memstate.io&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/DevrexLabs/memstate" rel="noopener noreferrer"&gt;memstate on GitHub&lt;/a&gt; &lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/DevrexLabs/memstate-tutorial" rel="noopener noreferrer"&gt;memstate Tutorial&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gitter.im/memstate/" rel="noopener noreferrer"&gt;memstate on Gitter&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Social and Stuff
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://twitter.com/dotnetcoreshow" rel="noopener noreferrer"&gt;The show on Twitter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://join.slack.com/t/thenetcoreshow/shared_invite/enQtNjIwNDY1NDk4MTE3LTM3NWZiMDAxMWVlMDQyZGU3NDAyYzgyY2EwYjk2MmZlMjU2NDI4YTNjYzVlZDc2YzYxMDExYjFhZjYzMThlMDM" rel="noopener noreferrer"&gt;Join the slack group!&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://buttondown.email/dotnetcoreshow/" rel="noopener noreferrer"&gt;Sign up for the mailing list&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://join.slack.com/t/thenetcoreshow/shared_invite/enQtNjIwNDY1NDk4MTE3LTM3NWZiMDAxMWVlMDQyZGU3NDAyYzgyY2EwYjk2MmZlMjU2NDI4YTNjYzVlZDc2YzYxMDExYjFhZjYzMThlMDM" rel="noopener noreferrer"&gt;Join the Slack group&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If the show has been helpful in anyway, please consider giving it a rating or review in your podcatcher of choice. Services like &lt;a href="https://itunes.apple.com/gb/podcast/the-net-core-podcast/id1433496275" rel="noopener noreferrer"&gt;Apple Podcasts&lt;/a&gt;, &lt;a href="https://www.stitcher.com/podcast/the-net-core-podcast" rel="noopener noreferrer"&gt;Stitcher&lt;/a&gt;, and &lt;a href="https://www.podchaser.com/TheDotNetCorePodcast" rel="noopener noreferrer"&gt;Podchaser&lt;/a&gt; allow you to leave a rating or review. These help other potential listeners to find the show.&lt;/p&gt;

&lt;p&gt;And finally, if you wish to support the show in a more direct fashion, I have created both a &lt;a href="https://www.patreon.com/TheDotNetCorePodcast" rel="noopener noreferrer"&gt;Patreon page&lt;/a&gt; (which has bonuses, but requires a monthly commitment) and a &lt;a href="https://www.buymeacoffee.com/dotnetcoreshow/" rel="noopener noreferrer"&gt;Buy me a coffee page&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;but I wont harp on about that&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Call for Guests
&lt;/h3&gt;

&lt;p&gt;We're always on the lookout for &lt;a href="https://dev.to/dotnetcoreblog/open-call-for-guests-3bgp"&gt;anyone who might be interested on being on the show&lt;/a&gt;. It's about and for the community, so if you have something cool to show off, or something you'd like to talk about, then get in touch.&lt;/p&gt;

</description>
      <category>podcast</category>
      <category>dotnetcore</category>
      <category>memstate</category>
      <category>inmemorydatabase</category>
    </item>
  </channel>
</rss>
