<?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: Jaz</title>
    <description>The latest articles on DEV Community by Jaz (@watchjazcode).</description>
    <link>https://dev.to/watchjazcode</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%2F238439%2F5ced6fe7-ac38-46c8-8685-6cacfb2b90c9.jpeg</url>
      <title>DEV Community: Jaz</title>
      <link>https://dev.to/watchjazcode</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/watchjazcode"/>
    <language>en</language>
    <item>
      <title>Rotten Tomatoes: Top 25 Horror Movies - A CLI Ruby Gem</title>
      <dc:creator>Jaz</dc:creator>
      <pubDate>Sat, 23 Nov 2019 18:05:44 +0000</pubDate>
      <link>https://dev.to/watchjazcode/rotten-tomatoes-top-25-horror-movies-a-cli-ruby-gem-49mk</link>
      <guid>https://dev.to/watchjazcode/rotten-tomatoes-top-25-horror-movies-a-cli-ruby-gem-49mk</guid>
      <description>&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%2Fuser-images.githubusercontent.com%2F24573221%2F69467910-04617380-0d58-11ea-86cc-6fe3a0f916e3.png" class="article-body-image-wrapper"&gt;&lt;img alt="Screen Shot 2019-11-22 at 12 38 21 AM" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F24573221%2F69467910-04617380-0d58-11ea-86cc-6fe3a0f916e3.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Admittedly, creating my big project was anxiety inducing, so much so that I stalled a bit before tackling it. My hesitation was evenly distributed into two buckets: concern related to my ability and concern related to the actual build. However, despite my lingering fears, I can FINALLY say I’ve completed my very first portfolio project and created my first Ruby gem! &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Project Walk Through&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;For my first project I knew that I wanted to make something fun, that I myself would want to use. I love horror movies and often find myself perusing top horror lists, in hopes of finding new movies and opinions on them. Creating a top horror movies Ruby CLI gem was a logical way to combine horror and code. The next step involved finding a website from which I could scrape my data. The Rotten Tomatoes website seemed like a great choice because the interface is simple, and the data is always evolving since it is updated frequently.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What does this Ruby CLI gem do?&lt;/strong&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%2Fuser-images.githubusercontent.com%2F24573221%2F69467911-04617380-0d58-11ea-9627-5ec89ce838ba.png" class="article-body-image-wrapper"&gt;&lt;img alt="Screen Shot 2019-11-22 at 12 38 41 AM" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F24573221%2F69467911-04617380-0d58-11ea-9627-5ec89ce838ba.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This Ruby CLI gem provides an interactive top 25 horror movie list, from the Rotten Tomatoes website. The user is given the list upon entering and is prompted with the question “would you like further information on a movie?” The user can then enter the number that corresponds with the movie they would like to learn more about. This will open the movie stats section with info on: rank, rating percentage, title, link to Rotten Tomatoes page, and total number of reviews.&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%2Fuser-images.githubusercontent.com%2F24573221%2F69467908-04617380-0d58-11ea-9dd5-f449fdbda101.png" class="article-body-image-wrapper"&gt;&lt;img alt="Screen Shot 2019-11-22 at 12 39 32 AM" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F24573221%2F69467908-04617380-0d58-11ea-9dd5-f449fdbda101.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;At this level, the user can then choose to see a short synopsis on the movie and a random critic’s review. &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%2Fuser-images.githubusercontent.com%2F24573221%2F69467912-04617380-0d58-11ea-9175-d48458ab070f.png" class="article-body-image-wrapper"&gt;&lt;img alt="Screen Shot 2019-11-22 at 12 40 25 AM" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F24573221%2F69467912-04617380-0d58-11ea-9175-d48458ab070f.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Lastly, the gem prompts the user asking if they would like to see another movie. If yes, it will loop right back to the top 25 horror movie list; if no, the user will be ushered out of the program by some spooky skulls!&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%2Fuser-images.githubusercontent.com%2F24573221%2F69467909-04617380-0d58-11ea-858e-33ce68bf600c.png" class="article-body-image-wrapper"&gt;&lt;img alt="Screen Shot 2019-11-22 at 12 40 48 AM" src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fuser-images.githubusercontent.com%2F24573221%2F69467909-04617380-0d58-11ea-858e-33ce68bf600c.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Thoughts on Creating My First Project&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The overall project was somewhat challenging for me. This was my first experience creating any big project with code. Putting together all my knowledge into one thing felt like putting together one of those 1000 piece puzzles – I knew the info was in my brain... somewhere, but I had to work hard at piecing it all together. But, I did learn a couple of things throughout this process. &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;I am obsessed with leaving WEIRD RANDOM SPACES ALL OVER MY CODE, which as you can imagine is super problematic when testing it because I get a million error messages.&lt;/li&gt;
&lt;li&gt;I can trouble-shoot and ask for help! I needed assistance throughout this project, but allowed myself to struggle a bit, look up resources and eventually, reach out to programmers in my network. Took a while, but I have struck a healthy balance between the three.&lt;/li&gt;
&lt;li&gt;I should commit my code more routinely, and would benefit from committing smaller chunks with concise messages. Looking back through my commits, it would have been helpful to see the project broken down into even smaller pieces. &lt;/li&gt;
&lt;li&gt;With that in mind, though the record of my project build is a little sparse, I effectively planned it ahead of time. Planning ahead was useful in carrying out all the small stuff (i.e. writing needed methods &amp;amp; objects and knowing where they should go).&lt;/li&gt;
&lt;li&gt;I enjoyed working with data collection and scraping a whole lot! It might sound silly, but I found sifting through data and organizing it to be fun. If it were not for the time constraint and focus on creating a minimal viable product (project), I would have created more levels of information.&lt;/li&gt;
&lt;li&gt;Creating a gem was surprisingly difficult for me. When adding files to a commit, I added the “.gem” file itself, which caused chaos. After living in gem-creation-hell for around an hour, an important lesson was learned. With assistance, I filtered out any files that ended with “.gem” for it to work.&lt;/li&gt;
&lt;li&gt;Testing all my code in IRB/repl was so incredibly helpful. Prior to this, I really underestimated the importance of testing, and tinkering with code. But, I think breaking down this large project into small bits and allowing myself to try things out repeatedly was invaluable. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Moving Forward&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Overall, this was a challenging, but meaningful experience. I saw a project through from start to finish and made it through the hard stuff, which taught me to believe in myself way more than I did before. In relation to the CLI Ruby gem, in the future, I hope to refactor my code and possibly add other levels to enhance the user experience!&lt;/p&gt;

&lt;p&gt;If you are interested in checking out this CLI Ruby Gem or would like to contribute to its development, feel free to look at the repository on &lt;a href="https://github.com/watchjazcode/horror-movie-cli" rel="noopener noreferrer"&gt;Github&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ruby</category>
      <category>codenewbie</category>
      <category>womenintech</category>
      <category>wecoded</category>
    </item>
    <item>
      <title>Regex: The Mighty String Wrangler</title>
      <dc:creator>Jaz</dc:creator>
      <pubDate>Thu, 21 Nov 2019 01:06:41 +0000</pubDate>
      <link>https://dev.to/watchjazcode/regex-the-mighty-string-wrangler-3gg1</link>
      <guid>https://dev.to/watchjazcode/regex-the-mighty-string-wrangler-3gg1</guid>
      <description>&lt;p&gt;It’s about 10pm and after a very long day, I’m working to complete a Tic-Tac-Toe AI project. The goal of this project is to build a version of Tic-Tac-Toe with 0-, 1-, and 2-player modes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A 0-player game has two computer players playing against each other with no interaction from the user.&lt;/li&gt;
&lt;li&gt;A 1-player game has a human playing against a computer.&lt;/li&gt;
&lt;li&gt;A 2-player game has two human players.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Overall, the lab was going well.. until I hit a wall with the &lt;code&gt;valid_move?&lt;/code&gt; method. The method checks if the move a user wants to make is valid by ensuring two things happen:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;the space is not already taken &lt;/li&gt;
&lt;li&gt;user input consists of a string that is a number from 1-9.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;However, I had a bit of trouble figuring out how to confirm the user input is equal to a string that is a number. After struggling and testing a few things, I realized &lt;strong&gt;regex&lt;/strong&gt; would be a great way to solve this problem! &lt;/p&gt;

&lt;p&gt;Regex (regular expressions) are a very helpful tool in obtaining information from any text by searching for one or more matches of a particular search pattern (i.e. letters, numbers, words, phrases, ASCII). One of the best features of regex is that once you've learned the syntax, you can use it in many programming languages.&lt;/p&gt;

&lt;p&gt;Admittedly, my excitement in finding a solution to my &lt;code&gt;valid_move?&lt;/code&gt; method problem was met with some hesitation. Though using regex is super helpful, as a newbie programmer, I still struggle with writing the proper syntax to have it work in my code. My next move for this project involved figuring out how to write the regex I needed to make my method work. As with many things code related, it required some help from our good old friend.. the internet. In my search, I came across several sources that were beneficial, and thought they are worth sharing. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://medium.com/factory-mind/regex-tutorial-a-simple-cheatsheet-by-examples-649dc1c3f285"&gt;Regex Tutorial by Jonny Fox&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;A tutorial that is separated between basic, intermediate, and advanced usage. The basic overview provides information on anchors, quantifiers, and character classes.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://rubular.com/"&gt;Rubular: A Ruby regex editor&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Rubular is an awesome tool for visualizing what gets matched by a specific regular expression in Ruby. I use this tool pretty much every time I use regex. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.rexegg.com/regex-quickstart.html"&gt;Regex Cheat Sheet&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Another regex cheat sheet website that is a bit more extensive. It includes tables on various topics, such as: characters, whitespace, anchors/boundaries, and logic used in regex.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://stackoverflow.com/a/5661783"&gt;How to Test If A String is a Number in Ruby&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is the page on Stack Overflow that helped me with my Tic-Tac-Toe project.&lt;/p&gt;

&lt;p&gt;After researching and using Rubular to test that my regular expression matched the pattern, I successfully finished my &lt;code&gt;valid_move?&lt;/code&gt; method.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight ruby"&gt;&lt;code&gt;  &lt;span class="k"&gt;def&lt;/span&gt; &lt;span class="nf"&gt;valid_move?&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;string_index&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="kp"&gt;false&lt;/span&gt; &lt;span class="k"&gt;unless&lt;/span&gt; &lt;span class="n"&gt;string_index&lt;/span&gt; &lt;span class="o"&gt;=~&lt;/span&gt; &lt;span class="sr"&gt;/^[0-9]+$/&lt;/span&gt;
    &lt;span class="n"&gt;index&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;string_index&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;to_i&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;
    &lt;span class="n"&gt;index&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;between?&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mi"&gt;8&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="n"&gt;taken?&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;string_index&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="k"&gt;end&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I think it's safe to say that though regex is a bit confusing at times, it is a &lt;strong&gt;mighty&lt;/strong&gt; tool and worth spending the time to learn. Regex adds value in writing functional and succinct code, and it is fun seeing just how funky these regular expressions can look!&lt;/p&gt;

</description>
      <category>codenewbie</category>
      <category>womenintech</category>
      <category>ruby</category>
      <category>regex</category>
    </item>
    <item>
      <title>Code &amp; Psychotherapy: More Similar Than You Think!</title>
      <dc:creator>Jaz</dc:creator>
      <pubDate>Mon, 18 Nov 2019 16:44:49 +0000</pubDate>
      <link>https://dev.to/watchjazcode/code-therapy-more-similar-than-you-think-3743</link>
      <guid>https://dev.to/watchjazcode/code-therapy-more-similar-than-you-think-3743</guid>
      <description>&lt;p&gt;&lt;a href="https://i.giphy.com/media/l36kU80xPf0ojG0Erg/giphy.gif" class="article-body-image-wrapper"&gt;&lt;img src="https://i.giphy.com/media/l36kU80xPf0ojG0Erg/giphy.gif" alt=""&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;In my previous post, I briefly mentioned how working with clients as a psychotherapist is analogous to programming. Part of being a good therapist means understanding how a client sees the world and why. Similarly, while learning to code, I continuously find myself discovering how computers see the world and why. Two important aspects of both human and computer interactions are communication and problem solving. &lt;/p&gt;

&lt;p&gt;Being a therapist relies on effective communication with clients, which is very complex and nuanced, especially from person to person; we learn how to communicate in an individualized way with every person that comes through our doors. However, there are core components of communication with humans, that overlap with those in computer interaction. Communication requires knowing the parameters of interaction, which consists of learning syntax, operating within mutually agreed upon defined concepts, and becoming familiar with common patterns. &lt;/p&gt;

&lt;p&gt;In programming, we do exactly these things when we conform to proper syntax, define concepts via variable/method/classes/object creation, and learn patterns like if statements, while loops and iteration. Therapy and writing code both share the idea that you are working within a language that has a certain framework, to achieve a goal. &lt;/p&gt;

&lt;p&gt;Problem solving is another important piece of therapy and some would argue, the point. Typically, when working with clients, we focus on a specific life area that is causing them discomfort. Together we discuss the pieces of the problem and develop a plan on how to change it, which involves creating and maintaining new behaviors, testing these behaviors, and evaluating them to see if they are useful in helping alleviate our original problem. &lt;/p&gt;

&lt;p&gt;In a similar vein, programs are often created as an answer to a “problem”, whether it be: to automate routine tasks, improve on existing tools, collect and analyze data, or a myriad of other reasons. Programmers run through a similar process where we develop, maintain, test, and evaluate our programs. A great example that mirrors therapy is debugging. It is particularly relevant in showing how we work to find a root cause for a problem and work to fix it through this process.&lt;/p&gt;

&lt;p&gt;Overall, I hope this post demonstrates that &lt;strong&gt;writing code and psychotherapy are more similar than you think!&lt;/strong&gt; Both require strong problem-solving and communication skills to be done effectively to work towards greater goals. &lt;/p&gt;

</description>
      <category>codenewbie</category>
      <category>womenintech</category>
      <category>womenwhocode</category>
    </item>
    <item>
      <title>A Career Switch</title>
      <dc:creator>Jaz</dc:creator>
      <pubDate>Mon, 30 Sep 2019 23:45:57 +0000</pubDate>
      <link>https://dev.to/watchjazcode/a-career-switch-gm</link>
      <guid>https://dev.to/watchjazcode/a-career-switch-gm</guid>
      <description>&lt;p&gt;(originally posted on 8/22/19)&lt;/p&gt;

&lt;p&gt;Hey there, I'm Jazmin! I'm an aspiring software engineer and overall geek from NYC. &lt;/p&gt;

&lt;p&gt;Since studying software development, a question I've gotten quite frequently from people outside of tech is "what is a software developer/engineer?" and "why did you decide to become one?"&lt;/p&gt;

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

&lt;p&gt;Describing programming can be difficult, especially if the person asking does not know much about tech or computers. As you can imagine, this makes explaining why I would want to learn how to code, even trickier. But, after much practice (mostly with my super smart, but non-techie dad), I've gotten it down to "I want to speak to computers and comprehend when they speak back". This is pretty much received with a chuckle sometimes, but almost always followed by curiosity. Curiosity is one of my favorite things because it is driven by a desire to understand. I believe when we take the time to truly "get" something, magic happens.&lt;/p&gt;

&lt;p&gt;For the past 12 years, I guess you can say I've worked in the business of understanding -- humans! I've worked in mental health as a researcher, therapist and consultant, which more often than not requires a deep desire to "know" someone. Being a therapist, most of my time is spent taking that understanding and using it to help people. Often help means having clients develop, maintain, test or evaluate their feelings, and like writing code -- thoughts and behaviors.&lt;/p&gt;

&lt;p&gt;Two years ago, I rediscovered programming via the internet and was in complete awe. I never fathomed that I could find similarities between my current career and that of a software engineer. Yet, as I delved deeper I was pleasantly surprised by an innovative, diverse, and ever growing industry and decided, I wanted to be part of that. &lt;/p&gt;

&lt;p&gt;Ultimately, what led me to this &lt;strong&gt;career switch&lt;/strong&gt; is empathy driven development and design. I want to create, support and evaluate programs that will enhance and even radically change the lives of others and society, with empathy at the forefront. I'm excited for an opportunity to understand computers and humans alike.&lt;/p&gt;

</description>
      <category>beginners</category>
      <category>codenewbie</category>
      <category>womenwhocode</category>
      <category>womenintech</category>
    </item>
  </channel>
</rss>
