<?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: sholm</title>
    <description>The latest articles on DEV Community by sholm (@sidneyholmes).</description>
    <link>https://dev.to/sidneyholmes</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%2F874463%2F23ea3f71-3fd4-425c-a949-6bc8ce7902f8.png</url>
      <title>DEV Community: sholm</title>
      <link>https://dev.to/sidneyholmes</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sidneyholmes"/>
    <language>en</language>
    <item>
      <title>Custom Css loader themes on steam deck</title>
      <dc:creator>sholm</dc:creator>
      <pubDate>Mon, 19 Dec 2022 03:26:24 +0000</pubDate>
      <link>https://dev.to/sidneyholmes/custom-css-loader-themes-on-steam-deck-bif</link>
      <guid>https://dev.to/sidneyholmes/custom-css-loader-themes-on-steam-deck-bif</guid>
      <description>&lt;h2&gt;
  
  
  intro
&lt;/h2&gt;

&lt;p&gt;In this article I will going over how to create custom CSS elements on the steam deck UI. You will need to have Decky-loader installed to start, you can find the instructions at there &lt;a href="https://github.com/SteamDeckHomebrew/decky-loader" rel="noopener noreferrer"&gt;github&lt;/a&gt;. Now firstly lets understand what css loader is if your not already familiar.&lt;/p&gt;

&lt;h2&gt;
  
  
  what is css loader
&lt;/h2&gt;

&lt;p&gt;Css Loader is a npm module mostly used for web-pack that interpretes @import and url()'s to import/require, but when it comes to the Decky-loader, it is a plugin that allows for the download of custom css elements like curved borders, custom backgrounds, color changes, and more. If you have not installed css-loader through Decky-loader now is the time.&lt;/p&gt;

&lt;h2&gt;
  
  
  Creating custom themes
&lt;/h2&gt;

&lt;p&gt;I highly recommend using &lt;a href="https://github.com/suchmememanyskill/Steam-Deck-Theme-Template" rel="noopener noreferrer"&gt;this template repository&lt;/a&gt; to begin messing around.&lt;/p&gt;

&lt;p&gt;When creating a custom theme the file structure falls upon a theme.json and shared.css file, example below&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//theme.json
{
  "name": 'menu color theme'
  "author": "Me",
    "manifest_version": 1,
    "target": "Other",
    "description": 'changes steam menu color'
    "inject": { "shared.css": ["MainMenu"] }
}

//shared.css
// \/ the class name.
.mainmenu_Menu_23IDi { background: #36146e}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The shared.css file will use the class names to add on or edit the way it appears, the theme.json file will determine where everything will be displayed and apply options (if any) to the theme. The method to obtain the class names of the steam deck ui is through the CEF debugger.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to use the CEF Debugger
&lt;/h2&gt;

&lt;p&gt;The CEF Debugger allows you to directly mess around with the styling of the steam deck UI, here is the steps to enable and start working with it.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Enable CEF debugger&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;In the Decky-loader general settings enable "Allow Remote CEF Debugging"&lt;br&gt;
&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fafe1bht3ei58389amy0b.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fafe1bht3ei58389amy0b.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(optional) You can also enable auto-enable on the CEF remote debugger in the steam deck developer setting in miscellaneous&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Connect to your steam deck&lt;/strong&gt; &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Obtain your steam deck IP by going to internet settings and clicking on the connected network&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwvqlltrwpgppjsj899fl.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwvqlltrwpgppjsj899fl.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;once obtained in a browser go to {browser}://inspect (chrome://inspect, brave://inspect, arc://inspect)&lt;/p&gt;

&lt;p&gt;click configure on Discover network targets and insert {steamdeck ip}:8081, once done a new remote target should appear with your decks ip attached like so.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fry8i8krhvlvvthnhbdgm.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fry8i8krhvlvvthnhbdgm.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Understanding the debugger&lt;/strong&gt;
Now that were connected we have access to the main UI tabs, keep in mind that to access the tabs correctly your steamdeck must be on and viewing said tab.&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;SP &lt;br&gt;
SP is the steam decks main user interface to the current page being viewed, this includes but is not limited to home, library, settings, and store&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;MainMenu&lt;br&gt;
This tab represents the 'steam' button menu &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;QuickAccess&lt;br&gt;
The quick access menu is the '...' button menu&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To understand how to make live edits the styling im going to go through an example of changing the color styles of the MainMenu.&lt;/p&gt;

&lt;p&gt;To start I will need to inspect the MainMenu tab and make sure the steamdeck has the tab in view.&lt;br&gt;
Its best to use the select element button to find and make changes to specific css elements.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi3pokjk8ns5b8samwqyr.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi3pokjk8ns5b8samwqyr.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I used the select element to get the main div and class name of the main menu and filterd the class name through the styling debugger.&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fum3zt5e3yk83vh1vy3f9.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fum3zt5e3yk83vh1vy3f9.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;now all i have to do is change the background style to my selected color. &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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkdkhblgqfnp8bb6fc04c.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fkdkhblgqfnp8bb6fc04c.png" alt="Image description"&gt;&lt;/a&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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdbp4xnzii6798bao302h.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%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fdbp4xnzii6798bao302h.png" alt="Image description"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is the main process to viewing and styling the steam deck UI. The shared.css and theme.json files are used to upload the theme to the css loader plugin in decky. To get a better understanding of that process, please go to the &lt;a href="https://github.com/suchmememanyskill/CssLoader-ThemeDb" rel="noopener noreferrer"&gt;CSS loader themeDB repository&lt;/a&gt; for more information&lt;/p&gt;

&lt;h2&gt;
  
  
  conclusion
&lt;/h2&gt;

&lt;p&gt;I hope this dev post made it a bit easier to begin creating your own custom styling, once again do not be afraid to use the template repository and official css loader themDB repository to expand your knowledge of this new technology to the fullest.&lt;br&gt;
Thank you for reading!&lt;/p&gt;

</description>
      <category>steamdeck</category>
      <category>css</category>
    </item>
    <item>
      <title>What's Inside Your Desktop?</title>
      <dc:creator>sholm</dc:creator>
      <pubDate>Mon, 12 Dec 2022 15:37:22 +0000</pubDate>
      <link>https://dev.to/sidneyholmes/whats-inside-your-desktop-38ig</link>
      <guid>https://dev.to/sidneyholmes/whats-inside-your-desktop-38ig</guid>
      <description>&lt;h2&gt;
  
  
  Intro
&lt;/h2&gt;

&lt;p&gt;In this DEV post I will be going over the components in a computer, there functionality, and how they communicate with each other. So of course lets start with the hardware. &lt;/p&gt;

&lt;h2&gt;
  
  
  Hardware
&lt;/h2&gt;

&lt;p&gt;A computer has a multitude of different parts to accomplish specific functions. Operating systems have a larger roll in how our hardware communicates with each other, but for now lets examine these parts and what they do!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;CPU&lt;br&gt;
People call the Central Computing Unit the brain of a computer, and for good reason. Its main task is to calculate instructions from our ram, and execute those instructions to our other hardware components for say rendering with our GPU or collecting data from our ram or storage devices. &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Motherboard&lt;br&gt;
The motherboard is the glue keeping all our components together.&lt;br&gt;
Its where we place all our parts so that they can communicate with each other. Motherboards come in varying sizes and different CPU chip slots (Intel, AMD). &lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Power supply&lt;br&gt;
The PSU (power supply unit) converts AC power from the wall outlet to unregulated DC while reducing the voltage by using a input power transformer. This power is transferred to the rest of the parts.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;GPU&lt;br&gt;
The Graphics processing unit has dedicated memory to a variety of graphically intensive tasks, but most popularly VFX rendering and graphically intensive video games.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;RAM&lt;br&gt;
The Random access memory stores temporary memory till the computer is shutdown, an example of this is the copied text in the clipboard&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;HDD/HHD/SSD (storage)&lt;br&gt;
A hard disk drive, hybrid drive, and solid state drive all have the important task of storing long term memory for continues use. All software on a computer is stored here from the operating system to .txt files. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Software
&lt;/h2&gt;

&lt;p&gt;Our software contains the operating system and applications we download on that system to communicate to our hardware. Common operating systems run in an infinitely loop to continuously run, common operating systems in use are Windows, Linux, and Mac-OS. The browser is another important piece of software allowing connection to the world wide web for installation of other software. The software is a critical component to operating a computer, but the communication between the hardware is just as if not more important.&lt;/p&gt;

&lt;h2&gt;
  
  
  communication between hardware and software
&lt;/h2&gt;

&lt;p&gt;All software installed are constantly making checks through the CPU for user input. CPU's usually contain integrated graphics to allow for rendering of the basic's like the operating system, but the process is usually done by the GPU.&lt;/p&gt;

&lt;p&gt;When a user input is made like moving the mouse, the CPU calculates the current position of the mouse on the screen and gets the GPU or integrated graphics to re-render the location of the mouse. Clicking on applications like a browser, references the original file in the storage device and the RAM keeps track of the number of tabs in the browser. &lt;/p&gt;

&lt;p&gt;This is only a small example of the amount work done by your computer to keep everything running in order smoothly, and the process of can alter depending on the software in use.&lt;/p&gt;

&lt;h2&gt;
  
  
  conclusion
&lt;/h2&gt;

&lt;p&gt;The desktop computer uses all its parts in tandem with each other to keep installed software running effectively and smoothly. My personal favorite part about these machines are the ability to upgrade any part individually when ever you want. The links below are the sources used for this DEV post and I hope I gave you a better understanding of the computer you may be on right now. &lt;/p&gt;

</description>
    </item>
    <item>
      <title>The techniques used in Ai</title>
      <dc:creator>sholm</dc:creator>
      <pubDate>Mon, 28 Nov 2022 15:01:13 +0000</pubDate>
      <link>https://dev.to/sidneyholmes/the-techniques-used-in-ai-10eb</link>
      <guid>https://dev.to/sidneyholmes/the-techniques-used-in-ai-10eb</guid>
      <description>&lt;h2&gt;
  
  
  intro
&lt;/h2&gt;

&lt;p&gt;In this article I will be going over the basic fundamentals of how AI is created, specifically the techniques used to create it. To begin lets understand.&lt;/p&gt;

&lt;h2&gt;
  
  
  How AI is made
&lt;/h2&gt;

&lt;p&gt;There are many different types of AI generation that cause this question to range in how complex the functionality is. A basic definition would be continuously attempting to reach the desired functionality, with previous mistakes and algorithms guiding the end result to the desired functionality.&lt;/p&gt;

&lt;p&gt;To achieve this functionality some of these techniques are used in tandem with each other.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Machine learning&lt;/strong&gt;&lt;br&gt;
Machine learning is what's used to learn and adapt to data without being specifically programmed to, an example of this would be face recognition.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Deep learning&lt;/strong&gt;&lt;br&gt;
Deep learning uses Neural networks to learn patterns in complex data, an example would be speech recognition.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Neural network&lt;/strong&gt;&lt;br&gt;
A neural network is a group of interconnected nodes that process information by referencing the external input. This information is relayed between these units until a output is determined based on the weight of the nodes. &lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To better understand, were going to go through an example to get a better understanding of how these techniques are employed together.&lt;/p&gt;

&lt;h2&gt;
  
  
  how image generation is made
&lt;/h2&gt;

&lt;p&gt;There are two types of image generation when we think about AI.&lt;/p&gt;

&lt;p&gt;There is generating a new image from a text input like asking for "a dinosaur with a jetpack", and generating a image off of a "prompt" like asking for "starry  night in Banksy style".&lt;br&gt;
This method is not true AI-generation since it uses pre existing images to create essentially a filter, Because of this I'm going to mainly focus the text input method. &lt;/p&gt;

&lt;p&gt;This method uses two neural networks to achieve its functionality. One generates an image based off of the text input, this obviously uses machine learning to understand what the inputted text means. The second compare's the generated image to reference images, building an accuracy score till it generates an image with a high enough score to be sent to the user as a result.&lt;/p&gt;

&lt;p&gt;This iterative process of creating and recreating till the end result is the desired functionality, is how most if not all AI computation is structured, in our next section ill discuss this more closely.&lt;/p&gt;

&lt;h2&gt;
  
  
  Automating tasks with AI
&lt;/h2&gt;

&lt;p&gt;Task automation is possibly the biggest use case for AI in recent years. Huge advents in deep learning technology has made previously time consuming or dangerous tasks easily completed with AI. Since the variety of things we need, or want an AI to do are countless, there isn't a specific way to create and AI to automate tasks, but what is unanimous across these use cases is the iterative process of doing it over and over again. &lt;/p&gt;

&lt;p&gt;An example we could think of is a AI that plays snake, by giving the AI the data of the controls and the basic objective. After making needed adjustments in-between iterations, like telling the AI to stay away from the boarder the AI should successfully reach the apple.&lt;br&gt;&lt;br&gt;
This process continues until the desired result from the AI is returned a high percentage of the time. As expected this is how variety of functionality from AI is achieved, through continues adjustment from the developer and improvements from the AI. &lt;/p&gt;

&lt;h2&gt;
  
  
  conclusion
&lt;/h2&gt;

&lt;p&gt;I hope this article gave you a better understanding of what techniques are used in AI and the methods used to employ them.&lt;br&gt;
To continue gaining knowledge on this subject, checkout the sources I used for this post. (:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.sas.com/en_in/insights/analytics/what-is-artificial-intelligence.html#:~:text=How%20Artificial%20Intelligence%20Works,or%20features%20in%20the%20data." rel="noopener noreferrer"&gt;sas - Ai&lt;/a&gt;&lt;br&gt;
&lt;a href="https://aws.amazon.com/what-is/neural-network/" rel="noopener noreferrer"&gt;Aws - Neural-netowork&lt;/a&gt;&lt;br&gt;
&lt;a href="https://levity.ai/blog/find-processes-ai-can-automate" rel="noopener noreferrer"&gt;levity - AI autimate&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>webdev</category>
      <category>frontend</category>
    </item>
    <item>
      <title>The SteamOS Konsole</title>
      <dc:creator>sholm</dc:creator>
      <pubDate>Mon, 17 Oct 2022 06:46:40 +0000</pubDate>
      <link>https://dev.to/sidneyholmes/the-steamos-konsole-48lg</link>
      <guid>https://dev.to/sidneyholmes/the-steamos-konsole-48lg</guid>
      <description>&lt;h2&gt;
  
  
  SteamOS
&lt;/h2&gt;

&lt;p&gt;In 2013 a linux based operating system developed by the software company Valve was created. This operating system was used by one of Valve's first hardware ventures the Steam Machine to give it a more console interface, this was valves first venture into the gaming computer space, but would not be the last. &lt;/p&gt;

&lt;p&gt;In 2021 the Steam Deck was announced and up for reservation with the new steamOS 3.0, with this operating system came a variety of user friendly design features to make the steam deck one of the best portable gaming computers on the market. It also came with a terminal that we will be using in this dev post.&lt;/p&gt;

&lt;h2&gt;
  
  
  Enabling The SSH server
&lt;/h2&gt;

&lt;p&gt;With the steam deck comes a built in SSH server. the only thing needed to be done is quick and easy steps to set up your password.&lt;br&gt;
So to start go into the desktop mode by going through.&lt;/p&gt;

&lt;p&gt;Power &amp;gt; Switch to Desktop&lt;/p&gt;

&lt;p&gt;Then search for konsole on the home button.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--2HFBpI5y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/chzd7t3lowagx3gxyfr5.PNG" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--2HFBpI5y--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/chzd7t3lowagx3gxyfr5.PNG" alt="Image description" width="880" height="181"&gt;&lt;/a&gt;&lt;br&gt;
To set up the password input the following.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;(deck@steamdeck ~)$ passwd
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;the terminal will then ask for a password that you must input twice, keep in mind you wont see the characters on screen.&lt;/p&gt;

&lt;p&gt;Then initiate the SSH with,&lt;br&gt;
&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;(deck@steamdeck ~)$ sudo systemctl start sshd
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;this will start the SSH at systemctl. to stop the SSH replace start in the command with stop. Now with putty or a Linux terminal you can connect to the SSH server!&lt;/p&gt;
&lt;h2&gt;
  
  
  Commands for the console
&lt;/h2&gt;

&lt;p&gt;But that is just the tip of the iceberg. since steamOS is a Linux based operating system, all Linux/cli commands work out of the box! So lets take a look at just some basics to get you navigating the konsole.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;ls | This command will return the names of the files in your current path
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt; (deck@steamdeck ~)$ ls

Applications  Documents  Games  Pictures  Templates 
Desktop  Downloads  Emulation  Music  Public  Videos

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

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;cd | This command will change the path your currently in
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;(deck@steamdeck ~)$ cd Emulation/
(deck@steamdeck Emulation)$ ls

bios  hdpacks  roms  saves  storage  tools

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

&lt;/div&gt;


&lt;ul&gt;
&lt;li&gt;cat | this command will read the file specified
&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;(deck@steamdeck ~)$ cd Desktop/
(deck@steamdeck Desktop)$ cat Dev-blog
linux commands (:

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

&lt;/div&gt;


&lt;p&gt;These are all just very basic commands so I definitely recommend learning more, here are &lt;a href="https://www.hostinger.com/tutorials/linux-commands"&gt;40 basic&lt;/a&gt; ones that you can test out right now!&lt;/p&gt;
&lt;h2&gt;
  
  
  conclusion
&lt;/h2&gt;

&lt;p&gt;The Steam Deck is a incredibly powerful machine and I cant wait for the continued support from valve to add even more value to this operating system. With the steam deck already being somewhat available for desktop pc's I'm excited to see where this software goes. I hope that you learned something from this dev post and continue doing great things!&lt;/p&gt;
&lt;h2&gt;
  
  
  SOURCES I USED AND YOU SHOULD TOO
&lt;/h2&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
    &lt;a href="https://shendrick.net/Gaming/2022/05/30/sshonsteamdeck.html" rel="noopener noreferrer"&gt;
      shendrick.net
    &lt;/a&gt;
&lt;/div&gt;




&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://www.hostinger.com/tutorials/linux-commands" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://res.cloudinary.com/practicaldev/image/fetch/s--Q0nC0z4t--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.hostinger.com/tutorials/wp-content/themes/tutorialsthemeuplift/public/images/no_image.jpg" height="319" class="m-0" width="730"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://www.hostinger.com/tutorials/linux-commands" rel="noopener noreferrer" class="c-link"&gt;
          40 Basic Linux Commands Every User Should Know
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          Linux commands are programs or tools that run from the command line. Learn the 40 most common commands in Linux by checking out this article.
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://res.cloudinary.com/practicaldev/image/fetch/s--f7v44zAk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://www.hostinger.com/tutorials/wp-content/uploads/sites/2/2017/04/cropped-hostinger-fav-32x32.webp" width="32" height="32"&gt;
        hostinger.com
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;



&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://itsfoss.com/steamos/" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://res.cloudinary.com/practicaldev/image/fetch/s--2g-7G9z6--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://itsfoss.com/wp-content/uploads/2021/08/steam-os.png" height="450" class="m-0" width="800"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://itsfoss.com/steamos/" rel="noopener noreferrer" class="c-link"&gt;
          What is SteamOS? Everything You Need to Know
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          You'll often find SteamOS mentioned in the list of gaming Linux distributions. Learn everything about this uncommon distro.
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://res.cloudinary.com/practicaldev/image/fetch/s--afZsAY8z--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://itsfoss.com/wp-content/uploads/2017/06/cropped-Logo-redsigned-without-name-32x32.png" width="32" height="32"&gt;
        itsfoss.com
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
      <category>steamos</category>
      <category>linux</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Basics of Bots</title>
      <dc:creator>sholm</dc:creator>
      <pubDate>Mon, 10 Oct 2022 04:45:47 +0000</pubDate>
      <link>https://dev.to/sidneyholmes/basics-of-bots-fjn</link>
      <guid>https://dev.to/sidneyholmes/basics-of-bots-fjn</guid>
      <description>&lt;h2&gt;
  
  
  Intro
&lt;/h2&gt;

&lt;p&gt;In this DEV post I will be covering the basics of internet bots.&lt;br&gt;
From the difference of good to bad bots, but also the process they use to manipulate web applications for malicious purposes. Now of course to start we must discuss how these bots are made. &lt;/p&gt;

&lt;h2&gt;
  
  
  How Its Made
&lt;/h2&gt;

&lt;p&gt;There are a variety of internet bots that each complete different tasks, a bot that searches through webpages for example is an essential part to keeping search engines working, but for every good bot there is a bad bot, like a key logger bot to steal passwords or a bot to send malicious traffic to a server. So what are the steps taken to create such code. Well there are three main components that a bot needs to do its respective job correctly.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;App logic&lt;br&gt;
This is the code that the developer creates to tell the bot what to do when it comes across a specified situation, like a chatbot that recognizes user input and needs to send a message back.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Database&lt;br&gt;
This is where a collection of data for the bot is stored to know what actions to take or to store data that the bot will use later, for our chatbot example, storing data on Starwars if the user asks a Starwars related question, or keeping images of something to respond with if the user asks for say 'a picture of the millennium falcon'.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;API&lt;br&gt;
An API solves a big problem for a lot of internet bots out there and that's external information. When a lot of functionality wants to be added to a bot like this, the best course of action is to use an API. this stores data that the developer doesn't have to create to add functionality like an amazon shopping list or YouTube search.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Now these components are the blueprint of a lot of internet bots out there but with the many use cases that bots can bring its hard to nail down one formula. especially  with malicious bots, since %50 percent of all internet traffic are bots getting an accurate depiction of what percent of that is malicious is difficult, but we can still take a look at the key differences that make a good and malicious bot.&lt;/p&gt;

&lt;h2&gt;
  
  
  Good Vs Bad Bots
&lt;/h2&gt;

&lt;p&gt;Since bots are just software that completes a specified task, there are a vast amount of internet bots being created all the time, with some people using these applications for illegal means that take advantage of the requests of a web application made to get sensitive information like credit card details, or Voice bots that attempt to bypass 2FA. Filtering out bad bot traffic to a web application is an extremely important task, with good and bad bots having similar functionality. The best approaches to the problem of bad bot traffic is to create a list that stores the information of the good bots to differentiate between the bad ones. Since good bots are usually upfront about there information and what they do, this is done with a simple .txt file that stores the name/data of what that bot is there for. but with the advent of AI malicious bots can be used just as effectively outside of web applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  The Advent of AI
&lt;/h2&gt;

&lt;p&gt;With AI being created and used more liberally throughout the internet the use of good but of course malicious bots have gotten more creative. From auto generated videos that get posted on YouTube in the thousands per month on a single channel, to the undetectability of cheating aimbot software that uses a third party camera to detect enemy players. The main reason that software like this has gotten so possible is because of how impossible from a technical standpoint it is to differentiate player to AI. Since bots are used for the automation of tasks good AI can be completely missed by an anti cheat or malicious bot txt file. With AI being such a new field in the access to the general public a solution for a counter measure hasn't been definitively decided yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;The process of creating internet bots is a fairly easy task depending on the functionality of said bot. I hope this DEV post gave you a better idea of how to create a blueprint of that functionality and the importance of keeping bad bots away from your traffic. The sources I used are down below and I highly recommend them to continue of getting a brooder idea!&lt;/p&gt;

&lt;h2&gt;
  
  
  SOURCES THAT I USED AND YOU SHOULD TOO
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.cloudflare.com/learning/bots/how-is-an-internet-bot-constructed/"&gt;How Is An Internet Bot Constructed&lt;/a&gt;&lt;br&gt;
&lt;a href="https://arxiv.org/ftp/arxiv/papers/1802/1802.07228.pdf"&gt;The Malicious Use of Artificial Intelligence&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.cloudflare.com/learning/bots/how-to-manage-good-bots/"&gt;How To Manage Good Bots&lt;/a&gt;&lt;br&gt;
&lt;a href="https://datadome.co/bot-management-protection/what-is-bot-traffic-stop-unwanted-bot-traffic/"&gt;What Is Bot Traffic&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>bots</category>
      <category>beginners</category>
    </item>
    <item>
      <title>What is Emulation (doing in the background)</title>
      <dc:creator>sholm</dc:creator>
      <pubDate>Mon, 03 Oct 2022 05:12:47 +0000</pubDate>
      <link>https://dev.to/sidneyholmes/what-is-emulation-doing-in-the-background-3hc</link>
      <guid>https://dev.to/sidneyholmes/what-is-emulation-doing-in-the-background-3hc</guid>
      <description>&lt;h2&gt;
  
  
  Intro
&lt;/h2&gt;

&lt;p&gt;In this DEV post I'm going to explain what emulation is, and what its doing in the background to get anything running at all. With some of the biggest headway in emulation happening in the past 7 years, emulation has come a very long way, but first we must ask.&lt;/p&gt;

&lt;h2&gt;
  
  
  What Is Emulation
&lt;/h2&gt;

&lt;p&gt;Emulation is software that enables a computer system (called the host) to act like a different computer system (called the guest). An example of this would be running PlayStation 2 software on a computer's hardware.&lt;br&gt;
Running old video game consoles on a computer is possibly the most famous approach to emulation, but virtual machines are also a form of emulation that are done fairly often in there own regard as well. &lt;/p&gt;

&lt;h2&gt;
  
  
  How Emulation Works
&lt;/h2&gt;

&lt;p&gt;While not all emulators work in the same way, they all can be put into 2 different categories to give us a better understanding of what's going on in the background. That would be Low and High level emulation.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;High Level&lt;br&gt;
High Level emulation is when our host replicates specific functions of our guest and attempts to piece together everything automatically. to be more specific, our emulator will have functions that communicate to our host's hardware to act as close as it can to the guest hardware. This essentially tricks the ROM(game) into thinking its being run natively. This method of emulations is great because the hardware that could run the emulation would just have to be slightly better then the native hardware. Since this is the case emulation of retro titles can be done all within a browser.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Low Level&lt;br&gt;
Low Level emulation is when our host software replicates the guest's hardware kind of like a virtual machine to get the ROMS running on the virtual hardware. This approach can be very important when these older games rely on a hardware bug of some kind to produce the same functionality each time. with a virtual machine being booted on startup each time, the hardware of the host would have to be several times greater then the guest hardware to run effectively without any slowdown or frame drops.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So to break it down, &lt;br&gt;
HLE or High level emulation is when the host uses functions to get as close to the same result as the native guest hardware. &lt;br&gt;
While LLE or Low level emulation is creating virtual hardware to be used by the rom to get the exact same result as if you were on the real thing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Emulation On Newer Hardware
&lt;/h2&gt;

&lt;p&gt;Emulation of a newer device like a Ps4 or Nintendo switch is still in development, and will most likely take multiple years before becoming anything close to playable for a vast majority of its library. Current versions of Ps4 emulation are impressively enough able to currently run 2d and indie titles  (somewhat)perfectly fine with AAA titles having unplayable graphical issues. Current Nintendo switch emulation is also capable of running less hardware intensive games with more intensive ones most likely not even booting.&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;Emulation is an extremely important task for the preservation of older software and video games, and with so many incredibly talented people keeping software of many kinds alive to this day through emulation, but that does not mean that emulation should be used to illegally download operating systems like the ps2 bios or any roms found through the internet. There are many ways to legally get hold of your console of choices rom/bios file through backing up the data to a cloud that you own and inserting it into the proper file. I hope that this DEV post was helpful in understanding a bit more how emulation works and please check the "Sources Used" section to further your understanding.&lt;/p&gt;

&lt;h2&gt;
  
  
  Emulators to try
&lt;/h2&gt;

&lt;p&gt;Depending on the type of software you want, your going to need a different emulator. So here are a few you can try out, but keep in mind there are many out there!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://pcsx2.net"&gt;PCSX2 (PlayStation 2)&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://rpcs3.net"&gt;RPCS3 (PlayStation 3)&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://dolphin-emu.org"&gt;Dolphin (Wii)&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://cemu.info"&gt;Cemu (Wii U)&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="https://www.retroarch.com/index.php"&gt;RetroArch (Atari 2600, N64, Sega Dreamcast, and MORE)&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Sources Used
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://www.pcgamer.com/how-emulators-work/"&gt;IGN - How emulators work&lt;/a&gt;&lt;br&gt;
&lt;a href="https://en-academic.com/dic.nsf/enwiki/1318672"&gt;Academic - High level emulation&lt;/a&gt;&lt;br&gt;
&lt;a href="https://bagogames.com/how-do-emulators-work-a-beginners-guide-to-video-game-emulation/"&gt;Bago games - How do emulators work, a beginners guide&lt;/a&gt;&lt;br&gt;
&lt;a href="https://stackoverflow.com/questions/448673/how-do-emulators-work-and-how-are-they-written"&gt;Stackoverflow - how do emulators work and how are they written&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Educational Programming</title>
      <dc:creator>sholm</dc:creator>
      <pubDate>Mon, 22 Aug 2022 04:45:56 +0000</pubDate>
      <link>https://dev.to/sidneyholmes/educational-programming-2446</link>
      <guid>https://dev.to/sidneyholmes/educational-programming-2446</guid>
      <description>&lt;p&gt;Learning a programming language for the first time is a tough feat, and getting good at it is even tougher. With a Varity of different programming languages to start with and not even knowing the correct syntax to get things rolling, it can feel incredibly difficult to start getting into a language. That's where educational programming comes in. Helping someone understand the basic syntax, but also how to think about getting a problem solved. So before we get into some examples, lets get a basic understanding of the types of scripting in these applications.&lt;/p&gt;

&lt;h2&gt;
  
  
  Scripting Types
&lt;/h2&gt;

&lt;p&gt;When it comes to most learning applications they tend to fit into two categories, visual-scripting, and text-scripting. Each of these are beneficial in things well get into soon, but they both accomplish the same goal of being an instrument of learning!&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Text-Scripting&lt;/strong&gt; 
Text-based programming is what we initially think of when it comes to most programming languages. These are more helpfull in the actual algorithmic problems and creating apps. some examples would be &lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Python&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Java/Java Script&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;C++&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Swift&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--3JMSUCNX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eb028yvn3b722pt427vq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3JMSUCNX--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/eb028yvn3b722pt427vq.png" alt="Image description" width="880" height="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Visual-Scripting&lt;/strong&gt;
Visual-scripting aka block-based programming are great for beginners understanding how things are interacting with each other. while block-based programming is mostly used for educational purposes, Unreal engines blueprint is possible the most famous example for using block-based programming.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4FpLqoko--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8tl1zqy9oski8o5teurk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4FpLqoko--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8tl1zqy9oski8o5teurk.png" alt="Image description" width="835" height="455"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Examples
&lt;/h2&gt;

&lt;p&gt;Now we get into the examples. There are many ways to practice programming, but "programming" your brain to correlate things you already do with say JavaScript will make the process much easier to get into.&lt;/p&gt;

&lt;h2&gt;
  
  
  Text-based Examples
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.khanacademy.org/computing/computer-programming"&gt;Khan Academy&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Khan academy has been true innovators in the online learning space. with math, science, history being retally available to millions of people around the world, and for a while now they also have free courses on JavaScript, SQL, and html/css to just to name a few.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kldVK8_k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3y351uslp808ycngndix.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kldVK8_k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/3y351uslp808ycngndix.png" alt="Image description" width="880" height="486"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.codewars.com/dashboard"&gt;Codewars&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Algorithmic problems are very important when challenging yourself and getting better with programming. Code wars assists with exactly that from novice problems to job interview preparation in multiple languages.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--e40zLDT4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jyn6g5bi9kml5u2lurig.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--e40zLDT4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jyn6g5bi9kml5u2lurig.png" alt="Image description" width="880" height="421"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Block-based Examples
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="https://www.unrealengine.com/en-US/?utm_source=GoogleSearch&amp;amp;utm_medium=Performance&amp;amp;utm_campaign=3Q_UnrealEngine_MMT_Brand_Link-Clicks_Search_US&amp;amp;utm_id=18077327933&amp;amp;sub_campaign=&amp;amp;utm_content=&amp;amp;utm_term=unrealengine"&gt;Unreal Engine&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;While Unreal Engine is not necessarily a education program for learning block-based coding. it is possible the best source to find tutorials and create features without using other block-based educational applications, that tend to be more focused towards children. Think of a feature that you want to implement in your test application in unreal engine and look up tutorials on that feature and follow along. by the end of it at the very least you'll have a understanding of how the blocks connect together to create your feature. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--BLiN6ejK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e6hr15ovl4jt826ss8sk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--BLiN6ejK--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/e6hr15ovl4jt826ss8sk.png" alt="Image description" width="880" height="251"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;a href="https://blockly.games"&gt;Blockly&lt;/a&gt; &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Blockly Teaches introductions of a multitude of programming concepts in a fun game based learning space. Blockly also proved text-based coding for the problems you've solved using the blocks helping the information click to help understand what real world problem was solved.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--rjCvp4uM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r127aasbvssq90rkynpm.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--rjCvp4uM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/r127aasbvssq90rkynpm.png" alt="Image description" width="880" height="433"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Conclusion
&lt;/h2&gt;

&lt;p&gt;I hope this dev blog gave you some recourses to begin some practice material and an idea of what block-based and text-based coding are. understanding and maintain knowledge on these topics are what makes the more difficult concepts in programming much easier. So once again I hope this helped you and thank you for reading!&lt;/p&gt;

</description>
      <category>beginners</category>
    </item>
    <item>
      <title>Simply Learning UI/UX</title>
      <dc:creator>sholm</dc:creator>
      <pubDate>Mon, 15 Aug 2022 11:51:37 +0000</pubDate>
      <link>https://dev.to/sidneyholmes/simply-learning-uiux-3he3</link>
      <guid>https://dev.to/sidneyholmes/simply-learning-uiux-3he3</guid>
      <description>&lt;p&gt;UI and UX are important to designing a good application. They provide great value to the user in keeping them using our application in the long run. But understanding what these design "styles" mean can be a bit overwhelming. So with this dev-post I hope to give a simple overview and understanding on what UI/UX are, and add value to your application with UI and UX design.&lt;br&gt;
So first, lets start by understand what UI and UX mean! &lt;/p&gt;
&lt;h2&gt;
  
  
  What is UX
&lt;/h2&gt;

&lt;p&gt;UX stands for the type of design called user experience. UX is not exclusive to digital products and represents a basic understanding of "How great a product is to use". UX isn't just one thing, its an amalgam of how an application "feels" when it comes to using it. &lt;br&gt;
This becomes very apparent when you relies that us, the users decide whether we like a application in 50 milliseconds.&lt;/p&gt;
&lt;h2&gt;
  
  
  What is UI
&lt;/h2&gt;

&lt;p&gt;UI stands for the user interface. This type of design prioritizes getting the user "to where they need to be". you wouldn't use Google if you had to go through menus and click stuff 7 times before you got to search anything. keeping the user sufficiently satisficed with the information were telling them, keeps our website simple and intuitive to use.&lt;/p&gt;

&lt;p&gt;Now if you are still a little confused on what exactly UI and UX are, that's completely fine. The differences between UI and UX cant completely be covered since they are so closely connected, but we can look at good examples to start differentiating them in our head. So here lets look at,&lt;/p&gt;
&lt;h2&gt;
  
  
  Examples of good UI/UX
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;UX DESIGN&lt;/strong&gt;&lt;br&gt;
Good UX design is about solving problems for your users. when our applications are cluttered or not informative enough we start creating problems for our user, like "how do I get to this page" or clicking on multiple tabs till finally finding the one you need. So having these examples of what good UX design is hopefully helps you.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Simplicity&lt;br&gt;
Googles home page has kept it simple since 1998. The initial first look of your application does matter in if people will continue to use it, at least compared to a competitor.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;User Choice&lt;br&gt;
Imagine how annoying Netflix would be if autoplay didn't exists and you had to click the episodes individually to watch them. that would be an example of bad UX design at least to the majority of users, but giving the choice of having autoplay off gives great benefit to people who can only watch one or two episode. this is great UX design because it solves multiple problems for multiple different types of users.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;UI DESIGN&lt;/strong&gt;&lt;br&gt;
 UI design is much more reliant on good UX to succeed then vice versa. while UI is much more seen as the visual aspect of our application. it adds much more value when coupled with great UX design. So please keep in mind your UX design when brainstorming on better UI choices&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Consistency &lt;br&gt;
When going onto an application for the first time, we start to learn how to properly use it within our fist mouse movements. so keeping our application familiar to our users is key in good UI.&lt;br&gt;
If our expected user was a YouTube viewer. keeping pause and play on space and 'k' would make for a good design choice. keeping the expected user in mind is also a very smart decision when creating your application.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Interactivity&lt;br&gt;
UI is also sometimes thought of as "User interaction", while this idea is false interaction of our application is a key component in good UI. an example of this would be &lt;a href="https://www.ferrari.com/en-US"&gt;ferrari's website&lt;/a&gt;. the animations at the navbar giving a bigger view of what the next choice could be makes the selections easier and honestly just fun to use.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;
  
  
  CONCLUSION
&lt;/h2&gt;

&lt;p&gt;I hope this dev-post made it a bit easier to understand what UI/UX are and some general ideas that you can use for your application.&lt;br&gt;
if you would like to continue learning about UI/UX here are the sources that I used to make this post and YOU SHOULD TOO!&lt;/p&gt;
&lt;h2&gt;
  
  
  SOURCES
&lt;/h2&gt;


&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://careerfoundry.com/en/blog/ux-design/the-difference-between-ux-and-ui-design-a-laymans-guide/" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://res.cloudinary.com/practicaldev/image/fetch/s--_nq8WyVq--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dpbnri2zg3lc2.cloudfront.net/en/wp-content/uploads/2021/01/difference_between_ux_ui.jpg" height="440" class="m-0" width="880"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://careerfoundry.com/en/blog/ux-design/the-difference-between-ux-and-ui-design-a-laymans-guide/" rel="noopener noreferrer" class="c-link"&gt;
          UX vs. UI Design: What's the Difference? [2022 Guide]
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          Wondering what the difference is between UX and UI design? This guide explains and contrasts User Experience Design with User Interface Design.
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
        careerfoundry.com
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://xd.adobe.com/ideas/process/ui-design/" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://res.cloudinary.com/practicaldev/image/fetch/s--eInl-OjD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://xd.adobe.com/ideas/wp-content/uploads/2020/05/XD-Ideas%402x.png" height="498" class="m-0" width="880"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://xd.adobe.com/ideas/process/ui-design/" rel="noopener noreferrer" class="c-link"&gt;
          User Interface (UI) Design | Insights &amp;amp; Inspiration | Adobe XD Ideas
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          Learn about the different types of user interface design as well as fundamental design requirements for each type. Read more at Adobe XD Ideas.
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://res.cloudinary.com/practicaldev/image/fetch/s--zGrYEhyk--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://xd.adobe.com/ideas/wp-content/uploads/2020/06/favicon-45x45.png" width="45" height="45"&gt;
        xd.adobe.com
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://www.interaction-design.org/literature/topics/ux-design" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://res.cloudinary.com/practicaldev/image/fetch/s--bVX8sFhn--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://assets.interaction-design.org/img/hero-images/homepage.jpg%3Fid%3De24650fe47d6a25243d5e43d58a12bca" height="409" class="m-0" width="880"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://www.interaction-design.org/literature/topics/ux-design" rel="noopener noreferrer" class="c-link"&gt;
          What is User Experience (UX) Design? | Interaction Design Foundation (IxDF)
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          What is User Experience (UX) Design? User experience (UX) design is the process design teams use to create products that provide meaningful and relevant experiences to users. UX design involves the...
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
          &lt;img alt="favicon" class="c-embed__favicon m-0 mr-2 radius-0" src="https://res.cloudinary.com/practicaldev/image/fetch/s--LODzVUFu--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://assets.interaction-design.org/img/app/favicon--48.png%3Fid%3Dc5cdcfe19220b42807636b7db5f517c9" width="48" height="48"&gt;
        interaction-design.org
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;
&lt;br&gt;
&lt;div class="crayons-card c-embed text-styles text-styles--secondary"&gt;
      &lt;div class="c-embed__cover"&gt;
        &lt;a href="https://fuzzymath.com/blog/components-of-good-ui-design-examples/" class="c-link s:max-w-50 align-middle" rel="noopener noreferrer"&gt;
          &lt;img alt="" src="https://res.cloudinary.com/practicaldev/image/fetch/s--LDFR8HP7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://fuzzymath.com/wp-content/uploads/2020/08/What_Makes_Good_UI_Design.png" height="441" class="m-0" width="880"&gt;
        &lt;/a&gt;
      &lt;/div&gt;
    &lt;div class="c-embed__body"&gt;
      &lt;h2 class="fs-xl lh-tight"&gt;
        &lt;a href="https://fuzzymath.com/blog/components-of-good-ui-design-examples/" rel="noopener noreferrer" class="c-link"&gt;
          What Makes Good UI Design? | Fuzzy Math
        &lt;/a&gt;
      &lt;/h2&gt;
        &lt;p class="truncate-at-3"&gt;
          In this guide, Fuzzy Math describes the core components that go into good UI design. Learn more and view shining examples of a clean interface.
        &lt;/p&gt;
      &lt;div class="color-secondary fs-s flex items-center"&gt;
        fuzzymath.com
      &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;


</description>
    </item>
    <item>
      <title>Beginning Particles.js in JS</title>
      <dc:creator>sholm</dc:creator>
      <pubDate>Mon, 08 Aug 2022 05:55:00 +0000</pubDate>
      <link>https://dev.to/sidneyholmes/beginning-particlesjs-in-js-438a</link>
      <guid>https://dev.to/sidneyholmes/beginning-particlesjs-in-js-438a</guid>
      <description>&lt;p&gt;In this Dev post I will be helping you understand, use, and implement Particles.js into your workspace of choice. Particles.js is a great JavaScript library created by Vincent Garreau to spice up the look of your webpage, so before we get into implementation lets get started by first.&lt;/p&gt;

&lt;h2&gt;
  
  
  Messing around with Particles.js
&lt;/h2&gt;

&lt;p&gt;Before we do anything I highly recommend you mess around with the premade examples on Vincent Garreau's particals.js demo &lt;a href="https://vincentgarreau.com/particles.js/"&gt;here&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Inside these demos it illustrates some cool things we can do with particles.js like not only having particles of any size float around our webpage, but also adding mouse interaction that push those particles away on hover, or add new particles on click. Once you've messed around with it, its now time to.&lt;/p&gt;

&lt;h2&gt;
  
  
  Implement Particles.js
&lt;/h2&gt;

&lt;p&gt;Before we can actually enter into the meat of this library We must start by implementing it into our workspace. Now keep in mind this is not the only way to implement particles.js, we can use npm or Bower or a bunch of other packages to get particles.js working, but for this Dev blog I'm just going to show manual implementation. &lt;/p&gt;

&lt;h2&gt;
  
  
  Downloading Particles.js
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;You can download the latest release of the particals.js zip file with the link below on the right side of the page called 'Releases'&lt;br&gt;
&lt;/p&gt;
&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--566lAguM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/VincentGarreau"&gt;
        VincentGarreau
      &lt;/a&gt; / &lt;a href="https://github.com/VincentGarreau/particles.js"&gt;
        particles.js
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A lightweight JavaScript library for creating particles
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h2&gt;
particles.js&lt;/h2&gt;
&lt;h3&gt;
A lightweight JavaScript library for creating particles.&lt;/h3&gt;

&lt;h3&gt;
&lt;code&gt;Demo / Generator&lt;/code&gt;
&lt;/h3&gt;
&lt;p&gt;&lt;a href="http://vincentgarreau.com/particles.js/" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/0bb505c9b31f9056087c87791dcc1abaa104b51f0c79bd343ae53130a643580d/687474703a2f2f76696e63656e74676172726561752e636f6d2f7061727469636c65732e6a732f6173736574732f696d672f6769746875622d73637265656e2e6a7067" alt="particles.js generator"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Configure, export, and share your particles.js configuration on CodePen: &lt;br&gt;
&lt;a href="http://vincentgarreau.com/particles.js/" rel="nofollow"&gt;http://vincentgarreau.com/particles.js/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;CodePen demo: &lt;br&gt;
&lt;a href="http://codepen.io/VincentGarreau/pen/pnlso" rel="nofollow"&gt;http://codepen.io/VincentGarreau/pen/pnlso&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
&lt;code&gt;Usage&lt;/code&gt;
&lt;/h3&gt;
&lt;p&gt;Load particles.js and configure the particles:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;index.html&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight highlight-text-html-basic notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-kos"&gt;&amp;lt;&lt;/span&gt;&lt;span class="pl-ent"&gt;div&lt;/span&gt; &lt;span class="pl-c1"&gt;id&lt;/span&gt;="&lt;span class="pl-s"&gt;particles-js&lt;/span&gt;"&lt;span class="pl-kos"&gt;&amp;gt;&lt;/span&gt;&lt;span class="pl-kos"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="pl-ent"&gt;div&lt;/span&gt;&lt;span class="pl-kos"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="pl-kos"&gt;&amp;lt;&lt;/span&gt;&lt;span class="pl-ent"&gt;script&lt;/span&gt; &lt;span class="pl-c1"&gt;src&lt;/span&gt;="&lt;span class="pl-s"&gt;particles.js&lt;/span&gt;"&lt;span class="pl-kos"&gt;&amp;gt;&lt;/span&gt;&lt;span class="pl-kos"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="pl-ent"&gt;script&lt;/span&gt;&lt;span class="pl-kos"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;app.js&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight highlight-source-js notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-c"&gt;/* particlesJS.load(@dom-id, @path-json, @callback (optional)); */&lt;/span&gt;
&lt;span class="pl-s1"&gt;particlesJS&lt;/span&gt;&lt;span class="pl-kos"&gt;.&lt;/span&gt;&lt;span class="pl-en"&gt;load&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s"&gt;'particles-js'&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt; &lt;span class="pl-s"&gt;'assets/particles.json'&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt; &lt;span class="pl-k"&gt;function&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt; &lt;span class="pl-kos"&gt;{&lt;/span&gt;
  &lt;span class="pl-smi"&gt;console&lt;/span&gt;&lt;span class="pl-kos"&gt;.&lt;/span&gt;&lt;span class="pl-en"&gt;log&lt;/span&gt;&lt;span class="pl-kos"&gt;(&lt;/span&gt;&lt;span class="pl-s"&gt;'callback - particles.js config loaded'&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;;&lt;/span&gt;
&lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-kos"&gt;)&lt;/span&gt;&lt;span class="pl-kos"&gt;;&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;&lt;strong&gt;particles.json&lt;/strong&gt;&lt;/p&gt;
&lt;div class="highlight highlight-source-js notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-kos"&gt;{&lt;/span&gt;
  &lt;span class="pl-s"&gt;"particles"&lt;/span&gt;: &lt;span class="pl-kos"&gt;{&lt;/span&gt;
    &lt;span class="pl-s"&gt;"number"&lt;/span&gt;: &lt;span class="pl-kos"&gt;{&lt;/span&gt;
      &lt;span class="pl-s"&gt;"value"&lt;/span&gt;: &lt;span class="pl-c1"&gt;80&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;
      &lt;span class="pl-s"&gt;"density"&lt;/span&gt;: &lt;span class="pl-kos"&gt;{&lt;/span&gt;
        &lt;span class="pl-s"&gt;"enable"&lt;/span&gt;: &lt;span class="pl-c1"&gt;true&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;
        &lt;span class="pl-s"&gt;"value_area"&lt;/span&gt;: &lt;span class="pl-c1"&gt;800&lt;/span&gt;
      &lt;span class="pl-kos"&gt;}&lt;/span&gt;
    &lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;
    &lt;span class="pl-s"&gt;"color"&lt;/span&gt;: &lt;span class="pl-kos"&gt;{&lt;/span&gt;
      &lt;span class="pl-s"&gt;"value"&lt;/span&gt;: &lt;span class="pl-s"&gt;"#ffffff"&lt;/span&gt;
    &lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;
    &lt;span class="pl-s"&gt;"shape"&lt;/span&gt;: &lt;span class="pl-kos"&gt;{&lt;/span&gt;
      &lt;span class="pl-s"&gt;"type"&lt;/span&gt;: &lt;span class="pl-s"&gt;"circle"&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;
      &lt;span class="pl-s"&gt;"stroke"&lt;/span&gt;: &lt;span class="pl-kos"&gt;{&lt;/span&gt;
        &lt;span class="pl-s"&gt;"width"&lt;/span&gt;: &lt;span class="pl-c1"&gt;0&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;
        &lt;span class="pl-s"&gt;"color"&lt;/span&gt;: &lt;span class="pl-s"&gt;"#000000"&lt;/span&gt;
      &lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;
      &lt;span class="pl-s"&gt;"polygon"&lt;/span&gt;: &lt;span class="pl-kos"&gt;{&lt;/span&gt;
        &lt;span class="pl-s"&gt;"nb_sides"&lt;/span&gt;: &lt;span class="pl-c1"&gt;5&lt;/span&gt;
      &lt;span class="pl-kos"&gt;}&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;
      &lt;span class="pl-s"&gt;"image"&lt;/span&gt;: &lt;span class="pl-kos"&gt;{&lt;/span&gt;
        &lt;span class="pl-s"&gt;"src"&lt;/span&gt;: &lt;/pre&gt;…
&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/VincentGarreau/particles.js"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Once downloaded unzip the file and copy it into your project folder and paste the code below into the head of your html file.&lt;br&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;head&amp;gt; 
       &amp;lt;script src="/particles.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;

&amp;lt;/body&amp;gt;

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

&lt;/div&gt;



&lt;h2&gt;
  
  
  Creating our config
&lt;/h2&gt;

&lt;p&gt;Now I recommend creating a particles.cfg.json file and adding the basic settings provided in the Particles.js GitHub in the "Usage" section. This will add a bunch of settings to our particles that you may or may not want, but either way its probably a good idea to mess around with it to get familiar with the library.&lt;br&gt;
Once our json-config file is created we should add a particles div with a appropriate height and width to let our webpage know the area that our particles can render in like so.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;head&amp;gt; 
       &amp;lt;script src="/particles.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
       &amp;lt;div id='particle-div'&amp;gt;&amp;lt;/div&amp;gt;
&amp;lt;/body&amp;gt;


|||||||||||||||||||||||||||||||||||||
Css

particle-div {
width: (number)px;
height: (number)px;
}

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

&lt;/div&gt;



&lt;p&gt;Now everything is ready to go! ...Well almost, we still need to load our particles onto our page. and depending on how you want your particles to show up, you may not want it on the initial load of your webpage. So here is the basic syntax for getting the particles to load, but ill leave the rest to you on whether you want it on a "on-click" function or just the start of your webpage entirely&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;       //our particle div \/   our config file \/
particlesJS.load('particle-div', 'particles.cfg.json')
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;CONGRATS! You have successfully implemented particles.js,&lt;br&gt;
But that's not all. Now its time to &lt;/p&gt;

&lt;h2&gt;
  
  
  Learn our options
&lt;/h2&gt;

&lt;p&gt;Your best way to get a clear view of all the options you have when it comes to particles.js, is going to be in the main GitHub created by Vincent Garreau. But Since this is my Dev blog and I still want to help you learn a thing or two, I'm going to break down the more popular options for particles.js to help you get a better understanding how they work and how to use them. Note, you should be adding/editing these options into your particles.cfg.json file NOT YOUR CSS FILE.&lt;/p&gt;

&lt;h2&gt;
  
  
  Particles.number.value
&lt;/h2&gt;

&lt;p&gt;Takes in a number value and changes the amount of particles rendered based on that value.&lt;/p&gt;

&lt;h2&gt;
  
  
  Particles.color.value
&lt;/h2&gt;

&lt;p&gt;Takes in a string value of a color, RGB-object, HSL-object, array-hex, and a 'random' string to change all particles colors to the value.&lt;/p&gt;

&lt;h2&gt;
  
  
  Particles.shape.type
&lt;/h2&gt;

&lt;p&gt;Takes in a string value of "edge"(square), "triangle", "circle", "star", "polygon", or "image". and sets the particles to that shape type. with arrays of values being allowed as well, EXAMPLE(['circle', 'star', 'polygon']). Note(you can also add width/height elements to your shape with particles.shape.stroke.width/height/or even color.&lt;/p&gt;

&lt;h2&gt;
  
  
  Particles.opacity.value
&lt;/h2&gt;

&lt;p&gt;Takes in a number value from 0-1 and changes the opacity based on that value.&lt;/p&gt;

&lt;h2&gt;
  
  
  Particles.size.value
&lt;/h2&gt;

&lt;p&gt;Takes in a number value and changes the size of our particles based on this value.&lt;/p&gt;

&lt;h2&gt;
  
  
  Particles.line_linked.enable
&lt;/h2&gt;

&lt;p&gt;takes in a Boolean value and adds a linked line between multiple particles near it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Particles.move.direction
&lt;/h2&gt;

&lt;p&gt;Takes in a string like "top", "bottom-right", ect to move the particles in that direction. similarly there are particles.move.random or particles.move.straight  that tell the particles to move randomly or in a stright line. We can actually see stright line example in the demo of particles.js Nyan-Cat. &lt;/p&gt;

&lt;h2&gt;
  
  
  CONCLUSION
&lt;/h2&gt;

&lt;p&gt;I truly do hope this article made navigating, implementing, and using particles.js easier for you in whatever project you may or may not be working on. Understanding new libraries can be a bit difficult to get into but keep in mind that there are always people out there trying to make your learning experience easier. THANK YOU FOR READING!!!!&lt;/p&gt;

&lt;p&gt;** Sources I used and you Should Too!&lt;br&gt;
  &lt;a href="https://vincentgarreau.com/particles.js/"&gt;Vincent Garreau particle.js website/demos&lt;/a&gt;&lt;br&gt;
 &lt;a href="https://www.geeksforgeeks.org/how-to-use-particle-js-in-javascript-project/"&gt;Geeks4Geeks how to use particles.js&lt;/a&gt;&lt;br&gt;
 &lt;a href="https://www.youtube.com/watch?v=qK3cgD09Qf0&amp;amp;t=552s"&gt;Creating particle effects video&lt;/a&gt;&lt;br&gt;
&lt;a href="https://dev.to/matteobruni/why-everyone-should-stop-using-particlesjs-right-now-5eb6"&gt;Reasons why you shouldn't use particles.js&lt;/a&gt;&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>beginners</category>
      <category>javascript</category>
      <category>particles</category>
    </item>
    <item>
      <title>THIS IS THIS!</title>
      <dc:creator>sholm</dc:creator>
      <pubDate>Fri, 10 Jun 2022 18:51:02 +0000</pubDate>
      <link>https://dev.to/sidneyholmes/this-is-this-o9h</link>
      <guid>https://dev.to/sidneyholmes/this-is-this-o9h</guid>
      <description>&lt;p&gt;If you have been learning JavaScript you might have come across the  keyword &lt;code&gt;this&lt;/code&gt; and wondered what it does and most importantly how it works. the most simple answer to that question is " &lt;code&gt;this&lt;/code&gt; refers to an already declared property in the scope of where it is being used", but even that can be slightly misleading when trying to fully understand &lt;code&gt;this&lt;/code&gt;. so that is why this dev post exists, to get you understanding how to use &lt;code&gt;this&lt;/code&gt; and become a better developer by the end.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The way this interacts with objects&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Open your Chrome Developer console &lt;br&gt;
(windows: ctrl + shift + j)&lt;br&gt;
(mac: cmd + option + j)&lt;br&gt;
 and type the following&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;console.log(this);
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This should have returned the global window object. The global window object is the Global object in the browser. this is also where all our variables are stored (not const), but the reason that the window object is returned is because &lt;code&gt;this&lt;/code&gt; is being used outside of a declared object. so lets see an example with one.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let cereal_bot = {
cereal: "Frosted flakes"
milk: "2% milk"
make_bowl: function() {
console.log(`${this.milk} + ${this.cereal} = cereal and milk`)
  }
}

console.log(cereal_bot.make_bowl)
// returns =&amp;gt; 2% milk + Frosted Flakes = cereal and milk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In the code above I declare an object and use the &lt;code&gt;this&lt;/code&gt; method inside the function to use some of the values in the object. this happens because the value of &lt;code&gt;this&lt;/code&gt; is set to the closest parent object the method is called on. meaning that if we have nested objects with the same propertys like the one below,&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let cereal_bot = { // outer object
cereal: "Frosted flakes",
milk: "2% milk",
make_bowl: function() {
console.log(`${this.milk} + ${this.cereal} = cereal and milk`)
  },
cereal_bot2: { // inner object
milk: "almond milk",
cereal: "coco puffs",
topping: "berries",
make_bowl: function() {
console.log(`${this.milk} + ${this.cereal} + ${this.topping} = cereal and milk with ${this.topping}`) 
            }
}
}

console.log(cereal_bot.make_bowl) 
=&amp;gt; "2% milk + Frosted Flakes = cereal and milk"

console.log(cereal_bot.cereal_bot2.make_bowl) 
=&amp;gt; "almond milk + coco puffs + berries = cereal and milk with berries
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;this&lt;/code&gt; will correctly correspond with the object its being used by. cereal_bot still logs the correct values&lt;br&gt;
 assigned to &lt;code&gt;this&lt;/code&gt;, and our new cereal_bot2 uses its own object values without any issue even though the property's have the same name, this is another reason &lt;code&gt;this&lt;/code&gt; is a helpful tool to use&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The way this interacts with Constructors&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Constructor functions in JavaScript are used to create a multitude of objects with slight variations between them like the one below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//constructor parent
function Human (first, last, age, talent) {
this.first = firstName,
this.last = lastName,
this.age = age,
this.talent = function(talent) {
return console.log(`I am talented at ${talent}`)
}
}

//child of constructor function
let charlie = new Human('Charlie', 'Day', 46, 'actor)
let rob = new Human('Rob', 'McElhanney', 45, 'actor)
let glenn = new Human('Glenn', 'Howerton', 46, actor)

console.log(charlie) 
logs =&amp;gt; {
first: 'Charlie',
last: 'Day',
age: 46,
talent: function(talent) {
return console.log(talent)
}

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

&lt;/div&gt;



&lt;p&gt;The constructor function above is what we use to make our new human objects. when the &lt;code&gt;this&lt;/code&gt; keyword is used in a constructor function it is bound to the new object being created.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The way this works with call,apply,bind&lt;/strong&gt;&lt;br&gt;
&lt;code&gt;call()&lt;/code&gt;, &lt;code&gt;apply()&lt;/code&gt;, and &lt;code&gt;bind()&lt;/code&gt; all allow us to explicitly set the value of this in one way or another. They are all somewhat similar but its important to understand the differences.&lt;/p&gt;

&lt;p&gt;call and apply are invoked immediately, while bind returns a function with the context of this bound already. this is useful when we don't know all our arguments up front. but an example will make it more clear.&lt;/p&gt;

&lt;p&gt;Call&lt;br&gt;
When we use call the first parameters is what &lt;code&gt;this&lt;/code&gt; is bound to.&lt;br&gt;
the subsequent parameters are passed to the function we are calling.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function add(c, d) {
console.log(this.a + this.b + c + d}


let obj = {a: 1, b: 2};

//function, this, argument, more arguments?
add.call(obj, 4, 3)
// logs =&amp;gt; 10

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

&lt;/div&gt;



&lt;p&gt;Apply&lt;br&gt;
apply is similar to call where the first parameter is what &lt;code&gt;this&lt;/code&gt; is bound to but the subsequent parameters is an array of arguments to be used in the function being called.&lt;br&gt;
You can even use apply to concatenate arrays.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;function add(c, d) {
console.log(this.a + this.b + c + d}


let obj = {a: 1, b: 2};

add.apply(obj, [3,4])
// logs =&amp;gt; 10

let arr1 = [1, 2];
let arr2 = ['a', 'v'];

arr1.push.apply(arr1, arr2);
console.log(arr1) // logs =&amp;gt; [1, 2, 'a', 'v']
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Bind&lt;br&gt;
bind's parameters are identical to call but bind is not invoked immediately. instead bind returns a function with the context of &lt;code&gt;this&lt;/code&gt; bound already. Bind is best used when we don't know all our arguments.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;let object = {
a: 1,
func: function(b, c, d) {
   console.log(this.a+b+c+d);
  }
}

let increase = {
a: 100
}

let binding = object.go.bind(increase,2);

console.log(binding) logs =&amp;gt; 
function(b,c,d) {console.log(this.a+b+c+d)
}
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;In Conclusion&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;This&lt;/code&gt; is a hard to understand concept in JavaScript that is very specific to the context its being used in, but I hope that this dev-post made it a bit more clear on when/how to use &lt;code&gt;this&lt;/code&gt; and in what context. but if you are still unsure just remember these few things&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;the value of &lt;code&gt;this&lt;/code&gt; is usually determined by a functions context&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;in the global scope, &lt;code&gt;this&lt;/code&gt; refers to the global window object&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;when a construction is used &lt;code&gt;this&lt;/code&gt; is bound to the new object being created&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;you can set the value of this using call,bind,apply&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;google and continue to read articles on what you don't understand&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Thank you for reading this dev-post and I hope my post helps you in your programming career. - Sidney :)&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>beginners</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
