<?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: Erin Bush </title>
    <description>The latest articles on DEV Community by Erin Bush  (@erinbush).</description>
    <link>https://dev.to/erinbush</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%2F126442%2F17511e4a-7896-4603-b48e-4cb85bd5dcab.jpeg</url>
      <title>DEV Community: Erin Bush </title>
      <link>https://dev.to/erinbush</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/erinbush"/>
    <language>en</language>
    <item>
      <title>Nevertheless, Erin Coded</title>
      <dc:creator>Erin Bush </dc:creator>
      <pubDate>Wed, 06 Mar 2019 05:29:32 +0000</pubDate>
      <link>https://dev.to/erinbush/nevertheless-erin-coded--2ne6</link>
      <guid>https://dev.to/erinbush/nevertheless-erin-coded--2ne6</guid>
      <description>&lt;p&gt;Shine theory continues to permeate my life and, reflecting back on that this International Women's Day, has made me eternally grateful for all of the folks in my life who push me to be a better person and who I can support in return. &lt;/p&gt;

&lt;p&gt;From the &lt;a href="https://www.shinetheory.com/"&gt;Shine Theory website&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Shine Theory is an investment, over the long term, in helping someone be their best self—and relying on their help in return.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;As of today, I am one sprint in to my first project as a technical lead.  When doing our retrospective earlier, we anonymously write down 3 positive things and 3 things we can improve from the past 2 weeks.  Three separate people wrote that something to the effect of "Erin is doing a great job as tech lead!"&lt;/p&gt;

&lt;p&gt;Imposter syndrome is no joke and is something I grapple with all👏the👏damn👏time.  I wanted to take a picture of those notes and stick them up on my monitor. Everyone needs reminders that.  So here it is: &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;You are doing a good job and that you are killing it by just being yourself.&lt;/strong&gt; &lt;/p&gt;

&lt;h2&gt;
  
  
  I continued to code in 2019 because...
&lt;/h2&gt;

&lt;p&gt;I like creating silly little applications that don't really do anything and learning one new thing every day.&lt;/p&gt;

&lt;h2&gt;
  
  
  I am proud of...
&lt;/h2&gt;

&lt;p&gt;Working in my spare time to draft conference talks.  They might not be accepted anywhere but it's been great practice brainstorming creative ways of explaining concepts to a general audience. &lt;/p&gt;

&lt;p&gt;Driving the accessibility initiative at work. We still have a long way to go but at least now accessibility is more front of mind for people than before.&lt;/p&gt;

&lt;h2&gt;
  
  
  I hope to see my developer community...
&lt;/h2&gt;

&lt;p&gt;Be more like the community here on dev.to. I've been truly impressed with the culture fostered on this platform and am never afraid to publish content for fear of rude comments. &lt;/p&gt;

</description>
      <category>wecoded</category>
      <category>thinkshecoded</category>
      <category>womenwhocode</category>
      <category>womenintech</category>
    </item>
    <item>
      <title>TIL about automatically bumping NPM versions</title>
      <dc:creator>Erin Bush </dc:creator>
      <pubDate>Fri, 01 Mar 2019 19:08:14 +0000</pubDate>
      <link>https://dev.to/erinbush/til-about-automatically-bumping-npm-versions-4ca8</link>
      <guid>https://dev.to/erinbush/til-about-automatically-bumping-npm-versions-4ca8</guid>
      <description>&lt;p&gt;Do you need to update a bunch of packages? Do they all have a similar scope* or name? &lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm-check-updates&lt;/code&gt; checks the packages listed in your package.json file, and prints out a list of the packages that can be updated to the latest version.&lt;/p&gt;

&lt;p&gt;To install:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;npm install -g npm-check-updates
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, run it in your project folder:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ncu 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You’ll get some output that looks a little something like this: &lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fcj8dzofzcldlaeuki1ka.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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fcj8dzofzcldlaeuki1ka.png" alt="sample output from npm-check-updates"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you want it to automatically bump the versions in your package.json file you can pass in the update parameter:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ncu -u
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can also run it with a regex string if you are just curious about a certain scope or package:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;ncu '/^@npm.*$/' -u
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Remember to run &lt;code&gt;npm install&lt;/code&gt; afterwards to actually install the packages since npm-check-updates will just update your &lt;code&gt;package.json&lt;/code&gt; file.&lt;/p&gt;

&lt;p&gt;Presto-chango you've just saved yourself some seriously tedious file changes!&lt;/p&gt;




&lt;p&gt;*PS: &lt;a href="https://docs.npmjs.com/about-scopes" rel="noopener noreferrer"&gt;scopes in npm&lt;/a&gt; are useful if you need to group packages by your organization.  In the following example “npm” is the scope.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@npm/package-name
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;This post was originally published on &lt;a href="https://erinbush.postach.io/post/til-about-npm-check-updates" rel="noopener noreferrer"&gt;my blog&lt;/a&gt;&lt;/p&gt;

</description>
      <category>npm</category>
      <category>productivity</category>
      <category>todayilearned</category>
    </item>
    <item>
      <title>Being intentional with commits </title>
      <dc:creator>Erin Bush </dc:creator>
      <pubDate>Sat, 23 Feb 2019 22:45:13 +0000</pubDate>
      <link>https://dev.to/erinbush/being-intentional-with-commits--59a3</link>
      <guid>https://dev.to/erinbush/being-intentional-with-commits--59a3</guid>
      <description>&lt;p&gt;The other day I was poking around in a github repository and came across this commit message:&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fodympg9tu7qeni0oregt.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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fodympg9tu7qeni0oregt.png" alt="a commit message that just says "&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Not that I needed to know that much about what this person was committing at the time, but I couldn’t help but think how unhelpful this commit message would be if someone needed to understand the project.  &lt;/p&gt;

&lt;p&gt;I have also been guilty of creating less-than-descriptive commit messages - I'm sure we've all been there.  If you want to see some truly hilarious commit messages you can check out &lt;a href="https://whatthecommit.com" rel="noopener noreferrer"&gt;whatthecommit.com&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;At my work we started using &lt;a href="https://github.com/commitizen/cz-cli" rel="noopener noreferrer"&gt;Commitizen&lt;/a&gt; which is based on &lt;a href="https://www.conventionalcommits.org/en/v1.0.0-beta.3/" rel="noopener noreferrer"&gt;Conventional Commits&lt;/a&gt; specification. It took a minute to get used to but after a few days, I could see how much value it was adding to the code base.  &lt;/p&gt;

&lt;h2&gt;
  
  
  Breaking down commit size
&lt;/h2&gt;

&lt;p&gt;Because it breaks commits down into categories, it forces you to only add relevant files to one category.  &lt;/p&gt;

&lt;p&gt;Buh-bye editing 30 files and committing them all in one go.  I mean, you still &lt;em&gt;could&lt;/em&gt; do that but you will feel a slight pang of guilt every time you add a feature change in with your test changes. &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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ff4i7s8l0l7ev2ljclvec.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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Ff4i7s8l0l7ev2ljclvec.png" alt="a screenshot of the commitizen command line tool"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After using the tool for a few days, I started thinking about good stopping points in my work where I could commit - with the intention that I could make my messages make the most sense.  For example, when working on a feature that also included some refactor work, I would try to just do the refactor first, commit that, and then start working on the new functionality. Looking back at the commit messages when browsing files and seeing the type of change that was made, helps so much for granularity and for knowing what to expect from a certain commit.&lt;/p&gt;

&lt;h2&gt;
  
  
  More descriptive messages
&lt;/h2&gt;

&lt;p&gt;While other people on the internet might have already been splitting their commit messages into subjects and bodies, I was not.  I’ve now realized, the longer description in the body is so helpful for describing the nuances of the changes you have made.  Even if its just for you to go over before you make your pull request, it will help you understand why you did what you in a way more thorough way - provided you actually add a thorough description.&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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fiajqmwyzu8ywjqw5clrm.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%2Fthepracticaldev.s3.amazonaws.com%2Fi%2Fiajqmwyzu8ywjqw5clrm.png" alt="an example of a commit with a message subject and longer description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At my work, we’ve gone a step further to create a custom command line tool that makes your pull requests for you on Github with the pull request description being a list of your git commits.  At first, I was worried this wasn’t enough.  How could 100 character commit messages tell you everything you need to know about the code changes? But then, I had a lightbulb moment: the commits already ARE supposed to tell you everything about the code changes.  I just wasn’t making my commits well enough.  Once I started breaking things down by commit category and providing better commit messages (mainly through the longer descriptions), my pull requests were back up to the level they used to be before when I would write the description myself and have subpar commit messages. &lt;/p&gt;

&lt;p&gt;I encourage everyone to set up Commitizen and try it out for a few days.  I think it will make future you way happier when you are looking back at your code and thinking, “What the heck was I thinking?”&lt;/p&gt;

</description>
      <category>git</category>
      <category>commit</category>
      <category>productivity</category>
    </item>
    <item>
      <title>NPM Linking and Unlinking</title>
      <dc:creator>Erin Bush </dc:creator>
      <pubDate>Wed, 06 Feb 2019 22:05:39 +0000</pubDate>
      <link>https://dev.to/erinbush/npm-linking-and-unlinking-2h1g</link>
      <guid>https://dev.to/erinbush/npm-linking-and-unlinking-2h1g</guid>
      <description>&lt;p&gt;At work, we have our own npm packages that we manage and maintain. As part of the dev process its crucial to test out the package in the context of a larger project to ensure it functions as expected and meets all our criteria. A handy trick that I've been using is linking local npm packages using &lt;code&gt;npm link&lt;/code&gt;.  &lt;/p&gt;

&lt;p&gt;However, as a result of having multiple tasks on the go on any given day, I kept getting myself into weird situations with permission issues where I would have the package not available anymore, which TBH was v annoying.  The result of constant branch switching and not cleaning up my local environment before doing so.&lt;/p&gt;

&lt;p&gt;Here are the exact steps for both linking and unlinking so you can avoid the #struggle I went through.&lt;/p&gt;

&lt;p&gt;Lets say we have an &lt;code&gt;npm&lt;/code&gt; package that we are working on locally, lets call it &lt;code&gt;cowabunga&lt;/code&gt;.  Our project structure looks something like this: &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%2F0vrm31hfuxqi2vg5h3qb.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%2F0vrm31hfuxqi2vg5h3qb.png" alt="cowabunga package folder structure"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;And it’s &lt;code&gt;package.json&lt;/code&gt; file looks something like this: &lt;/p&gt;


&lt;div class="ltag_gist-liquid-tag"&gt;
  
&lt;/div&gt;


&lt;p&gt;You’ll notice that this package has its own &lt;code&gt;node_modules&lt;/code&gt; folder - this is where I kept getting tripped up.  I would switch branches in the repo where my package lives and the &lt;code&gt;node_modules&lt;/code&gt; folder would disappear as a result of building other components that don't live in both branches.  When I would go to unlink, npm was throwing permissions errors that went something like this:&lt;/p&gt;

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

npm ERR! enoent ENOENT: no such file or directory, access ‘my_project/node_modules/cowabunga/node_modules/some-package’


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

&lt;/div&gt;

&lt;p&gt;In order to avoid this, you have to follow the linking/unlinking order otherwise npm will try to unlink folders that no longer exist.  Seems pretty basic but it was surprisingly tedious to figure out. &lt;/p&gt;

&lt;h3&gt;
  
  
  Linking:
&lt;/h3&gt;

&lt;p&gt;First, in the &lt;em&gt;cowabunga&lt;/em&gt; folder (where package.json is):&lt;/p&gt;

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

npm link


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

&lt;/div&gt;

&lt;p&gt;Then in the project you want to include &lt;em&gt;cowabunga&lt;/em&gt; in:&lt;/p&gt;

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

npm link cowabunga


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

&lt;/div&gt;
&lt;h3&gt;
  
  
  Unlinking:
&lt;/h3&gt;

&lt;p&gt;&lt;em&gt;Before&lt;/em&gt; switching branches and/or removing any node modules from the package itself (in my project, this includes running &lt;code&gt;learn clean&lt;/code&gt; which removed the &lt;code&gt;node_modules&lt;/code&gt; folders)&lt;/p&gt;

&lt;p&gt;First, in the project: &lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;

npm unlink --no-save cowabunga


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

&lt;/div&gt;

&lt;p&gt;Second, in the package:&lt;/p&gt;

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

npm unlink


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

&lt;/div&gt;

&lt;p&gt;Note: order is important!&lt;/p&gt;

&lt;p&gt;Where I kept running into issues is switching branches and then the symlink couldn’t find the package anymore so you were stuck in this weird state where you couldn’t link anything or unlink anything because the folders don’t exist.  When this happens, check out your original branch and start from the beginning with linking the package and the project.  &lt;/p&gt;

&lt;p&gt;🤙&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Bonus:&lt;/em&gt;&lt;br&gt;
You can also run &lt;/p&gt;

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

npm install -g i .


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

&lt;/div&gt;

&lt;p&gt;in your package folder to install it globally and avoid some of the linking mess 🎉&lt;/p&gt;

</description>
      <category>npm</category>
      <category>javascript</category>
      <category>howto</category>
    </item>
    <item>
      <title>Advice for first-time conference applicant </title>
      <dc:creator>Erin Bush </dc:creator>
      <pubDate>Thu, 17 Jan 2019 02:42:37 +0000</pubDate>
      <link>https://dev.to/erinbush/advice-for-first-time-conference-applicant--2476</link>
      <guid>https://dev.to/erinbush/advice-for-first-time-conference-applicant--2476</guid>
      <description>&lt;p&gt;I've got a few different ideas rolling around in my noggin that could potentially be turned into conference talks.  Anyone have any advice on writing/giving talks on technical subjects? &lt;/p&gt;

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

</description>
      <category>discuss</category>
      <category>conference</category>
    </item>
    <item>
      <title>Nevertheless, Erin Coded</title>
      <dc:creator>Erin Bush </dc:creator>
      <pubDate>Sun, 06 Jan 2019 22:17:30 +0000</pubDate>
      <link>https://dev.to/erinbush/nevertheless-erin-coded--6ec</link>
      <guid>https://dev.to/erinbush/nevertheless-erin-coded--6ec</guid>
      <description>&lt;h2&gt;
  
  
  I began/continue to code because...
&lt;/h2&gt;

&lt;p&gt;I fell into coding after my first year at UBC.  We were required to take a programming class as a part of the Engineering program.  While staying up late, hunched over an assignment I had procrastinated on, I realized that I had been going for 5 hours straight with no bathroom breaks - an obvious sign that I was in a flow state? &lt;/p&gt;

&lt;p&gt;My relationship with programming has seen a lot of ups and downs. The downs having me question if I really wanted to be a programmer or if there was more out there for me.  Retrospection has made me realize that while essentially programming is the same everywhere, community is the thing that keeps me going. &lt;/p&gt;

&lt;h2&gt;
  
  
  I'm currently hacking on...
&lt;/h2&gt;

&lt;p&gt;Building out my GraphQL knowledge by implementing subscriptions for real time notifications and status updates.  I'm also working on implementing automated accessibility checks into my team's workflow and coming up with a technical plan of attack for our accessibility debt. &lt;/p&gt;

&lt;h2&gt;
  
  
  My advice for allies to support women and non-binary folks who code is....
&lt;/h2&gt;

&lt;p&gt;Community is what has saved me from quitting programming several times.  Find people you connect with and like working with and ask to be on their team or projects.  Reach out to people online and see if anyone wants to meet up for coffee to talk about shared experiences as a woman or non-binary person who codes. &lt;/p&gt;

</description>
      <category>wecoded</category>
    </item>
  </channel>
</rss>
