<?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: Amy Negrette</title>
    <description>The latest articles on DEV Community by Amy Negrette (@nerdypaws).</description>
    <link>https://dev.to/nerdypaws</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%2F68212%2Fec7b58a5-1025-40db-9626-711909e7e44d.jpeg</url>
      <title>DEV Community: Amy Negrette</title>
      <link>https://dev.to/nerdypaws</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/nerdypaws"/>
    <language>en</language>
    <item>
      <title>Setting up Gatsby.JS on WSL Ubuntu</title>
      <dc:creator>Amy Negrette</dc:creator>
      <pubDate>Sun, 01 Nov 2020 19:26:55 +0000</pubDate>
      <link>https://dev.to/nerdypaws/setting-up-gatsby-js-on-wsl-ubuntu-10nk</link>
      <guid>https://dev.to/nerdypaws/setting-up-gatsby-js-on-wsl-ubuntu-10nk</guid>
      <description>&lt;p&gt;A lot of development tools are Linux based making a MacBook the standard tool that tutorials are written for. My personal system, however, is a Windows 10 laptop. While I have few issues with this as a development machine, it does require some extra steps and translation during set up. &lt;/p&gt;

&lt;p&gt;I'm going to go through the steps taken to set up Gatsby.JS on Ubuntu WSL and collect all of the other articles I found in order to make this happen following the &lt;a href="https://www.gatsbyjs.com/tutorial/part-zero/"&gt;Tutorial Part Zero&lt;/a&gt; on GatsbyJS.&lt;/p&gt;

&lt;h2&gt;
  
  
  Set Your SUDO Password
&lt;/h2&gt;

&lt;p&gt;The assumption is that this is done automatically, but as WSL is a lightweight virtual machine and has no relation to any existing passwords. &lt;/p&gt;

&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;Open &lt;code&gt;cmd.exe&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Type &lt;code&gt;wsl -u root&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Type &lt;code&gt;passwd [username]&lt;/code&gt; and change the password&lt;/li&gt;
&lt;li&gt;Type &lt;code&gt;exit&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;

&lt;p&gt;(source &lt;a href="https://askubuntu.com/a/1206622/1143778"&gt;Ask Ubuntu&lt;/a&gt;)&lt;/p&gt;

&lt;h2&gt;
  
  
  Set the WSL DNS
&lt;/h2&gt;

&lt;p&gt;I'm not sure exactly which DNS WSL points to by default, but it won't correctly connect to NPM which is required to install the Gatsby CLI. For simplicity, I used Google's DNS address of &lt;code&gt;8.8.8.8&lt;/code&gt; but you can use whichever DNS you trust most.&lt;/p&gt;

&lt;h3&gt;
  
  
  Clear Existing DNS entries.
&lt;/h3&gt;

&lt;p&gt;[In WSL] Turn off DNS generation&lt;br&gt;
[In WSL] Edit &lt;code&gt;\etc\resolve.conf&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;[network]
generateResolvConf = false
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;[In CMD] Reset all WSL connections. This will cause other connections such as Docker's WSL Container Connection to reset.&lt;br&gt;
&lt;/p&gt;

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

&lt;/div&gt;



&lt;p&gt;[In WSL] Remove any existing symlinks to resolve.conf.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;rm \etc\resolve.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Create New resolve.conf
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;touch \etc\resolve.conf
echo "nameserver 8.8.8.8" &amp;gt;&amp;gt; \etc\resolve.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Reset WSL Again
&lt;/h3&gt;



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

&lt;/div&gt;



&lt;p&gt;(source &lt;a href="https://superuser.com/questions/1533291/how-do-i-change-the-dns-settings-for-wsl2"&gt;SuperUser&lt;/a&gt;)&lt;/p&gt;

&lt;h2&gt;
  
  
  Install NodeJS
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Check the most recent version of NVM. You can check the &lt;a href="https://github.com/nvm-sh/nvm"&gt;GitHub project page&lt;/a&gt; for the latest release. At the project page, navigate to the install.sh file and choose &lt;strong&gt;RAW&lt;/strong&gt;. Copy the URL. &lt;/li&gt;
&lt;li&gt;Install Curl: &lt;code&gt;sudo apt-get install curl&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Install NVM: &lt;code&gt;curl -o- [URL of install file] | bash&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Install the Latest Stable release of Node: &lt;code&gt;nvm install node --lts&lt;/code&gt;
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;(source &lt;a href="https://docs.microsoft.com/en-us/windows/nodejs/setup-on-wsl2"&gt;Windows Developer&lt;/a&gt;)&lt;/p&gt;

&lt;h2&gt;
  
  
  Install Git Version Control
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Install Git
&lt;/h3&gt;

&lt;p&gt;Installing Git into WSL is straightforward: &lt;code&gt;sudo apt-get install git&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Set up SSH Keys (Optional)
&lt;/h3&gt;

&lt;p&gt;While technically 'optional' many projects require SSH authentication instead of HTTP, so it's easier to get this done right away. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Generate SSH Keys using &lt;code&gt;ssh-keygen -t rsa -b 4096 -C "your_email@example.com"&lt;/code&gt; and following the prompts.&lt;/li&gt;
&lt;li&gt;Add keys to the SSH Agent as the agent will not start automatically when WSL starts. Adding the command to your &lt;code&gt;.profile&lt;/code&gt; will start the agent and add your identity when WSL starts.
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;echo "eval $(ssh-agent -s)" &amp;gt;&amp;gt; .profile
echo "ssh-add ~/.ssh/[YourSSHPrivateKey]"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can now add your public key to a Git Repository Manager such as GitLab, GitHub, or CodeBuild. The SSH Keys are part of your Repository User Profile.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install GatsbyJS
&lt;/h2&gt;

&lt;p&gt;The Gatsby CLI is available via npm and should be installed globally by running:&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 gatsby-cli
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  The End!
&lt;/h2&gt;

&lt;p&gt;That's everything you need in order to get a GatsbyJS Development environment in Ubuntu WSL for Windows 10 and every resource I used to get to this point. Hope this helps!&lt;/p&gt;

</description>
      <category>wsl</category>
      <category>gatsby</category>
      <category>windows</category>
      <category>node</category>
    </item>
    <item>
      <title>Nevertheless, Amy Coded Forward</title>
      <dc:creator>Amy Negrette</dc:creator>
      <pubDate>Sat, 07 Mar 2020 17:28:53 +0000</pubDate>
      <link>https://dev.to/nerdypaws/nevertheless-amy-coded-forward-50e0</link>
      <guid>https://dev.to/nerdypaws/nevertheless-amy-coded-forward-50e0</guid>
      <description>&lt;p&gt;When I was in high school, I was told to not pursue computer science because computers were hard and the boys were mean. Since then I've won awards and given technical talks about the work I've done. &lt;/p&gt;

&lt;p&gt;The best advice for students, entry level, and junior engineers is to find yourself a mentor. Someone who can sanity check the things you're going through whether or not you're being purposefully worked or tell you when tasks are fully within your capacity. Someone who has nothing to gain from your success except knowing you succeeded. Early in my career, most of my mentors were men because I worked in Sports Media. They pushed me to join more Women in Tech networks and get involved. They made sure that I knew what was okay and what wasn't. &lt;/p&gt;

&lt;p&gt;For mid-level and higher, find a sponsor. Find someone who will see the best part of your work and push others to recognize it. &lt;/p&gt;

&lt;p&gt;You need both at different times of your life.&lt;/p&gt;

&lt;p&gt;Finally, find friends in your industry. They'll make the bad days tolerable and give you an ally in your own work-life balance. They'll want not only your success but also your happiness.&lt;/p&gt;

&lt;p&gt;The people who will do the best by you will want you to succeed but not at the cost of your health and well-being. They're who you'll need in your corner to get you through long-term in not just the Tech Industry, but any industry. &lt;/p&gt;

</description>
      <category>wecoded</category>
    </item>
    <item>
      <title>Best Video Platform for Live Coding and Tech Talks</title>
      <dc:creator>Amy Negrette</dc:creator>
      <pubDate>Mon, 29 Jul 2019 15:13:45 +0000</pubDate>
      <link>https://dev.to/nerdypaws/best-video-platform-for-live-coding-and-tech-talks-5hkp</link>
      <guid>https://dev.to/nerdypaws/best-video-platform-for-live-coding-and-tech-talks-5hkp</guid>
      <description>&lt;p&gt;Are you YouTube Live or Twitch? Vlogs or Tech Talks? Panels or Seminars? &lt;/p&gt;

&lt;p&gt;If you watch tech content online, I want to know what you like and what you like about it.&lt;/p&gt;

&lt;p&gt;I have some ideas, and I wanna know where the people are!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://i.giphy.com/media/RO8lUkwCNIf7y/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/RO8lUkwCNIf7y/giphy.gif" alt="The Little Mermaid: I wanna be where the people are"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>discuss</category>
      <category>meta</category>
    </item>
    <item>
      <title>Describing Technical Competency </title>
      <dc:creator>Amy Negrette</dc:creator>
      <pubDate>Thu, 25 Jul 2019 15:52:11 +0000</pubDate>
      <link>https://dev.to/nerdypaws/describing-technical-competency-4jgo</link>
      <guid>https://dev.to/nerdypaws/describing-technical-competency-4jgo</guid>
      <description>&lt;p&gt;My manager asked me a relatively simple question: How are you at Python?&lt;/p&gt;

&lt;p&gt;My unnecessarily convoluted answer was this: 7/10? I did a lot at $client1/$client2 but I didn't do it before this so it's not the language I answer questions in if that makes sense ...which is weird because it's the language all my demos are in come to think of it. So confident user I guess?&lt;/p&gt;

&lt;p&gt;So how do you know you know a language? How well do you know it? How can you explain it in a way that doesn't make it obvious that you haven't had your coffee yet?&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Why wasn't I good at it?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;I've written production workloads Python. I've written clean, easily understood modules. I've written demos and tutorials in Python. But, I couldn't bring myself to say that I was good at it off the bat (thanks, Imposter Syndrome).&lt;/p&gt;

&lt;p&gt;&lt;em&gt;What does good even mean?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Good in the context of this question was, 'Could I service a client with minimal ramp time?' Obviously, yes. I could do that. But that's not the question I answered. I wasn't good compared to the whole of the Active Python Community. But good is also relative and full of &lt;del&gt;feelings&lt;/del&gt; implied judgement. Let's stick with competency.&lt;/p&gt;

&lt;h2&gt;
  
  
  Levels of Competency
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Beginner
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Knowledge:&lt;/strong&gt; Beginner is easy to know. Not all engineers may become Experts, but all Engineers have to admit to having been beginners. You come into an ecosystem with zero knowledge. You have heard of the language but you still don't understand what it does and doesn't do well. &lt;br&gt;
&lt;strong&gt;Practical Application:&lt;/strong&gt; You don't feel confident enough to deliver on your own and are better suited to enhancing existing code than building out your own work from scratch.&lt;br&gt;
&lt;strong&gt;Community Involvement:&lt;/strong&gt; You have watched Webinars and technical talks, but don't have enough background to be able to answer follow up questions on any technical topic. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;del&gt;Intermediate&lt;/del&gt; Power User
&lt;/h3&gt;

&lt;p&gt;Personally, I don't like the phrase 'Intermediate' as it implies a transient state between Beginner and Expert. A lot of people spend much of their professional lives in the Intermediate space. I called it 'Confident User', but you can just as well call it a Power User or Professional Level of Competency.&lt;br&gt;
&lt;strong&gt;Knowledge:&lt;/strong&gt; You've survived at least a year in the weeds and haven't been broken (much). You already have an understanding of software/infrastructure/etc. best practices and you either know or are looking to apply it to a specific technical topic. We're past 'how do we do this?' and into 'How do we do this well?'&lt;br&gt;
&lt;strong&gt;Practical Application:&lt;/strong&gt; You know where your answers live whether it's which StackOverflow User is the right one or which set of documentation is actually better than the official documentation. You can parse Google results and know how to ask an Appropriate Question. When working with a client, you feel confident enough to deliver on your own or offer guidance when working on a team.&lt;br&gt;
&lt;strong&gt;Community Involvement:&lt;/strong&gt; You're active in user groups and look to offer help and mentoring for other engineers. People ask you questions. If you don't know the answer, you know where to get them.&lt;/p&gt;

&lt;h3&gt;
  
  
  Expert
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Knowledge:&lt;/strong&gt; You've been doing this at least a couple of years. At least, it feels like you've been doing it forever. People ask you questions and your answers get put on blog posts. You know the best practices, how people break stuff, and how to fix it after they break stuff off the top of your head. You're also willing to admit basic things elude you, and happen to keep a link in your bookmarks bar to a documentation page on how to exit/unzip/etc. Hypothetically. How is what Documentation is for. Why is what you're for.&lt;br&gt;
&lt;strong&gt;Practical Application:&lt;/strong&gt; You're the Lead. The Architect. You're the one they call when they don't know what they want but they do know you can give it to them. You're now always delivering as a Team Lead as Solo Projects are too small. You're also probably Certified in something. &lt;br&gt;
&lt;strong&gt;Community Involvement:&lt;/strong&gt; Peers want your input. They want you to go out and explain what you know. Even if you've never given talks, you've guided coworkers or meetup groups and helped people understand nuances in whatever they're learning. You've delivered detailed technical explanations either in the form of long e-mails, Slack messages, Forum Posts, or Technical Talks. You're a leader and a mentor.&lt;/p&gt;

&lt;h3&gt;
  
  
  Master
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Knowledge:&lt;/strong&gt; You know everything because you made everything. You've written papers, posts, and delivered talks. You literally wrote the answer that gets cited on StackOverflow. You have contributed directly to your technology if not having created it.&lt;br&gt;
&lt;strong&gt;Practical Application:&lt;/strong&gt; You're an Architect and an Evangelist. You have built libraries and tutorials that got Experts to where they want to be. &lt;br&gt;
&lt;strong&gt;Community Involvement:&lt;/strong&gt; You're the one whenever they want a talk about whatever Topic. If someone else is talking about it, your name is the one name-dropped.&lt;/p&gt;

&lt;p&gt;All levels of competency have some mix of Knowledge, Experience, and Community Involvement. Obviously, study and doing is important. Community involvement is also vital. Good engineers admit they don't live in a vacuum. No code gets deployed without someone reading documentation or a tutorial. No good code goes without reaching out for human help. And no one who hoards knowledge to themselves can call themselves an Expert.&lt;/p&gt;

&lt;p&gt;It's also important to know who's asking. Client's only want to know if you can do a job. Interviewers want a self-assessment against other candidates. And you should know how you rate against the rest of the community.&lt;/p&gt;

&lt;p&gt;As far as Python goes, I can do the job. I know where to find answers. The User Groups are beyond my skill set. That makes me a Power User. Does that make me good? Maybe good enough. &lt;/p&gt;

</description>
      <category>python</category>
      <category>learning</category>
      <category>career</category>
    </item>
  </channel>
</rss>
