<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Greycloak</title><link>https://greycloak.com/</link><description>Recent content on Greycloak</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>Copyright © 2023, Vince Wadhwani; all rights reserved.</copyright><lastBuildDate>Thu, 12 Feb 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://greycloak.com/index.xml" rel="self" type="application/rss+xml"/><item><title>Creating and using Postgres MCP with Codex</title><link>https://greycloak.com/post/2026-02-20-creating-and-using-mcp-postres/</link><pubDate>Thu, 12 Feb 2026 00:00:00 +0000</pubDate><guid>https://greycloak.com/post/2026-02-20-creating-and-using-mcp-postres/</guid><description>
&lt;h1 id="creating-and-using-mcp-postgres"&gt;Creating and Using MCP Postgres&lt;/h1&gt;
&lt;p&gt;If you are using Codex and a Postgres database, adding a Postgres MCP server gives the agent direct DB tooling for schema inspection, query support, and migration verification.&lt;/p&gt;
&lt;p&gt;This guide shows how to install it, start it, and stop it.&lt;/p&gt;
&lt;h2 id="why-use-postgres-mcp"&gt;Why Use Postgres MCP&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Lets Codex use DB tools directly instead of guessing from source files.&lt;/li&gt;
&lt;li&gt;Speeds up debugging and migration checks.&lt;/li&gt;
&lt;li&gt;Helps verify real database state during task execution.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="prerequisites"&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;codex&lt;/code&gt; CLI installed and authenticated.&lt;/li&gt;
&lt;li&gt;Node.js and &lt;code&gt;npx&lt;/code&gt; available.&lt;/li&gt;
&lt;li&gt;A running Postgres instance.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For Docker-based Postgres, make sure the container is up and port-mapped:&lt;/p&gt;</description></item><item><title>Launching Vim like gVim on linux</title><link>https://greycloak.com/post/2026-02-20-launching-vim-like-gvim/</link><pubDate>Thu, 12 Feb 2026 00:00:00 +0000</pubDate><guid>https://greycloak.com/post/2026-02-20-launching-vim-like-gvim/</guid><description>
&lt;p&gt;If you’ve recently upgraded to Fedora 43, you might have noticed that gvim (the GTK-based GUI for Vim) feels a bit like a relic. It often struggles with Wayland, requiring X11 overrides just to launch.&lt;/p&gt;
&lt;p&gt;I recently decided to ditch the buggy gvim package entirely and create a dedicated &amp;quot;Vim App&amp;quot; that runs inside the native terminal (Ptyxis), but behaves like a standalone application in the GNOME environment.&lt;/p&gt;
&lt;p&gt;Here is the step-by-step guide on how to set it up.&lt;/p&gt;</description></item><item><title>Running Stable Diffusion Locally on Fedora 43 with no GPU</title><link>https://greycloak.com/post/2026-02-12-installing-a-local-image-llm/</link><pubDate>Thu, 12 Feb 2026 00:00:00 +0000</pubDate><guid>https://greycloak.com/post/2026-02-12-installing-a-local-image-llm/</guid><description>
&lt;p&gt;If you’ve got a Fedora 43 laptop (especially something like a Framework with Intel integrated graphics) and you want to generate AI images locally, you can do it — without CUDA, without NVIDIA drivers, and without the heavyweight PyTorch + AUTOMATIC1111 setup.&lt;/p&gt;
&lt;p&gt;This guide walks through the exact steps that worked for me using:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;stable-diffusion.cpp&lt;/strong&gt; (fast C++ backend)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;sd.cpp-webui&lt;/strong&gt; (simple Gradio-based browser UI)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Stable Diffusion v1.5 safetensors model&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Python 3.12&lt;/strong&gt; (important!)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This setup is CPU-friendly and runs well on modern laptops.&lt;/p&gt;</description></item><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>Joplin CLI on Raspberry Pi 4</title><link>https://greycloak.com/post/2022-08-05-joplin-cli/</link><pubDate>Fri, 05 Aug 2022 12:00:00 +0530</pubDate><guid>https://greycloak.com/post/2022-08-05-joplin-cli/</guid><description>
&lt;p&gt;I've been searching for a way to keep my notes and todos organized. Over the years I've tried some interesting solutions like Evernote, Google Tasks, and even Task Warrior. All of them have their pros and cons but I've recently really liked the flexibility and ease of use of &lt;a href="https://joplinapp.org/"&gt;Joplin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The screenshots will show you that it's got a complete Graphical User Interface and is usable across most operating systems including Linux so if you want to do that, by all means check it out. Installation is pretty straight forward and you won't need this guide.&lt;/p&gt;</description></item><item><title>Cassette Mix: 70's Mix 1</title><link>https://greycloak.com/post/2022-06-12-70s-mix/</link><pubDate>Sun, 12 Jun 2022 12:00:00 +0530</pubDate><guid>https://greycloak.com/post/2022-06-12-70s-mix/</guid><description>
&lt;p&gt;I wrote earlier about cassettes becoming a more important part of my listening experience. I have bought some great cassettes from my local record store but I also like making my own mixes. Generally, I buy 110 minute type 2 cassettes from Amazon as they're the most convenient place to get a lot of song storage without paying nosebleed prices. To record music, I assemble a playlist on YouTube and then connect the headphone jack on my computer to the line in on my Sony WM-D6C.&lt;/p&gt;</description></item><item><title>Benefits of Cassette Culture</title><link>https://greycloak.com/post/2022-05-01-benefits-cassette-culture/</link><pubDate>Sun, 01 May 2022 12:00:00 +0530</pubDate><guid>https://greycloak.com/post/2022-05-01-benefits-cassette-culture/</guid><description>
&lt;p&gt;I'm GenX and I grew up on a budget. That meant listening to the radio and trying to record my favorite song onto a cassette tape so I could listen to it in my parent's car or on a cheap portable cassette player on the way to school. When CD's came on the scene, like many others, I jumped on board eager to get perfect sound quality and leave behind clumsy track skipping.&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>Giving Archlinux Another Try</title><link>https://greycloak.com/post/2019-01-29-giving-arch-another-try/</link><pubDate>Tue, 29 Jan 2019 16:00:00 +0530</pubDate><guid>https://greycloak.com/post/2019-01-29-giving-arch-another-try/</guid><description>
&lt;p&gt;I bought an HP Envy x360 a few months ago. It had the right combination of features I wanted. Touchscreen, 360 flip, smaller screen size, and decent graphics chip.&lt;/p&gt;
&lt;p&gt;The plan was I wanted to draw, read, and play games on a computer while running linux. Shouldn't be that hard to do but surpringly, any computers that have a touch screen and can flip are either too big to read on comfortably or have a lousy intel chip.&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>ChromeOS Shortcomings</title><link>https://greycloak.com/post/2018-10-26-chromeos-shortcomings/</link><pubDate>Fri, 26 Oct 2018 10:09:56 +0530</pubDate><guid>https://greycloak.com/post/2018-10-26-chromeos-shortcomings/</guid><description>
&lt;p&gt;I've been using ChromeOS as my main development machine for a while now. At first I logged in under my personal gmail and used Crouton for development, but after Crostini I decided to separate out my work and personal items. Here are a few things that still bother me and why I might go back to a full linux environment:&lt;/p&gt;
&lt;h2 id="multiple-users---sign-out"&gt;Multiple Users - sign out&lt;/h2&gt;
&lt;p&gt;There are two major problems with multiple users on Chrome. The first is that once you sign in another user, you can't just sign them out. You have to sign out ALL users. This is incredibly annoying because of resources taken keeping another user signed in but also because of the lock screen privacy (see below).&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><item><title>Ten Things I Love About ArchLinux</title><link>https://greycloak.com/post/2007-05-31-ten-things-archlinux/</link><pubDate>Thu, 31 May 2007 10:34:56 +0530</pubDate><guid>https://greycloak.com/post/2007-05-31-ten-things-archlinux/</guid><description>
&lt;p&gt;I've been back on Mac OSX for over a year now, using it for all my daily activities from email and web surfing to programming and device syncing. Something has been eating at me though and I find myself pining for my old linux desktop. Since buying a new rig for kicks is out of the question, I instead dug up a beat up IBM T22 and grabbed my Kubuntu Alternative Install CD and went to it.&lt;/p&gt;</description></item></channel></rss>