<?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: Ashley Roach</title>
    <description>The latest articles on DEV Community by Ashley Roach (@aroach).</description>
    <link>https://dev.to/aroach</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%2F18182%2Fe84653f5-5415-44f3-b8e3-b6cb2cf23d30.png</url>
      <title>DEV Community: Ashley Roach</title>
      <link>https://dev.to/aroach</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/aroach"/>
    <language>en</language>
    <item>
      <title>DevTools Podcast Interview with Matt Bernier - SendGrid</title>
      <dc:creator>Ashley Roach</dc:creator>
      <pubDate>Tue, 09 May 2017 21:01:03 +0000</pubDate>
      <link>https://dev.to/aroach/devtools-podcast-interview-with-matt-bernier---sendgrid</link>
      <guid>https://dev.to/aroach/devtools-podcast-interview-with-matt-bernier---sendgrid</guid>
      <description>&lt;p&gt;In this episode, my guest is Matt Bernier (&lt;a href="https://twitter.com/mbernier"&gt;@mbernier&lt;/a&gt;), the Developer Experience PM at SendGrid.  We discussed topics around using GitHub's API to scale his team, some awesome tools around API design, and veered into some product management territory.  &lt;/p&gt;

&lt;p&gt;&lt;a href="https://developer.github.com/webhooks/"&gt;GitHub Webhooks&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://qz.com/646467/how-one-programmer-broke-the-internet-by-deleting-a-tiny-piece-of-code/"&gt; leftpad controversy&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/sendgrid/open-source-library-data-collector"&gt;SendGrid's GitHub Automation Tool&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.openapis.org/"&gt;Swagger / OAI&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://apiblueprint.org/"&gt;API Blueprint &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://theleanstartup.com/principles"&gt;Lean Startup &lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://canvanizer.com/new/lean-canvas"&gt;Lean Canvas&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://stoplight.io/"&gt;Stoplight&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://blog.intercom.com/rice-simple-prioritization-for-product-managers/"&gt; Intercom RICE blog post&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.microsoftpressstore.com/store/software-requirements-9780735679665"&gt; Software Requirements&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.amazon.com/Essentialism-Disciplined-Pursuit-Greg-McKeown/dp/0804137382"&gt; Essentialism&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;br&gt;  &lt;/p&gt;

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

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

</description>
      <category>podcast</category>
      <category>devtools</category>
      <category>devrel</category>
    </item>
    <item>
      <title>Teaching My Kids Linux </title>
      <dc:creator>Ashley Roach</dc:creator>
      <pubDate>Thu, 04 May 2017 23:47:03 +0000</pubDate>
      <link>https://dev.to/aroach/teaching-my-kids-linux</link>
      <guid>https://dev.to/aroach/teaching-my-kids-linux</guid>
      <description>&lt;p&gt;My kids (9 and 12 years old) liked the idea of learning programming, but they really weren't making much progress and would lose interest pretty quickly.  &lt;/p&gt;

&lt;p&gt;As a result, I turned my attention to something more tangible for them. After brainstorming a bit, and figuring sysadmin skills are good to know as well, I decided to teach them some Linux skills.&lt;/p&gt;

&lt;p&gt;The first project that we started with was installing Linux (we picked Ubuntu even though I could've gone hardcore with Gentoo). We actually did this twice: first, into a VM; second, on an actual PC.&lt;/p&gt;

&lt;p&gt;When installing it on a PC, I asked them questions like, "How do you think you can put a new OS onto the computer?"  Which led to learning about updating the BIOS boot order, how to install a bootable linux onto a USB stick (netbootin), and hard drives vs. memory.  We also learned about hostnames and creating user accounts.&lt;/p&gt;

&lt;p&gt;After installing the OS, we started exploring Linux.  They immediately wanted to use the GUI, but I guided them to open Terminal. We used:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;ls&lt;/code&gt; and &lt;code&gt;ls -la&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;&lt;code&gt;touch&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;cp&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Finally, we loaded a text editor.  Yes, we tried out &lt;code&gt;vi&lt;/code&gt; (sorry my &lt;code&gt;emacs&lt;/code&gt; friends).&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;:w&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;:q&lt;/code&gt; and &lt;code&gt;:q!&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;j&lt;/code&gt; &lt;code&gt;k&lt;/code&gt; &lt;code&gt;h&lt;/code&gt; &lt;code&gt;l&lt;/code&gt; for navigation&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;There ain't no keeping my kids away from Minecraft, and so the next stop on our Linux adventure was to install a Minecraft Server.  Lots of fun tools here to learn about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;wget&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;useradd&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;usermod&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;passwd&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;chmod&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;chown&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;apt-get&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;sudo&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;telnet&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ssh&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Of course, we didn't cover all of this is one day, but have split up these exercises over many weekends.  &lt;/p&gt;

&lt;p&gt;I plan to add more posts documenting our adventures with Linux.  Would love to hear from other parents who might be trying to help their kids with Linux literacy.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Hat tip to &lt;a href="https://twitter.com/vallard"&gt;@vallard&lt;/a&gt; for the inspriation.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;(Originally posted at &lt;a href="https://aroach.github.io"&gt;aroach.github.io&lt;/a&gt;)&lt;/em&gt;&lt;/p&gt;

</description>
      <category>linux</category>
      <category>kids</category>
    </item>
    <item>
      <title>Hi, I'm Ashley Roach</title>
      <dc:creator>Ashley Roach</dc:creator>
      <pubDate>Thu, 04 May 2017 23:32:38 +0000</pubDate>
      <link>https://dev.to/aroach/hi-im-ashley-roach</link>
      <guid>https://dev.to/aroach/hi-im-ashley-roach</guid>
      <description>&lt;p&gt;I have been coding for 10 years.&lt;/p&gt;

&lt;p&gt;You can find me on GitHub as &lt;a href="https://github.com/aroach" rel="noopener noreferrer"&gt;aroach&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I live in Denver.&lt;/p&gt;

&lt;p&gt;I work for Cisco&lt;/p&gt;

&lt;p&gt;I mostly program in these languages: JavaScript (NodeJS).&lt;/p&gt;

&lt;p&gt;I am currently learning more about React, Serverless, Containers.&lt;/p&gt;

&lt;p&gt;Nice to meet you.&lt;/p&gt;

</description>
      <category>introduction</category>
    </item>
    <item>
      <title>Tips on Getting Started with React</title>
      <dc:creator>Ashley Roach</dc:creator>
      <pubDate>Wed, 03 May 2017 00:00:00 +0000</pubDate>
      <link>https://dev.to/aroach/tips-on-getting-started-with-react</link>
      <guid>https://dev.to/aroach/tips-on-getting-started-with-react</guid>
      <description>&lt;p&gt;I’ve been working on a new Node project. As a fairly longtime Angular 1 user, and after looking at Angular 2, I decided to try out React for the front-end. While React seems pretty straightforward, I’d say it’s actually not.&lt;/p&gt;

&lt;p&gt;So here goes. I’ve tried to compile my opinions based on how my brain works for getting started with React. If you find this post, I hope it will save you some time Googling for examples and tutorials.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;The first project to know about is the&lt;/em&gt;&lt;/strong&gt; &lt;a href="https://github.com/facebookincubator/create-react-app"&gt;&lt;strong&gt;&lt;em&gt;Create-react-app&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;&lt;em&gt;.&lt;/em&gt;&lt;/strong&gt; This is a generator for creating a React app. It was created by Facebook, and has tons of features. Of its benefits, it seems to allow you to skip setting up webpack. I started with this and so far haven’t come across any limitations or issues. (Famous last words.) A couple of standout sections from the readme are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#serving-apps-with-client-side-routing"&gt;Serving Apps with Client-Side Routing&lt;/a&gt;. I learned that in a Node app you can put your fallback route after routes you want to serve. For example, I wanted to serve my REST API on &lt;code&gt;/api&lt;/code&gt;, but allow the client to handle the rest of the requests. So, I just needed to order my &lt;code&gt;app.get('/api', function(req, res){...});&lt;/code&gt; statements with &lt;code&gt;app.get('/\*', function(req, res){...});&lt;/code&gt; as the last one to match.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#proxying-api-requests-in-development"&gt;Proxying API Requests in Development&lt;/a&gt;. Since I have an API and client served up by the same app, I really needed this.&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://github.com/facebookincubator/create-react-app/blob/master/packages/react-scripts/template/README.md#adding-custom-environment-variables"&gt;Adding Custom Environment Variables&lt;/a&gt; Note that this does a replace as opposed to a runtime substitution since React projects are built artifacts.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;&lt;em&gt;Bite the bullet and learn&lt;/em&gt;&lt;/strong&gt; &lt;a href="http://redux.js.org/"&gt;&lt;strong&gt;&lt;em&gt;Redux&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;&lt;em&gt;.&lt;/em&gt;&lt;/strong&gt; At first, I thought that I didn’t need something like Redux to manage application state globally. Once you get your head around &lt;code&gt;connect&lt;/code&gt;, &lt;code&gt;mapStateToProps()&lt;/code&gt;, and so on, having a global state store made React much easier to deal with for me. Of course, it all depends on the complexity of your app. Here are a few Redux video series and tutorials that I found invaluable:&lt;/p&gt;

&lt;p&gt;These videos are from the founder of Redux, Dan Abramov, and they are excellent:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://egghead.io/series/getting-started-with-redux"&gt;Part 1: Getting Started with Redux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://egghead.io/courses/building-react-applications-with-idiomatic-redux"&gt;Part 2: Building React applications&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Kurt Weiberth has created his own &lt;a href="https://www.youtube.com/playlist?list=PLQDnxXqV213JJFtDaG0aE9vqvp6Wm7nBg"&gt;tutorial series on React + Redux&lt;/a&gt;, and while I watched these before the series by Dan (I think you should start with Dan’s perhaps), Kurt’s are really helpful as well!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/gothinkster/react-redux-realworld-example-app"&gt;React+Redux Real World Example&lt;/a&gt;: As you might observe, the Redux examples above deal with a Todo list app, and while I recently discovered the second part of Dan’s tutorials are more real world, I found this “real world” example to be helpful as well.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.thegreatcodeadventure.com/building-a-simple-crud-app-with-react-redux-part-1/"&gt;Creating a CRUD React+Redux&lt;/a&gt; was the example I followed when first deciding to try out Redux. There is a lot of good information in Sophie’s posts, but I think I would’ve understood things better had I reviewed Dan’s series before checking this one out.&lt;/p&gt;

&lt;p&gt;I felt like the nature of my app needed client-side routing. Part of this was probably based on my experience with Angular. As a result, &lt;strong&gt;&lt;em&gt;I encourage you to check out&lt;/em&gt;&lt;/strong&gt; &lt;a href="https://github.com/ReactTraining/react-router/blob/v2.8.1/docs/guides/README.md"&gt;&lt;strong&gt;&lt;em&gt;React Router 2.x&lt;/em&gt;&lt;/strong&gt;&lt;/a&gt; &lt;strong&gt;&lt;em&gt;.&lt;/em&gt;&lt;/strong&gt; It’s definitely different than how Angular’s ngRoute or ui-router work, and so it helped me to find examples.&lt;/p&gt;

&lt;p&gt;I started with React Router 4, which was brand-spankin’ new. I managed to get a version of my app using version 4, however I found that there are VERY FEW examples that use version 4. I ended up downgrading to 2.7, since most of the examples and tutorials I came across used version 2.x. If you do want to use version 4, I came across one example that was in a blog post, and reached out to the author &lt;a href="https://twitter.com/bodiddlie"&gt;@bodiddlie&lt;/a&gt; and he &lt;a href="https://twitter.com/bodiddlie/status/852271980879396865"&gt;tweeted the link to his github repo&lt;/a&gt;. Sophie’s cat catalog (the CRUD example above) also uses react router 2.x.&lt;/p&gt;

&lt;p&gt;Finally, I need to invest some more time in &lt;strong&gt;&lt;em&gt;testing of React and Redux&lt;/em&gt;&lt;/strong&gt; , and found &lt;a href="https://medium.com/javascript-inside/some-thoughts-on-testing-react-redux-applications-8571fbc1b78f"&gt;this article&lt;/a&gt; provided a nice practical summary on ways to test.&lt;/p&gt;

&lt;p&gt;Many thanks to everyone who’s put up examples, docs, and tutorials!&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Originally published at&lt;/em&gt; &lt;a href="http://aroach.github.io/2017/05/03/getting-started-with-react.html"&gt;&lt;em&gt;aroach.github.io&lt;/em&gt;&lt;/a&gt; &lt;em&gt;on May 3, 2017.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>react</category>
      <category>redux</category>
      <category>javascript</category>
    </item>
    <item>
      <title>DevNet Create: Where Applications meet Codefrastructure!</title>
      <dc:creator>Ashley Roach</dc:creator>
      <pubDate>Thu, 23 Mar 2017 23:18:36 +0000</pubDate>
      <link>https://dev.to/aroach/devnet-create-where-applications-meet-codefrastructure</link>
      <guid>https://dev.to/aroach/devnet-create-where-applications-meet-codefrastructure</guid>
      <description>&lt;p&gt;In DevOps circles (and beyond), there’s a concept called Infrastructure as Code, or as I like to call it, Codefrastructure! :-)&lt;/p&gt;

&lt;p&gt;In the olden days, you know like five years ago, it used to be that racking and stacking hardware was a completely different process and skillset as compared to coding the application. (And, frankly infra and app people never crossed paths until there was a problem.)&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%2Fcdn-images-1.medium.com%2Fmax%2F854%2F1%2AB3d9pn2db2WqJPX14Znh9g.jpeg" 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%2Fcdn-images-1.medium.com%2Fmax%2F854%2F1%2AB3d9pn2db2WqJPX14Znh9g.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With the advent of public and private Cloud, the fundamental programming skills for creating applications are converging with those for spinning up and configuring environments, and deploying your application. This is because, as an industry, workloads are becoming abstracted and APIs are available for every layer of the infrastructure on which your application runs. It’s become table stakes. Next up, the industry is rapidly evolving into programming without worrying about servers. Today, this is taking the form of “serverless” and workflow type systems like IFTTT, Stamplay, Built.io, and Zapier.&lt;/p&gt;

&lt;p&gt;Which brings me to &lt;a href="https://www.devnetcreate.io/2017/" rel="noopener noreferrer"&gt;DevNet Create&lt;/a&gt;. I’m looking forward to talking with attendees about codefrastructure. That is, meeting and talking with people who are also engaged in figuring out how applications can better take advantage of capabilities in the infrastructure. If we can figure these concepts out, our applications can become more resilient, more fault-tolerant, and more valuable, providing a better overall user experience.&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%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2Azz9WpmLmCrtk2gpp5EMqLw.jpeg" 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%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2Azz9WpmLmCrtk2gpp5EMqLw.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I hope you can make it to &lt;a href="https://www.devnetcreate.io/2017/" rel="noopener noreferrer"&gt;DevNet Create&lt;/a&gt;! We’re planning to pack it full of great content, speakers, and activities to help us all explore the intersection of applications and infrastructure.&lt;/p&gt;

&lt;p&gt;Registration is now open, so take advantage of &lt;a href="https://www.eventbrite.com/e/devnet-create-2017-registration-32833321348" rel="noopener noreferrer"&gt;early bird pricing&lt;/a&gt;! And invite your coolest friends to come along.&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%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2A4exctEwWMyyzk1N5ASEm7A.jpeg" 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%2Fcdn-images-1.medium.com%2Fmax%2F1024%2F1%2A4exctEwWMyyzk1N5ASEm7A.jpeg"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Follow me on Twitter &lt;a href="https://twitter.com/aroach" rel="noopener noreferrer"&gt;@aroach&lt;/a&gt; and use this hashtag: #Codefrastructure!&lt;/p&gt;




&lt;p&gt;&lt;em&gt;This post was originally published on &lt;a href="https://blog.devnetcreate.io/codefrastructure-f8ff673d32ba" rel="noopener noreferrer"&gt;medium.com&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>cloudcomputing</category>
      <category>cloudfrastructure</category>
      <category>serverless</category>
      <category>devnetcreate</category>
    </item>
  </channel>
</rss>
