<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Jude Pineda</title>
    <description>The latest articles on Forem by Jude Pineda (@jpin27).</description>
    <link>https://forem.com/jpin27</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%2F195210%2F876e79f4-c152-4842-a671-75e883091993.jpeg</url>
      <title>Forem: Jude Pineda</title>
      <link>https://forem.com/jpin27</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/jpin27"/>
    <language>en</language>
    <item>
      <title>Debugging Saturday: React is not cooperating with me</title>
      <dc:creator>Jude Pineda</dc:creator>
      <pubDate>Sat, 24 Aug 2019 05:06:33 +0000</pubDate>
      <link>https://forem.com/jpin27/test-post-1-1jm1</link>
      <guid>https://forem.com/jpin27/test-post-1-1jm1</guid>
      <description>&lt;p&gt;Hello! This post originally started as a dummy post to test how the DEV.to API communicates with my website. Well, since I'm here anyway, I might as well describe what I'm trying to accomplish.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Problem 👻
&lt;/h2&gt;

&lt;p&gt;I'm using &lt;a class="mentioned-user" href="https://dev.to/emasuriano"&gt;@emasuriano&lt;/a&gt;'s amazing &lt;a href="https://www.gatsbyjs.org/starters/EmaSuriano/gatsby-starter-mate/" rel="noopener noreferrer"&gt;Mate starter&lt;/a&gt; for GatsbyJS. I'm trying to use DEV.to posts instead of Medium posts. I have successfully changed the source plugin to &lt;code&gt;gatsby-source-dev&lt;/code&gt; and my DEV.to posts have been successfully grabbed by GraphQL, but I'm trying to figure out how to render the actual elements on my website.&lt;/p&gt;

&lt;p&gt;My site successfully outputs the cards - one for each blog post because I have two posts so far - but the elements are returned as 'undefined':&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%2Fc19sn8us9mgy9wzig2e3.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%2Fc19sn8us9mgy9wzig2e3.PNG" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  An attempt at a solution 🤔
&lt;/h2&gt;

&lt;p&gt;I really think it has something to do with the &lt;code&gt;render&lt;/code&gt; function after my GraphQL query. Hopefully I get this fixed by the end of the week - I would like to have a nice portfolio website out as soon as I can. Who doesn't?&lt;/p&gt;

&lt;h2&gt;
  
  
  What I learned 🎓
&lt;/h2&gt;

&lt;p&gt;I discovered what the ES6 spread function is. It's a pretty nifty tool - if we were using ES6 at work, I would definitely use it. &lt;/p&gt;

&lt;p&gt;I have also learned about lambda functions. When I was trying to find out what the double =&amp;gt; arrow =&amp;gt; function means, I was visited by a ghost of my undergrad years - function currying. I am so glad I have learned all about it in school; otherwise, I would have been much more confused.&lt;/p&gt;

&lt;h2&gt;
  
  
  Status
&lt;/h2&gt;

&lt;p&gt;This is my first time debugging a React web app. Talk about a trial by fire 🔥! The solution might come as a very simple one for some, but I'm still trying to unravel all the abstractions on this code, and I'm already on my second Starbucks drink.  &lt;/p&gt;

&lt;p&gt;I should probably get dinner. My head hurts.&lt;/p&gt;

</description>
      <category>testing</category>
      <category>graphql</category>
      <category>gatsby</category>
      <category>react</category>
    </item>
    <item>
      <title>What production environments can learn from McDonalds</title>
      <dc:creator>Jude Pineda</dc:creator>
      <pubDate>Wed, 14 Aug 2019 17:27:53 +0000</pubDate>
      <link>https://forem.com/jpin27/what-production-environments-can-learn-from-mcdonalds-4ipb</link>
      <guid>https://forem.com/jpin27/what-production-environments-can-learn-from-mcdonalds-4ipb</guid>
      <description>&lt;p&gt;I figured it would be apt to have my first Dev.to post be about something I find in common between my current development job and my entry-level job.  &lt;/p&gt;

&lt;p&gt;Imagine this: You walk into a McDonalds to get lunch. Among the usual menu items &lt;em&gt;(and the occasional waiting around for the menu to come back because an ad took over the entire screen)&lt;/em&gt;, you see a new food item that wasn't in the menu the last time you went there.  &lt;/p&gt;

&lt;p&gt;After ordering it out of interest, the manager asks you how you liked the new item - or just surreptitiously look at you to see how you would react on your first few bites.  &lt;/p&gt;

&lt;p&gt;There are three possible outcomes for this scenario:  &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; You &lt;strong&gt;hate it&lt;/strong&gt;. You take one bite, not finish your meal, and let the manager know that you didn't like this new food item. Nearly all others hate it as well, and the following week, you don't see the new food item anymore.&lt;/li&gt;
&lt;li&gt;You &lt;strong&gt;love it&lt;/strong&gt;, as well as a lot of other people. This item eventually becomes a permanent menu item on all McDonalds restaurants nationwide, possibly even replacing something that wasn't selling as much as this new item.&lt;/li&gt;
&lt;li&gt;You and &lt;strong&gt;probably half&lt;/strong&gt; of the store's customers like it. Since not everybody hates this new menu item, it makes it to the menu across all McDonalds restaurants as an "a-la-carte" item: it's not popular enough to be have its own number on the Value Meal list.
&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This is a very common occurrence that happens at most major fastfood places. When I worked at McDonalds, we called it an LTO - a "limited time offer" - and is usually only rolled out to one region to see how customers would like it before making a decision to feature it nationwide.&lt;/p&gt;

&lt;p&gt;This concept is not something new in the restaurant industry, and it also has a place in software development. It's called &lt;strong&gt;canary deployment&lt;/strong&gt;, and involves: &lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"pushing programming code changes to a small number of end users who have not volunteered to test anything"&lt;/em&gt;.   &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;em&gt;"Deploying code to non-volunteers?! What a dubious production model!"&lt;/em&gt;  &lt;/p&gt;

&lt;p&gt;The concept might sound suspicious (&lt;em&gt;why would you push code to non-testers?&lt;/em&gt;), but the reality is that canary deployment only seems dubious because source code is unlike something tangible like a burger, or a milkshake. &lt;/p&gt;

&lt;p&gt;In fact, canary deployment is something that is already being implemented in most enterprise software. GitLab has procedures on &lt;a href="https://docs.gitlab.com/ee/user/project/canary_deployments.html" rel="noopener noreferrer"&gt;how to enable canary deployment&lt;/a&gt; and describes it as a "popular continuous deployment strategy". Klarna, a company that provides financial services to online businesses, suggests in their dev blogs that canary deployment &lt;a href="https://engineering.klarna.com/simple-canary-releases-in-aws-how-and-why-bf051a47fb3f" rel="noopener noreferrer"&gt;adds a huge level of confidence&lt;/a&gt; to software releases. The Netflix Tech Blog article &lt;a href="https://medium.com/netflix-techblog/deploying-the-netflix-api-79b6176cc3f0" rel="noopener noreferrer"&gt;"Confidence in the Canary"&lt;/a&gt; shows that canary deployment takes up a big part of their testing pipeline, right in the middle between regression tests and red-black tests:  &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%2F778akfq7gh1244tvorn2.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%2F778akfq7gh1244tvorn2.png" alt="Chart showing the Netflix testing pipeline"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Canary deployment is as common as Shamrock Shakes, Chestnut Praline Lattés, and all the other delicious things that we didn't really ask for to be added on the menu, but we still nonetheless eat. After all, isn't the reason we keep coming back to McDonalds is to see what exciting new burger we can try?&lt;/p&gt;

</description>
      <category>testing</category>
      <category>devops</category>
      <category>codequality</category>
    </item>
  </channel>
</rss>
