<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Tutorial on Greycloak</title><link>https://greycloak.com/tags/tutorial/</link><description>Recent content in Tutorial on Greycloak</description><generator>Hugo -- gohugo.io</generator><language>en-us</language><copyright>Copyright © 2023, Vince Wadhwani; all rights reserved.</copyright><lastBuildDate>Thu, 26 Jan 2023 12:00:00 +0530</lastBuildDate><atom:link href="https://greycloak.com/tags/tutorial/index.xml" rel="self" type="application/rss+xml"/><item><title>Headless SSD install on Raspberry Pi 4B</title><link>https://greycloak.com/post/2023-01-26-headless-ssd-install-raspberry-pi/</link><pubDate>Thu, 26 Jan 2023 12:00:00 +0530</pubDate><guid>https://greycloak.com/post/2023-01-26-headless-ssd-install-raspberry-pi/</guid><description>
&lt;p&gt;I have a Raspberry Pi 4B that I use as a mini home server and pi-hole. I love that I can block intrusive ads, have a secure vpn connection to my home network, and have backup for my music collection. The Raspberry Pi 4 is a fun little device and if you can get your hands on one, it has a lot of cool uses. (Note, if you're having trouble, may I recommend RPILocator.. follow them on Mastadon for real time updates.)&lt;/p&gt;</description></item><item><title>Free Dynamic DNS with Namecheap for Raspberry Pi</title><link>https://greycloak.com/post/2022-12-30-dynamic-dns-raspberry-pi/</link><pubDate>Fri, 30 Dec 2022 12:00:00 +0530</pubDate><guid>https://greycloak.com/post/2022-12-30-dynamic-dns-raspberry-pi/</guid><description>
&lt;p&gt;I've got a &lt;a href="https://docs.pi-hole.net/"&gt;PiHole&lt;/a&gt; set up on my raspberry pi and have it connected to my home router. My ISP won't assign me a static IP address though it's pretty good about keeping the one I've got active until I reboot my router. For the most part that's been good enough for me but I wanted to finally get dynamic dns going so I wouldn't have to worry about it again. There are some paid solutions out there and my router even supports a few of them by default. I'm a cheapskate though and didn't want to have yet another subscription weighing me down. (Enough is enough!)&lt;/p&gt;</description></item><item><title>Make Firefox address bar work like Chrome</title><link>https://greycloak.com/post/2022-11-19-firefox-address-bar/</link><pubDate>Sat, 19 Nov 2022 12:00:00 +0530</pubDate><guid>https://greycloak.com/post/2022-11-19-firefox-address-bar/</guid><description>
&lt;p&gt;I've been using Firefox as my main browser for a few years now. I like supporting an independent organization and have come to really appreciate the containers functionality which helps me segragate activity. One gripe I've had is that I much prefer the way Google Chrome handle's URL completion. When I'm in Chrome and I type &lt;code&gt;d&lt;/code&gt; it automatically autocompletes to &lt;code&gt;https://www.discord.com/app&lt;/code&gt; in the address bar.&lt;/p&gt;
&lt;p&gt;By contrast, in Firefox typing the same thing autocompletes to &lt;code&gt;https://www.discord.com&lt;/code&gt; even if I've got the full URL bookmarked and have the settings set to just look at my browsing history and bookmarks. It's be a small, but annoying problem for me.&lt;/p&gt;</description></item><item><title>Install Rmagick 3.1 on Archlinux</title><link>https://greycloak.com/post/2019-04-16-rmagick-arch-linux/</link><pubDate>Tue, 16 Apr 2019 12:00:00 +0530</pubDate><guid>https://greycloak.com/post/2019-04-16-rmagick-arch-linux/</guid><description>
&lt;p&gt;So you're doing ruby development in 2019, eh? Good for you! Despite the rumors, Ruby on Rails is still a great way to get a project up and running. I managed to get the core of &lt;a href="https://www.rpgbuddy.com"&gt;https://www.rpgbuddy.com&lt;/a&gt; up and running in a week. One of my clients is also still running Ruby and I need to upgrade them from an old 2.3.3 version to 2.6.2. With that I decided to update a bunch of old gems too. One of those is Rmagick.&lt;/p&gt;</description></item><item><title>Should you npm install globally?</title><link>https://greycloak.com/post/2019-02-22-should-you-npm-install-globally/</link><pubDate>Fri, 22 Feb 2019 12:00:00 +0530</pubDate><guid>https://greycloak.com/post/2019-02-22-should-you-npm-install-globally/</guid><description>
&lt;p&gt;I was transitioning this blog from using Jekyll to Hexo. After comparing both, I feel I made the right choice. However, I almost started off on the wrong foot. Being unfamiliar with Node.js, I was reviewing the Hexo install instructions and the first thing it tells you is to install via:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;npm install hexo-cli -g
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I'm running on Archlinux and got a permission denied error when I tried that. It's likely because I used pacman (the Archlinux package manager) to install node and/or npm. So that left me with the decision of whether to use sudo to force the install. After years of running homebrew, that felt like the wrong decision. And it is. Instead of using sudo, fix permissions or create a new directory. If in doubt, your problem is likely solved by creating a new, local directory.&lt;/p&gt;</description></item><item><title>Getting touchscreen events working with Firefox</title><link>https://greycloak.com/post/2019-02-01-firefox-with-touch/</link><pubDate>Fri, 01 Feb 2019 12:00:00 +0530</pubDate><guid>https://greycloak.com/post/2019-02-01-firefox-with-touch/</guid><description>
&lt;p&gt;I bought this laptop with a touchscreen and occasionally find myself using it while surfing websites. Now with Chrome that worked just fine but with Firefox it tends to select areas of text instead of scrolling. That sucks!&lt;/p&gt;
&lt;p&gt;Fortunately it's quite fixable. You just have to modify the .desktop file (or launch from the command line) with an additional environmental option: &lt;code&gt;env MOZ_USE_XINPUT2=1&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;On most linux distributions, the .desktop file is in &lt;code&gt;/usr/local/share/applications&lt;/code&gt; or &lt;code&gt;~/.local/share/applications&lt;/code&gt; but you can also modify it globally in &lt;code&gt;/usr/share/applications&lt;/code&gt; if you have root.&lt;/p&gt;</description></item><item><title>Install MariaDB in Debian Stretch</title><link>https://greycloak.com/post/2018-12-21-install-mariadb-debian/</link><pubDate>Fri, 21 Dec 2018 16:00:00 +0530</pubDate><guid>https://greycloak.com/post/2018-12-21-install-mariadb-debian/</guid><description>
&lt;p&gt;Note that this article for local installation of Maria DB or MySQL. It's intended to help you get up and running with the database locally and is not intended as a production tutorial. If you need to use either in a production environment, please contact a professional.&lt;/p&gt;
&lt;p&gt;Step 1: update and install&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sudo apt upgrade
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;3&lt;/span&gt;&lt;span class="cl"&gt;sudo apt install mariadb-server mariadb-client
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Step 2: (Optional) Run the secure installation. Doesn't hurt to see the options for future reference.&lt;/p&gt;</description></item><item><title>Patch the Ubuntu Kernel</title><link>https://greycloak.com/post/2018-11-01-patch-ubuntu-kernel/</link><pubDate>Thu, 01 Nov 2018 16:00:00 +0530</pubDate><guid>https://greycloak.com/post/2018-11-01-patch-ubuntu-kernel/</guid><description>
&lt;p&gt;I bought an HP Envy x360 and out of the box it works pretty well with linux. I've got Ubuntu 18.10 installed and have only had to tweak a couple of minor things. There is however, one big problem and that is the touch screen doesn't work. It might be the HP firmware (I am still figuring out how to update it in linux) but in the meantime, there is a &lt;a href="https://bugzilla.kernel.org/show_bug.cgi?id=198715#c14"&gt;patch&lt;/a&gt; available. The question is how do we apply it? Let's find out.&lt;/p&gt;</description></item><item><title>Fix Occasional Freezing on the HP Envy X360</title><link>https://greycloak.com/post/2018-10-31-fix-freezing-envyx360/</link><pubDate>Wed, 31 Oct 2018 10:09:56 +0530</pubDate><guid>https://greycloak.com/post/2018-10-31-fix-freezing-envyx360/</guid><description>
&lt;p&gt;01/2019 update: This doesn't seem to be necessary with the 4.20 kernel!&lt;/p&gt;
&lt;p&gt;I recently bought an HP Envy x360 13&amp;quot; with AMD Ryzen 5 and Vega 8 graphics. I'll get into why another time but one of the things that didn't work quite well had to do with the laptop freezing every once in a while. It seemed random at first but some searching revealed that adding a kernel parameter solves the issue. That kernel param is &lt;code&gt;idle=nomwait&lt;/code&gt;. Since it was successful in stopping the freezing, I thought I'd make it permanent. Here's how:&lt;/p&gt;</description></item><item><title>Reinstall a broken MySQL 5.7 Ubuntu Xenial</title><link>https://greycloak.com/post/2018-07-31-fix-broken-mysql-ubuntu/</link><pubDate>Tue, 31 Jul 2018 10:34:56 +0530</pubDate><guid>https://greycloak.com/post/2018-07-31-fix-broken-mysql-ubuntu/</guid><description>
&lt;p&gt;I've noticed that particularly in Ubuntu Xenial, an apt-upgrade to mysql 5.7 fails. A standard re-install doesn't work for me so I've resorted to more extreme methods to get my install working. This is only suitable for development, mind you. Please do not attempt in production without full backups and supervision.&lt;/p&gt;
&lt;p&gt;Error:&lt;/p&gt;
&lt;pre&gt;
Setting up mysql-server-5.7 (5.7.12-0ubuntu1) ...
Job for mysql.service failed because the control process exited with error code. See "systemctl status mysql.service" and "journalctl -xe" for details.
invoke-rc.d: initscript mysql, action "start" failed.
dpkg: error processing package mysql-server-5.7 (--configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
mysql-server-5.7
E: Sub-process /usr/bin/dpkg returned an error code (1)
&lt;/pre&gt;
&lt;p&gt;Trying to remove and reinstall also fails. The only solution I've found so far is to completely purge MySQL and reinstall it from scratch. I'm sure you can tweak these instructions to backup and restore your data. Maybe if I swtich back from Postgres I'll be motivated to look that up but for now, restoring the one db that uses MySQL is pretty easy. So what's the process?&lt;/p&gt;</description></item><item><title>Fixing keyboard and mouse lag in Xorg (crouton)</title><link>https://greycloak.com/post/2018-07-07-fix-keyboard-lag-crouton/</link><pubDate>Sat, 07 Jul 2018 03:34:56 +0530</pubDate><guid>https://greycloak.com/post/2018-07-07-fix-keyboard-lag-crouton/</guid><description>
&lt;p&gt;I've been using a Chromebook for development lately. On the side, I like to load up games and play using the linux installation I have loaded up via Crouton. &lt;a href="https://github.com/dnschneid/crouton"&gt;Crouton&lt;/a&gt; is amazing and what we'll be using until native linux comes baked in, but it has some issues. There are a number of &amp;quot;targets&amp;quot; for displaying a desktop environment including xiwi and xorg. Here, I'll discuss those two targets and tell you how to fix performance in the latter.&lt;/p&gt;</description></item><item><title>Setting up PostgreSQL on Debian Buster</title><link>https://greycloak.com/post/2018-07-07-debian-postgresql-setup/</link><pubDate>Sat, 07 Jul 2018 03:34:56 +0530</pubDate><guid>https://greycloak.com/post/2018-07-07-debian-postgresql-setup/</guid><description>
&lt;p&gt;In a previous article, we set up your Debian Buster system with git, ruby, and a bash shell that tells you the ruby version and branch. Next up, we're going to install PostgreSQL and dependencies needed to get it working with Ruby on Rails.&lt;/p&gt;
&lt;p&gt;First, let's make sure your system is up to date:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sudo apt upgrade
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Next, we're going to jump right in and install postgres 10:&lt;/p&gt;</description></item><item><title>Setting up Debian Buster for Ruby Development</title><link>https://greycloak.com/post/2018-07-06-debian-ruby-setup/</link><pubDate>Fri, 06 Jul 2018 23:34:56 +0530</pubDate><guid>https://greycloak.com/post/2018-07-06-debian-ruby-setup/</guid><description>
&lt;p&gt;So you've got a new debian install and need to get it set up to do real work? Here's a quick guide to get the packages you need assuming you're using Debian's current testing distro, &lt;code&gt;Buster&lt;/code&gt;, installed.&lt;/p&gt;
&lt;p&gt;First, let's make sure your system is up to date:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo apt update
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;2&lt;/span&gt;&lt;span class="cl"&gt;sudo apt upgrade
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Next, let's grab the essentials including git:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo apt install git curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev nodejs
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Before we get too far, let's configure git. I'm going to assume you're going to do most of your fetching and pushing using https rather than ssh. And if not, that you'll follow other instructions to set up ssh.&lt;/p&gt;</description></item><item><title>Quick Tip: Exporting to CSV from Rails console</title><link>https://greycloak.com/post/2013-10-08-export-rails-to-csv/</link><pubDate>Tue, 08 Oct 2013 10:34:56 +0530</pubDate><guid>https://greycloak.com/post/2013-10-08-export-rails-to-csv/</guid><description>
&lt;p&gt;This is an ugly solution but one that can come in handy if you just need to get some sample data out of your rails application. My particular use case was exporting data from various tables into a CSV file so I could use a 3rd party email service. We have users in a multi-tenant app so it's not quite so simple as just exporting a single table. This is something you almost certainly don't need to use if your SQL-fu is strong. For the rest of us, here we go:&lt;/p&gt;</description></item><item><title>Quick Tip: Set up a Reverse SSH Tunnel</title><link>https://greycloak.com/post/2009-06-10-reverse-ssh-tunnel/</link><pubDate>Wed, 10 Jun 2009 23:34:56 +0530</pubDate><guid>https://greycloak.com/post/2009-06-10-reverse-ssh-tunnel/</guid><description>
&lt;p&gt;Often times I find myself using ssh to get to a server in order to get a file. The problem is that my local machine doesn't have its own publicly accessible IP address. So I end up ssh'ing into the remote server, creating the file I need (e.g. database backup) and then exiting only to run scp from my local machine afterwards. Plus, if after that I want to erase the file on the remote server I have to ssh in again and tidy up after myself. That's me running ssh x2 and scp x1 every time I want to accomplish what should be simple. There's got to be an easier way, right? You bet..&lt;/p&gt;</description></item><item><title>Swapping Control &amp; Alt in Linux</title><link>https://greycloak.com/post/2009-04-19-swap-control-alt-linux/</link><pubDate>Sun, 19 Apr 2009 23:34:56 +0530</pubDate><guid>https://greycloak.com/post/2009-04-19-swap-control-alt-linux/</guid><description>
&lt;p&gt;More for my own reference and in preparation of me completely gutting my system, I'm posting the contents of my .xmodmaprc file which swaps the left control and alt-keys. This allows me to use my linux laptop more like I used my mac, with the command key. Many distributions now let you swap this from a setting but if yours doesn't here is how to go about it.&lt;/p&gt;
&lt;p&gt;Feel free to copy the contents to a file called .xmodmaprc and run it using the xmodmap command:&lt;/p&gt;</description></item><item><title>Quick Tip: Sort by directory size in linux</title><link>https://greycloak.com/post/2009-02-14-sort-by-directory/</link><pubDate>Sat, 14 Feb 2009 23:34:56 +0530</pubDate><guid>https://greycloak.com/post/2009-02-14-sort-by-directory/</guid><description>
&lt;p&gt;If you've got files hidden around your system and you don't know where they are, you can use a quick command to track them down and sort them with the largest first. Handy when trying to prune your old files or free up space on your hard disk.&lt;/p&gt;
&lt;p&gt;Try this:&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-fallback" data-lang="fallback"&gt;&lt;span class="line"&gt;&lt;span class="ln"&gt;1&lt;/span&gt;&lt;span class="cl"&gt;sudo du --max-depth=1 /home/ | sort -n -rs
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description></item></channel></rss>