<?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: Walker-A-1</title>
    <description>The latest articles on DEV Community by Walker-A-1 (@walkera1).</description>
    <link>https://dev.to/walkera1</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%2F1299154%2Fd1a3b7ec-b3e7-4f87-b7c4-aa2ab263e5d1.jpeg</url>
      <title>DEV Community: Walker-A-1</title>
      <link>https://dev.to/walkera1</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/walkera1"/>
    <language>en</language>
    <item>
      <title>An intro to Machine Learning</title>
      <dc:creator>Walker-A-1</dc:creator>
      <pubDate>Mon, 17 Jun 2024 01:44:49 +0000</pubDate>
      <link>https://dev.to/walkera1/an-intro-to-machine-learning-2i7j</link>
      <guid>https://dev.to/walkera1/an-intro-to-machine-learning-2i7j</guid>
      <description>&lt;p&gt;Intro &lt;br&gt;
So what is machine learning? Machine learning is the process of teaching machines to do a specific task. Or even have a machine teach itself to do a task! Wouldn't that just lead to a robot uprising? Maybe, but probably not. &lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnwqwnmwg6c84589ihyzv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fnwqwnmwg6c84589ihyzv.png" alt="Image description" width="800" height="442"&gt;&lt;/a&gt;&lt;br&gt;
Wouldn’t it be Easier to Train a Human?&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Machines are better at processing large amounts of information quickly
Yes it does take a while to learn coding and how to teach a machine to do an obvious task for a human, machines were never taught right and wrong or how to ride a bike. But once you are able to train a machine to do a simple task it can think much faster than a human. They are easily scalable as well, if you need another one you can make a copy. Being made of code machine brains can be copied perfectly.&lt;/li&gt;
&lt;li&gt;Machines make less errors and don’t get influenced by biases
Training a machine to make no mistakes takes a while, but once it's done a machine will never forget. Machines can not define the meaning of life, but assembling the same car one thousand times is simple once broken down. Machines are hyper specialized at their specific tasks, as such they are specifically programmed and built to accomplish that task. They can do the task ten times, check for errors 100 times, every time. They also didn’t inherit the complex emotions that come from having a flesh body and brain. That means they will not carry their own biases to influence their decisions and make mistakes. All in all machines are very good at doing the task they were made for, and very bad at anything else.&lt;/li&gt;
&lt;li&gt;Flexibility
Machines are hyper specialists, but that does not mean that they are incapable of change. If the market changes and the specific task is different then your once reliable machine will not be able to keep up. But have no fear, machines are not as afraid of change as people are. If there is a small change in the input and output of your task all you have to do is retrain your machine with slightly different specifications.&lt;/li&gt;
&lt;li&gt;Safety, Machines can do dangerous jobs and take the risk away from human lives
So far I have just been talking about data processing and information management. But machines can handle any sort of jobs they have the body for. Take dangerous jobs lifting heavy objects, dealing with dangerous customers, or even handling radioactive materials! Machines are able to take up jobs that pose a risk to humans or are just plain uncomfortable. ATMs and online banking have made it easier for customers to access their finances and gotten rid of the cashier job that is seemingly always at risk of being robbed in the movies. Machines can handle radioactive materials during a spill and machines have not gotten cancer like humans have after dealing with radioactive materials.&lt;/li&gt;
&lt;li&gt;Security bonus
Along with checking for errors many times a second, machines can also check for risks to security or plain old attacks. Cyber  attackers are getting more specialized and covering their tracks better every day. But one little thing out of place that might get missed by a human can be checked over and run through a security test every single time by a machine.
&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F9yq044fztnb0ggduxt10.png" alt="Image description" width="800" height="448"&gt;
Will This Lead to the Terminator Movie?&lt;/li&gt;
&lt;li&gt;No, Automation quote from Leto the 2nd
No. “Machines just increase the amount of things we can do without thinking” - Leto II from God Emperor of DUNE. Machines and computers are really advanced tools, they make tasks easier for those who do them. Machines and tools have been around forever and they have never turned around to kill us. There are guns ofcourse, but those are just very efficient killing tools, not something that is just inherently lethal to humans. Computers will never evolve and get angry at their creators.&lt;/li&gt;
&lt;li&gt;History of automation and machine automation.
We have used machines to automate tasks since 1943, the Colossus computer was made by the British to break Germain encryption in WWII giving them the upper hand to win the war. Even as early as 27,000 BCE they used sinkers to anchor nets in South Korea. Making it so one person did not have to hold a net down the whole time but they could set up multiple fish nets and do their job much more efficiently.&lt;/li&gt;
&lt;li&gt;Automation will not make killer robots, but it will enable rich people to make more money
Supporting information
All in all machines are not thinking beings and they can not make the decision to murder people. But there is the possibility of making a machine that is more efficient than a gun and of course machines to make rich people richer.
How do you Train a Machine?
What kind of AI learning algorithms are there? And what are they good for?
Supervised learning models take in a lot of labeled data to come to the conclusion that is already known. First it has to make its own guess then evaluate its performance based on the correct answer, every time. This model would be good for object recognition, say if you want a machine to tell you if an image contains a dog or not. At first it has no idea what a dog is, but then seeing many images of dogs it starts to learn to recognize dogs. Does the image have ears? Is it fluffy? Does it have a tail?
Pros: this type has very high accuracy and it is easy to evaluate.
Cons: This type requires a lot of labeled data, that requires a human to go through a lot of data and label it. Which can be time consuming and expensive. 
Reinforcement learning models are somewhat what they sound like. You let a machine explore and interact with its environment and give it rewards and penalties based on its actions. This model has been used to teach machines to play video games. Insert your AI into a virtual environment, let it play around, and have very specific parameters for rewards and penalties. This one does take longer to learn its task but once it does, it will be very good at it.
Pros: Can handle learning complex behaviors that may even be difficult to teach to a human. Can handle dynamic environments and may be used for decision making.
Cons: Needs careful tuning of hyper parameters. Does not generalize task well for new environments.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Conclusion&lt;br&gt;
In conclusion, machine learning can be a great option for automating certain tasks. And no, machines will not make the decision to eliminate humans like in the movie terminator. &lt;/p&gt;

&lt;p&gt;Sources:&lt;br&gt;
&lt;a href="https://www.computerhope.com/issues/ch001799.htm"&gt;What jobs are being taken by machines&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.ibm.com/blog/machine-learning-types/"&gt;Five machine learning types&lt;/a&gt;&lt;br&gt;
&lt;a href="https://dzone.com/articles/top-10-most-popular-ai-models"&gt;10 most popular AI models&lt;/a&gt;&lt;br&gt;
&lt;a href="https://jphmpdirect.com/how-do-machines-learn-part-i-they-train/amp/"&gt;How do machines learn?&lt;/a&gt;&lt;br&gt;
&lt;a href="https://medium.com/snipette/machine-training-54f5386f304b"&gt;Machine training snipette&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.reddit.com/r/Terminator/comments/lyzvg5/how_did_skynet_come_to_have_the_automated/"&gt;How did Skynet come to have automated&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Why Python is a Great Language for Coding Games</title>
      <dc:creator>Walker-A-1</dc:creator>
      <pubDate>Sun, 09 Jun 2024 20:18:11 +0000</pubDate>
      <link>https://dev.to/walkera1/why-python-is-a-great-language-for-coding-games-3088</link>
      <guid>https://dev.to/walkera1/why-python-is-a-great-language-for-coding-games-3088</guid>
      <description>&lt;p&gt;Introduction&lt;br&gt;
Python is a great coding language for beginners. The syntax is easy to read and it makes sense. Python is good for building beginner friendly games. The language is also useful in many more ways than just making games. Python is very popular so there are lots of resources out there to help you code and learn.&lt;/p&gt;

&lt;p&gt;Why is python good for coding games?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;  Easy to learn
There are many reasons that work together to make Python easy to learn. It has good readability and syntax. Python uses indentation to signify code blocks. This means you have to move your code around and that makes it way easier to read at a glance. 
&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Frokcmyrgcfbace37tgtj.png" alt="Image description" width="800" height="550"&gt;
Unlike other languages that signify code blocks with curly braces or keywords like begin and end, which requires you to search for those signifiers and remember where they are.
Python also uses its popularity to be easier to learn, by that I mean the wealth of resources and supportive communities around Python. Lots of people have already learned Python, that means most questions you have probably have their answers documented on the internet somewhere. There are lots of courses, tutorials, books, and communities around Python so if you want help or practice, there are plenty of means to do so.
Python itself has robust performance. It is easy to import modules into your codebase. That means your code does not have to contain all the data that it needs to work. Whatever modules you import get carried over and combined with your existing code base. Pythons robustness makes it able to handle lots of actions at once without lagging or slowing down. The popular game Mario Kart 8 Deluxe is a good example. It has sold 45 million copies world wide. Being a high action game with lots of collisions and player interactions at high speed, that shows just how much Python can handle.
&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwp3u0bmxiy0fr4i7qw8a.png" alt="Image description" width="800" height="404"&gt;
&lt;/li&gt;
&lt;li&gt;  Python can also delegate the harder tasks to more specialized languages
Python itself does have some limits when it comes to rendering games. Of course there are technically no limits to any programming language. If you had a specially made computer to handle a fast paced 3D game in Python, the language itself would not stop you. 
The issue arises when you want to make a game on a “normal” (consumer grade) computer or have the game run on lots of other people's computers. The machine Python is running on will start to slow down because Python is not the most optimized language when it comes to graphics rendering. 
But that does not mean it is impossible to make Call Of Duty in Python. While Python itself can not render graphics very well, it can delegate the more specialized tasks to more specialized coding languages. To do this you will need a cross language framework. This will not be too difficult. You only need to learn how to use a framework built for the language you already know, to ask for a language that is better at handling graphics. You can use a more complex language like C++ without even knowing it!
&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhm0wa0j65tmenv59w7cg.png" alt="Image description" width="800" height="537"&gt;
&lt;/li&gt;
&lt;li&gt;  How many devices can Python games run on?
Python has many useful libraries, frameworks, and even some services that let you give your Python games the ability to work on many different platforms. This includes Windows, MacOS, and Linux. But the one I am interested in is Num Works. More specifically the NumWorks calculator. That expensive graphing calculator is able to run python code. I am sure this has many useful applications like calculating complex formulas or storing data to cheat on a test and so on. But what I am interested in is gaming on my calculator. Now I know this won’t be an amazing coding experience, I do have a personal computer (the best gaming experience), no, my main motivator here is memes!
There is a meme that I love, where people try to code the game DOOM onto a calculator. Not just a calculator but I saw someone even code an environment that you can walk around in on a digital pregnancy test! While I am not skilled enough to code a pregnancy test, I believe that putting video games on my calculator is within my reach! Normally this would be a very easy process, not even requiring coding knowledge, all one has to do is connect their calculator to the internet and download the desired game. But in this case no one has coded DOOM in Python, for the NumWorks calculator, yet! That is where I come in. Now I have never made a three dimensional game, or even played DOOM for that matter. But I believe with a little effort to code the game (and playing the game lol) I too can play DOOM on my calculator!

&lt;ul&gt;
&lt;li&gt;What else can you do with Python?
Being an easy to learn language makes it popular for lots of fields
You may think there is a limit to the things Python can do for you, since it is so easy to learn and it's popular. But those traits have become so substantial that they contribute to the usefulness of Python, instead of hurting it. Since Python is so easy to learn that makes it a good choice for people who don’t want to spend a huge amount of time learning to code but still want the benefits of automation and data visualization (more than not). Web development, automation of simple tasks, education, and finance are just some of the most widely used applications of Python. Python is good at web development because the syntax is easy to read. That means someone will spend more time coding their website with the necessities and extra stuff, rather than trying to read and understand syntax. You can of course leverage Python's extensive libraries and frameworks here. To make it so that you don’t have to reinvent the wheel while making a website and think with more abstraction (think about the big picture versus small details) while making your website. Python excels at management of data and information. Python has lots of frameworks and libraries that help organize and represent data. This could be useful for finances, making it easier to input data and see it from a different angle. Or have an algorithm do all that for you. This can also help teachers represent complicated topics to students, hopefully making it easier to understand. 
&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fz2xc3koczc00gpy55zbu.png" alt="Image description" width="800" height="528"&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Conclusion&lt;br&gt;
In conclusion, Python is a great coding language to learn to get your foot in the door as a programmer. Python is great for making games. Python can also be utilized in many different fields besides gaming.&lt;/p&gt;

&lt;p&gt;Sources: &lt;br&gt;
&lt;a href="https://www.tutorialspoint.com/is-python-good-for-developing-games-why-or-why-not"&gt;https://www.tutorialspoint.com/is-python-good-for-developing-games-why-or-why-not&lt;/a&gt;&lt;br&gt;
&lt;a href="https://www.reddit.com/r/learnpython/comments/12vbfev/how_complex_a_game_can_you_build_in_python/"&gt;https://www.reddit.com/r/learnpython/comments/12vbfev/how_complex_a_game_can_you_build_in_python/&lt;/a&gt;&lt;br&gt;
&lt;a href="http://programarcadegames.com/index.php?lang=en&amp;amp;chapter=introduction_to_graphics"&gt;http://programarcadegames.com/index.php?lang=en&amp;amp;chapter=introduction_to_graphics&lt;/a&gt;&lt;br&gt;
&lt;a href="https://forum.freecodecamp.org/t/why-should-i-learn-python-if-i-already-know-javascript/253988"&gt;https://forum.freecodecamp.org/t/why-should-i-learn-python-if-i-already-know-javascript/253988&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
    <item>
      <title>How to host a Minecraft server for Java on PC</title>
      <dc:creator>Walker-A-1</dc:creator>
      <pubDate>Tue, 04 Jun 2024 02:16:47 +0000</pubDate>
      <link>https://dev.to/walkera1/how-to-host-a-minecraft-server-for-java-on-pc-4m5j</link>
      <guid>https://dev.to/walkera1/how-to-host-a-minecraft-server-for-java-on-pc-4m5j</guid>
      <description>&lt;p&gt;You should totally host your own server, it can save you money and give you more control and options. You could totally buy a realm or pay for a server hosting service but that is like 8 dollars a month and you can only have two people on at the same time for that price. And if you have a nice computer you might as well put it too use. With your own server you can make all the rules. Have things be peaceful and you don't lose your stuff when you die, sure. Or you can make it super hard and have all the nightmare creatures you want. And my personal favorite is only having it open for a limited time. If it is only open on the weekends then it will make to time you do play more fun.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Why Should You Host a Minecraft Server? 
Hosting a minecraft server is super fun and has a huge payoff. You can have your own world, make your own rules, and do whatever you want. My favorite part is that I can turn on my server and walk away from it for any reason and everyone can still use it while I am away. Hosting your own server is a great way to save money, there are lots of server hosting services with varying quality and versatility, one thing in common is they all require you to pay every month to keep them active. If you already have a machine that can support the server it can basically run for free (minus the electricity and internet costs). You can also have any amount of players and mods on your server. Keep in mind that the more you want to add to the server, the more it will demand of your computer. So make sure your specs are good enough for what you want to do.&lt;/li&gt;
&lt;li&gt;Risks of Hosting a Minecraft Server(?)
Of course everything you do holds an inherent risk, hosting a Minecraft server is pretty risky though. The biggest risk to hosting your own server is a DDoS attack. In order for others to connect to your server they need your IP address (your computer's address). If the wrong person gets your IP address they can mess up your computer and ruin your server. DDos attack stands for distributed denial of service. When a hacker gets access to a lot of computers they can coordinate an attack. They carry out this attack by having a lot of computers send requests to your server at the same time. This can mean a computer that is only suppose to support 10 people of a server at once is now getting 1,000 requests for others to join. This can slow down your server and make your actual players unable to play.
On a less depressing note, someone can also grief your world in game. For whatever reason, someone could totally kill you, steal your stuff, burn your house down. So just make a plan for Griefers ahead of time. 
There is also the risk of someone physically accessing your computer and inputting commands to give themselves stuff and lock you out. Now that all of the risks are covered, how do you actually host a Minecraft server?&lt;/li&gt;
&lt;li&gt;How Do I Host a Minecraft Server?
-What do You Need?
I will go over some of the bare minimum requirements of hosting a minecraft server. If you have exactly these specifications then you will be able to run a server, mostly. With the bare minimum parts you will be able to support a small server with only a few people online at a time and maybe some lag at times. Now I'm sure your system is at least a little bit better than this and there are endless combinations of parts and specs for PCs out there. But a general rule is the more people and mods you want, the more resources your server will need. You should do your own research but below is the bare minimum requirements to hosting a minecraft server.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;_A PC Of Course&lt;/p&gt;

&lt;p&gt;I’m sure there is a way to force a Playstation or an xbox to hosting a minecraft server for you, but I don’t know how to do that. So I recommend getting a computer. You can do way more than just games on it (like host a server for any game) and it can play games really well. PCs are always going to be more expensive and more work than a console. But if you love games and technology I highly recommend getting a Computer (and try building your own).&lt;/p&gt;

&lt;p&gt;_A PC With: &lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;A Fast CPU&lt;br&gt;
A CPU with enough cores and fast enough speed is needed for a server. The bare minimum would be something like a Core i5-4590 or an AMD equivalent. That CPU has four cores and a clock speed of 3.5 GHz. That CPU is 10 years old so it might be time for an upgrade soon.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enough RAM (memory DDR3 and above)&lt;br&gt;
RAM, or random access memory, determines how much short term memory your computer has access too. The bare minimum is 8GB of RAM with the recommended 16GB of RAM. Without enough memory your server will have lag issues and might forget that you and your friends beat the ender dragon.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Enough Storage Space&lt;br&gt;
The bare minimum disk space requirement is 20GB. This number will go up depending on how many mods you want to have. And don’t forget to keep server backups just in case something goes wrong.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;What You Need to Download

&lt;ol&gt;
&lt;li&gt;  Download java for minecraft
&lt;a href="https://thebreakdown.xyz/how-to-download-install-the-java-se-development-kit/"&gt;Link to download Java &lt;/a&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/li&gt;
&lt;li&gt;  To download java go to this link and go to the version that is right for you. Currently it is java 21 but this may change with new versions of minecraft and java coming out. Once you go there navigate to the computer system you are using and download the x64 installer &lt;/li&gt;
&lt;li&gt;  &lt;a href="https://papermc.io/downloads/paper"&gt;Link to the paperMC download page&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;  Bring that file to your desktop and open it&lt;/li&gt;
&lt;li&gt;  Download paper server and store it in a folder
&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmdcs20plu96ncbrvi7is.png" alt="Image description" width="800" height="524"&gt;
&lt;/li&gt;
&lt;li&gt;  Rename the paper file to paper or paper.jar if your file started with a .jar at the end.&lt;/li&gt;
&lt;li&gt;  Make a text file and copy this text into it
&lt;code&gt;@echo off
java -Xmx8G -jar paper-1.20.4-393.jar nogui
pause&lt;/code&gt;
The Xmx8G says that I want to allocate 8 Gigabytes of memory to the server (can be changed as you like). The paper-1.20.4-393.jar is the current version of minecraft we want to run. You will use the original name of your paper file you first downloaded here. And the pause will pause your computer if there is an issue with the server, so you can read what the issue is before closing the tab. 
&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F477vm9nc7n8bpd8tim3v.png" alt="Image description" width="800" height="420"&gt;
Navigate to File then Save as save the type as all files and the name should be start.bat &lt;/li&gt;
&lt;li&gt;  Click on the start.bat file. It will fail. But it will generate some other useful files&lt;/li&gt;
&lt;li&gt;  Open the eula.txt file. Change eula=false to eula=true. That will make you agree to the eula.
&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Ff1j869vqh4pktpjvi9by.png" alt="Image description" width="800" height="546"&gt;
&lt;/li&gt;
&lt;li&gt;  Click the start.bat again&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In conclusion hosting a Minecraft server does have a high cost of effort and money up front. Also some necessary risk you must take on. But once you get it up and running it can be a great addition to your Minecraft community and that of your friends. &lt;/p&gt;

&lt;p&gt;Sources: &lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.youtube.com/watch?v=ilhGh9CEIwM"&gt;DDoS attack explained&lt;/a&gt; - &lt;a href="https://hostadvice.com/blog/web-hosting/minecraft/minecraft-server-hosting-requirements/"&gt;what is needed to host a server&lt;/a&gt; - &lt;a href="https://youtu.be/3zRdrLXFS8o?si=JIQ7WPT1azN7FBs_"&gt;explaining how to install paperMC&lt;/a&gt; - &lt;a href="https://youtu.be/syW8hEPQRRg?si=VJPBkxSxOpWsnQue"&gt;how to download JAVA&lt;/a&gt;&lt;/p&gt;

</description>
      <category>minecraft</category>
      <category>download</category>
      <category>papermc</category>
    </item>
    <item>
      <title>Value VS Reference in Javascript</title>
      <dc:creator>Walker-A-1</dc:creator>
      <pubDate>Mon, 26 Feb 2024 01:55:43 +0000</pubDate>
      <link>https://dev.to/walkera1/value-vs-reference-in-javascript-3eo0</link>
      <guid>https://dev.to/walkera1/value-vs-reference-in-javascript-3eo0</guid>
      <description>&lt;p&gt;Value Vs. Reference is a very confusing part of Javascript. But understanding the difference between value versus reference is needed to pass a very difficult quiz in the Operation Spark bootcamp. The quiz has lots of tricks and red herring details meant to confuse you. So even if you understand the difference my first piece of advice is to proofread the quiz questions and code. But to help you really understand and visualize the difference between the two I will try and explain that here.&lt;br&gt;
     Simply copy the value&lt;br&gt;
   When I say copy by value I mean if you tried to make a variable and initialize it with the name of another variable like this. &lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8tyh6dk8h9g3dp3yt476.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F8tyh6dk8h9g3dp3yt476.png" alt="Image description" width="800" height="82"&gt;&lt;/a&gt;&lt;br&gt;
Above shows the value of the num1 variable being copied to the num2 variable. So if you were to mutate the value of num2, the num1 variable would remain unchanged. &lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi4efr6j8wgu5xp6955if.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fi4efr6j8wgu5xp6955if.png" alt="Image description" width="800" height="63"&gt;&lt;/a&gt;&lt;br&gt;
This is because the value of num1 is a simple data type. When you try to copy a simple data type it only copies the value itself. So when the name num1 is used on line 2 it is only being resolved to ‘1’. num1 and num2 are separate from each other. There is only a variable called num1 pointing at the value 1. And another variable called num2 pointing at its own copy of the value 1. &lt;br&gt;
After line 2 whatever happens to one of these variables will not affect the other. &lt;br&gt;
    - It shall have many titles!&lt;br&gt;
        - If you try to copy a complex data type the value is not copied. This new variable becomes another name to reference complex data by.&lt;br&gt;
This means if you attempt to copy an object by its variable name to another variable the two variables will be referencing the same object. So if you were to mutate the object using its first name the value of the second name would also change. Here is an example below.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvda15wem9fb46esufplb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fvda15wem9fb46esufplb.png" alt="Image description" width="800" height="140"&gt;&lt;/a&gt;&lt;br&gt;
As you can see above, obj2 was changed even though it was never explicitly used. However! This only works if you are trying to mutate the value of a complex data type. There is a big difference between reassigning and mutating. Mutating is changing a small part of the data, like one property at a time. Reassigning a variable is different because it affects the variable, not the value. When reassigning a variable name to something else the original object, or complex data type, is left unaffected. As seen below.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F029ess5j0ay7n7yp3f6w.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F029ess5j0ay7n7yp3f6w.png" alt="Image description" width="800" height="129"&gt;&lt;/a&gt;&lt;br&gt;
    - Stack and Heap Memory&lt;br&gt;
        - A better way to visualize this is by talking about how Javascript stores data in its memory. There are two places Javascript stores data, the stack memory and the heap memory. &lt;br&gt;
The stack memory is for simple data types, like numbers, strings, and undefined. The stack memory is fixed when it knows what data to expect because simple data only needs a certain amount of memory. &lt;br&gt;
The heap memory is of an indefinite size and stores complex data types. Complex data types need to have an indefinite memory allocated to them because they can be an infinite size (or until the computer runs out of storage). This is because a complex data type can have any number of simple data types inside them. So the heap memory gives as much storage as needed for the complex data type at the time of initialization and gives it more when needed.&lt;br&gt;
&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyc8kkm7cgz0wd3bhfkzy.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fyc8kkm7cgz0wd3bhfkzy.png" alt="Image description" width="800" height="362"&gt;&lt;/a&gt;&lt;br&gt;
Above is an example of Stack and Heap memory. The object and function are stored in the heap memory while the variable names and the string variable are stored in the stack memory. Both newEmployee and employee are pointing at the employee object. &lt;br&gt;
    -Conclusion&lt;br&gt;
In conclusion, knowing the difference between javascripts copy by value and reference is tuff, but very necessary to pass the Operation Spark bootcamp and beyond. And don’t worry, once you understand the method behind the madness, it will all make sense. It is probably necessary to become a good javascript developer. I haven’t found a use for it yet but maybe you can.&lt;br&gt;
Credit:Memory Management in JavaScript - GeeksforGeeks&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
