<?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: Dan</title>
    <description>The latest articles on DEV Community by Dan (@onyxcode).</description>
    <link>https://dev.to/onyxcode</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%2F477149%2F6240f418-c34e-49ae-b63d-3521a9125a84.jpeg</url>
      <title>DEV Community: Dan</title>
      <link>https://dev.to/onyxcode</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/onyxcode"/>
    <language>en</language>
    <item>
      <title>How to setup Starship Prompt and Zsh on Crostini</title>
      <dc:creator>Dan</dc:creator>
      <pubDate>Sat, 10 Jul 2021 04:57:26 +0000</pubDate>
      <link>https://dev.to/onyxcode/how-to-setup-starship-prompt-and-zsh-on-crostini-4lkg</link>
      <guid>https://dev.to/onyxcode/how-to-setup-starship-prompt-and-zsh-on-crostini-4lkg</guid>
      <description>&lt;p&gt;Hey all! I made this guide after getting Starship successfully working on Bash, but zsh would refuse to accept the init script.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 0 - Set a custom password
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;This step is not required if you've already set a custom password for your Crostini container.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Run &lt;code&gt;sudo passwd user&lt;/code&gt;, where &lt;code&gt;user&lt;/code&gt; is your username.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 1 - Install zsh and setting as default shell
&lt;/h2&gt;

&lt;p&gt;...whether it be from your package manager of choice, or &lt;a href="https://github.com/zsh-users/zsh"&gt;from source&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Then, simply run this command to add zsh's binary to &lt;code&gt;/etc/shells&lt;/code&gt;:&lt;code&gt;command -v zsh | sudo tee -a /etc/shells&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now, set it as your default shell:&lt;code&gt;chsh -s $(which zsh)&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Step 2 - Install Starship Prompt
&lt;/h2&gt;

&lt;p&gt;Run &lt;code&gt;curl -fsSL https://starship.rs/install.sh | bash&lt;/code&gt; to start the installation.&lt;/p&gt;

&lt;p&gt;To add Starship's init script to your .zshrc file, simply run one last command:&lt;code&gt;echo $(starship init zsh) &amp;gt;&amp;gt; ~/.zshrc&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Congrats, you're done!
&lt;/h2&gt;

&lt;p&gt;Enjoy your new beautiful and blazing fast prompt with the power of Rust and zsh!&lt;/p&gt;

</description>
      <category>tutorial</category>
      <category>linux</category>
      <category>chromeos</category>
      <category>rust</category>
    </item>
    <item>
      <title>How to solve the "not in sync" error on Arduino IDE</title>
      <dc:creator>Dan</dc:creator>
      <pubDate>Thu, 25 Feb 2021 13:06:16 +0000</pubDate>
      <link>https://dev.to/onyxcode/how-to-solve-the-not-in-sync-error-on-arduino-ide-4jml</link>
      <guid>https://dev.to/onyxcode/how-to-solve-the-not-in-sync-error-on-arduino-ide-4jml</guid>
      <description>&lt;p&gt;If you've ever coded for an Arduino, you're probably familiar with the Arduino IDE. Is your IDE just not uploading your sketch? Are you getting an error such as this?&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--X4_vw2JN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1614013525427/6NaWEQkj2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--X4_vw2JN--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1614013525427/6NaWEQkj2.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If so, the fix is quite simple. First, locate the &lt;code&gt;Tools&lt;/code&gt; section on the top bar of the Arduino IDE.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--Zo5wSQ1p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1614013862476/muxNYwQ3d.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--Zo5wSQ1p--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1614013862476/muxNYwQ3d.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then, hover over the &lt;code&gt;Port&lt;/code&gt; option.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--6_mHEgMj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1614013908338/YQM2ySkcW.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--6_mHEgMj--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1614013908338/YQM2ySkcW.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As you can see here, my Arduino UNO is located on serial port &lt;code&gt;/dev/ttyACM3&lt;/code&gt;. Let's try uploading the sketch again.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--N0UvV_N5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1614014106789/eA2dMPle3.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--N0UvV_N5--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://cdn.hashnode.com/res/hashnode/image/upload/v1614014106789/eA2dMPle3.png" alt="image.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The sketch is now uploaded! If you enjoyed this tutorial helpful, like it and share it with a friend!&lt;/p&gt;

</description>
      <category>arduino</category>
      <category>c</category>
      <category>tutorial</category>
      <category>programming</category>
    </item>
    <item>
      <title>How to Make Command Aliases in Bash</title>
      <dc:creator>Dan</dc:creator>
      <pubDate>Mon, 07 Dec 2020 15:54:25 +0000</pubDate>
      <link>https://dev.to/onyxcode/how-to-make-command-aliases-in-bash-21j1</link>
      <guid>https://dev.to/onyxcode/how-to-make-command-aliases-in-bash-21j1</guid>
      <description>&lt;p&gt;Originally published on my website, &lt;a href="https://onyxcode.net"&gt;onyxcode.net&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hey all! This is a quick one, but I use command aliases all the time and they make my life &lt;em&gt;so much easier&lt;/em&gt; when I'm in the terminal. Let's get started!&lt;/p&gt;

&lt;h1&gt;
  
  
  1. Opening the .bashrc file
&lt;/h1&gt;

&lt;p&gt;The .bashrc file is short for "bash run commands". It can be located in your home directory at &lt;code&gt;~/.bashrc&lt;/code&gt;. It contains a few preset configurations already. For this tutorial, I will be using Nano as my primary text editor. You can install it on Ubuntu and Debian using the command listed below.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt install nano -y
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;We can now cd to our home directory and run the listed below command to open our .bashrc file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;nano .bashrc
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  2. Adding aliases
&lt;/h1&gt;

&lt;p&gt;I recommend putting aliases at the end of your .bashrc file. To get to the end of a file in Nano, press &lt;code&gt;Ctrl+V&lt;/code&gt; repeatedly until you reach the end. Let's make a command alias for &lt;a href="https://asciinema.org/"&gt;asciinema&lt;/a&gt;. asciinema is a terminal recorder that I use often to capture command errors and demonstrate my Python scripts. I will call this alias &lt;code&gt;asc&lt;/code&gt;, as the provided command, &lt;code&gt;asciinema&lt;/code&gt; is quite lengthy. I will write the below listed code and explain it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Command aliases
alias asc='asciinema'
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;alias&lt;/code&gt; signals to Bash that the next word is a command alias. &lt;code&gt;asc&lt;/code&gt; is the name of the alias. The &lt;code&gt;=&lt;/code&gt; means the rest of the line defines the alias. &lt;code&gt;'asciinema'&lt;/code&gt; defines the action that the alias carries out.&lt;/p&gt;

&lt;p&gt;Now that we are done, save and close the file in Nano by typing &lt;code&gt;Ctrl+X&lt;/code&gt;, &lt;code&gt;y&lt;/code&gt;, and &lt;code&gt;Enter&lt;/code&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  3. Testing it out
&lt;/h1&gt;

&lt;p&gt;Now let's see if our alias works. First, close your current bash session and open a new one. This reloads the .bashrc file with the new configuration.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;onx@penguin:~$ asc rec
asciinema: recording asciicast to /tmp/tmpaliz0fko-ascii.cast
asciinema: press &amp;lt;ctrl-d&amp;gt; or type "exit" when you're done
onx@penguin:~$ echo hello world!
hello world!
onx@penguin:~$ echo awesome! it works!
awesome! it works!
onx@penguin:~$ exit
exit
asciinema: recording finished
asciinema: press &amp;lt;enter&amp;gt; to upload to asciinema.org, &amp;lt;ctrl-c&amp;gt; to save locally

View the recording at:

    https://asciinema.org/a/lPYgTBguPVz4g27KnuXO5pLTB
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;You can go view the recording for yourself if you like :)&lt;/p&gt;

&lt;h1&gt;
  
  
  4. You're done!
&lt;/h1&gt;

&lt;p&gt;Congratulations! You've learned how to make command aliases in Bash! Have a great day everyone and let me know what I should write about next in the comments!&lt;/p&gt;

</description>
      <category>linux</category>
      <category>tutorial</category>
      <category>bash</category>
      <category>terminal</category>
    </item>
    <item>
      <title>Getting Started with GitHub CLI</title>
      <dc:creator>Dan</dc:creator>
      <pubDate>Wed, 02 Dec 2020 06:57:07 +0000</pubDate>
      <link>https://dev.to/onyxcode/getting-started-with-github-cli-5elc</link>
      <guid>https://dev.to/onyxcode/getting-started-with-github-cli-5elc</guid>
      <description>&lt;p&gt;&lt;em&gt;Original post on my &lt;a href="https://onyxcode.net"&gt;blog&lt;/a&gt; as part of my #2Articles1Week.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;GitHub CLI is a wonderful new tool released by GitHub in an effort to bring GitHub to the terminal. In this tutorial, I will be showing you how to setup, install and use some basic features of GitHub CLI.&lt;/p&gt;

&lt;h1&gt;
  
  
  Installation
&lt;/h1&gt;

&lt;p&gt;Because of the amount of install methods, I've taken the liberty of creating a separate article dedicated to &lt;a href="https://onyxcode.net/install-methods-gh-cli"&gt;installation methods&lt;/a&gt;.&lt;/p&gt;

&lt;h1&gt;
  
  
  Authentication
&lt;/h1&gt;

&lt;p&gt;When you first try to run &lt;code&gt;gh&lt;/code&gt;, it will ask you to authenticate with your GitHub account.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gh auth login
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Select if you are authenticating with a GitHub Enterprise Server, or GitHub.com. In this tutorial, I will be authenticating with GitHub.com.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;? What account do you want to log into?  [Use arrows to move, type to filter]
&amp;gt; GitHub.com
  GitHub Enterprise Server
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Next, select if you wish to authenticate with a web browser, or with an authentication token. To keep it simple, I'll authenticate with a web browser.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;? How would you like to authenticate?  [Use arrows to move, type to filter]
&amp;gt; Login with a web browser
  Paste an authentication token
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Make sure to copy your one-time code before pressing "Enter" to open the authentication window.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;! First copy your one-time code: &amp;lt;your code will be here&amp;gt;
- Press Enter to open github.com in your browser...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--kxYaIm-n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://file.coffee/u/By57wWKumX.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--kxYaIm-n--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://file.coffee/u/By57wWKumX.png" alt="By57wWKumX.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After entering your activation code, you will be brought to the OAuth page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--le8dHObY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://file.coffee/u/NYs6clge0f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--le8dHObY--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://file.coffee/u/NYs6clge0f.png" alt="NYs6clge0f.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;After authorizing, and confirming your password, you will be brought to this page.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--RX-xBQSZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://file.coffee/u/4wWImySCyF.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--RX-xBQSZ--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://file.coffee/u/4wWImySCyF.png" alt="4wWImySCyF.png"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Congratulations! You are now authenticated! Returning to the terminal, you will be greeted with this message.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;✓ Authentication complete. Press Enter to continue...
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;One last thing!&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;? Choose default git protocol  [Use arrows to move, type to filter]
&amp;gt; HTTPS
  SSH
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I'd recommend using HTTPS, since it's the most widely used protocol, so I'll be choosing it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;✓ Configured git protocol
✓ Logged in as onyxcode
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Congrats! You're done setting up GitHub CLI!&lt;/p&gt;

&lt;h1&gt;
  
  
  Usage Examples
&lt;/h1&gt;

&lt;p&gt;Full documentation at &lt;a href="https://cli.github.com/manual/"&gt;cli.github.com/manual&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Create a public gist
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gh gist create --public hello.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Clone a repository
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gh repo clone onyxcode/hazy
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;List issues for a repository
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gh issue list -R Rapptz/discord.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Download latest release
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;gh release download -R microsoft/winget-cli
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h1&gt;
  
  
  In closing
&lt;/h1&gt;

&lt;p&gt;I hope you found this article helpful! If you did, share and like!&lt;/p&gt;

</description>
      <category>github</category>
      <category>git</category>
      <category>tutorial</category>
      <category>cloud</category>
    </item>
    <item>
      <title>What is considered practical in terms of applictions?</title>
      <dc:creator>Dan</dc:creator>
      <pubDate>Fri, 27 Nov 2020 17:38:05 +0000</pubDate>
      <link>https://dev.to/onyxcode/what-is-considered-practical-in-terms-of-applictions-2g96</link>
      <guid>https://dev.to/onyxcode/what-is-considered-practical-in-terms-of-applictions-2g96</guid>
      <description>&lt;p&gt;Hi! I started learning Python about 6 months ago, and yesterday made my first graphic application, &lt;a href="https://github.com/onyxcode/hazy"&gt;Hazy&lt;/a&gt;. I was very happy that upon sharing the project on Reddit, it recieved 4 stars including one from &lt;a href="https://github.com/pysimplegui"&gt;PySimpleGUI&lt;/a&gt; themselves!&lt;/p&gt;

&lt;p&gt;I am very curious and would like to know your opinion on what is considered "practical" for an application, and the reason behind it. I would love to build your ideas into apps!&lt;/p&gt;

&lt;p&gt;Let me know in the comments!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href="https://unsplash.com/photos/ieic5Tq8YMk"&gt;Cover image&lt;/a&gt; by &lt;a href="https://unsplash.com/@cdr6934"&gt;Chris Ried&lt;/a&gt; on &lt;a href="https://unsplash.com"&gt;Unsplash&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;

</description>
      <category>question</category>
      <category>beginners</category>
      <category>python</category>
      <category>discuss</category>
    </item>
    <item>
      <title>Warnings against using unofficial installers</title>
      <dc:creator>Dan</dc:creator>
      <pubDate>Sat, 21 Nov 2020 23:48:50 +0000</pubDate>
      <link>https://dev.to/onyxcode/warnings-against-using-unofficial-installers-4e06</link>
      <guid>https://dev.to/onyxcode/warnings-against-using-unofficial-installers-4e06</guid>
      <description>&lt;p&gt;I was trying to install Pterodactyl, a panel for managing servers for Minecraft, Discord bots, etc, easier. Looking back now, it was stupid of me to use a script to install it. Installing it manually only took me a couple hours anyways.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/parkervcp"&gt;parkervcp&lt;/a&gt; and &lt;a href="https://github.com/pterodactyl"&gt;his team&lt;/a&gt; have no official install script for Pterodactyl. Stupidly, I went in search of &lt;strong&gt;unofficial&lt;/strong&gt; install scripts, without realizing that most of them would be deployed on a fresh machine. Can you see where this is going?&lt;/p&gt;

&lt;p&gt;It wiped &lt;strong&gt;&lt;em&gt;all of my SQL databases&lt;/em&gt;&lt;/strong&gt;. What did these databases contain you ask? Oh nothing, just about &lt;strong&gt;10 domains worth of content including 2 forums and 6 WordPress installs&lt;/strong&gt;. Stupid, I know. Luckily, all my previous articles, I had decided to publish on this website as well! Dev.to to the rescue!&lt;/p&gt;

&lt;p&gt;In the aftermath, I decided that from now on, my articles will be published &lt;em&gt;mainly&lt;/em&gt; on dev.to, with links to these articles on my website, &lt;a href="https://onyxcode.net"&gt;onyxcode.net&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Bottom line, if the program doesn't have an installer, do it yourself. Don't go in search of unofficial methods. They could potentially contain malicious code, and you don't always know what deployment conditions they are meant for.&lt;/p&gt;

&lt;p&gt;Thank you for coming to my TED talk.&lt;/p&gt;

</description>
      <category>wordpress</category>
      <category>beginners</category>
      <category>mysql</category>
      <category>security</category>
    </item>
    <item>
      <title>Google drops bombshell zero day exploit affecting Windows 10</title>
      <dc:creator>Dan</dc:creator>
      <pubDate>Sat, 31 Oct 2020 05:51:57 +0000</pubDate>
      <link>https://dev.to/onyxcode/google-drops-bombshell-zero-day-exploit-affecting-windows-10-2b03</link>
      <guid>https://dev.to/onyxcode/google-drops-bombshell-zero-day-exploit-affecting-windows-10-2b03</guid>
      <description>&lt;h2&gt;
  
  
  Original article on my website, &lt;a href="https://onyxcode.net"&gt;onyxcode.net&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;Google has now publicly released details on a zero day exploit that hackers are supposedly &lt;strong&gt;actively using&lt;/strong&gt; to hack Windows 10 and 7 PCs. Project Zero by Google gave Microsoft an ultimatum that the vulnerability needed to be fixed within 1 week. However, due to Microsoft’s lack of action, Google let the details on to the public scene.&lt;/p&gt;

&lt;p&gt;This nameless exploit, labeled CVE-2020-17087, can be kryptonite to PCs running Windows 10 and 7 because it allows the attacker to elevate their user access level inside Windows.&lt;/p&gt;

&lt;p&gt;Most cases of the exploit can be found used in connection with another bug in Google’s Chrome web browser which allowed the attackers to escape Chrome’s “sandbox” which could deploy and run malware on the host system. Fortunately, the bug involving Chrome has been fixed.&lt;/p&gt;

&lt;p&gt;Ban Hawkes, the technical leader of Project Zero says that Microsoft plans to release a patch on the 10th of November. Microsoft themselves could not confirm this date but issued a statement saying in part: “Microsoft has a customer commitment to investigate reported security issues and update impacted devices to protect customers. While we work to meet all researchers’ deadlines for disclosures, including short-term deadlines like in this scenario, developing a security update is a balance between timeliness and quality, and our ultimate goal is to help ensure maximum customer protection with minimal customer disruption.”&lt;/p&gt;

&lt;p&gt;However, the attacker’s motives are still unknown. Google’s threat intelligence director says the attacks were “targeted” but &lt;strong&gt;not related&lt;/strong&gt; to the United States 2020 election.&lt;/p&gt;

&lt;p&gt;The attacks were “very limited” according to a Microsoft spokesperson, and “no evidence to indicate widespread usage.” It’s yet another bug in the list of many to affect Windows this year. In January, the NSA helped find a “cryptographic bug”, but there was no evidence it was ever exploited.&lt;/p&gt;

&lt;p&gt;Yet, in June and September, the U.S. Department of Homeland Security alerted to &lt;strong&gt;critical&lt;/strong&gt; Windows bugs that included spread via internet and gaining elevated access to an entire Windows network.&lt;/p&gt;

</description>
      <category>microsoft</category>
      <category>exploit</category>
      <category>security</category>
      <category>news</category>
    </item>
    <item>
      <title>An Introduction To The Apt Package Manager</title>
      <dc:creator>Dan</dc:creator>
      <pubDate>Wed, 14 Oct 2020 08:55:28 +0000</pubDate>
      <link>https://dev.to/onyxcode/an-introduction-to-the-apt-package-manager-498f</link>
      <guid>https://dev.to/onyxcode/an-introduction-to-the-apt-package-manager-498f</guid>
      <description>&lt;p&gt;&lt;a href="https://onyxcode.net/apt-intro"&gt;&lt;em&gt;Original article published on my blog, onyxcode.net&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  An Introduction to the Apt Package Manager
&lt;/h1&gt;

&lt;p&gt;What is Apt? Apt is the default package manager on Ubuntu, a Linux distribution based on the popular Linux operating system, Debian. In this article we will be going over a couple basic features of Apt in order to give you, the user, a basic ability to install, uninstall and update packages.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Installing packages
&lt;/h2&gt;

&lt;p&gt;Installing a package with Apt is pretty straightforward. First, you need the package name. Let’s use “sl” as an example. sl is a small Linux package that prints a moving steam locomotive across the screen when you type “sl” in the terminal. One thing to always remember. In most cases, unless you are logged in as “root”, you will need to type “sudo” before such a command, because it requires administrator privileges. With this information, to install a package, you need to type the following command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt install sl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It should output something similar to this:&lt;/p&gt;

&lt;p&gt;(Image on original post)&lt;/p&gt;

&lt;p&gt;If it asks you if you wish to continue, press Y on your keyboard. Otherwise, if the output is similar to this, congratulations! You’ve successfully installed your first package with Apt! Type “sl” and press Enter to watch the steam locomotive go by. Choo choo!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Tip&lt;/p&gt;

&lt;p&gt;Install multiple packages at once by adding a space between each package name.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  2. Uninstalling packages
&lt;/h2&gt;

&lt;p&gt;Uninstalling packages is just as easy as installing them. Instead of “install”, you simply replace it with “remove”. Let’s use our “sl” package from earlier as an example.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt remove sl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your output should look something like this:&lt;/p&gt;

&lt;p&gt;(Image on original post)&lt;/p&gt;

&lt;p&gt;As before, if it asks you if you wish to continue, press Y on your keyboard. Otherwise, if the output is similar to this, congratulations! You’ve successfully removed a package with Apt!&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Updating packages
&lt;/h2&gt;

&lt;p&gt;With Apt, updating is a simple process, and it updates all installed packages at once. Simply run this command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt full-upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I won’t attach an image here because depending on how m&lt;br&gt;
any packages you have installed, the output can get quite lengthy. However, it will most likely ask for confirmation, so press Y on your keyboard when prompted. full-upgrade checks all mirrors for the latest version of each package and installs it if the mirror’s version number is higher than your system’s.&lt;/p&gt;

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

&lt;p&gt;In this tutorial you learned you to install, uninstall and update packages with the Apt Package Manager. If you enjoyed this article, please comment and share!&lt;/p&gt;

</description>
      <category>linux</category>
      <category>ubuntu</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>An Introduction To The Apt Package Manager</title>
      <dc:creator>Dan</dc:creator>
      <pubDate>Tue, 13 Oct 2020 00:16:48 +0000</pubDate>
      <link>https://dev.to/onyxcode/an-introduction-to-the-apt-package-manager-22gh</link>
      <guid>https://dev.to/onyxcode/an-introduction-to-the-apt-package-manager-22gh</guid>
      <description>&lt;p&gt;&lt;a href="https://onyxcode.net/apt-intro"&gt;&lt;em&gt;Original article published on my blog, onyxcode.net&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  An Introduction to the Apt Package Manager
&lt;/h1&gt;

&lt;p&gt;What is Apt? Apt is the default package manager on Ubuntu, a Linux distribution based on the popular Linux operating system, Debian. In this article we will be going over a couple basic features of Apt in order to give you, the user, a basic ability to install, uninstall and update packages.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Installing packages
&lt;/h2&gt;

&lt;p&gt;Installing a package with Apt is pretty straightforward. First, you need the package name. Let’s use “sl” as an example. sl is a small Linux package that prints a moving steam locomotive across the screen when you type “sl” in the terminal. One thing to always remember. In most cases, unless you are logged in as “root”, you will need to type “sudo” before such a command, because it requires administrator privileges. With this information, to install a package, you need to 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;sudo apt install sl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It should output something similar to this:&lt;/p&gt;

&lt;p&gt;(Image on original post)&lt;/p&gt;

&lt;p&gt;If it asks you if you wish to continue, press Y on your keyboard. Otherwise, if the output is similar to this, congratulations! You’ve successfully installed your first package with Apt! Type “sl” and press Enter to watch the steam locomotive go by. Choo choo!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Tip&lt;/p&gt;

&lt;p&gt;Install multiple packages at once by adding a space between each package name.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  2. Uninstalling packages
&lt;/h2&gt;

&lt;p&gt;Uninstalling packages is just as easy as installing them. Instead of “install”, you simply replace it with “remove”. Let’s use our “sl” package from earlier as an example.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt remove sl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your output should look something like this:&lt;/p&gt;

&lt;p&gt;(Image on original post)&lt;/p&gt;

&lt;p&gt;As before, if it asks you if you wish to continue, press Y on your keyboard. Otherwise, if the output is similar to this, congratulations! You’ve successfully removed a package with Apt!&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Updating packages
&lt;/h2&gt;

&lt;p&gt;With Apt, updating is a simple process, and it updates all installed packages at once. Simply run this command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt full-upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I won’t attach an image here because depending on how m&lt;br&gt;
any packages you have installed, the output can get quite lengthy. However, it will most likely ask for confirmation, so press Y on your keyboard when prompted. full-upgrade checks all mirrors for the latest version of each package and installs it if the mirror’s version number is higher than your system’s.&lt;/p&gt;

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

&lt;p&gt;In this tutorial you learned you to install, uninstall and update packages with the Apt Package Manager. If you enjoyed this article, please comment and share!&lt;/p&gt;

</description>
      <category>linux</category>
      <category>ubuntu</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>An Introduction To The Apt Package Manager</title>
      <dc:creator>Dan</dc:creator>
      <pubDate>Mon, 12 Oct 2020 23:59:05 +0000</pubDate>
      <link>https://dev.to/onyxcode/an-introduction-to-the-apt-package-manager-2dhc</link>
      <guid>https://dev.to/onyxcode/an-introduction-to-the-apt-package-manager-2dhc</guid>
      <description>&lt;p&gt;&lt;a href="https://onyxcode.net/apt-intro"&gt;&lt;em&gt;Original article published on my blog, onyxcode.net&lt;/em&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  An Introduction to the Apt Package Manager
&lt;/h1&gt;

&lt;p&gt;What is Apt? Apt is the default package manager on Ubuntu, a Linux distribution based on the popular Linux operating system, Debian. In this article we will be going over a couple basic features of Apt in order to give you, the user, a basic ability to install, uninstall and update packages.&lt;/p&gt;

&lt;h2&gt;
  
  
  1. Installing packages
&lt;/h2&gt;

&lt;p&gt;Installing a package with Apt is pretty straightforward. First, you need the package name. Let’s use “sl” as an example. sl is a small Linux package that prints a moving steam locomotive across the screen when you type “sl” in the terminal. One thing to always remember. In most cases, unless you are logged in as “root”, you will need to type “sudo” before such a command, because it requires administrator privileges. With this information, to install a package, you need to 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;sudo apt install sl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;It should output something similar to this:&lt;/p&gt;

&lt;p&gt;(Image on original post)&lt;/p&gt;

&lt;p&gt;If it asks you if you wish to continue, press Y on your keyboard. Otherwise, if the output is similar to this, congratulations! You’ve successfully installed your first package with Apt! Type “sl” and press Enter to watch the steam locomotive go by. Choo choo!&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Tip&lt;/p&gt;

&lt;p&gt;Install multiple packages at once by adding a space between each package name.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  2. Uninstalling packages
&lt;/h2&gt;

&lt;p&gt;Uninstalling packages is just as easy as installing them. Instead of “install”, you simply replace it with “remove”. Let’s use our “sl” package from earlier as an example.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt remove sl
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Your output should look something like this:&lt;/p&gt;

&lt;p&gt;(Image on original post)&lt;/p&gt;

&lt;p&gt;As before, if it asks you if you wish to continue, press Y on your keyboard. Otherwise, if the output is similar to this, congratulations! You’ve successfully removed a package with Apt!&lt;/p&gt;

&lt;h2&gt;
  
  
  3. Updating packages
&lt;/h2&gt;

&lt;p&gt;With Apt, updating is a simple process, and it updates all installed packages at once. Simply run this command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sudo apt update
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;I won’t attach an image here because depending on how many packages you have installed, the output can get quite lengthy. However, it will most likely ask for confirmation, so press Y on your keyboard when prompted. update checks all mirrors for the latest version of each package and installs it if the mirror’s version number is higher than your system’s.&lt;/p&gt;

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

&lt;p&gt;In this tutorial you learned you to install, uninstall and update packages with the Apt Package Manager. If you enjoyed this article, please comment and share!&lt;/p&gt;

</description>
      <category>linux</category>
      <category>ubuntu</category>
      <category>tutorial</category>
      <category>beginners</category>
    </item>
    <item>
      <title>Annoyance at bots on this site</title>
      <dc:creator>Dan</dc:creator>
      <pubDate>Sun, 04 Oct 2020 12:49:48 +0000</pubDate>
      <link>https://dev.to/onyxcode/annoyance-at-bots-on-this-site-acb</link>
      <guid>https://dev.to/onyxcode/annoyance-at-bots-on-this-site-acb</guid>
      <description>&lt;p&gt;My Dev.to feed is getting spammed with posts containing what seems to be customer care numbers for random companies that I've never even heard of before. I just want to scroll through my feed and enjoy quality posts but instead, 90% of all posts are from these bots among others,&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;@rkhan771&lt;/li&gt;
&lt;li&gt;@gdhfhf675765&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Mods, please ban these bots for constantly spamming the forum with useless phone numbers.&lt;/p&gt;

&lt;p&gt;Thank you,&lt;br&gt;
Dan&lt;/p&gt;

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