<?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>DEV Community: Ian Jennings</title>
    <description>The latest articles on DEV Community by Ian Jennings (@ianjennings).</description>
    <link>https://dev.to/ianjennings</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%2F146882%2F51d7dac4-e574-4c8a-9fdc-dda1da86ff9c.png</url>
      <title>DEV Community: Ian Jennings</title>
      <link>https://dev.to/ianjennings</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ianjennings"/>
    <language>en</language>
    <item>
      <title>A super easy way to participate in Hacktoberfest (New for '22!)</title>
      <dc:creator>Ian Jennings</dc:creator>
      <pubDate>Tue, 27 Sep 2022 16:05:47 +0000</pubDate>
      <link>https://dev.to/replayable/a-super-easy-way-to-participate-in-hacktoberfest-22-78d</link>
      <guid>https://dev.to/replayable/a-super-easy-way-to-participate-in-hacktoberfest-22-78d</guid>
      <description>&lt;p&gt;&lt;a href="https://hacktoberfest.com/"&gt;Hacktoberfest&lt;/a&gt; is a yearly event to encourage people to contribute to open source in October. It's a celebration of community, learning and giving back. Hacktoberfest is a great opportunity to learn what contributing is all about, meet a new developer community, and maybe even earn some prizes along the way.&lt;/p&gt;

&lt;p&gt;If you're a beginner it can be difficult to get started with open-source. Sometimes it's hard to onboard with new technology. Even once you're familiar with the repo, tags like "#good-first-issue" might have been completed by someone else.&lt;/p&gt;

&lt;p&gt;Thankfully this year, &lt;strong&gt;Hacktoberfest is counting documentation as a valid contribution&lt;/strong&gt;!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--00817UtW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0gv9w7tksb2eggnate03.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--00817UtW--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/0gv9w7tksb2eggnate03.png" alt="Hacktoberfest New for 22" width="880" height="552"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Documentation is a great way to contribute to repositories. Often developers don't prioritize their readmes and tutorials. They'll contain bugs, errors, be confusing, poorly formatted, etc. How many times have you come across incorrect or outdated docs yourself?&lt;/p&gt;

&lt;p&gt;Documentation is hugely important to open source. Every developer that gets started with a new project needs to read the docs. Yet it's not a priority for most developers. From &lt;a href="https://opensourcesurvey.org/2017/"&gt;the 2017 GitHub survey&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;According to 93% of respondents there is a "pervasive problem" in the open-source community with incomplete or outdated documentation. Yet 60% of contributors surveyed said they rarely or never contribute to documentation. &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Seems like a big problem right? Well this Hacktoberfest, you can help by making some of your own contributions to open-source documentation.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Note that if you'll likely need to become familiar with &lt;a href="https://www.markdownguide.org/getting-started/"&gt;markdown&lt;/a&gt; to work with &lt;code&gt;.md&lt;/code&gt; files. Don't worry, it's easy and you can learn it in a few minutes.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h1&gt;
  
  
  Easy ways to contribute to Hacktoberfest documentation
&lt;/h1&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Format the repository readme.&lt;/strong&gt; Often times the project readmes are a loose collection of thoughts, without headings, titles, or any kind of formatting. Study that &lt;a href="https://www.markdownguide.org/getting-started/"&gt;markdown guide&lt;/a&gt; and spruce it up!&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Elaborate on installation steps&lt;/strong&gt;. Developers often write very short setup steps, sometimes just a list of shell commands without explanation. You can help improve the readme by noting specific package versions, adding links to 3rd-party documentation, and explaining the setup process in plain english&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fix bugs in code samples&lt;/strong&gt;. Every readme has bugs, even those created by huge companies. Try making use of all the code samples in the readme. It's likely something won't work or a step will be missed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Enhance the readme with screenshots and videos&lt;/strong&gt;. - Working on a front-end repo or CLI? Add screenshots or &lt;a href="https://blog.replayable.io/2022/08/23/improve-your-readmes-developer-experience-with-short-embeddable-demos/"&gt;replays&lt;/a&gt; to the documentation to help other developers follow along.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At &lt;a href="https://replayable.io"&gt;Replayable&lt;/a&gt; we're laser focused on improving documentation and developer experience. If you need any help contributing to open-source docs, &lt;a href="https://discord.gg/cWDFW8DzPm"&gt;drop in our Discord&lt;/a&gt; and we'll help you out.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>webdev</category>
      <category>tutorial</category>
      <category>productivity</category>
    </item>
    <item>
      <title>How to build your website at super-sonic speed with Astro.</title>
      <dc:creator>Ian Jennings</dc:creator>
      <pubDate>Mon, 26 Sep 2022 17:46:40 +0000</pubDate>
      <link>https://dev.to/replayable/getting-started-with-astro-on-windows-4h04</link>
      <guid>https://dev.to/replayable/getting-started-with-astro-on-windows-4h04</guid>
      <description>&lt;p&gt;&lt;a href="https://astro.build/" rel="noopener noreferrer"&gt;Astro&lt;/a&gt; is a new and popular framework for building content-focused websites like blogs, portfolios, or documentation sites.&lt;/p&gt;

&lt;p&gt;It fills a niche similiar to that of tools like &lt;a href="https://gohugo.io/" rel="noopener noreferrer"&gt;Hugo&lt;/a&gt;, &lt;a href="https://www.gatsbyjs.com/" rel="noopener noreferrer"&gt;Gatsby&lt;/a&gt;, or &lt;a href="https://www.11ty.dev/" rel="noopener noreferrer"&gt;11ty&lt;/a&gt;, but differentiates itself with some distinct features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Astro Islands: interactive UI components in an otherwise static page&lt;/li&gt;
&lt;li&gt;Choice of frontend framework: Use React, Vue, Svelte, and others&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Let's set it up on Windows using &lt;a href="https://docs.microsoft.com/en-us/windows/wsl/" rel="noopener noreferrer"&gt;WSL&lt;/a&gt;!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;This tutorial assumes you have &lt;code&gt;WSL&lt;/code&gt;, &lt;code&gt;npm&lt;/code&gt;, and &lt;code&gt;VSCode&lt;/code&gt; set up.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Set up
&lt;/h2&gt;

&lt;p&gt;Enter your &lt;code&gt;WSL&lt;/code&gt; environment and run this command to initialize your Astro project's directory:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm create astro@latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://replayable.io/replay/632dfdd6aec4dd0063452d19/?share=ttykEfbkPwOBhxCuV7bg" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Freplayable-api-production.herokuapp.com%2Freplay%2F632dfdd6aec4dd0063452d19%2Fscreenshot%3FshareKey%3DttykEfbkPwOBhxCuV7bg" alt="create astro"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;First, you must name your project's directory. We'll use the default for this tutorial.&lt;/p&gt;

&lt;p&gt;Then choose a template. We'll go with the recommended choice: "Just the basics".&lt;/p&gt;

&lt;p&gt;When prompted to install dependencies, press enter to choose the default of yes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://replayable.io/replay/632dfe39aec4dd0063452d1a/?share=ZPt5rMFSZenUglaepmpkw" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Freplayable-api-production.herokuapp.com%2Freplay%2F632dfe39aec4dd0063452d1a%2Fscreenshot%3FshareKey%3DZPt5rMFSZenUglaepmpkw" alt="astro setup prompts"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After dependencies finish installing, press enter again to make your project a git repository.&lt;/p&gt;

&lt;p&gt;Finally, choose how to set up TypeScript. Let's choose "Strict" as it's recommended.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://replayable.io/replay/632dff3a9c55c0006521da13/?share=1fVfXcoPOgZ5DpjCl3lsyQ" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Freplayable-api-production.herokuapp.com%2Freplay%2F632dff3a9c55c0006521da13%2Fscreenshot%3FshareKey%3D1fVfXcoPOgZ5DpjCl3lsyQ" alt="astro finish setup"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Let's run the development server to see test that everything works as intended.&lt;/p&gt;

&lt;p&gt;Change to you project's directory, then run this command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm run dev
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://replayable.io/replay/632e0568aec4dd0063452d1c/?share=EZM4x4LWsLnNjEu1Sg8qdQ" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Freplayable-api-production.herokuapp.com%2Freplay%2F632e0568aec4dd0063452d1c%2Fscreenshot%3FshareKey%3DEZM4x4LWsLnNjEu1Sg8qdQ" alt="npm run dev"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Wait for the server to start and open the local address in your browser.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://replayable.io/replay/632e04e29c55c0006521da16/?share=dTn92dLq4X2CeLUUMIvJw" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Freplayable-api-production.herokuapp.com%2Freplay%2F632e04e29c55c0006521da16%2Fscreenshot%3FshareKey%3DdTn92dLq4X2CeLUUMIvJw" alt="welcome to astro"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you see the dev server's home page, Astro is fully set up and functional. We're now ready to build our own site.&lt;/p&gt;

&lt;h2&gt;
  
  
  Building your site
&lt;/h2&gt;

&lt;p&gt;To demonstrate the basics behind editing our site, let's make some changes to the home page!&lt;/p&gt;

&lt;p&gt;Navigate to the directory containing &lt;code&gt;astro.index&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd &lt;/span&gt;src/pages
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Now open this file in the editor of your choice. Here I'm using &lt;a href="https://code.visualstudio.com/" rel="noopener noreferrer"&gt;VSCode&lt;/a&gt; with its &lt;code&gt;WSL&lt;/code&gt; &lt;a href="https://code.visualstudio.com/docs/remote/wsl" rel="noopener noreferrer"&gt;support&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://replayable.io/replay/632e0d30aec4dd0063452d1e/?share=QRPDbWUBAbPx7rSGLARaA" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Freplayable-api-production.herokuapp.com%2Freplay%2F632e0d30aec4dd0063452d1e%2Fscreenshot%3FshareKey%3DQRPDbWUBAbPx7rSGLARaA" alt="edit index.astro"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There's a lot going on in this file. Let's replace its contents with the bare minimum:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight html"&gt;&lt;code&gt;---
---

&lt;span class="nt"&gt;&amp;lt;html&lt;/span&gt; &lt;span class="na"&gt;lang=&lt;/span&gt;&lt;span class="s"&gt;"en"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;My Homepage&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Welcome to my website!&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
  &lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Navigate your browser to Astro's local server to see the blank canvas of your new site.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://replayable.io/replay/632e0ebfaec4dd0063452d20/?share=z7HtnNQo6rfXzJJs2NdQ" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Freplayable-api-production.herokuapp.com%2Freplay%2F632e0ebfaec4dd0063452d20%2Fscreenshot%3FshareKey%3Dz7HtnNQo6rfXzJJs2NdQ" alt="open site"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;From here, the possibilities are endless, and with Astro as our guide, let's shoot for the moon!&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>javascript</category>
      <category>webdev</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Never miss another bug with dashcam for local dev</title>
      <dc:creator>Ian Jennings</dc:creator>
      <pubDate>Mon, 19 Sep 2022 19:14:16 +0000</pubDate>
      <link>https://dev.to/replayable/never-miss-another-bug-with-dashcam-for-local-dev-1dif</link>
      <guid>https://dev.to/replayable/never-miss-another-bug-with-dashcam-for-local-dev-1dif</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--_dlBiE2K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://i0.wp.com/blog.replayable.io/wp-content/uploads/2022/09/2049-1.gif%3Fresize%3D1024%252C718%26ssl%3D1" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--_dlBiE2K--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://i0.wp.com/blog.replayable.io/wp-content/uploads/2022/09/2049-1.gif%3Fresize%3D1024%252C718%26ssl%3D1" alt="" width="880" height="617"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Capturing a 2048 bug with &lt;a href="https://replayable.io"&gt;Replayable&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;How often have you encountered a bug while testing an app you’re building? How often are those bugs completely unrelated? Do you stop what you’re doing and go after them? Or just let them slide and move on?&lt;/p&gt;

&lt;p&gt;If you stop what you’re doing to capture it, you need to remember what happened. You then need to launch a screen recorder and hope that you can reproduce the issue. If the reproduction takes multiple steps, you might waste time trying to get the application in a state for it to happen again. &lt;strong&gt;It’s extremely frustrating.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;You might choose to save troubleshooting for later so that you don’t kill your developer flow. &lt;strong&gt;Who wants to stop what they’re doing to write steps to reproduce something unrelated?&lt;/strong&gt; You know that you need to fix the bug, but it interrupts your current focus and workflow.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--1UUkD6vG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i0.wp.com/blog.replayable.io/wp-content/uploads/2022/09/interrupt-a-programmer.png%3Fresize%3D410%252C433%26ssl%3D1" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--1UUkD6vG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://i0.wp.com/blog.replayable.io/wp-content/uploads/2022/09/interrupt-a-programmer.png%3Fresize%3D410%252C433%26ssl%3D1" alt="" width="410" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Why you shouldn’t interrupt a programmer&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;As a part of the “shift left” movement, developers now play a larger role in QA and testing. QA is no longer the responsibility of another team. It’s a combination of automation and development. Developers are responsible for finding and documenting bugs, and that competes with their ability (and love) for coding.&lt;/p&gt;

&lt;p&gt;Once a bug is found, the developer needs to support it. It needs to be documented, then you need to tell the product team about it, and maybe there’s a meeting (or three). &lt;strong&gt;It’s a huge PITA.&lt;/strong&gt; With the rise of remote work, developers can’t just grab their coworkers and say “hey, take a look at this.” Instead, they say that “it works on my machine.”&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Wouldn’t it be great if you could just capture the bug when it happened in the first place?&lt;/strong&gt; No more meetings, video capture, descriptions, reproducing steps, follow-ups, &lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--p0vYVoBQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://s.w.org/images/core/emoji/14.0.0/svg/1f92e.svg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--p0vYVoBQ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://s.w.org/images/core/emoji/14.0.0/svg/1f92e.svg" alt="🤮" width="36" height="36"&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--p-Sp41or--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://i0.wp.com/blog.replayable.io/wp-content/uploads/2022/09/step-trim.gif%3Fresize%3D596%252C404%26ssl%3D1" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--p-Sp41or--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://i0.wp.com/blog.replayable.io/wp-content/uploads/2022/09/step-trim.gif%3Fresize%3D596%252C404%26ssl%3D1" alt="" width="596" height="404"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Trimming a clip in Replayable&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;That’s why we’re building &lt;a href="https://replayable.io"&gt;Replayable&lt;/a&gt;.&lt;/strong&gt; Replayable is a dashcam for developers that helps you upgrade your bug reports with clips from local development. &lt;strong&gt;Rather than taking the time to reproduce and explain, you can simply grab footage of bugs when they happen.&lt;/strong&gt; It’s like a black box on an airplane. Anyone who reads the bug report won’t need to follow ambiguous instructions, ask follow-up questions, or the dreaded “what version are you on.” It’ll be in the clip.&lt;/p&gt;

&lt;p&gt;Replayable helps you show your team what you’re talking about instead of constantly trying to explain and describe the situation. It gives your team all your information – your perspective when shit hits the fan. You get to stay focused and feel peace of mind as you know that when anything goes wrong, you’ve got footage of it – just like a dash cam.&lt;/p&gt;

&lt;p&gt;It works just like a dashcam too. Replayable records your screen LOCALLY in the background while you work (and yes, it’s performant). Whenever you encounter a bug, just hit the hotkey or press the “create clip” button and you’ll get a video of whatever happened in the last 30 minutes.&lt;/p&gt;

&lt;p&gt;You have a chance to trim, crop, and censor the replay before publishing. Once you publish, you’ll be presented with a quick sharing link for markdown, Jira, etc. In fact, you can even do this all in one line with the CLI. But more on that later.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--qVIza-zV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://i0.wp.com/blog.replayable.io/wp-content/uploads/2022/09/step-share.gif%3Fresize%3D614%252C393%26ssl%3D1" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--qVIza-zV--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://i0.wp.com/blog.replayable.io/wp-content/uploads/2022/09/step-share.gif%3Fresize%3D614%252C393%26ssl%3D1" alt="" width="614" height="393"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Embedding a Replayable clip in GitHub&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Not quick enough? &lt;strong&gt;The Replayable buffer records up to 3 days of footage, so you can upload Friday’s bug during the Tuesday standup&lt;/strong&gt;. Replayable keeps its replay buffer on disk so your RAM doesn’t fill up, and it records at a low FPS, so things take up less space.&lt;/p&gt;

&lt;p&gt;So how does it work? Imagine I’m playing 2048, and a bug pops up. Oh no! I hit the “Create Clip” button and capture it. I trim only to show me encountering the error (and the time leading up to it), then I crop and upload. I can then use the sharing dropdown to embed the replay within GitHub, Jira, or wherever your bugs go. I can go into the console.log and attach the logs to the replay as well.&lt;/p&gt;

&lt;p&gt;In fact, you can even do most of this &lt;strong&gt;automatically by triggering a capture when the browser hits an error&lt;/strong&gt;, but more on that later. For more, check out our &lt;a href="https://github.com/replayableio/cli"&gt;CLI&lt;/a&gt;, &lt;a href="https://developer.atlassian.com/console/install/459a08f3-fdff-4dd8-aa71-36047f399995/?signature=b9d02e52f9f4a49d979d81d45210f8e97f3c9261b08571b7d6bc90340c0f8e5f&amp;amp;product=jira"&gt;Jira integration&lt;/a&gt;, and &lt;a href="https://support.replayable.io/hc/en-us"&gt;docs&lt;/a&gt;. &lt;strong&gt;&lt;a href="https://twitter.com/j3nnings"&gt;Follow us on Twitter&lt;/a&gt; and &lt;a href="https://replayable.io/"&gt;join our beta!&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>programming</category>
      <category>productivity</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>How to improve the DX of your readme with embeddable demos</title>
      <dc:creator>Ian Jennings</dc:creator>
      <pubDate>Wed, 14 Sep 2022 23:05:56 +0000</pubDate>
      <link>https://dev.to/replayable/improve-the-dx-of-your-readme-with-embeddable-demos-3coo</link>
      <guid>https://dev.to/replayable/improve-the-dx-of-your-readme-with-embeddable-demos-3coo</guid>
      <description>&lt;p&gt;&lt;a href="https://replayable.io/replay/630402cadf25a7006524c669/?share=AfkCnX717yYvNbX3juCDUQ" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Freplayable-api-production.herokuapp.com%2Freplay%2F630402cadf25a7006524c669%2Fgif%3FshareKey%3DAfkCnX717yYvNbX3juCDUQ" alt="Downloading and Installing Reveal.js"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;For the full demo, take a look at the &lt;a href="https://github.com/replayableio/revealjs.com/blob/master/src/installation.md#full-setup---recommendedidfull-setup" rel="noopener noreferrer"&gt;before&lt;/a&gt; and &lt;a href="https://gist.github.com/ianjennings/85eb2b925b6a7bb1c506bbb72380d131" rel="noopener noreferrer"&gt;after&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;While your readme might make sense to you, chances are &lt;strong&gt;you’ve probably left out some important information that other developers would appreciate&lt;/strong&gt;. Just think about all the readmes you’ve followed. Have you ever had one where you wish the author provided better information such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Shows commands, but not their output&lt;/li&gt;
&lt;li&gt;Only a documentation reference, but no examples of usage&lt;/li&gt;
&lt;li&gt;Broken or missing demos&lt;/li&gt;
&lt;li&gt;Need to clone and install just to run the demos&lt;/li&gt;
&lt;li&gt;Detailed contribution guidelines, but nothing about usage&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These problems negatively impact the DX (developer experience) for devs who want to get started with your product. &lt;strong&gt;Every time developers get confused, encounter a bug, or have a question, it costs them time, and they’re more likely to give up using your tool.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Unsurprisingly, it’s hard to empathize with newbies who haven’t used your repository before. You already know how everything works, and it’s hard to guess what a newbie would need to know.&lt;/p&gt;

&lt;p&gt;That’s why we made &lt;a href="https://replayable.io" rel="noopener noreferrer"&gt;Replayable&lt;/a&gt;. Replayable helps developers upgrade their readmes, bug reports, and pull requests with video so other developers can understand the context behind their contributions.&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%2Fuploads%2Farticles%2Fbtyxqyuxn9aqyfvcqng8.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fbtyxqyuxn9aqyfvcqng8.png" alt="Original readme shown on the left, final readme with replays on the right."&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Rather than jotting instructions down in text format, Replayable simply captures your screen as you work so you can easily attach video clips that contain an exact record of what actually happened.&lt;/p&gt;

&lt;p&gt;Replayable captures all of the context, the running demos, the CLI output, usage, and how &lt;strong&gt;you – the creator&lt;/strong&gt; – use the product. A demo is worth a thousand words, and Replayable transforms your everyday work into demos you can share with your audience.&lt;/p&gt;

&lt;h1&gt;
  
  
  Replayable vs Video Tutorials
&lt;/h1&gt;

&lt;p&gt;Why video? While your code, examples, and prose may be enough to give developers an overview, videos capture your entire point of view. Rather than trying to explain your process manually (lossy), videos tell a complete story to your reader. In fact, &lt;a href="https://survey.stackoverflow.co/2022/#section-learning-to-code-online-resources-to-learn-how-to-code" rel="noopener noreferrer"&gt;60% of developers report using videos to learn how to code&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Now if you’re not in that 60% you may be thinking, “I hate learning from videos!” Traditional videos for developers are long, boring, and unsearchable. Replayable allows you to create short clips to embed in readmes rather than long unbearable videos.&lt;/p&gt;

&lt;p&gt;The unique thing about Replayable is that it makes adding video as easy as setting up your own project!&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%2Fuploads%2Farticles%2Fta7xz6hksbhclxhxnbey.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fta7xz6hksbhclxhxnbey.png" alt="Create Clip, Embed, Repeat"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Rather than stopping what you’re doing, turning on your webcam, microphone, and trying to nail the perfect demo, &lt;strong&gt;Replayable keeps you in the flow&lt;/strong&gt; by making it easy to add short clips along the way. Just hit the hotkey, trim, crop, and embed.&lt;/p&gt;

&lt;p&gt;Not only that, but tutorials created with Replayable are easier to maintain. When they go out of date, all you need to do is update a single part rather than re-render the entire video clip.&lt;/p&gt;

&lt;h1&gt;
  
  
  Walkthrough
&lt;/h1&gt;

&lt;h2&gt;
  
  
  Get Replayable
&lt;/h2&gt;

&lt;p&gt;Let’s get started! To start, you’ll need &lt;a href="https://support.replayable.io/hc/en-us/articles/4421207018011-Download-Replayable-Desktop" rel="noopener noreferrer"&gt;the Replayable desktop client&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Replayable runs in the background so you don’t need to start or stop recording while you work.&lt;/p&gt;

&lt;p&gt;Instead, you’ll simply hit Create Clip or use the hotkey to &lt;strong&gt;capture whatever just happened on your screen.&lt;/strong&gt; Replayable keeps a rolling buffer locally on your computer, which you’ll be able to review and edit before uploading.&lt;/p&gt;

&lt;h2&gt;
  
  
  Make a new Replayable project
&lt;/h2&gt;

&lt;p&gt;Replayable projects are like folders. Every time you change repositories or local projects, you’ll probably want to make a new Replayable project as well.&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%2Fuploads%2Farticles%2Fn49dewyp9cqjlumkk0lt.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fn49dewyp9cqjlumkk0lt.png" alt="Create a new Replayable project"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Use the existing guide as a baseline
&lt;/h2&gt;

&lt;p&gt;Now, it’s time to make a tutorial. Your tutorial will probably mix existing setup guides and some with your own spin. After all, a lot of development is implied. It’s our job to document every nook and cranny that a newbie might not infer.&lt;/p&gt;

&lt;p&gt;This tutorial will work on improving the getting started guide for &lt;a href="https://revealjs.com/" rel="noopener noreferrer"&gt;reveal.js&lt;/a&gt;, a JS framework for making presentations. We’re going to follow &lt;a href="https://github.com/replayableio/revealjs.com/blob/master/src/installation.md#full-setup---recommendedidfull-setup" rel="noopener noreferrer"&gt;their install guide&lt;/a&gt; as a base:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Full Setup &amp;lt;span class="text-gray-500 font-normal"&amp;gt;- Recommended&amp;lt;/span&amp;gt;{id="full-setup"}&lt;/span&gt;

Some reveal.js features, like external Markdown, require that presentations run from a local web server. The following instructions will set up such a server as well as all of the development tasks needed to make edits to the reveal.js source code.
&lt;span class="p"&gt;
1.&lt;/span&gt; Install &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Node.js&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://nodejs.org/&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sx"&gt;10.0.0&lt;/span&gt; or later)
&lt;span class="p"&gt;1.&lt;/span&gt; Clone the reveal.js repository   
    &lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;
shell   
    $ git clone https://github.com/hakimel/reveal.js.git


    &lt;span class="p"&gt;```&lt;/span&gt;
&lt;span class="p"&gt;1.&lt;/span&gt; Move to the reveal.js folder and install dependencies   
    &lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;
shell   
    $ cd reveal.js &amp;amp;&amp;amp; npm install


    &lt;span class="p"&gt;```&lt;/span&gt;
&lt;span class="p"&gt;
1.&lt;/span&gt; Serve the presentation and monitor source files for changes   
    &lt;span class="p"&gt;```&lt;/span&gt;&lt;span class="nl"&gt;
&lt;/span&gt;
shell   
    $ npm start


    &lt;span class="p"&gt;```&lt;/span&gt;
&lt;span class="p"&gt;1.&lt;/span&gt; Open &lt;span class="nv"&gt;&amp;lt;http://localhost:8000&amp;gt;&lt;/span&gt; to view your presentation
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Upgrade the tutorial with replays
&lt;/h2&gt;

&lt;p&gt;Using the existing readme as a guide, follow the steps yourself in a clean environment . The first step is to install Node.js. As this is not unique to this repository and is likely well documented, it can be skipped.&lt;/p&gt;

&lt;p&gt;Looking at the readme, the first step is to clone the repo. So do that on your machine. When you’re done, h&lt;a href="https://support.replayable.io/hc/en-us/articles/4422793510811-Create-a-Replay" rel="noopener noreferrer"&gt;it the Replayable hotkey to create a replay&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can then crop the terminal and relevant browser page, then click the upload button. This will publish the replay to &lt;a href="http://replayable.io" rel="noopener noreferrer"&gt;http://replayable.io&lt;/a&gt; and make it ready for sharing!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://replayable.io/replay/630402cadf25a7006524c669/?share=AfkCnX717yYvNbX3juCDUQ" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Freplayable-api-production.herokuapp.com%2Freplay%2F630402cadf25a7006524c669%2Fgif%3FshareKey%3DAfkCnX717yYvNbX3juCDUQ" alt="Downloading and Installing Reveal.js"&gt;&lt;/a&gt;&lt;br&gt;
  Watch &lt;a href="https://replayable.io/replay/630402cadf25a7006524c669/?share=AfkCnX717yYvNbX3juCDUQ" rel="noopener noreferrer"&gt;Downloading and Installing Reveal.js&lt;/a&gt; on Replayable&lt;/p&gt;

&lt;p&gt;Readmes on GitHub are created using the markdown format. To embed your replay within your readme, select Share and Markdown from the replay page. This will copy the markdown embed code to my clipboard. The markdown code includes a looping gif and a link to the replay.&lt;/p&gt;

&lt;p&gt;You may also choose to turn the list into paragraphs to fit the embedded replays better. After every heading, paste the markdown code right after. Check out the final setup step below and the full result &lt;a href="https://gist.github.com/ianjennings/85eb2b925b6a7bb1c506bbb72380d131" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gh"&gt;# Getting Started with Reveal.js&lt;/span&gt;

Some reveal.js features, like external Markdown, require that presentations run from a local web server. The following instructions will set up such a server as well as all of the development tasks needed to make edits to the reveal.js source code.

&lt;span class="gu"&gt;## Download and Install&lt;/span&gt;

&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;![Downloading and Installing Reveal.js&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://replayable-api-production.herokuapp.com/replay/630402cadf25a7006524c669/gif?shareKey=AfkCnX717yYvNbX3juCDUQ&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;](https://replayable.io/replay/630402cadf25a7006524c669/?share=AfkCnX717yYvNbX3juCDUQ)

Make sure you have &lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;Node.js&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://nodejs.org/&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sx"&gt;10.0.0&lt;/span&gt; or later) installed. Then, clone the reveal.js repository:&lt;span class="sb"&gt;

     ```
&lt;/span&gt;&lt;span class="sb"&gt;

     git clone https://github.com/hakimel/reveal.js.git
&lt;/span&gt;&lt;span class="sb"&gt;

     ```

&lt;/span&gt;Next, move to the reveal.js folder and install dependencies:&lt;span class="sb"&gt;

    ```
&lt;/span&gt;&lt;span class="sb"&gt;

    cd reveal.js
    npm install
&lt;/span&gt;&lt;span class="sb"&gt;

    ```

&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, do it again for the demo step!&lt;/p&gt;

&lt;p&gt;Launch the app, view the presentation, and make changes. In the replay below, I wanted to understand how to modify my slides, so I launched VS Code and edited the first slide.&lt;/p&gt;

&lt;p&gt;This is the kind of instruction where a video can be extremely helpful. While the text may make sense to you, a newbie might make errors when running npm start. They might not understand the relationship between the browser and the terminal in regards to “localhost,” and they probably don’t know what “monitor source files for changes” means.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://replayable.io/replay/63040495973b2c0062e9239f/?share=tbbKqBecjPCoLBmb0QfCXw" rel="noopener noreferrer"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Freplayable-api-production.herokuapp.com%2Freplay%2F63040495973b2c0062e9239f%2Fgif%3FshareKey%3DtbbKqBecjPCoLBmb0QfCXw" alt="Setting up and running the Reveal.js Demo"&gt;&lt;/a&gt;&lt;br&gt;
  Watch &lt;a href="https://replayable.io/replay/63040495973b2c0062e9239f/?share=tbbKqBecjPCoLBmb0QfCXw" rel="noopener noreferrer"&gt;Setting up and running the Reveal.js Demo&lt;/a&gt; on Replayable&lt;/p&gt;

&lt;p&gt;Not to mention, they probably can’t infer what will pop up once the demo runs. In fact, you probably don’t even know yet! So as you get the demo running for yourself, creating clips helps explain to others what the resulting output of these instructions is and provides context for how you got there.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="gu"&gt;## Run the Demo&lt;/span&gt;

&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;![Setting up and running the Reveal.js Demo&lt;/span&gt;&lt;span class="p"&gt;](&lt;/span&gt;&lt;span class="sx"&gt;https://replayable-api-production.herokuapp.com/replay/63040495973b2c0062e9239f/gif?shareKey=tbbKqBecjPCoLBmb0QfCXw&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;](https://replayable.io/replay/63040495973b2c0062e9239f/?share=tbbKqBecjPCoLBmb0QfCXw)

Serve the presentation and monitor source files for changes:&lt;span class="sb"&gt;

    ```
&lt;/span&gt;&lt;span class="sb"&gt;

    npm start
&lt;/span&gt;&lt;span class="sb"&gt;

    ```

&lt;/span&gt;Then, open http://localhost:8000 to view your presentation!

Any changes you make to the source files will automatically be reflected in the presentation.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Publish the Tutorial
&lt;/h2&gt;

&lt;p&gt;That’s it! You’re ready to publish. If you’re contributing to a repository, now you can open pull requests. Replayable embeds are supported everywhere, GitHub, Jira, WordPress, Dev.to, and more!&lt;/p&gt;

&lt;p&gt;If you want to try Replayable out for yourself, &lt;a href="https://replayable.io/?beta=1" rel="noopener noreferrer"&gt;join our beta&lt;/a&gt; and &lt;a href="https://discord.com/invite/cWDFW8DzPm" rel="noopener noreferrer"&gt;come hang out with us in Discord&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>devrel</category>
      <category>productivity</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Learn more about your candidates with video take-home challenges</title>
      <dc:creator>Ian Jennings</dc:creator>
      <pubDate>Tue, 27 Apr 2021 19:43:01 +0000</pubDate>
      <link>https://dev.to/ianjennings/learn-more-about-your-candidates-with-video-take-home-challenges-40jp</link>
      <guid>https://dev.to/ianjennings/learn-more-about-your-candidates-with-video-take-home-challenges-40jp</guid>
      <description>&lt;p&gt;After years of &lt;a href="http://haxor.sh"&gt;testing developer experience&lt;/a&gt;, today I'm turning the tables and letting you &lt;a href="http://paircast.io"&gt;test your developer candidates&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--g3fdMXow--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/exnjvkw0rqtqvh4zqsre.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--g3fdMXow--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/exnjvkw0rqtqvh4zqsre.gif" alt="Paircast dashboard"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://paircast.io"&gt;Paircast.io&lt;/a&gt; is the platform we built for testing DX and it turns out it's mighty good at assessing developers' skills.&lt;/p&gt;

&lt;p&gt;You can see how developers solve problems and where they get stuck as they complete coding challenges on their own machine. You get all the quality of a technical interview with the convenience of a take-home assignment. No engineers needed to conduct technical interviews.&lt;/p&gt;

&lt;p&gt;👉 Learn more by watching how developers solve problems, not just end results.&lt;br&gt;
👉 Real-world work, not brain teasers&lt;br&gt;
👉 No more cheating on take-homes, you can see developers write every line&lt;br&gt;
👉 Get a higher signal with less time invested by your candidates&lt;/p&gt;

&lt;p&gt;Personally, I'm super excited to launch Paircast into the world as I'd never pass an online coding challenge myself. After hearing a bunch of MLH Fellowship students complain about these coding tests, I knew there had to be a better way. Let's burn "crack the coding interview" and focus on real-world skills!&lt;/p&gt;

</description>
      <category>hiring</category>
      <category>programming</category>
    </item>
    <item>
      <title>5 ways developer experience (DX) is different than user experience (UX).</title>
      <dc:creator>Ian Jennings</dc:creator>
      <pubDate>Thu, 04 Mar 2021 18:04:15 +0000</pubDate>
      <link>https://dev.to/replayable/5-ways-developer-experience-dx-is-different-than-user-experience-ux-5e9m</link>
      <guid>https://dev.to/replayable/5-ways-developer-experience-dx-is-different-than-user-experience-ux-5e9m</guid>
      <description>&lt;h2&gt;
  
  
  Why do we need developer experience?
&lt;/h2&gt;

&lt;p&gt;You test your code to make sure it works. But is it usable? Do you wonder why it's so difficult for other people to use your library?&lt;/p&gt;

&lt;p&gt;Well, chances are you're the world's leading expert in whatever it is you built. Nobody else knows it as well as you, and that gives you as warped perspective.&lt;/p&gt;

&lt;p&gt;As the founder of &lt;a href="http://haxors.h" rel="noopener noreferrer"&gt;Haxor Developer Experience Testing&lt;/a&gt;, I hear this time and time again. Some smarty pants engineer built a library, wrote a readme (which is really just a collection of their CLI commands), and thinks anyone else who can't use the product is "stupid."&lt;/p&gt;

&lt;p&gt;I was that engineer once, but when I moved into product roles my perspective changed. As engineers, we spend a lot of time thinking about systems, but we forget about &lt;em&gt;people.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  What is developer experience?
&lt;/h2&gt;

&lt;p&gt;This is where developer experience comes in. If you haven't heard, developer experience (or DX) is user experience for developers. It's the study of human computer interaction when the "human" is an engineer writing code. &lt;/p&gt;

&lt;p&gt;Sometimes I think of it as human-computer-computer interaction. In the modern days of APIs, often times I'm interacting with a computer, which is sending a message to another computer.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is the difference between developer experience and user experience?
&lt;/h2&gt;

&lt;p&gt;One user experience professional I met outright got up and left when I said that DX and UX were different. They insisted they were the same, and the same rules and tools applied.&lt;/p&gt;

&lt;p&gt;That forced me to really think about the differences. Consider the experience of someone ordering a pizza through their phone, and someone who's ordering a pizza through an API.&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%2Fuploads%2Farticles%2Fkqla5kg6n8yfua538vvv.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkqla5kg6n8yfua538vvv.png" alt="Pizza Delivery App mockup from Shahin Srowar on Dribble"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Intention
&lt;/h3&gt;

&lt;p&gt;A user's goal is to order a pizza. Their task is complete when the pizza gets to their house, and they consume it.&lt;/p&gt;

&lt;p&gt;A developer's goal is to build an application. The goal is to create, not consume.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Task Time
&lt;/h3&gt;

&lt;p&gt;Someone ordering a pizza might complete the entire process within 10 minutes.&lt;/p&gt;

&lt;p&gt;According to our research, it's generally going to take at least 30 minutes for a developer to make an API call and at least an hour to do anything useful.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Environment
&lt;/h3&gt;

&lt;p&gt;Ordering a pizza happens within an app, on your phone. All of the information and tools exist within one small container. &lt;em&gt;Most of the time&lt;/em&gt; there isn't a need to leave the soft padded confines of the app, unless something drastically goes wrong.&lt;/p&gt;

&lt;p&gt;On the contrary, development happens on a local machine. Every developer's device is different; they have different operating systems, packages, versions, preferences. While a user might have an outdated Android, a developer is using Google Chrome or VS Code with 20 extensions created by other developers.&lt;/p&gt;

&lt;p&gt;A developer is not restricted by the confines of a developer portal or documentation. We often find that the best developer resources are 3rd party and our clients aren't even aware of those guides. Think about how many times you've used Stack Overflow instead of some official documentation. &lt;/p&gt;

&lt;h3&gt;
  
  
  4. Learning
&lt;/h3&gt;

&lt;p&gt;A user can learn everything they need to know about ordering a pizza within the application. They've ordered pizza before, and they've definitely eaten it. There are standards in user interface, we don't need to explain what a button or text field is.&lt;/p&gt;

&lt;p&gt;A developer is overwhelmed with knowledge, new proprietary vocabulary, brands, tech lingo, and concepts they've never seen. It would be akin to ordering an entirely new type of cuisine.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Scale
&lt;/h3&gt;

&lt;p&gt;Most of the time, you're ordering pizza for yourself or your family. It's easy to make decisions that only affect yourself or people close to you.&lt;/p&gt;

&lt;p&gt;Have you ever ordered pizza for a large group of people? That's what it's like for a developer. Every decision affects some infinite number of users of their app. While you might not think much of something like a 5 second delay, it makes a big difference scaled across thousands of users.&lt;/p&gt;

&lt;h2&gt;
  
  
  It's still just UX for development
&lt;/h2&gt;

&lt;p&gt;Despite these differences, we can still apply UX concepts. In fact, it's not as difficult as it sounds.&lt;/p&gt;

&lt;p&gt;Our task times are longer. &lt;a href="http://paircast.io" rel="noopener noreferrer"&gt;Our user experience testing needs to happen on the desktop&lt;/a&gt;. We create documentation that guides users and do everything we can to support scale.&lt;/p&gt;

&lt;p&gt;It's a very interesting time right now. UX researching are asking "how can I get involved with DX?" and at Haxor, we're constantly talking to DX and DevRel folk about UX concepts. DX is truly the hybrid between developers and UX.&lt;/p&gt;

&lt;h2&gt;
  
  
  Developer Experience Testing
&lt;/h2&gt;

&lt;p&gt;If you're interested in testing the DX of your API, &lt;a href="https://haxor.sh/" rel="noopener noreferrer"&gt;reach out to us at Haxor&lt;/a&gt;. And if you're a developer who wants to shape the future of developer tools, &lt;a href="https://haxor.sh/developers" rel="noopener noreferrer"&gt;sign up for our mailing list&lt;/a&gt;.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>The Haxor Manifesto</title>
      <dc:creator>Ian Jennings</dc:creator>
      <pubDate>Wed, 03 Mar 2021 17:07:00 +0000</pubDate>
      <link>https://dev.to/replayable/the-haxor-manifesto-4l2p</link>
      <guid>https://dev.to/replayable/the-haxor-manifesto-4l2p</guid>
      <description>&lt;p&gt;My name is Ian Jennings, and I'm the founder of &lt;a href="https://haxor.sh" rel="noopener noreferrer"&gt;Haxor&lt;/a&gt;, a company focused on making development faster and more accessible for everyone.&lt;/p&gt;

&lt;p&gt;If you're anything like me, you're riding the &lt;a href="https://www.amazon.com/New-Kingmakers-Developers-Conquered-World-ebook/dp/B0097E4MEU" rel="noopener noreferrer"&gt;the new kingmakers&lt;/a&gt; wave. Programming wasn't cool when I was growing up. &lt;a href="https://www.forbes.com/sites/dereknewton/2020/01/19/hacking-grows-up/" rel="noopener noreferrer"&gt;Mike Swift&lt;/a&gt;, who started &lt;a href="https://mlh.io/" rel="noopener noreferrer"&gt;MLH&lt;/a&gt;, didn't  reveal to me that he was a coder until our Junior year at Rutgers. That all changed when "the social network" came out.&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%2Fuploads%2Farticles%2F465lcq2ewtuid4edjpc3.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F465lcq2ewtuid4edjpc3.png" alt="Growth in Web APIs"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In fact, everything changed. "Hacker culture" blew up. Where "hack" was a bad word spit on major news networks, now we were reading listicles of 21 kitchen cleaning hacks. Hacker culture became mainstream.&lt;/p&gt;

&lt;p&gt;Marketing jumped in, KPIs were formed, "developer evangelism" became "&lt;a href="https://en.wikipedia.org/wiki/Platform_evangelism" rel="noopener noreferrer"&gt;developer relations&lt;/a&gt;" and I started hearing members of &lt;em&gt;my community&lt;/em&gt; say "I'll market anything" and "our plan for Q3 is to &lt;em&gt;penetrate the community&lt;/em&gt;".&lt;/p&gt;

&lt;p&gt;Somewhere along the way we lost sight of what we were really doing, empowering people to create their own future. Leveling the playing field. &lt;/p&gt;

&lt;p&gt;Now we're riddled with SEO spam, undocumented computer generated SDKs, and more complexity than ever. Small startups are somehow supporting 100 different SDKS. Coding is the new literacy, and we're writing &lt;a href="https://en.wikipedia.org/wiki/Pulp_magazine" rel="noopener noreferrer"&gt;pulp fiction&lt;/a&gt;.&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%2Fuploads%2Farticles%2Fnhwo4kfatgu18tz0hmt4.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnhwo4kfatgu18tz0hmt4.png" alt="Most developers encounter problems with documentation."&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Stats from &lt;a href="https://insights.stackoverflow.com/survey/2018" rel="noopener noreferrer"&gt;a&lt;/a&gt; &lt;a href="https://opensourcesurvey.org/2017/" rel="noopener noreferrer"&gt;couple&lt;/a&gt; of StackOverflow Developer Surveys&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;You'd be surprised how many SDKs, tutorials, and docs are never once tried by their authors. Never! Sure, the tests pass, but that documentation that &lt;em&gt;every&lt;/em&gt; customer needs to read? I'll bet the author never ran it from scratch.&lt;/p&gt;

&lt;p&gt;We rely on "the community" to report issues back to us. They file a GitHub issue, nobody looks at it, and a bot automatically closes the ticket a week later. In the end, companies get their eyeballs and developers have their time wasted. Makes sense, because marketing is the only department with analytics.&lt;/p&gt;

&lt;p&gt;As a developer, how many times have you turned away from a product because their code samples didn't work? It's easier to &lt;code&gt;git stash&lt;/code&gt; and try a competitor than to brute force your way through. 10 years ago, there were no competitors. Don't get me started on &lt;a href="https://en.wikipedia.org/wiki/Vendor_lock-in" rel="noopener noreferrer"&gt;lock-in&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The only people who can manage to get anything done these days are "haxors". They're the developers who, despite the awful state of documentation, manage to get things done quickly.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;haxor(Noun) An uber way to say hacker. Usually refers to a skilled hacker. Etymology: haxor as a leet spelling of hacker became so common an example of leetspeak that haxor became synonymous with leet in this context.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I want to make everyone a Haxor. There's no reason any two developers should encounter the same bug twice. That's why I've spent the last 2 years working on improving the accessibility of developer tools.&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%2Fuploads%2Farticles%2Fzfhk81okn8e146awwyy8.gif" 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%2Fuploads%2Farticles%2Fzfhk81okn8e146awwyy8.gif" alt="Developer feedback in Paircast"&gt;&lt;/a&gt;&lt;br&gt;
&lt;em&gt;Developer feedback in Paircast, a developer screen recording tool we developed&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;How? Though I can't locate it now, I read about this amazing idea from someone in DevRel. Once a month, have some developers try your product and see where they go wrong. Like usability testing for developers. Genius. &lt;a href="https://www.amazon.com/Ask-Your-Developer-Software-Developers/dp/0063018292" rel="noopener noreferrer"&gt;Ask the developers&lt;/a&gt;, who would have thought.&lt;/p&gt;

&lt;p&gt;So that's what Haxor does; &lt;a href="http://haxor.sh" rel="noopener noreferrer"&gt;developer experience testing&lt;/a&gt;. We identify the ways that developer companies can make their tools more accessible. More accessibility means more signups, and when developers are the customer, that means more sales.&lt;/p&gt;

&lt;p&gt;In the very first test we ran, we found that 5/5 developers couldn't sign up for an API. It turns out they had &lt;a href="https://adblockplus.org/" rel="noopener noreferrer"&gt;Adblock&lt;/a&gt; enabled. This is a public company on the NASDAQ. Since then, we've given away more than $15,000 in cash , gift cards, and &lt;a href="http://shop.haxor.sh" rel="noopener noreferrer"&gt;swag&lt;/a&gt; to developers.&lt;/p&gt;

&lt;p&gt;If you're a developer who wants to help make the world better for noobs, &lt;a href="https://discord.com/invite/9g5aUTW" rel="noopener noreferrer"&gt;Join the Haxor Discord&lt;/a&gt; to learn how you can participate in our developer challenges. &lt;/p&gt;

&lt;p&gt;And if you're a DevRel, Product Manager, or CTO who wants to know how you can remove the friction that's preventing developers from paying you, we'd love to work together. &lt;a href="https://clients.haxor.sh/order/challenge" rel="noopener noreferrer"&gt;We're running a new promotion where your first feedback session is free&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>a11y</category>
      <category>devops</category>
      <category>devrel</category>
    </item>
    <item>
      <title>Transform code screencasts into markdown tutorials for Dev and GitHub</title>
      <dc:creator>Ian Jennings</dc:creator>
      <pubDate>Thu, 16 Jul 2020 13:59:47 +0000</pubDate>
      <link>https://dev.to/replayable/transform-coding-screencasts-into-markdown-for-dev-to-and-github-4k3f</link>
      <guid>https://dev.to/replayable/transform-coding-screencasts-into-markdown-for-dev-to-and-github-4k3f</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3JVRFFuG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/lpobn1hq6vawkswlqa3q.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3JVRFFuG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_66%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/lpobn1hq6vawkswlqa3q.gif" alt="Paircast speedrun"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Writing tutorials is tedious
&lt;/h1&gt;

&lt;p&gt;When you write tutorials on Dev.to (or GitHub, or anywhere else) your workflow is probably repetitive. Maybe it looks something like this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create the full app&lt;/li&gt;
&lt;li&gt;Break the app into code samples&lt;/li&gt;
&lt;li&gt;Awkwardly arrange the code samples in order&lt;/li&gt;
&lt;li&gt;Follow along yourself&lt;/li&gt;
&lt;li&gt;Realize the code samples don't make sense&lt;/li&gt;
&lt;li&gt;Make a ton of edits&lt;/li&gt;
&lt;li&gt;Write explanations for each code sample&lt;/li&gt;
&lt;li&gt;Do everything again for a video&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You end up repeating your work and explaining yourself over and over; in this case, at least 3 times. If something needs to be updated, well, start all over.&lt;/p&gt;

&lt;p&gt;That's why I created &lt;a href="http://paircast.io"&gt;Paircast&lt;/a&gt;. I spent 6 years in Developer Relations writing tutorials. I dreamt of a better way, then I built it.&lt;/p&gt;

&lt;h1&gt;
  
  
  Screencasts as documentation
&lt;/h1&gt;

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

&lt;p&gt;Paircast squashes all these steps into a single process. &lt;/p&gt;

&lt;p&gt;As you work, Paircast records your screen, microphone, and camera like a screencast or live-coding on Twitch. &lt;/p&gt;

&lt;p&gt;Now I know what you're thinking. Video sucks for coding. You can't search, you can't copy and paste, and it's hard not to navigate. &lt;/p&gt;

&lt;p&gt;Paircast uses git behind the scenes to track file changes and align them with your screencast. Code changed are displayed as git diffs within a markdown file next to your video. &lt;a href="http://paircast.io"&gt;See a demo here&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  Publishing to Dev.to, GitHub, and more
&lt;/h1&gt;

&lt;p&gt;Not only that, but Paircast transcribes your voice and weaves what you say between the code changes.&lt;/p&gt;

&lt;p&gt;This turns your code screencast into a full-on markdown tutorial you can post to Dev.to, GitHub, or even embed in your repo readme or documentation. See an example of that output &lt;a href="https://dev.to/ianjennings/paircast-demo-output-59n5"&gt;on Dev.to&lt;/a&gt; or &lt;a href="https://gist.github.com/ianjennings/7114684706ac26419a6f8577fb37010f"&gt;GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--193Eh6IE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nevnob06r8fco8tehgob.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--193Eh6IE--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/i/nevnob06r8fco8tehgob.png" alt="Pairast Git Integration"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And what about git? &lt;/p&gt;

&lt;p&gt;Paircast actually links commits back to the video as well. So when you upload your full example to GitHub or GitLab, developers can jump to the point in the video where that line of code was created! &lt;/p&gt;

&lt;p&gt;Check out the docs on &lt;a href="https://paircast.io/docs/git/git-blame/"&gt;using git blame with Paircast&lt;/a&gt; for more on that.&lt;/p&gt;

&lt;h1&gt;
  
  
  Get Started
&lt;/h1&gt;

&lt;p&gt;Ready to get started!? Awesome. Paircast is available for Mac and Windows, and it works with &lt;em&gt;any programming language&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Paircast is currently in &lt;strong&gt;beta&lt;/strong&gt;, but you can get instant access just by &lt;a href="https://discord.com/invite/9g5aUTW"&gt;joining our Discord&lt;/a&gt;. Stop in, say hi, talk to our #beta bot, and let me know how things go.&lt;/p&gt;

&lt;h1&gt;
  
  
  Beyond docs and tutorials
&lt;/h1&gt;

&lt;p&gt;It doesn't stop here. I designed Paircast to be "screencasts for developers," and the use cases go far beyond tutorials. You can use Paircast for: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Documentation&lt;/li&gt;
&lt;li&gt;Creating onboarding guides&lt;/li&gt;
&lt;li&gt;Answering support emails&lt;/li&gt;
&lt;li&gt;Interviewing developers with coding takehomes&lt;/li&gt;
&lt;li&gt;Video Pull Requests&lt;/li&gt;
&lt;li&gt;Performing code review&lt;/li&gt;
&lt;li&gt;Conducting developer experience research&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I've got a lot of writing to do! &lt;a href="https://dev.to/paircast"&gt;Follow Paircast here on Dev.to&lt;/a&gt; to follow the Paircast journey.&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>meta</category>
      <category>productivity</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Paircast Demo Output</title>
      <dc:creator>Ian Jennings</dc:creator>
      <pubDate>Wed, 15 Jul 2020 17:47:53 +0000</pubDate>
      <link>https://dev.to/replayable/paircast-demo-output-59n5</link>
      <guid>https://dev.to/replayable/paircast-demo-output-59n5</guid>
      <description>&lt;h3&gt;
  
  
  What's going on here?
&lt;/h3&gt;

&lt;p&gt;&lt;a href="http://paircast.io"&gt;Paircast&lt;/a&gt; generates markdown documentation from coding screencasts. &lt;/p&gt;

&lt;p&gt;The following is an example of Paircast output. The markdown that created this post came directly from the &lt;code&gt;View Source&lt;/code&gt; button on the homepage demo.&lt;/p&gt;

&lt;p&gt;What are the little timestamps like &lt;sup&gt;&lt;a href="https://app.paircast.io/replay/bb410844-1539-4402-a832-431be667875f#13000"&gt;00:13&lt;/a&gt;&lt;/sup&gt;? These link back to the Paircast video at the time that markdown was generated.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://paircast.io"&gt;Learn how you can record your own Paircast&lt;/a&gt;.&lt;/p&gt;




&lt;h3&gt;
  
  
  Demo Output
&lt;/h3&gt;

&lt;p&gt;Welcome to Paircast.&lt;sup&gt;&lt;a href="https://app.paircast.io/replay/bb410844-1539-4402-a832-431be667875f#1000"&gt;00:01&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;Paircast helps developers automatically documet their code by aligning screencasts with code changes. &lt;sup&gt;&lt;a href="https://app.paircast.io/replay/bb410844-1539-4402-a832-431be667875f#4000"&gt;00:04&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;Everything I say as well as my code changes are transcribed (into markdown) right next to my video. Just watch as I ended this &lt;code&gt;Swift&lt;/code&gt; file. &lt;sup&gt;&lt;a href="https://app.paircast.io/replay/bb410844-1539-4402-a832-431be667875f#13000"&gt;00:13&lt;/a&gt;&lt;/sup&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight diff"&gt;&lt;code&gt;&lt;span class="gh"&gt;diff --git demo.swift demo.swift
&lt;/span&gt;&lt;span class="gd"&gt;--- demo.swift
&lt;/span&gt;&lt;span class="gi"&gt;+++ demo.swift
&lt;/span&gt;&lt;span class="p"&gt;@@ -1,2 +1,4 @@&lt;/span&gt;
 // Hello, World! Program
 import Swift
&lt;span class="gi"&gt;+
+print("Hello, World!")
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can use a Paircast to make: &lt;sup&gt;&lt;a href="https://app.paircast.io/replay/bb410844-1539-4402-a832-431be667875f#17379.899999999998"&gt;00:17&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Readmes&lt;/li&gt;
&lt;li&gt;Tutorials &lt;/li&gt;
&lt;li&gt;Pull Requests&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Developers can copy-and-paste code out of your screencast, and they can even see the screencast within git history. &lt;sup&gt;&lt;a href="https://app.paircast.io/replay/bb410844-1539-4402-a832-431be667875f#22930"&gt;00:22&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

&lt;p&gt;Paircast works with any programming language, and it's available &lt;strong&gt;for free&lt;/strong&gt; for &lt;a href="https://paircast.io/download"&gt;Mac and Windows&lt;/a&gt;. You can get started at &lt;a href="https://paircast.io"&gt;Paircast.io&lt;/a&gt;. &lt;sup&gt;&lt;a href="https://app.paircast.io/replay/bb410844-1539-4402-a832-431be667875f#36509"&gt;00:36&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>swift</category>
    </item>
  </channel>
</rss>
