<?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: Anders Hornor</title>
    <description>The latest articles on DEV Community by Anders Hornor (@andershornor).</description>
    <link>https://dev.to/andershornor</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%2F144976%2Fc17b7d3d-e4a4-45c9-9ba2-f41d7c3baf5b.png</url>
      <title>DEV Community: Anders Hornor</title>
      <link>https://dev.to/andershornor</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/andershornor"/>
    <language>en</language>
    <item>
      <title>Vulnerabilities: Filling a Sieve with Sand </title>
      <dc:creator>Anders Hornor</dc:creator>
      <pubDate>Wed, 18 Dec 2019 01:52:55 +0000</pubDate>
      <link>https://dev.to/andershornor/vulnerabilities-filling-a-sieve-with-sand-1dno</link>
      <guid>https://dev.to/andershornor/vulnerabilities-filling-a-sieve-with-sand-1dno</guid>
      <description>&lt;p&gt;Maybe you have a github and you get messages about it or maybe you write libraries that I get messages about, but I'm assuming at some point you've experienced a development somewhere that's either highlighted or caused an issue with some program you've written. Well why does this happen so consistently and what can I do about it?&lt;/p&gt;

&lt;h3&gt;
  
  
  Vulnerability vs Risk
&lt;/h3&gt;

&lt;p&gt;Vulnerability is seen as an exploitable aspect of the program you've written. Risk is a potentially exploitable aspect if something changes. Like wiring for those light strips on planes that direct you to the exits that's functionality is contingent on air pressure is a risk factor but not an exploit. Wiring that controls those lights that direct you to the exits on planes that if you mess with in a particular way gives you control of the doors is an exploit. &lt;/p&gt;

&lt;h3&gt;
  
  
  Why Do they Exist Though?
&lt;/h3&gt;

&lt;p&gt;Well people can only assume so much about how things can be misused. People cant see the future. come on. &lt;br&gt;
Also each layer of abstraction that is the conglomeration of multifarious conditionals that coalesce into a program each assume specific input/s. As programs and all their dependencies develop their individual outputs change. When any output changes the quality of is functionality changes as well. In certain instances this change leads to exploitable deficiencies. &lt;/p&gt;

&lt;h3&gt;
  
  
  What Can I Do THough!?
&lt;/h3&gt;

&lt;p&gt;Nothing you're fucked! Just kidding. Forethought is Key ie planning. Developing plans should be based in evidence. Knowing of "pinch points" or places with dynamics that have historically caused issues can help you highlight your potential threats. I feel like this is part of best practices really or at least justification for why certain best practices are what they are. &lt;br&gt;
Keep up to date. Tests heavily. Release slowly. Eat regularly. It all helps.&lt;/p&gt;

&lt;p&gt;That's all I got. Get out and make something. This one is nothing to write home about. Till next time.&lt;/p&gt;

</description>
      <category>vulnerabilities</category>
    </item>
    <item>
      <title>Building a PC - What not to do.</title>
      <dc:creator>Anders Hornor</dc:creator>
      <pubDate>Wed, 11 Dec 2019 05:53:57 +0000</pubDate>
      <link>https://dev.to/andershornor/building-a-pc-what-not-to-do-3jna</link>
      <guid>https://dev.to/andershornor/building-a-pc-what-not-to-do-3jna</guid>
      <description>&lt;p&gt;So my birthday is around the corner...I guess I'm still justifying the purchase but I bought a PC like 5 days ago, but on the cheap because it came in pieces. More like there was a sale on PC parts on Amazon and my buddy made a pc so remembering all the days as a kid pining for a wicked fast thread-ripping gaming pc I bought a bunch of pieces for my first ever battlestation. Now running windows 7 because I had it...My most recent mistake I will say. It had no opportunity costs though. I had an unopened ultimate version sitting on a shelf.... I wonder why XD... &lt;/p&gt;

&lt;p&gt;Anyway. I made some other mistakes along the way so here we gooOoooOOOO!!&lt;/p&gt;

&lt;h4&gt;
  
  
  BULLET LIST OF WHAT NOT TO DO:
&lt;/h4&gt;

&lt;p&gt;1.Don't trust Amazon shipping times. Be patient or buy it elsewhere if it's not too expensive.&lt;/p&gt;

&lt;p&gt;2.Read a bit about putting together a PC before you put it together.&lt;/p&gt;

&lt;p&gt;3.Doublecheck compatibility on site like &lt;a href="https://pcpartpicker.com/list/"&gt;this&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;4.Spend time clearing a space to work in.&lt;/p&gt;

&lt;p&gt;5.Move all animals to other spaces.&lt;/p&gt;

&lt;p&gt;6.Read the basic info about your Motherboard and follow all instructions included. &lt;/p&gt;

&lt;p&gt;7.Fuck it you know what just lay all the different instructions that come in each part box out and double check the specifics for each part. &lt;br&gt;
-each part most likely comes with a generic set-of-instructions-for-installation specific to other compatible parts (think power supply instructions) lay them all out next to each other and look for the instructions specific to the parts you have. This way you'll be certain your connections and installation is correct if issues arise elsewhere.&lt;/p&gt;

&lt;p&gt;8.When you get uncharacteristically angry after you didn't lock down your cpu before realizing you would have to take out your motherboard to install the aftermarket heatsink for your cpu and end up dropping your cpu on the ground and bend some pins and get lint in it, eat some food, you're really hungry.&lt;/p&gt;

&lt;p&gt;9.Put the CPU in first the right time.&lt;/p&gt;

&lt;p&gt;10.read I/O installation instructions carefully multiple times. Get it right the first time because it's how you turn the damn thing on most likely. It's a bitch when you don't know what else could be the issue.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Be careful with your ATX connections. You can ruin it all real quick. Kind of like dropping a CPU.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;12.Take your damn time. &lt;/p&gt;

&lt;p&gt;These became suggestions but yeah I dropped my cpu, didn't connect my I/O properly, and had issues connecting the right cpu power. It all worked out in the end but Be careful. This shits expensive. &lt;/p&gt;

&lt;p&gt;Till next time!   &lt;/p&gt;

</description>
      <category>pcbuilding</category>
    </item>
    <item>
      <title>Bash History Contd. You can load an old bash history!</title>
      <dc:creator>Anders Hornor</dc:creator>
      <pubDate>Wed, 04 Dec 2019 04:31:38 +0000</pubDate>
      <link>https://dev.to/andershornor/bash-history-contd-you-can-load-an-old-bash-history-g0k</link>
      <guid>https://dev.to/andershornor/bash-history-contd-you-can-load-an-old-bash-history-g0k</guid>
      <description>&lt;p&gt;It's True You can load an old bash History!&lt;br&gt;
&lt;a href="https://dev.to/andershornor/terminal-history-how-to-make-it-work-for-you-3hk"&gt;See Last Weeks Post For More on Bash History&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;So this could be easily adapted into a script that should in essence move through your entire History and add each old history to a new super long history. But anyway here's how to load an old bash history. &lt;/p&gt;

&lt;p&gt;So first off as opposed to last time when we were working with the &lt;code&gt;.bash_profile&lt;/code&gt; file this time were working with the &lt;code&gt;.bashrc&lt;/code&gt; file.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;.bashrc.&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;So a little aside about this cool file. The &lt;code&gt;.bashrc&lt;/code&gt; file is a file your terminal runs before it opens. Due to this fact you can add commands to it that the terminal will run as it opens. So this would be a kind of a hacky way to do this and I know there are more elegant ways to due this. I need to explore bash commands more in general  mean shit theres probably a way to do this with straight up bash commands any way. This cooooool &lt;code&gt;.bashrc&lt;/code&gt; file can run commands as you open the file. Now that I think of it. I could probably write a command in my &lt;code&gt;.bash_profile&lt;/code&gt; that does this...&lt;/p&gt;

&lt;p&gt;Anyway &lt;code&gt;.bashrc&lt;/code&gt; runs commands as the terminal opens so there's definitely a little loop in there that would make a super history. Set the HISTFILESIZE and HISTSIZE to super large and then loop throught all the &lt;code&gt;.bash_session/....historynew&lt;/code&gt; files and &lt;code&gt;history -a&lt;/code&gt; them all. Followed up by a &lt;code&gt;history -r&lt;/code&gt; and voila super file throuretically.&lt;/p&gt;

&lt;h3&gt;
  
  
  Opening A Specific History file.
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;type- &lt;code&gt;nano ~/.bash_profile&lt;/code&gt; -into your terminal&lt;/li&gt;
&lt;li&gt;In your &lt;code&gt;.bash_profile&lt;/code&gt; file at the very top enter this code
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;HISTFILE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&amp;lt;&lt;span class="nb"&gt;history &lt;/span&gt;file you want to open thats probable bash_session/.../&amp;lt;somenumbers&amp;gt;.historynew&lt;span class="sb"&gt;`&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;reload your terminal&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Voila -&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Old History!&lt;/p&gt;

&lt;p&gt;Till Next week Adventureres!!!!&lt;/p&gt;

</description>
      <category>bash</category>
    </item>
    <item>
      <title>Terminal History - How to make it work for you.</title>
      <dc:creator>Anders Hornor</dc:creator>
      <pubDate>Wed, 27 Nov 2019 04:37:34 +0000</pubDate>
      <link>https://dev.to/andershornor/terminal-history-how-to-make-it-work-for-you-3hk</link>
      <guid>https://dev.to/andershornor/terminal-history-how-to-make-it-work-for-you-3hk</guid>
      <description>&lt;p&gt;I recently was looking for some old commands I had made in my terminal and was hit hard when I realized I can only scroll so far back into a window. Well after some sleuthing I found out a way to not only look at old commands from long lost windows but also a was to restore old terminal sessions that may have a bash function that does just what you need it to do or something. So the story...&lt;br&gt;
While looking at the oldest entry of my my newly opened terminal window I noticed something interesting. I saw this line of text:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;Last login: Tue Nov 26 11:19:59 on ttys004
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;and it had me curious. If my terminal is taking some time stamp of my previous commands and saving it till that point maybe it has more or others. Well it does. &lt;/p&gt;

&lt;h4&gt;
  
  
  Terminal History: What is it?
&lt;/h4&gt;

&lt;p&gt;Your terminal saves a history or all the commands committed over a period of time or a bash history. Each history is stored with a collection of other information as a bash session. Each bash session has a timestamp associated with an id and a store of all the commands that were committed during a set period of time. Dope right! &lt;/p&gt;

&lt;p&gt;Each session can also be loaded into your bash_profile in essence restoring that session which is also a neat trick. Any way How do I see/ use all this cool shit? Easy peasy.&lt;/p&gt;

&lt;h4&gt;
  
  
  &lt;code&gt;history&lt;/code&gt;
&lt;/h4&gt;

&lt;p&gt;With the bash command &lt;code&gt;history&lt;/code&gt; typed into your terminal a log of the previous (defaulted to 500) commands typed into your terminal will be displayed. &lt;/p&gt;

&lt;p&gt;You can update the length of record in a few easy steps.&lt;/p&gt;

&lt;p&gt;First you need to access your Terminal by opening that Search in your applications folder in your Finder File-Manager.&lt;/p&gt;

&lt;p&gt;Next type &lt;code&gt;history&lt;/code&gt; Voila your terminal history. &lt;/p&gt;

&lt;p&gt;lol you typed the same command three times 3 different ways then moved files three times and tried the command a fourth way then went back to the original file &lt;code&gt;ls&lt;/code&gt;'ed it then typed the fourth command a fourth time. &lt;br&gt;
Oh you goof you! xP&lt;/p&gt;

&lt;p&gt;Now checkout your bash_profile because next you need to edit that file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;nano &lt;span class="nt"&gt;-w&lt;/span&gt; ~/.bash_profile
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Now you're cookin with gasoline so be careful I guess. There's a way to undo stuff in here (your bash_profile), but maybe you have some dope custom bash commands that you don't want to mess up or you didn't set up your bash_profile and got ran a command at some point that did and you aren't quite sure what all of the commands are that have been added and the file is full' of comments; it's all ugly and you dont know whats what in this jungle of a file open in your two-sizes-too-small, why-is-it-mustard-colored, terminal, so don't fuck with anything.&lt;/p&gt;

&lt;p&gt;or maybe it just says path and has a path and that's about it.&lt;/p&gt;

&lt;p&gt;Anyway your bash_profile looks you don't want to break anything you just want to either edit or add the lines(choose your own number; blank is ∞):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nv"&gt;HISTSIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;613511236114111118312
&lt;span class="nv"&gt;HISTFILESIZE&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;613511236114111118312
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;hint: use the &lt;code&gt;control + W&lt;/code&gt; command to search in file open in a nano editor&lt;/p&gt;

&lt;p&gt;Now you have an awesomely long bash history. If you ever need to find something again well you can. You're welcome. Now when you get all pissed off because you defined a variable in your bash window and can't re-assign it or something (I'm coming up with these on the spot, nothing to go off yet :) don't fret. You can delete your bash history...yes it's possible. &lt;/p&gt;

&lt;p&gt;with the quick and dirty command&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;history -c
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;and it's gone. &lt;/p&gt;

&lt;p&gt;Now for next time, .bash_sessions, restoring past histories, restoring past sessions, and saving the world one command at a time.&lt;/p&gt;

&lt;p&gt;for fun check out some files in your &lt;code&gt;/Users/&amp;lt;your-username-here&amp;gt;/.bash_sessions&lt;/code&gt; file&lt;/p&gt;

&lt;p&gt;It's got everything you need to look deeply into your past. Soooo Deep you can almost touch it! &lt;/p&gt;

</description>
      <category>terminal</category>
    </item>
    <item>
      <title>Middleware...WTF is it?</title>
      <dc:creator>Anders Hornor</dc:creator>
      <pubDate>Wed, 27 Nov 2019 04:31:54 +0000</pubDate>
      <link>https://dev.to/andershornor/middleware-wtf-is-it-2f7j</link>
      <guid>https://dev.to/andershornor/middleware-wtf-is-it-2f7j</guid>
      <description>&lt;h6&gt;
  
  
  A SMKPCPTBCADeeDive into Middleware indeeeed ... What ever the ferck° that is.
&lt;/h6&gt;

&lt;h4&gt;
  
  
  MiddleWare for the 30th time...
&lt;/h4&gt;

&lt;p&gt;So as I began my journey into programming I first came across the idea of middleware when I was learning about Ruby and jumped head first into the world of full stack with Rack. I had no Idea what it was or what it did. I was just downloading , typing, clicking, following along n such. So to add clarity to my understanding I looked into Middleware and came across &lt;a href="https://books.google.com/books?id=AZgnDwAAQBAJ&amp;amp;pg=PT45#v=onepage&amp;amp;q&amp;amp;f=false"&gt;Introduction To MiddleWare: Web Services, Object Components and Cloud Computing&lt;/a&gt;by Letha Hughes Etzkorn.&lt;/p&gt;

&lt;p&gt;She began to expand my understanding of this integral technology and summed up the nature of Middleware well when citing major contributors to its establishment in this following quote: &lt;/p&gt;

&lt;p&gt;First of all, according to Oracle:&lt;/p&gt;

&lt;p&gt;Middleware is the software that connects software components or enterprise applications. Middleware is the software layer that lies between the operating system and the the applications on each side of a distributed computer network. Typically, it supports complex, distributed software applications.&lt;/p&gt;

&lt;p&gt;The following definition for Techopedia (2016) is more comprehensive:&lt;/p&gt;

&lt;p&gt;Middleware is a software later situated between applications and operating systems. Middleware is typically used in distributed systems where it simplifies software development by doing the following:&lt;/p&gt;

&lt;p&gt;-Hides the intricacies of distributed applications.&lt;br&gt;
-Hides the heterogeneity of hardware, operating systems, and protocols&lt;br&gt;
-Provides a set of common services that minimizes duplication of efforts and enhances collaboration between applications&lt;/p&gt;

&lt;p&gt;The following definition from Apprenda (2016) is also good to use in the context of this textbook because it clarifies that in todays world, cloud computing is also considered to be part of middleware:&lt;/p&gt;

&lt;p&gt;A simple middleware definition: software that connects computers and devices to other applications. It can also be referred to as the slash or connecting point in client/server. Another way to define middleware is to say that it is software that acts as a liaison between applications and networks. The term is often used in the context of cloud computing, such as public or private cloud.&lt;br&gt;
" (4-5, Ektorn, L. H., 2017).&lt;/p&gt;

&lt;p&gt;As you can see from this one quote alone middleware is more than just a small cog in the big machine that is any program. It is the fabric that holds an entire program together. It is the software that communicates between all of the different devices that make up a network. It is the language in way of the internet of things. From Intranet to Internet Middleware connects it all.&lt;/p&gt;

&lt;p&gt;°If anyone cares to read this footnote I'd be ecstatic if you would so kindly message me about your take on swearing in blog posts. I was considered a sailor of sorts at one point and swore like one before then. I still do but to my bests judgments solely when appropriate. Anyway I'd be much obliged. &lt;/p&gt;

&lt;p&gt;Citation:&lt;/p&gt;

&lt;p&gt;Etzkorn, L. H. (2017). Introduction to Middleware: Web Services, Object Components, and Cloud Computing. CRC Press. pp. 4–5. ISBN 9781498754101.&lt;/p&gt;

</description>
      <category>basics</category>
    </item>
    <item>
      <title>More About Node; Router() Is Pretty Dope</title>
      <dc:creator>Anders Hornor</dc:creator>
      <pubDate>Wed, 13 Nov 2019 07:55:32 +0000</pubDate>
      <link>https://dev.to/andershornor/more-about-node-router-is-pretty-dope-3ggf</link>
      <guid>https://dev.to/andershornor/more-about-node-router-is-pretty-dope-3ggf</guid>
      <description>&lt;h5&gt;
  
  
  In an earlier post I talked about why people use Node with express and referenced some web snooping I'd done to make most of my claims. Well now I'm back with a little more meat to fatten my claims as to be honest I feel like Node has not disappointed yet. Maybe I just want to justify my time spent learning it. Anyway, Node's built-in Router Object is pretty great.
&lt;/h5&gt;

&lt;p&gt;Shoutout to &lt;a href="https://www.udemy.com/"&gt;Udemy&lt;/a&gt;....and &lt;a href="https://flatironschool.com/"&gt;Flatiron&lt;/a&gt; too I guess ¯_(ツ)_/¯?&lt;/p&gt;

&lt;h3&gt;
  
  
  Router()™ MakesIt Simpler
&lt;/h3&gt;

&lt;p&gt;One of the first web apps I made was a Ruby on Rails Single Page App(SPA)ˇ. It had a views folder that handled all my pages, then a routes.rb file that outlined all the routes. It was oddly the most frustrating part of setting up ruby apps half of the time. Its convoluted unlike a lot of other aspects of Ruby best practices in my opinion. Anyway the routes were always a hassle to set up and their order was generally an issue and it constantly felt redundant and repetitive. Well Node is less so and arguably "Super Streamlined Sawcesome....Sauce®". &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Router turns a convoluted Routing process in Ruby into a one-stop-shop part of the function that processes the request. It turns three steps into one. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Router makes processing parameters a breeze. Routers Class methods include easy to use parameter management functions like &lt;a href="http://expressjs.com/en/5x/api.html#app.param"&gt;express.Router().param()&lt;/a&gt; Also, unlike Ruby with the potential for malicious code to be passed through as parameters, Node with express's parameters are fairly secure (dont quote me on that. It's my assumption as of yet).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Router makes Node with express do what it was intended to do. The compartmental yet minimalistic nature of Router lends itself well to a highly scalable efficient Web App.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;ˇI will literally reference this as SPA in later blog posts without defining the acronym first. Watch Out! Madman on the loose! Whaaaaaa!&lt;/p&gt;

&lt;p&gt;| ヽ(。_°)ノ |!!!!&lt;/p&gt;

</description>
      <category>node</category>
      <category>noderouter</category>
      <category>routernode</category>
    </item>
    <item>
      <title>Building with Node.js; A First Take.</title>
      <dc:creator>Anders Hornor</dc:creator>
      <pubDate>Wed, 06 Nov 2019 06:05:39 +0000</pubDate>
      <link>https://dev.to/andershornor/building-with-node-js-a-first-take-o7n</link>
      <guid>https://dev.to/andershornor/building-with-node-js-a-first-take-o7n</guid>
      <description>&lt;h3&gt;
  
  
  Node
&lt;/h3&gt;

&lt;p&gt;Well first and foremost I must preface this post with a disclaimer: I have a lot more to learn about Node.js and Express.js and just JS. &lt;/p&gt;

&lt;h4&gt;
  
  
  It's Just A Bunch of JS.
&lt;/h4&gt;

&lt;p&gt;Anyway, as I've been working through some basics of setting up a server with Node I've come to realize that it is very much a child of its foreparent JavaScript. I have a lot to learn about JS let me tell you but at the outset I feel like I'm writing JavaScript...Oh wait... I am. So there's that. At the outset of this journey I'm finally realizing that is is just a huge library built on top of JavaScript and. &lt;/p&gt;

&lt;h4&gt;
  
  
  It Comes With Capacity
&lt;/h4&gt;

&lt;p&gt;So-far everything I've needed has been available with &lt;a href="http://expressjs.com/"&gt;express.js&lt;/a&gt;. I imagine there are tons of other libraries/frameworks/packages that are all as if not more powerful that express.js. Gotta get crackin.&lt;/p&gt;

&lt;h4&gt;
  
  
  Syncs Well With VS Code
&lt;/h4&gt;

&lt;p&gt;Im using VS Code and I am always blown away with the amount of user generated linters and other fun and powerful packages have been built for Node.&lt;/p&gt;

&lt;h4&gt;
  
  
  Express Is Stupid Simple In A Good Way
&lt;/h4&gt;

&lt;p&gt;Accessing request parameters is as straightforward as it comes. Because the server stores data in JSON format there is no need to convert data after or before each request. This I hear also reduces processing time making for quicker web-apps. &lt;/p&gt;

&lt;h4&gt;
  
  
  Tried And True
&lt;/h4&gt;

&lt;p&gt;Node.js use is growing and for a good reason. It's very powerful, built on a language most people are familiar with, and straightforward. &lt;/p&gt;

&lt;p&gt;Thanks for Reading, Till next time!&lt;br&gt;
Something Juicier&lt;/p&gt;

</description>
      <category>node</category>
      <category>express</category>
      <category>nodewithexpress</category>
    </item>
    <item>
      <title>New to Node; Exploring a Favorite</title>
      <dc:creator>Anders Hornor</dc:creator>
      <pubDate>Wed, 30 Oct 2019 05:28:24 +0000</pubDate>
      <link>https://dev.to/andershornor/new-to-node-exploring-a-favorite-c2d</link>
      <guid>https://dev.to/andershornor/new-to-node-exploring-a-favorite-c2d</guid>
      <description>&lt;p&gt;Going through the career transition process I was originally overwhelmed with the shear volume of languages the field of computer science has developed over the years. I don't have an exact number, but there are easily over 2000 languages. The possibility exists for nearly infinite languages due to the nature of programming allowing for countless layers of abstraction. Each layer has the capacity for some ungodly number of languages. It's mind numbing nearing existential. Anyway, as I slowly built my way into the world of programming I realized that some languages are more common than others. Initially I learned to build with Ruby on Rails and thought about little else. As I built more I became aware of the regard given Ruby on Rails and wanted work my way into other server-side languages. As I apply for jobs and talk to potential employers I keep hearing about a languages I have little experience with yet. I keep hearing about Node.js. As I've been looking into the language I've become aware of why it is favored. &lt;/p&gt;

&lt;h3&gt;
  
  
  Node.js is fast
&lt;/h3&gt;

&lt;p&gt;Apparently Node was developed to create fast network type applications and that's what it does. From what I read, Node's main capacity is a high level of scalability. It works well to hold multiple connections that are simultaneously interacting with a server. This seems to be due to Node storing data in a JSON format. &lt;/p&gt;

&lt;h3&gt;
  
  
  NPM is great!
&lt;/h3&gt;

&lt;p&gt;Nodes built in package manager is highly transparent, accessible, and built. NPM offers quick and easy access to countless libraries of packages that make building easier and more powerful.&lt;/p&gt;

&lt;h3&gt;
  
  
  Makes Cross-Platform Easy
&lt;/h3&gt;

&lt;p&gt;Nodes plethora of packages have been built up to make cross-platform development a given. Without much work your programs can be built for Linux, MacOS, and Microsoft applications simultaneously. &lt;/p&gt;

&lt;h3&gt;
  
  
  Simplifies Distributed Workload
&lt;/h3&gt;

&lt;p&gt;The nature of JS programs modularity and Node's capacity for continuous and multifarious communication Node makes working with large projects simpler. Many teams can potentially develop simultaneously with ease.  &lt;/p&gt;

&lt;p&gt;These four reasons make Node a more than worthwhile language to learn. As I learn more about it I'll be sure to share. I apologize for the contrived and relatively unoriginal post. &lt;/p&gt;

&lt;p&gt;Till next week, something more entertaining :P &lt;/p&gt;

</description>
      <category>node</category>
    </item>
    <item>
      <title>The Perfect Portfolio: Projects that Please People</title>
      <dc:creator>Anders Hornor</dc:creator>
      <pubDate>Wed, 23 Oct 2019 06:29:02 +0000</pubDate>
      <link>https://dev.to/andershornor/the-perfect-portfolio-projects-that-please-people-2gnm</link>
      <guid>https://dev.to/andershornor/the-perfect-portfolio-projects-that-please-people-2gnm</guid>
      <description>&lt;p&gt;Another day another dollar... or maybe not if you need a job. I keep reading these weird blogs about portfolio suggestions and then I look at my portfolio and Im like "WTF Anders!?!? Get on a level you lazy shit, build something better." Then I realize all the people making these blogs have been programming for a good 50% of my life. This sends me into a weird place where I think "Yea fuck those guys! They're not my demographic! They're not the other "Me's" in the world! They're looking for some job with seniority so fuck em! I just want to build more while learning more while making a little bit of money! So yes Fuck those other guys who write blogs about building a portfolio for some senior level job. Point to the website you built for the company you're leaving not some dinky thing you did in your spare time... I guess if you're doing the start up thing and are looking for some investors mock-ups are nice, but where are all the suggestions for people trying to break into the Web Dev world? Right here Mutha Sucka!&lt;/p&gt;

&lt;h3&gt;
  
  
  7 Portfolio Polishing Projects for Promise Seeking Plebs
&lt;/h3&gt;

&lt;h4&gt;
  
  
  !: Something You Would Consume
&lt;/h4&gt;

&lt;p&gt;Take a minute and think of something you would use and build that. Fuck all this pigeon-holed bullshit. If you would use it build it, and learn while you do. Reflecting on who you are and what you like will help you hone your own creative spirit and better your ability to communicate what you will add to wherever you're showing your portfolio.&lt;/p&gt;

&lt;h4&gt;
  
  
  @: A 'TaskLister™'
&lt;/h4&gt;

&lt;p&gt;It's the tried and true method to showing your basic understanding of how to use the basic tools of your trade. Make an app, program, or website that you can add, edit, and delete tasks on. Strut a bit by adding other features. Maybe a priorities feature? Maybe a calendar? Maybe it looks like its from the 80's? ––idk you do you!––&lt;/p&gt;

&lt;h4&gt;
  
  
  #: A Basic Game
&lt;/h4&gt;

&lt;p&gt;Show off your dopeness by recreating a favorite simple game. You played snake as a kid!? Get it! You used to dominate a minesweeper leaderboard!? Why the fuck not!? You've got feather fingers? Tetris is always a fun functional challenge!&lt;/p&gt;

&lt;h4&gt;
  
  
  $: An Online Market
&lt;/h4&gt;

&lt;p&gt;Craigslist was built in a day! Very much a lie, but how hard can it be!? In reality you're layering a site in a way that make sense. Users, Users posts, adding posts, editing posts, deleting posts, maybe even purchasing a post!?! The list goes on. All the features that are a part of an online market are the building blocks of 90% (maybe more!?(definitely not less)) of every website ever. &lt;/p&gt;

&lt;h4&gt;
  
  
  %: Is That A Project Board I See?
&lt;/h4&gt;

&lt;p&gt;Get in the Create - Edit - Delete - Style mindset with a communal task lister. A Project Board!!! Styling becomes key here so be ready to hone those CSS skills, You're making a Project board! Build a site that lets people track and manage their progress (maybe even a multiple peoples progress) on a project. Functional and promotional!&lt;/p&gt;

&lt;h4&gt;
  
  
  ^: You Say Tomato I Say A Thing-Finder
&lt;/h4&gt;

&lt;p&gt;Build something that interacts with the myriad of API's out on the net that make accessible location data. Why not find the coolest brewery, brew-shop, or pet spa near you!? There are countless API's out there and go develop your own "Blue Steel" with a powerful use of all that Data!&lt;/p&gt;

&lt;h4&gt;
  
  
  &amp;amp;: SoSocial Media
&lt;/h4&gt;

&lt;p&gt;Nurture your aging wings with a Social media site. Maybe it's a blog, or a picture sharing site, or you want to clone reddit idk dream-it dreamers! A Social media site meets almost all prerequisites for showing off. You've got style, classes, components, data-storage, data processing, users, posts, chat, comments and feeds all in one place. "It's like the new age TaskLister™" - The Zuuck, aka MKZB. &lt;/p&gt;

&lt;h3&gt;
  
  
  Just Do It!
&lt;/h3&gt;

&lt;p&gt;Anything you build can be great it just takes time, commitment and maybe some trust in yourself. If you think it would be fun to use build it. No matter what you're building you're going to be displaying your skills. It's more than your styling or structure it's you sharing yourself through your code.&lt;/p&gt;

&lt;p&gt;Till next time! &lt;br&gt;
Maybe back to Sets?&lt;/p&gt;

</description>
      <category>portfolio</category>
      <category>projectsuggestions</category>
    </item>
    <item>
      <title>Networking: Building Relationships Through Reciprocity</title>
      <dc:creator>Anders Hornor</dc:creator>
      <pubDate>Wed, 16 Oct 2019 05:41:46 +0000</pubDate>
      <link>https://dev.to/andershornor/networking-building-relationships-through-reciprocity-45ei</link>
      <guid>https://dev.to/andershornor/networking-building-relationships-through-reciprocity-45ei</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--IYuqY1-F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://files.stlouisfed.org/files/htdocs/publications/images/employment/Thinkstock_network.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IYuqY1-F--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://files.stlouisfed.org/files/htdocs/publications/images/employment/Thinkstock_network.jpg" alt="NetworkingNuggets"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Networking is more than just Connecting
&lt;/h3&gt;

&lt;p&gt;If you're a forever learner like me you can't stop looking for new and inspiring technologies, philosophies, theories, and when it really comes down to it people. The people we meet throughout our life are the most powerful tool every individual has to be great and keep learning and progressing. The people around us act as the sounding boards and filters through which we create understanding of the world by validating or not individuals' expressions of understanding of the world. In this way the people around us are the truest of teachers as they act to solidify the nuggets of learning found in every experience one encounters. Due to the importance of those around us to situate all that is learnt I want to take a chance to talk about a recent insight that was shared with me as I work to hone my network and networking skills. &lt;/p&gt;

&lt;h3&gt;
  
  
  The Nugget
&lt;/h3&gt;

&lt;p&gt;I have been working through a career transition and have had ample opportunity and good reason to network. Through my exploration of the Software Development and Engineering community in the Greater Seattle Area I was introduced to a new friend through the power of a LinkedIn People search at a specific company. This new friend spent a solid hour chatting with me about their own journey into Software Development and their current pursuits at a company they are rather comfortable at. Not only was their graciousness with their time relieving and empowering they were able to share with me some of the nuggets passed on to them through their own Networking Journey. My new friend shared with me their opportunities to build relationships around the world that has lead them to a deep and extensive network of some thousands of people. They followed up a seemingly boastful comment with the nugget that they haven't been doing it to find the next best job perse but instead to explore the community they have become a part of; and in doing so help nurture that community into one they want to be more a part of. This struck me as I had never thought of networking in such a way. I had thought of organizing my room or my desktop or my desk in such a way, "building the environment I want to live in" kind of thing, but never had I thought of professional relationships in such a way.&lt;/p&gt;

&lt;h3&gt;
  
  
  Build It For Them For You
&lt;/h3&gt;

&lt;p&gt;What does it mean to nurture a community though. My new friend outlined their method to successfully networking a network of success.&lt;/p&gt;

&lt;h4&gt;
  
  
  Look for "Companies" not "Jobs"
&lt;/h4&gt;

&lt;p&gt;When building your network first look for companies that: as an employee you will want to be successful in; as a consumer you will feel happy consuming; and as an owner you will feel proud managing.&lt;/p&gt;

&lt;h4&gt;
  
  
  Reach out!
&lt;/h4&gt;

&lt;p&gt;Once you find somewhere great find out who makes it great. Reach out to the new and old employees, managers, and contractors that have built the companies you stand behind. By exploring who makes greatness you yourself will get insight into how to make greatness. Also there is no way to build into and add something great without connecting with those that have built it.&lt;/p&gt;

&lt;h4&gt;
  
  
  Inquire about the Company and not the Job
&lt;/h4&gt;

&lt;p&gt;Look into the company and not the job. Doing so will elucidate how you can best benefit the company and community you can stand behind.&lt;/p&gt;

&lt;h4&gt;
  
  
  When it's Apples and Oranges talk to your Oranges
&lt;/h4&gt;

&lt;p&gt;When the nature of your greatness will not build well into the greatness of the company that you stand behind think of those whose greatness will. By transitively building greatness you will not only benefit from what is built but also you will help build a community that requires acknowledgement of the support others give to build it. Without acknowledging those that have helped build a community the community will develop away from what has made it great to that point. Not only do communities you build in away rely on you to exist, people love to be helped and are more willing to help when they have been helped. By leading by example in a way you will show others how to show thanks and perpetuate the greatness that you have induced.&lt;/p&gt;

&lt;h3&gt;
  
  
  Thanks!
&lt;/h3&gt;

&lt;p&gt;Till Next time! Maybe back to Set objects? Maybe some fun with styling? I always can learn more about css flex-box, grids, and div shaping. Maybe some dynamic styling is in order? Anyway tune in next week for another installment of Web Development with Ders –– The One-Stop-Shop for Everything....Ders&lt;/p&gt;

</description>
      <category>networking</category>
      <category>wisomnugget</category>
      <category>developmentwithders</category>
    </item>
    <item>
      <title>VS Code ShortCuts and Tricks</title>
      <dc:creator>Anders Hornor</dc:creator>
      <pubDate>Wed, 09 Oct 2019 05:20:46 +0000</pubDate>
      <link>https://dev.to/andershornor/vs-code-shortcuts-and-tricks-25fg</link>
      <guid>https://dev.to/andershornor/vs-code-shortcuts-and-tricks-25fg</guid>
      <description>&lt;p&gt;A brief overview of the shortcuts and tricks built into VS Code that have made my life easier.&lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Original Computerists: What d' I Gotta be to be O.C.&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;The original computers and computerists would know little of the thing we call a moust today. Before the modern day touch screen display we've all become so comfortable with today there was a thing called the trackpad, before that a little nub in the middle of your keyboard. Before that? A ball lodged into a stationary ergonomic block on your desk and Before that was the mouse made famous by not working on reflective flat surfaces. Before all that was the mouse that was distantly related to braces in its ability to store bits of things you've been eating for weeks. Before that a wooden block with two wheels on its bottom and a red button on top. Before that the one that catches food but as a military secret. Before that though!? Nothing. The original computerists were masters of the keyboard never lifting their hands off the desk. Computers are built around commands and mouses are really just tools that through a few hardwired levels of abstraction send out the commands that computers crave. As such everything you do on a computer should be doable from the keyboard. To my knowledge this isn't so much the case anymore but I'm no keyboard Wizard. I do know though that when grinding out some wicked functions, using the keyboard shortcuts and commands to their fullest makes life easier. &lt;/p&gt;

&lt;p&gt;I use the text editor Visual Studio Code developed by Microsoft. Because Microsoft people do a lot with computers (some of the original computerists) and as such they built some handy shortcuts into their text editor.&lt;br&gt;
&lt;a href="https://code.visualstudio.com/#home-terms"&gt;Link to Install&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;*&lt;/strong&gt;&lt;strong&gt;Disclaimer&lt;/strong&gt;&lt;strong&gt;*&lt;/strong&gt; I use a mac so for anyone running a Windows or Linux OS use the &lt;code&gt;ctrl&lt;/code&gt; key in place of the &lt;code&gt;⌘&lt;/code&gt;. Also I get it O.C. has already been coined.   &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;First Things First - Files From the Command Line&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;So I believe this tidbit is included in some aspect of the setup of VS Code but VS code has some easily implemented bash commands. Instead of having to set up a bash/shell command to open files in VS code yourself, using the &lt;code&gt;⇧⌘P&lt;/code&gt; then typing &lt;code&gt;shell command&lt;/code&gt; into the search bar  and selecting the first suggestion will add the command to your bash commands. Now typing &lt;code&gt;code&lt;/code&gt; from any file or directory in the terminal will open that file or directory in VS code.&lt;/p&gt;

&lt;p&gt;Now that VS code is easily accessible here are in-editor commands.&lt;br&gt;
Cheat Sheets:&lt;br&gt;
– &lt;a href="https://code.visualstudio.com/assets/docs/getstarted/tips-and-tricks/KeyboardReferenceSheet.png"&gt;Mac&lt;/a&gt; – &lt;a href="https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf"&gt;Windows&lt;/a&gt; – &lt;a href="https://code.visualstudio.com/shortcuts/keyboard-shortcuts-linux.pdf"&gt;Linux&lt;/a&gt; – &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Shortcuts: Slices of Success&lt;/strong&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Quick Keyboard Reference List
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;⌘&lt;/code&gt;: command key&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;⌥&lt;/code&gt;: alt key&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;⌃&lt;/code&gt;: control key&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;⇧&lt;/code&gt;: shift key&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;←&lt;/code&gt;&lt;code&gt;→&lt;/code&gt;&lt;code&gt;↑&lt;/code&gt;&lt;code&gt;↓&lt;/code&gt;: arrow keys&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;esc&lt;/code&gt;: escape key&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  General
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Quick Search/Open File: &lt;code&gt;⌘P&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Jump to Matching Bracket: &lt;code&gt;⇧⌘/&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Show General Search: &lt;code&gt;⇧⌘F&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Yes there is a &lt;em&gt;Zen Mode&lt;/em&gt;: &lt;code&gt;⌘KZ&lt;/code&gt; (&lt;code&gt;esc&lt;/code&gt; to exit)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Line Traversal: Live-Coding Keyboard Wizardry
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Move Line Up/Down: &lt;code&gt;⌥↑&lt;/code&gt; / &lt;code&gt;⌥↓&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Go-to Beginning/End: &lt;code&gt;fn←&lt;/code&gt; / &lt;code&gt;fn→&lt;/code&gt; or &lt;code&gt;⌘↑&lt;/code&gt; / &lt;code&gt;⌘↓&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Delete Line: &lt;code&gt;⇧⌘K&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Go-to Line: &lt;code&gt;⌃G&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Go-to File (aka "Quick Search/Open File): &lt;code&gt;⌘P&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Go-to Symbol: &lt;code&gt;⇧⌘O&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;Show All Symbols: &lt;code&gt;⌘T&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Integrated Terminal: The All-in-One-Place Place
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Show Terminal: &lt;code&gt;^&lt;/code&gt;`&lt;/li&gt;
&lt;li&gt;New Terminal: &lt;code&gt;^⇧&lt;/code&gt;`&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  That's it That's all...For Now
&lt;/h3&gt;

&lt;p&gt;I can see your gears working...ok maybe not but all of these awesome built in shortcuts and commands will at least get you admission the WagHertz School of Keyboard Whizkidery. From there you have to... you know ... kill a guy – maybe a few – to make it to the top, but at least this'll get you there. &lt;/p&gt;

&lt;h2&gt;
  
  
  &lt;strong&gt;Till Next Time!&lt;/strong&gt;
&lt;/h2&gt;

&lt;p&gt;To &lt;em&gt;thaat&lt;/em&gt; point, Good Luck! &lt;/p&gt;

</description>
      <category>vscode</category>
      <category>keyboardshortcuts</category>
      <category>whoneedsamouseanyway</category>
    </item>
    <item>
      <title>JavaScript Set Objects - Episode II - Gettin' Jiggy Wit' it</title>
      <dc:creator>Anders Hornor</dc:creator>
      <pubDate>Wed, 02 Oct 2019 03:56:36 +0000</pubDate>
      <link>https://dev.to/andershornor/javascript-set-objects-episode-ii-gettin-jiggy-wit-it-p0h</link>
      <guid>https://dev.to/andershornor/javascript-set-objects-episode-ii-gettin-jiggy-wit-it-p0h</guid>
      <description>&lt;p&gt;In my &lt;a href="https://dev.to/anders1216/js-set-part-1-5e72"&gt;first blog&lt;/a&gt; of this series I introduced the Set object. I outlined an instance in which the use of a Set object and its uniqueness check simplified an already overly complex function by making a placeholder hash and two iterative methods unnecessary. In this blog I will to cover some more methods built into the JS Set Objects and where they are useful. &lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;Set.prototype.add(value)&lt;/code&gt; &amp;amp;&amp;amp; &lt;code&gt;Set.prototype.delete(value)&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Like many other data stores Set objects have basic functions do introduce and remove elements from them. They are identical in use to the similar functions for Arrays and Hashes.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;set1&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;set is so cool!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

  &lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;Set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;s&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;e&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;t&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;i&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;o&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;c&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;l&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;set1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Wat?&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

  &lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;Set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;10&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;s&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;e&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;t&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;i&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;o&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;c&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;l&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Wat?&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;set1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;delete&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;i&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

  &lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;Set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;s&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;e&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;t&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;o&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;c&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;l&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Wat?&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

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



&lt;h3&gt;
  
  
  &lt;code&gt;Set.prototype.has(value)&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Similar to Arrays Set objects have a built in class method that checks for particular values within the Set object. The method returns a boolean value depending on if the value is present(true) or not(false). This is super useful for powerful conditional functions.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;set1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;has&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;i&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;set1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;delete&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Wat?&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="nx"&gt;set1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;add&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;WAT!?&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;set1&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

  &lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;Set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;s&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;e&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;t&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;o&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;c&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;l&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Wat?&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;code&gt;Set.prototype.clear()&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;As described in my first blog of this series Set objects are akin to a Hash Array hybrid in a way. Unlike either Set objects have an included function that works to empty the elements of the Set.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;set1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;has&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;Wat?&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="nx"&gt;set1&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;clear&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;

  &lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;Set&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;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  &lt;code&gt;Set.prototype.entries()&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;The Set object's built in class methods also break the Array-Hash paradigm with the &lt;code&gt;Set.prototype.entries()&lt;/code&gt;method. This class method returns a &lt;code&gt;SetIterator&lt;/code&gt; object that contains all the elements of the original Set object as key-value pairs where each key and value are the element (maybe succinct but definitely confusing examples FTW).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;set2&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;set is so cool!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

  &lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nb"&gt;Set&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;9&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;s&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;e&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;t&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;o&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;c&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;l&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;entries&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;set2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;entries&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;entries&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

  &lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;SetIterator&lt;/span&gt;&lt;span class="err"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;s&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;s&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;e&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;e&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;t&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;t&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;i&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; 
  &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;i&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;o&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;o&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;c&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;c&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;l&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;l&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

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



&lt;h3&gt;
  
  
  &lt;code&gt;Set.prototype.values()&lt;/code&gt; &amp;amp;&amp;amp;/|| &lt;code&gt;Set.prototype.keys()&lt;/code&gt;
&lt;/h3&gt;

&lt;p&gt;Back into the Hash-Array relationship Set objects have a similar function to hashes that returns the values or keys of the Set. Unlike Hashes the &lt;code&gt;Set.prototype.values()&lt;/code&gt; and &lt;code&gt;Set.prototype.keys()&lt;/code&gt; both return the same  SetIterator object containing all of the elements of the original Set even when key-value pairs are present. Whence I am a famous programmer I will return to this post and explain why a SetIterator that is identical to the set its a part of. My inkling is that it has to do with efficiency. SetIterator objects have one class method, SetIterator.prototype.next(). ~&lt;em&gt;&lt;em&gt;My assumption&lt;/em&gt;&lt;/em&gt;~ is that they take less memory to store because they are similar to linked lists. Anyway, examples:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="nx"&gt;set2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;values&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

  &lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;SetIterator&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;s&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;e&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;t&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;o&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;c&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;l&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nx"&gt;set2&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;keys&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

  &lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;SetIterator&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;s&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;e&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;t&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt; &lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;o&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;c&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;l&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;!&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="kd"&gt;let&lt;/span&gt; &lt;span class="nx"&gt;set3&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Set&lt;/span&gt;&lt;span class="p"&gt;([{&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;key&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;value&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},{&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;keys&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;values&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}])&lt;/span&gt;

&lt;span class="nx"&gt;set3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;keys&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

  &lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;SetIterator&lt;/span&gt; &lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;key&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;value&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},{&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;keys&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;values&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;

&lt;span class="nx"&gt;set3&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;values&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

  &lt;span class="err"&gt;#&lt;/span&gt;&lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="nx"&gt;SetIterator&lt;/span&gt; &lt;span class="p"&gt;{{&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;key&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;value&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;},{&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;keys&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="s2"&gt;values&lt;/span&gt;&lt;span class="dl"&gt;"&lt;/span&gt;&lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  Next Time!
&lt;/h3&gt;

&lt;p&gt;That is about it for Set. Thank you for checking out my blog! I plan to revisit this blog in the coming months when I am more knowledgeable about Set and all its wonderful uses. Till next time!&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>setobject</category>
      <category>jiggywitit</category>
    </item>
  </channel>
</rss>
