<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[onyxcode]]></title><description><![CDATA[Welcome to my website! Here you can find helpful dev tutorials, tech news, and more! Consider following me on Twitter, at @onyxcodedan.]]></description><link>https://onyxcode.net</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 04:35:23 GMT</lastBuildDate><atom:link href="https://onyxcode.net/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[How to install palera1n on a Chromebook]]></title><description><![CDATA[Notes and Warnings

If you have a Chromebook with a Ryzen processor, this process has a much lower success rate. If possible, use a different computer or if you must, a Chromebook with an Intel processor.

If you're using a USB-C to Lightning cable f...]]></description><link>https://onyxcode.net/how-to-install-palera1n-on-a-chromebook</link><guid isPermaLink="true">https://onyxcode.net/how-to-install-palera1n-on-a-chromebook</guid><category><![CDATA[iOS]]></category><category><![CDATA[exploit]]></category><category><![CDATA[hacking]]></category><category><![CDATA[palera1n]]></category><dc:creator><![CDATA[Dan]]></dc:creator><pubDate>Sun, 02 Jul 2023 23:18:36 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1688339800538/c7c71565-19ab-4808-b3ee-19cadede027e.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<h2 id="heading-notes-and-warnings">Notes and Warnings</h2>
<ul>
<li><p>If you have a Chromebook with a Ryzen processor, this process has a much lower success rate. If possible, use a different computer or if you must, a Chromebook with an Intel processor.</p>
</li>
<li><p>If you're using a USB-C to Lightning cable for this process, there's a chance you'll face some trouble getting into DFU mode. If that happens, get yourself a USB-A to Lightning cable and, if needed, grab a USB-C to USB-A adapter as well.</p>
</li>
<li><p>You <strong><em>must</em></strong> enable Developer Mode on your Chromebook for this process to work.</p>
</li>
</ul>
<h2 id="heading-getting-what-you-need"><strong>Getting What You Need</strong></h2>
<ol>
<li>All you need is to download the latest release of <a target="_blank" href="https://github.com/palera1n/palera1n/releases/latest"><strong>palera1n</strong></a>.</li>
</ol>
<h2 id="heading-allowing-palera1n-to-run"><strong>Allowing palera1n to Run</strong></h2>
<ol>
<li><p>Time to get the palera1n binary in the right place. Move the downloaded file to <code>/usr/local/bin</code>.</p>
<ul>
<li><p>Here's what you need to do:</p>
<ul>
<li><p>Press <code>Ctrl</code> + <code>Alt</code> + <code>T</code> to open the terminal.</p>
</li>
<li><p>Type in <code>shell</code>.</p>
</li>
<li><p>Run the command <code>mv ~/Downloads/palera1n-linux-* /usr/local/bin/</code>.</p>
</li>
</ul>
</li>
</ul>
</li>
<li><p>Now, in the terminal, run the command <code>sudo mount -o remount,exec /tmp</code>. You'll need to do this every time you reboot your Chromebook.</p>
</li>
<li><p>Whenever you're ready to jailbreak, make sure your device is connected and manually enter Recovery Mode. You can easily find instructions on how to do this with a quick Google search.</p>
</li>
</ol>
<h2 id="heading-running-palera1n"><strong>Running palera1n</strong></h2>
<ol>
<li><p>Open the terminal and execute the <code>palera1n</code> binary using <code>TERM=linux sudo palera1n</code>. If the binary doesn't work, you might need to run <code>sudo chmod a+x /usr/local/bin/palera1n</code>.</p>
</li>
<li><p>After this, palera1n should automatically detect your device in Recovery Mode and ask you to press Enter.</p>
</li>
<li><p>Follow the instructions to put your device into DFU mode.</p>
</li>
<li><p>As soon as you see the Apple logo on your device, unplug it, and then plug it back in. This will allow your Chromebook to detect the PongoOS USB device.</p>
</li>
</ol>
<p>Just remember, it's an experimental process, so be prepared for any unexpected bumps along the way.</p>
]]></content:encoded></item><item><title><![CDATA[How to setup Starship Prompt and Zsh on Crostini]]></title><description><![CDATA[Hey all! I made this guide after getting Starship successfully working on Bash, but zsh would refuse to accept the init script.
Step 0 - Set a custom password
This step is not required if you've already set a custom password for your Crostini contain...]]></description><link>https://onyxcode.net/how-to-setup-starship-prompt-and-zsh-on-crostini</link><guid isPermaLink="true">https://onyxcode.net/how-to-setup-starship-prompt-and-zsh-on-crostini</guid><category><![CDATA[containers]]></category><category><![CDATA[Linux]]></category><category><![CDATA[zsh]]></category><category><![CDATA[Google Chrome]]></category><category><![CDATA[Tutorial]]></category><dc:creator><![CDATA[Dan]]></dc:creator><pubDate>Sat, 10 Jul 2021 04:02:54 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1625889645384/wSQ3dALtXw.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey all! I made this guide after getting Starship successfully working on Bash, but zsh would refuse to accept the init script.</p>
<h2 id="step-0-set-a-custom-password">Step 0 - Set a custom password</h2>
<p><strong>This step is not required if you've already set a custom password for your Crostini container.</strong></p>
<p>Run <code>sudo passwd user</code>, where <code>user</code> is your username.</p>
<h2 id="step-1-install-zsh-and-setting-as-default-shell">Step 1 - Install zsh and setting as default shell</h2>
<p>...whether it be from your package manager of choice, or <a target="_blank" href="https://github.com/zsh-users/zsh">from source</a>.</p>
<p>Then, simply run this command to add zsh's binary to <code>/etc/shells</code>:
<code>command -v zsh | sudo tee -a /etc/shells</code></p>
<p>Now, set it as your default shell:
<code>chsh -s $(which zsh)</code></p>
<h2 id="step-2-install-starship-prompt">Step 2 - Install Starship Prompt</h2>
<p>Run <code>curl -fsSL https://starship.rs/install.sh | bash</code> to start the installation. </p>
<p>To add Starship's init script to your .zshrc file, simply run one last command:
<code>echo $(starship init zsh) &gt;&gt; ~/.zshrc</code></p>
<h2 id="congrats-youre-done">Congrats, you're done!</h2>
<p>Enjoy your new beautiful and blazing fast prompt with the power of Rust and zsh!</p>
]]></content:encoded></item><item><title><![CDATA[How to solve the "not in sync" error on Arduino IDE]]></title><description><![CDATA[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?

If so, the fix is quite simple. First, locate the Tools section on the top bar of ...]]></description><link>https://onyxcode.net/not-in-sync</link><guid isPermaLink="true">https://onyxcode.net/not-in-sync</guid><category><![CDATA[arduino]]></category><category><![CDATA[Programming Tips]]></category><category><![CDATA[Tutorial]]></category><category><![CDATA[C]]></category><category><![CDATA[C++]]></category><dc:creator><![CDATA[Dan]]></dc:creator><pubDate>Mon, 22 Feb 2021 17:17:01 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1614013363435/5bhcuH_Lz.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>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?</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1614013525427/6NaWEQkj2.png" alt="image.png" /></p>
<p>If so, the fix is quite simple. First, locate the <code>Tools</code> section on the top bar of the Arduino IDE.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1614013862476/muxNYwQ3d.png" alt="image.png" /></p>
<p>Then, hover over the <code>Port</code> option.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1614013908338/YQM2ySkcW.png" alt="image.png" /></p>
<p>As you can see here, my Arduino UNO is located on serial port <code>/dev/ttyACM3</code>. Let's try uploading the sketch again.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1614014106789/eA2dMPle3.png" alt="image.png" /></p>
<p>The sketch is now uploaded! If you enjoyed this tutorial, and found it helpful, like it and share it with a friend!</p>
]]></content:encoded></item><item><title><![CDATA[How to Make Command Aliases in Bash]]></title><description><![CDATA[Hey all! This is a quick one, but I use command aliases all the time and they make my life so much easier when I'm in the terminal. Let's get started!
1. Opening the .bashrc file
The .bashrc file is short for "bash run commands". It can be located in...]]></description><link>https://onyxcode.net/bash-aliases</link><guid isPermaLink="true">https://onyxcode.net/bash-aliases</guid><category><![CDATA[Linux]]></category><category><![CDATA[command line]]></category><category><![CDATA[Bash]]></category><category><![CDATA[terminal]]></category><category><![CDATA[Tutorial]]></category><dc:creator><![CDATA[Dan]]></dc:creator><pubDate>Mon, 07 Dec 2020 15:38:57 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1607355472049/txCpeXx73.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hey all! This is a quick one, but I use command aliases all the time and they make my life <em>so much easier</em> when I'm in the terminal. Let's get started!</p>
<h1 id="1-opening-the-bashrc-file">1. Opening the .bashrc file</h1>
<p>The .bashrc file is short for "bash run commands". It can be located in your home directory at <code>~/.bashrc</code>. 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.</p>
<pre><code><span class="hljs-attribute">sudo</span> apt install nano -y
</code></pre><p>We can now cd to our home directory and run the listed below command to open our .bashrc file.</p>
<pre><code><span class="hljs-selector-tag">nano</span> <span class="hljs-selector-class">.bashrc</span>
</code></pre><h1 id="2-adding-aliases">2. Adding aliases</h1>
<p>I recommend putting aliases at the end of your .bashrc file. To get to the end of a file in Nano, press <code>Ctrl+V</code> repeatedly until you reach the end. Let's make a command alias for <a target="_blank" href="https://asciinema.org/">asciinema</a>. asciinema is a terminal recorder that I use often to capture command errors and demonstrate my Python scripts. I will call this alias <code>asc</code>, as the provided command, <code>asciinema</code> is quite lengthy. I will write the below listed code and explain it.</p>
<pre><code># Command aliases
<span class="hljs-keyword">alias</span> <span class="hljs-keyword">asc</span>=<span class="hljs-string">'asciinema'</span>
</code></pre><p><code>alias</code> signals to Bash that the next word is a command alias. <code>asc</code> is the name of the alias. The <code>=</code> means the rest of the line defines the alias. <code>'asciinema'</code> defines the action that the alias carries out.</p>
<p>Now that we are done, save and close the file in Nano by typing <code>Ctrl+X</code>, <code>y</code>, and <code>Enter</code>.</p>
<h1 id="3-testing-it-out">3. Testing it out</h1>
<p>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.</p>
<pre><code><span class="hljs-section">onx@penguin:~$ asc rec</span>
<span class="hljs-section">asciinema: recording asciicast to /tmp/tmpaliz0fko-ascii.cast</span>
<span class="hljs-section">asciinema: press &lt;ctrl-d&gt; or type "exit" when you're done</span>
<span class="hljs-section">onx@penguin:~$ echo hello world!</span>
hello world!
<span class="hljs-section">onx@penguin:~$ echo awesome! it works!</span>
awesome! it works!
<span class="hljs-section">onx@penguin:~$ exit</span>
exit
<span class="hljs-section">asciinema: recording finished</span>
<span class="hljs-section">asciinema: press &lt;enter&gt; to upload to asciinema.org, &lt;ctrl-c&gt; to save locally</span>

View the recording at:

    https://asciinema.org/a/lPYgTBguPVz4g27KnuXO5pLTB
</code></pre><p>You can go view the recording for yourself if you like :)</p>
<h1 id="4-youre-done">4. You're done!</h1>
<p>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!</p>
]]></content:encoded></item><item><title><![CDATA[Getting Started with GitHub CLI]]></title><description><![CDATA[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.
Installation
Because of the amount of install...]]></description><link>https://onyxcode.net/gh-cli-getting-started</link><guid isPermaLink="true">https://onyxcode.net/gh-cli-getting-started</guid><category><![CDATA[GitHub]]></category><category><![CDATA[terminal]]></category><category><![CDATA[Git]]></category><category><![CDATA[Tutorial]]></category><category><![CDATA[2Articles1Week]]></category><dc:creator><![CDATA[Dan]]></dc:creator><pubDate>Wed, 02 Dec 2020 06:22:25 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1606890467524/jKWmTjQkJ.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>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.</p>
<h1 id="installation">Installation</h1>
<p>Because of the amount of install methods, I've taken the liberty of creating a separate article dedicated to <a target="_blank" href="https://onyxcode.net/install-methods-gh-cli">installation methods</a>.</p>
<h1 id="authentication">Authentication</h1>
<p>When you first try to run <code>gh</code>, it will ask you to authenticate with your GitHub account. </p>
<pre><code>gh auth <span class="hljs-keyword">login</span>
</code></pre><p>Select if you are authenticating with a GitHub Enterprise Server, or GitHub.com. In this tutorial, I will be authenticating with GitHub.com.</p>
<pre><code>? What account <span class="hljs-keyword">do</span> you want <span class="hljs-keyword">to</span> <span class="hljs-keyword">log</span> <span class="hljs-keyword">into</span>?  [<span class="hljs-keyword">Use</span> arrows <span class="hljs-keyword">to</span> <span class="hljs-keyword">move</span>, <span class="hljs-keyword">type</span> <span class="hljs-keyword">to</span> filter]
&gt; GitHub.com
  GitHub <span class="hljs-keyword">Enterprise</span> <span class="hljs-keyword">Server</span>
</code></pre><p>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.</p>
<pre><code>? How would you <span class="hljs-keyword">like</span> <span class="hljs-keyword">to</span> authenticate?  [Use arrows <span class="hljs-keyword">to</span> <span class="hljs-keyword">move</span>, <span class="hljs-keyword">type</span> <span class="hljs-keyword">to</span> <span class="hljs-keyword">filter</span>]
&gt; <span class="hljs-keyword">Login</span> <span class="hljs-keyword">with</span> a web browser
  Paste an authentication token
</code></pre><p>Make sure to copy your one-time code before pressing "Enter" to open the authentication window.</p>
<pre><code>! First copy your one-<span class="hljs-keyword">time</span> code: &lt;your code will be here&gt;
- Press Enter to <span class="hljs-keyword">open</span> github.com in your browser...
</code></pre><p><img src="https://file.coffee/u/By57wWKumX.png" alt="By57wWKumX.png" /></p>
<p>After entering your activation code, you will be brought to the OAuth page.</p>
<p><img src="https://file.coffee/u/NYs6clge0f.png" alt="NYs6clge0f.png" /></p>
<p>After authorizing, and confirming your password, you will be brought to this page.</p>
<p><img src="https://file.coffee/u/4wWImySCyF.png" alt="4wWImySCyF.png" /></p>
<p>Congratulations! You are now authenticated! Returning to the terminal, you will be greeted with this message.</p>
<pre><code>✓ Authentication complete. Press Enter to <span class="hljs-keyword">continue</span>...
</code></pre><p>One last thing!</p>
<pre><code>? Choose <span class="hljs-keyword">default</span> git protocol  [Use arrows <span class="hljs-keyword">to</span> <span class="hljs-keyword">move</span>, <span class="hljs-keyword">type</span> <span class="hljs-keyword">to</span> <span class="hljs-keyword">filter</span>]
&gt; HTTPS
  SSH
</code></pre><p>I'd recommend using HTTPS, since it's the most widely used protocol, so I'll be choosing it.</p>
<pre><code>✓ Configured git protocol
✓ <span class="hljs-keyword">Logged</span> <span class="hljs-keyword">in</span> <span class="hljs-keyword">as</span> onyxcode
</code></pre><p>Congrats! You're done setting up GitHub CLI!</p>
<h1 id="usage-examples">Usage Examples</h1>
<p>Full documentation at <a target="_blank" href="https://cli.github.com/manual/">cli.github.com/manual</a>.</p>
<ul>
<li>Create a public gist</li>
</ul>
<pre><code>gh gist <span class="hljs-keyword">create</span> <span class="hljs-comment">--public hello.py</span>
</code></pre><ul>
<li>Clone a repository</li>
</ul>
<pre><code>gh repo <span class="hljs-keyword">clone</span> onyxcode/hazy
</code></pre><ul>
<li>List issues for a repository</li>
</ul>
<pre><code>gh issue <span class="hljs-keyword">list</span> -R Rapptz/discord.py
</code></pre><ul>
<li>Download latest release</li>
</ul>
<pre><code>gh <span class="hljs-keyword">release</span> download -R microsoft/winget-cli
</code></pre><h1 id="in-closing">In closing</h1>
<p>I hope you found this article helpful! If you did, share and like!</p>
]]></content:encoded></item><item><title><![CDATA[Installation Methods for GitHub CLI]]></title><description><![CDATA[You can install GitHub CLI in quite a few ways, I will be going over each OS in this article.
Windows
WinGet
winget install gh
scoop
scoop install gh
Chocolatey
choco install gh
MSI file
You can download the compiled MSI file from the releases page.
...]]></description><link>https://onyxcode.net/install-methods-gh-cli</link><guid isPermaLink="true">https://onyxcode.net/install-methods-gh-cli</guid><category><![CDATA[GitHub]]></category><category><![CDATA[Git]]></category><category><![CDATA[command line]]></category><dc:creator><![CDATA[Dan]]></dc:creator><pubDate>Wed, 02 Dec 2020 05:31:07 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1606890708238/yJNU2lUKB.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>You can install GitHub CLI in quite a few ways, I will be going over each OS in this article.</p>
<h1 id="windows">Windows</h1>
<h3 id="winget">WinGet</h3>
<pre><code><span class="hljs-attribute">winget</span> install gh
</code></pre><h3 id="scoop">scoop</h3>
<pre><code><span class="hljs-attribute">scoop</span> install gh
</code></pre><h3 id="chocolatey">Chocolatey</h3>
<pre><code><span class="hljs-attribute">choco</span> install gh
</code></pre><h3 id="msi-file">MSI file</h3>
<p>You can download the compiled MSI file from the <a target="_blank" href="https://github.com/cli/cli/releases/latest">releases page</a>.</p>
<p><br /></p>
<h1 id="linux">Linux</h1>
<h3 id="debianubuntu-apt">(Debian/Ubuntu) apt</h3>
<pre><code><span class="hljs-attribute">sudo</span> apt-key adv --keyserver keyserver.ubuntu.com --recv-key C<span class="hljs-number">99</span>B<span class="hljs-number">11</span>DEB<span class="hljs-number">97541</span>F<span class="hljs-number">0</span>
<span class="hljs-attribute">sudo</span> apt-add-repository https://cli.github.com/packages
<span class="hljs-attribute">sudo</span> apt update
<span class="hljs-attribute">sudo</span> apt install gh
</code></pre><h3 id="fedora-centos-red-hat-enterprise-linux-dnf">(Fedora, CentOS, Red Hat Enterprise Linux) dnf</h3>
<pre><code>sudo dnf config-manager --add-repo <span class="hljs-symbol">https:</span>/<span class="hljs-regexp">/cli.github.com/packages</span><span class="hljs-regexp">/rpm/gh</span>-cli.repo
sudo dnf install gh
</code></pre><h3 id="opensuse-linux-zypper">(openSUSE Linux) zypper</h3>
<pre><code>sudo zypper addrepo <span class="hljs-symbol">https:</span>/<span class="hljs-regexp">/cli.github.com/packages</span><span class="hljs-regexp">/rpm/gh</span>-cli.repo
sudo zypper ref
sudo zypper install gh
</code></pre><h3 id="arch-linux-pacman">(Arch Linux) pacman</h3>
<pre><code><span class="hljs-attribute">sudo</span> pacman -S github-cli
</code></pre><h3 id="android-termux">(Android) Termux</h3>
<pre><code><span class="hljs-attribute">pkg</span> install gh
</code></pre><h3 id="gentoo-linux-emerge">(Gentoo Linux) emerge</h3>
<pre><code><span class="hljs-attribute">emerge</span> -av github-cli
</code></pre><h3 id="kiss-linux-kiss">(Kiss Linux) kiss</h3>
<pre><code><span class="hljs-attribute">kiss</span> b github-cli &amp;&amp; kiss i github-cli
</code></pre><h3 id="snap">snap</h3>
<pre><code>sudo snap install --edge gh &amp;&amp; snap <span class="hljs-keyword">connect</span> gh:ssh-<span class="hljs-keyword">keys</span>
</code></pre><h3 id="nixnixos-nix">(Nix/NixOS) nix</h3>
<pre><code><span class="hljs-selector-tag">nix-env</span> <span class="hljs-selector-tag">-iA</span> <span class="hljs-selector-tag">nixos</span><span class="hljs-selector-class">.gitAndTools</span><span class="hljs-selector-class">.gh</span>
</code></pre>]]></content:encoded></item><item><title><![CDATA[What is considered practical in terms of applictions?]]></title><description><![CDATA[Hi! I started learning Python about 6 months ago, and yesterday made my first graphic application, Hazy. I was very happy that upon sharing the project on Reddit, it recieved 4 stars including one from PySimpleGUI themselves!
I am very curious and wo...]]></description><link>https://onyxcode.net/what-apps-practical</link><guid isPermaLink="true">https://onyxcode.net/what-apps-practical</guid><dc:creator><![CDATA[Dan]]></dc:creator><pubDate>Fri, 27 Nov 2020 17:38:05 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1606838308867/5sjYRDD_n.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Hi! I started learning Python about 6 months ago, and yesterday made my first graphic application, <a target="_blank" href="https://github.com/onyxcode/hazy">Hazy</a>. I was very happy that upon sharing the project on Reddit, it recieved 4 stars including one from <a target="_blank" href="https://github.com/pysimplegui">PySimpleGUI</a> themselves!</p>
<p>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!</p>
<p>Let me know in the comments!</p>
<p><strong><a target="_blank" href="https://unsplash.com/photos/ieic5Tq8YMk">Cover image</a> by <a target="_blank" href="https://unsplash.com/@cdr6934">Chris Ried</a> on <a target="_blank" href="https://unsplash.com">Unsplash</a>.</strong></p>
]]></content:encoded></item><item><title><![CDATA[Warnings against using unofficial installers]]></title><description><![CDATA[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.
parkervcp and...]]></description><link>https://onyxcode.net/unofficial-installers</link><guid isPermaLink="true">https://onyxcode.net/unofficial-installers</guid><dc:creator><![CDATA[Dan]]></dc:creator><pubDate>Sat, 21 Nov 2020 23:48:50 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1606838330566/gKR8TVP5H.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>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.</p>
<p><a target="_blank" href="https://github.com/parkervcp">parkervcp</a> and <a target="_blank" href="https://github.com/pterodactyl">his team</a> have no official install script for Pterodactyl. Stupidly, I went in search of <strong>unofficial</strong> install scripts, without realizing that most of them would be deployed on a fresh machine. Can you see where this is going?</p>
<p>It wiped <strong><em>all of my SQL databases</em></strong>. What did these databases contain you ask? Oh nothing, just about <strong>10 domains worth of content including 2 forums and 6 WordPress installs</strong>. Stupid, I know. Luckily, all my previous articles, I had decided to publish on this website as well! Dev.to to the rescue!</p>
<p>In the aftermath, I decided that from now on, my articles will be published <em>mainly</em> on dev.to, with links to these articles on my website, <a target="_blank" href="https://onyxcode.net">onyxcode.net</a>.</p>
<p>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.</p>
<p>Thank you for coming to my TED talk.</p>
]]></content:encoded></item><item><title><![CDATA[Google drops bombshell zero day exploit affecting Windows 10]]></title><description><![CDATA[Google has now publicly released details on a zero day exploit that hackers are supposedly actively using 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. Howeve...]]></description><link>https://onyxcode.net/google-zero-day-windows</link><guid isPermaLink="true">https://onyxcode.net/google-zero-day-windows</guid><dc:creator><![CDATA[Dan]]></dc:creator><pubDate>Sat, 31 Oct 2020 05:51:57 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1606838341801/Gl6fj5zuM.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Google has now publicly released details on a zero day exploit that hackers are supposedly <strong>actively using</strong> 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.</p>
<p>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.</p>
<p>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.</p>
<p>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.”</p>
<p>However, the attacker’s motives are still unknown. Google’s threat intelligence director says the attacks were “targeted” but <strong>not related</strong> to the United States 2020 election.</p>
<p>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.</p>
<p>Yet, in June and September, the U.S. Department of Homeland Security alerted to <strong>critical</strong> Windows bugs that included spread via internet and gaining elevated access to an entire Windows network.</p>
]]></content:encoded></item><item><title><![CDATA[An Introduction To The Apt Package Manager]]></title><description><![CDATA[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 ...]]></description><link>https://onyxcode.net/apt-intro</link><guid isPermaLink="true">https://onyxcode.net/apt-intro</guid><dc:creator><![CDATA[Dan]]></dc:creator><pubDate>Wed, 14 Oct 2020 08:55:28 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1606890651854/9Y4eVuaZn.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>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.</p>
<h2 id="1-installing-packages">1. Installing packages</h2>
<p>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:</p>
<pre><code><span class="hljs-attribute">sudo</span> apt install sl
</code></pre><p>It should output something similar to this:</p>
<p>(Image on original post)</p>
<p>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!</p>
<blockquote>
<p>Tip</p>
<p>Install multiple packages at once by adding a space between each package name.</p>
</blockquote>
<h2 id="2-uninstalling-packages">2. Uninstalling packages</h2>
<p>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.</p>
<pre><code>sudo apt <span class="hljs-keyword">remove</span> sl
</code></pre><p>Your output should look something like this:</p>
<p>(Image on original post)</p>
<p>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!</p>
<h2 id="3-updating-packages">3. Updating packages</h2>
<p>With Apt, updating is a simple process, and it updates all installed packages at once. Simply run this command:</p>
<pre><code>sudo apt <span class="hljs-keyword">full</span>-upgrade
</code></pre><p>I won’t attach an image here because depending on how m
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.</p>
<h2 id="in-conclusion">In conclusion</h2>
<p>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!</p>
]]></content:encoded></item></channel></rss>