<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>edryd</title>
    <link>https://edryd.org/</link>
    <description>Recent content on edryd</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <copyright>Copyleft © 2017-2026 Edryd van Bruggen</copyright>
    <lastBuildDate>Tue, 20 Jan 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://edryd.org/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Developing Black and White Film</title>
      <link>https://edryd.org/posts/bw-dev/</link>
      <pubDate>Tue, 20 Jan 2026 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/posts/bw-dev/</guid>
      <description>&lt;p&gt;One of the best ways to improve your craft of photography is by shooting film.&#xA;Analog photography allows you to focus on what matters: creating good photos.&#xA;Film cameras tend to be very minimalist,&#xA;removing the clutter on modern digital cameras.&#xA;Unless you are doing very technical photography, &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&#xA;the shiny newest specs of a modern digital camera might just be a distraction to get in the way.&#xA;The cost &lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; of each photo makes you think before you shoot,&#xA;not just capturing everything and hoping for the best. &lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tisp v0.1 Release</title>
      <link>https://edryd.org/posts/tisp-v0_1/</link>
      <pubDate>Thu, 21 Nov 2024 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/posts/tisp-v0_1/</guid>
      <description>&lt;p&gt;After over 7 years of off-and-on development (but mostly off),&#xA;I am finally releasing the first version of Tisp, the tiny lisp programming language.&#xA;Tisp is far from complete or being ready to use in the real world,&#xA;but I am now satisfied at the current state of features.&lt;/p&gt;&#xA;&lt;p&gt;Before the idea of tisp ever formed, I worked on a shell interpreter called &lt;a href=&#34;https://github.com/rain-1/s&#34;&gt;s&lt;/a&gt;.&#xA;It is a traditional shell which aimed to replace the complexity of bash.&#xA;When creating tisp, I brought this experience with me and wanted to make tisp a practical language&#xA;for everyday interactive use, shell scripting, and quick but powerful one-liners.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Read Files at Compile Time in C</title>
      <link>https://edryd.org/posts/xxd/</link>
      <pubDate>Sat, 30 Jan 2021 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/posts/xxd/</guid>
      <description>&lt;p&gt;Any &lt;a href=&#34;https://www.tutorialspoint.com/cprogramming/c_file_io.htm&#34;&gt;beginners C tutorial&lt;/a&gt; will teach the basics of the C standard library&amp;rsquo;s&#xA;file reading functions (eg &lt;code&gt;fopen&lt;/code&gt;). The limitations of these interfaces is that they are designed&#xA;for run time reading, meaning that the file will be opened and read when the program is executed.&#xA;For most cases this is exactly what is wanted, often the file is only given at&#xA;run time by the user. However, there might be situations where instead it needs to read files&#xA;at compile time, similar to having a statically linked library. For example, I use this in my&#xA;&lt;a href=&#34;https://eevo.pub&#34;&gt;hobby programming language&lt;/a&gt; to include the language&amp;rsquo;s standard library written in the language&#xA;itself. This is done at compile time so it is statically bundled with the binary and requires no&#xA;external text file dependencies.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Intro to Lattice Quantum Chromodynamics</title>
      <link>https://edryd.org/posts/lattice-qcd/</link>
      <pubDate>Fri, 20 Mar 2020 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/posts/lattice-qcd/</guid>
      <description>&lt;p&gt;At the start of the 20th century two new revolutionary and counterintuitive areas of&#xA;physics were being developed, quantum mechanics and special relativity. While quantum mechanics&#xA;describes the strange world of the subatomic with discrete energies, special relativity describes&#xA;the effects of moving incredibly fast: time dilation and space contraction (general relativity is&#xA;needed for a compete picture with mass warping spacetime).&lt;/p&gt;&#xA;&lt;p&gt;In order to understand the dynamics of subatomic particles moving near the speed of light these&#xA;two fields had to be united into quantum field theory. This was first done to describe the&#xA;electromagnetic force, quantizing it into the theory of quantum electrodynamics (QED) which&#xA;satisfies both quantum mechanics and special relativity. However to fully understand the atom, the&#xA;strong force also needs to be quantized into quantum chromodynamics (QCD).&lt;/p&gt;</description>
    </item>
    <item>
      <title>DIY Trackpoint Mechanic Keyboard</title>
      <link>https://edryd.org/posts/tp-mk/</link>
      <pubDate>Mon, 09 Sep 2019 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/posts/tp-mk/</guid>
      <description>&lt;p&gt;&#xA;  &lt;div class=&#34;col-12 text-center&#34;&gt;&#xA;    &lt;img src=&#34;https://edryd.org/img/posts/tp-mk/finish.jpg&#34; alt=&#34;finish&#34;  class=&#34;img-fluid p-md-5&#34;/&gt;&#xA;  &lt;/div&gt;&#xA;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve used a mechanical keyboard for many years now. I currently own a&#xA;tenkeyless layout, even though as a programmer I almost never use the&#xA;arrow cluster or function row, so I to try  the much more compact 60%&#xA;design. I also no longer care for the Cherry MX blue switches on my old board&#xA;since they are quite loud, so I went with MX clears instead in this new design.&lt;/p&gt;</description>
    </item>
    <item>
      <title>The Dangers of C Macros</title>
      <link>https://edryd.org/posts/macro-dangers/</link>
      <pubDate>Tue, 11 Sep 2018 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/posts/macro-dangers/</guid>
      <description>&lt;p&gt;C macros, while being extremely powerful when used correctly, can also be the&#xA;cause for a lot of unnecessary headaches if you are not aware of their&#xA;limitations. It is easy to view macros as just a fast shorthand for making&#xA;simple functions, but there are very important differences which need to be&#xA;addressed.&lt;/p&gt;&#xA;&lt;p&gt;This post outlines some real life examples of macros I have come across or&#xA;attempted to use, some are very beneficial, improving life for everyone,&#xA;others are terrible and impossible to debug, and then some just are plain&#xA;stupid.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Protein Folding with Homology Simulations</title>
      <link>https://edryd.org/posts/homology/</link>
      <pubDate>Sun, 12 Aug 2018 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/posts/homology/</guid>
      <description>&lt;p&gt;This article is based on research I did as a freshman undergrad, see the &lt;a href=&#34;http://2018.igem.org/Team:Washington/Model&#34;&gt;full project&#xA;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&#xA;  &lt;div class=&#34;col-12 text-center&#34;&gt;&#xA;    &lt;img src=&#34;protein.gif&#34; alt=&#34;protein&#34;  class=&#34;img-fluid p-md-5&#34;/&gt;&#xA;  &lt;/div&gt;&#xA;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Proteins naturally fold into their lowest energy configuration, just like a ball rolling down a&#xA;hill to a lower potential. This folded structure gives proteins their function, similar to&#xA;how which lock a key can open is determined by its shape, not the metal that makes it up.&#xA;Theoretically it is possible to calculate how a protein will fold just by using simple&#xA;electrostatic attraction of all a protein&amp;rsquo;s atoms to each other.  However, modeling this process&#xA;on an atom-by-atom basis is NP-hard, meaning that it cannot be easily scaled to average size&#xA;proteins without a supercomputer.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Multivariable Calculus Cheatsheet</title>
      <link>https://edryd.org/posts/multivar-calc/</link>
      <pubDate>Tue, 14 Nov 2017 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/posts/multivar-calc/</guid>
      <description>&lt;h1 id=&#34;trig-identities&#34;&gt;trig identities&lt;/h1&gt;&#xA;&lt;p&gt;$$\sin^2 \theta + \cos^2 \theta = 1$$&lt;/p&gt;&#xA;&lt;p&gt;$$1+ \tan^2 \theta = \sec^2 \theta$$&lt;/p&gt;&#xA;&lt;p&gt;$$1+ \cot^2 \theta = \csc^2 \theta$$&lt;/p&gt;&#xA;&lt;p&gt;$$\sin(a \pm b) = \sin(a)\cos(b) \pm \cos(a)\sin(b)$$&lt;/p&gt;&#xA;&lt;p&gt;$$\cos(a \pm b) = \cos(a)\cos(b) \pm \sin(a)\sin(b)$$&lt;/p&gt;&#xA;&lt;p&gt;$$\sin(-\theta) = -\sin \theta$$&lt;/p&gt;&#xA;&lt;p&gt;$$\cos(-\theta) = \cos \theta$$&lt;/p&gt;&#xA;&lt;p&gt;$$\tan(-\theta) = -\tan \theta$$&lt;/p&gt;&#xA;&lt;h1 id=&#34;derivatives&#34;&gt;derivatives&lt;/h1&gt;&#xA;&lt;p&gt;$$\frac{dy}{dx} = \frac{\frac{dy}{dt}}{\frac{dx}{dt}}$$&lt;/p&gt;&#xA;&lt;p&gt;$$\frac{d^2y}{dx^2} = \frac{\frac{d}{dt}\frac{dy}{dx}}{\frac{dx}{dt}}$$&lt;/p&gt;&#xA;&lt;p&gt;$$\frac{d}{d\theta}\sin \theta = \cos \theta$$&lt;/p&gt;&#xA;&lt;p&gt;$$\frac{d}{d\theta}\cos \theta = -\sin \theta$$&lt;/p&gt;&#xA;&lt;p&gt;$$\frac{d}{d\theta}\tan \theta = \sec^2 \theta$$&lt;/p&gt;&#xA;&lt;p&gt;$$\frac{d}{d\theta}\cot \theta = -\csc^2 \theta$$&lt;/p&gt;</description>
    </item>
    <item>
      <title>Proof of Derivative Properties</title>
      <link>https://edryd.org/posts/deriv-proofs/</link>
      <pubDate>Wed, 04 Oct 2017 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/posts/deriv-proofs/</guid>
      <description>&lt;h2 id=&#34;derivation-of-the-quotient-rule&#34;&gt;derivation of the quotient rule&lt;/h2&gt;&#xA;&lt;p&gt;The quotient rule is used to take the derivative of a function with divided&#xA;expressions:&lt;/p&gt;&#xA;&lt;p&gt;$$&#xA;\left(\frac{u}{v}\right)&amp;rsquo; = \frac{vu&amp;rsquo; - uv&amp;rsquo;}{v^2}&#xA;$$&lt;/p&gt;&#xA;&lt;p&gt;It is possible to prove this rule by utilizing the definition of the&#xA;derivative; however, this is not nearly as elegant as the following simple&#xA;proofs which use other derivative properties instead.&lt;/p&gt;&#xA;&lt;h3 id=&#34;product-rule&#34;&gt;product rule&lt;/h3&gt;&#xA;&lt;p&gt;$$\begin{align}&#xA;y &amp;amp; = \frac{u}{v} \&#xA;&amp;amp; = uv^{-1} \&#xA;y&amp;rsquo; &amp;amp; = v^{-1}u&amp;rsquo; + u(-v^{-2}v&amp;rsquo;) \&#xA;&amp;amp; = \frac{u&amp;rsquo;}{v} - \frac{uv&amp;rsquo;}{v^2} \&#xA;&amp;amp; = \frac{v}{v}\cdot\frac{u&amp;rsquo;}{v} - \frac{uv&amp;rsquo;}{v^2} \&#xA;&amp;amp; = \frac{vu&amp;rsquo;}{v^2} - \frac{uv&amp;rsquo;}{v^2} \&#xA;&amp;amp; = \frac{vu&amp;rsquo; - uv&amp;rsquo;}{v^2} \&#xA;\end{align}$$&lt;/p&gt;</description>
    </item>
    <item>
      <title>Overview of libsl</title>
      <link>https://edryd.org/posts/libsl/</link>
      <pubDate>Sun, 04 Jun 2017 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/posts/libsl/</guid>
      <description>&lt;p&gt;&#xA;  &lt;div class=&#34;col-12 text-center&#34;&gt;&#xA;    &lt;img src=&#34;https://edryd.org/img/posts/sl-header.png&#34; alt=&#34;suckless&#34;  class=&#34;img-fluid p-md-5&#34;/&gt;&#xA;  &lt;/div&gt;&#xA;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://git.suckless.org/libsl&#34;&gt;libsl&lt;/a&gt; is an extremely small library used to write better and clearer C&#xA;programs. The code was created by the &lt;a href=&#34;http://suckless.org&#34;&gt;suckless&lt;/a&gt; community, a small group of&#xA;C hackers and developers creating powerful yet simple programs for Linux&#xA;designed to be lightweight, configurable, and easier to maintain then the many&#xA;other unnecessarily bloated &lt;a href=&#34;http://suckless.org/sucks&#34;&gt;alternatives&lt;/a&gt;. You can read more about their&#xA;&lt;a href=&#34;http://suckless.org/philosophy&#34;&gt;philosophy&lt;/a&gt; on their website. Some of their most notable projects include&#xA;&lt;a href=&#34;http://dwm.suckless.org/&#34;&gt;dwm&lt;/a&gt;, &lt;a href=&#34;http://tools.suckless.org/dmenu&#34;&gt;dmenu&lt;/a&gt;, &lt;a href=&#34;http://st.suckless.org/&#34;&gt;st&lt;/a&gt;, and &lt;a href=&#34;http://surf.suckless.org/&#34;&gt;surf&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>General Physics Cheatsheet</title>
      <link>https://edryd.org/posts/gen-phys-cs/</link>
      <pubDate>Fri, 02 Jun 2017 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/posts/gen-phys-cs/</guid>
      <description>&lt;p&gt;$ \newcommand{\e}[1]{ \times 10^{#1}} $&lt;/p&gt;&#xA;&lt;h2 id=&#34;constants&#34;&gt;constants&lt;/h2&gt;&#xA;&lt;p&gt;$m_e = 9.11\e{-31} kg = .511 \frac{MeV}{c^2} = 5.4858\e{-4} u$&lt;/p&gt;&#xA;&lt;p&gt;$m_p = 1.673\e{-27} kg = 938 \frac{MeV}{c^2} = 1.007276 u$&lt;/p&gt;&#xA;&lt;p&gt;$m_n = 1.675\e{-27} kg = 940 \frac{MeV}{c^2} = 1.008665 u$&lt;/p&gt;&#xA;&lt;p&gt;$u = 1.6605\e{-27} kg = 931.5 \frac{MeV}{c^2}$&lt;/p&gt;&#xA;&lt;p&gt;$e = 1.6012\e{-19} C$&lt;/p&gt;&#xA;&lt;p&gt;$\mu_0 = 4\pi\e{-7}$&lt;/p&gt;&#xA;&lt;p&gt;$k = 8.988\e9 \frac{Nm^2}{C^2}$&lt;/p&gt;&#xA;&lt;p&gt;$\varepsilon_0 = 8.854\e{-12} \frac{F}{m}$&lt;/p&gt;&#xA;&lt;p&gt;$c = 2.998\e8 \frac{m}{s}$&lt;/p&gt;&#xA;&lt;p&gt;$h = 6.626\e{-34} Js = 4.136\e{-15} eVs$&lt;/p&gt;&#xA;&lt;p&gt;$T = 1.6\e{-19}$&lt;/p&gt;</description>
    </item>
    <item>
      <title>Understanding Vim&#39;s Indenting System</title>
      <link>https://edryd.org/posts/vim-indenting/</link>
      <pubDate>Sun, 30 Apr 2017 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/posts/vim-indenting/</guid>
      <description>&lt;p&gt;&#xA;  &lt;div class=&#34;col-12 text-center&#34;&gt;&#xA;    &lt;img src=&#34;https://edryd.org/img/posts/vim-indenting/vim.jpg&#34; alt=&#34;Vim&#34;  class=&#34;img-fluid p-md-5&#34;/&gt;&#xA;  &lt;/div&gt;&#xA;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Like most things in Vim, the indenting (tabs) system is complex making it&#xA;extremely flexible so that it can fit any programming language or use case.&#xA;However, the commands and terminology can be confusing for beginners, this&#xA;post is designed to explain all the different commands and options needed to&#xA;fully control and customize tab&amp;rsquo;s size, type, and look for any purpose.&lt;/p&gt;&#xA;&lt;p&gt;To start of you should know that Vim has two different types of tabs, hard tabs&#xA;and soft tabs. Hard tabs are a single &lt;code&gt;&amp;lt;TAB&amp;gt;&lt;/code&gt; character per indent level, while&#xA;soft tabs are multiple spaces per level. Hard tabs, while being only one&#xA;character, can be displayed by a text editor or viewer as any size, normally 8.&#xA;Different languages have different recommendations for the type and length of&#xA;tab to use, so learning how to control them can sometimes be necessary to&#xA;format your code properly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>aln2grishin</title>
      <link>https://edryd.org/projects/aln2grishin/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/projects/aln2grishin/</guid>
      <description>&lt;h5 id=&#34;aln2grishinpy&#34;&gt;aln2grishin.py:&lt;/h5&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f0f0;&#34;&gt;&lt;code class=&#34;language-python&#34; data-lang=&#34;python&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;#!/usr/bin/env python&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;Convert clustal alignment files to grishin format for use in Rosetta&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;protein homology simulatoins&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;Author: Ed van Bruggen &amp;lt;edvb@uw.edu&amp;gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;import&lt;/span&gt; &lt;span style=&#34;color:#0e84b5;font-weight:bold&#34;&gt;argparse&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;from&lt;/span&gt; &lt;span style=&#34;color:#0e84b5;font-weight:bold&#34;&gt;argparse&lt;/span&gt; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;import&lt;/span&gt; RawTextHelpFormatter&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;parser &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; argparse&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;ArgumentParser(description&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;__doc__&lt;/span&gt;, formatter_class&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;RawTextHelpFormatter)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;parser&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;add_argument(&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#39;--file&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#007020&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#007020&#34;&gt;str&lt;/span&gt;, required&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;True&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    help&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#39;input clustal alignment file&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;parser&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;add_argument(&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#39;--target&amp;#39;&lt;/span&gt;, metavar&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#39;POS&amp;#39;&lt;/span&gt;, &lt;span style=&#34;color:#007020&#34;&gt;type&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#007020&#34;&gt;int&lt;/span&gt;, default&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#40a070&#34;&gt;1&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                    help&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#39;position of target protein (default: 1)&amp;#39;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;args &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; parser&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;parse_args()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;aln &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#007020&#34;&gt;open&lt;/span&gt;(args&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;file)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;proteins &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; []&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;for&lt;/span&gt; i, line &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;in&lt;/span&gt; &lt;span style=&#34;color:#007020&#34;&gt;enumerate&lt;/span&gt;(aln):&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;if&lt;/span&gt; i &lt;span style=&#34;color:#666&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;or&lt;/span&gt; line &lt;span style=&#34;color:#666&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#39;&lt;/span&gt;&lt;span style=&#34;color:#4070a0;font-weight:bold&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#39;&lt;/span&gt; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;or&lt;/span&gt; line[&lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt;] &lt;span style=&#34;color:#666&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#39; &amp;#39;&lt;/span&gt;:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;continue&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    words &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; line&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;split()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    skip &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;for&lt;/span&gt; protein &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;in&lt;/span&gt; proteins:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;if&lt;/span&gt; protein[&lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt;] &lt;span style=&#34;color:#666&#34;&gt;==&lt;/span&gt; words[&lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt;]:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            protein[&lt;span style=&#34;color:#40a070&#34;&gt;1&lt;/span&gt;] &lt;span style=&#34;color:#666&#34;&gt;+=&lt;/span&gt; words[&lt;span style=&#34;color:#40a070&#34;&gt;1&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            skip &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;continue&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;not&lt;/span&gt; skip:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        proteins&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;append([words[&lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt;], words[&lt;span style=&#34;color:#40a070&#34;&gt;1&lt;/span&gt;]])&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;target &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; proteins[args&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;target &lt;span style=&#34;color:#666&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;1&lt;/span&gt;]&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;for&lt;/span&gt; protein &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;in&lt;/span&gt; proteins:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;if&lt;/span&gt; protein &lt;span style=&#34;color:#666&#34;&gt;==&lt;/span&gt; target:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;continue&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    grishin &lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#007020&#34;&gt;open&lt;/span&gt;(target[&lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt;] &lt;span style=&#34;color:#666&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;_&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;+&lt;/span&gt; protein[&lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt;] &lt;span style=&#34;color:#666&#34;&gt;+&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;.grishin&amp;#34;&lt;/span&gt;, &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;w&amp;#34;&lt;/span&gt;)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    grishin&lt;span style=&#34;color:#666&#34;&gt;.&lt;/span&gt;write(&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;## &lt;/span&gt;&lt;span style=&#34;color:#70a0d0&#34;&gt;%s&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt; &lt;/span&gt;&lt;span style=&#34;color:#70a0d0&#34;&gt;%s&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;_thread&lt;/span&gt;&lt;span style=&#34;color:#4070a0;font-weight:bold&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;#&lt;/span&gt;&lt;span style=&#34;color:#4070a0;font-weight:bold&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;scores from program: 0&lt;/span&gt;&lt;span style=&#34;color:#4070a0;font-weight:bold&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;0 &lt;/span&gt;&lt;span style=&#34;color:#70a0d0&#34;&gt;%s&lt;/span&gt;&lt;span style=&#34;color:#4070a0;font-weight:bold&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;0 &lt;/span&gt;&lt;span style=&#34;color:#70a0d0&#34;&gt;%s&lt;/span&gt;&lt;span style=&#34;color:#4070a0;font-weight:bold&#34;&gt;\n&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;%&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                  (target[&lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt;], protein[&lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt;], target[&lt;span style=&#34;color:#40a070&#34;&gt;1&lt;/span&gt;], protein[&lt;span style=&#34;color:#40a070&#34;&gt;1&lt;/span&gt;]))&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>body</title>
      <link>https://edryd.org/projects/body/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/projects/body/</guid>
      <description>&lt;h5 id=&#34;body&#34;&gt;body:&lt;/h5&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f0f0;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020&#34;&gt;#!/usr/bin/env bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020&#34;&gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# body: print the body of a file&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;#&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# if only two arguments are given print the file given by the first at the line&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# number from the second. If a third argument is given print until that line.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#bb60d5&#34;&gt;$#&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;2&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  sed -n &lt;span style=&#34;color:#bb60d5&#34;&gt;$2&lt;/span&gt;p &lt;span style=&#34;color:#bb60d5&#34;&gt;$1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;elif&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#bb60d5&#34;&gt;$#&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;3&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  sed -n &lt;span style=&#34;color:#bb60d5&#34;&gt;$2&lt;/span&gt;,&lt;span style=&#34;color:#bb60d5&#34;&gt;$3&lt;/span&gt;p &lt;span style=&#34;color:#bb60d5&#34;&gt;$1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;else&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#007020&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;usage: body FILE LINE [UNTIL]&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#007020&#34;&gt;exit&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>calc</title>
      <link>https://edryd.org/projects/calc/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/projects/calc/</guid>
      <description>&lt;h5 id=&#34;calc&#34;&gt;calc:&lt;/h5&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f0f0;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020&#34;&gt;#!/usr/bin/env bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020&#34;&gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# calc: preform fast calculations on the go&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;#&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# Tired of having to open a new terminal, run `bc`, type the calculation, only&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# to exit right after seeing the answer? Suffer no longer! Now just type&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# `calc 2+2` and instantly see the answer!&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;$@&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt; | bc -l&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>dmenium</title>
      <link>https://edryd.org/projects/dmenium/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/projects/dmenium/</guid>
      <description>&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;browse&#34;&gt;browse&lt;/a&gt;: return selected file or folder&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;calc&#34;&gt;calc&lt;/a&gt;: calculator using bc&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;dwm_mode&#34;&gt;dwm-mode&lt;/a&gt;: change dwm window mode&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;m8ball&#34;&gt;m8ball&lt;/a&gt;: magic 8 ball&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;man&#34;&gt;man&lt;/a&gt;: open man page in terminal&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;menu&#34;&gt;menu&lt;/a&gt;: select different programs or dmenu scripts&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;prog&#34;&gt;prog&lt;/a&gt;: launch program&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;quit&#34;&gt;quit&lt;/a&gt;: select logout, reboot, shutdown, or lock&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;todo&#34;&gt;todo&lt;/a&gt;: view, add or delete todos from a file&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;win&#34;&gt;win&lt;/a&gt;: focus on an open window&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;see-also&#34;&gt;SEE ALSO&lt;/h2&gt;&#xA;&lt;p&gt;View source code at: &lt;a href=&#34;https://gitlab.com/edvb/dmenium&#34;&gt;https://gitlab.com/edvb/dmenium&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;dmenu(1)&lt;/code&gt; &lt;code&gt;dmenu_path(1)&lt;/code&gt; &lt;code&gt;dmenu_run(1)&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;author&#34;&gt;AUTHOR&lt;/h2&gt;&#xA;&lt;p&gt;Ed van Bruggen &lt;a href=&#34;mailto:edvb54@gmail.com&#34;&gt;edvb54@gmail.com&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>dotfiles</title>
      <link>https://edryd.org/projects/dotfiles/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/projects/dotfiles/</guid>
      <description>&lt;p&gt;This is the place I use to store all my configuration files for programs such&#xA;as Vim, Bash, Tmux, etc. These files are only designed to be used on Linux. I&#xA;recommend you not to just copy whole files, but instead copy one line at a time&#xA;that you understand and slowly build up a huge file. This way you have a setup&#xA;that fits you best.&lt;/p&gt;&#xA;&lt;h2 id=&#34;installation&#34;&gt;installation&lt;/h2&gt;&#xA;&lt;p&gt;Simply run &lt;code&gt;make install&lt;/code&gt; to create all the appropriate symlinks, or run &lt;code&gt;make install-dotfiles&lt;/code&gt; just to install the dotfiles to the home directory, and &lt;code&gt;make instal-sl&lt;/code&gt; to install any suckless config header files&lt;/p&gt;</description>
    </item>
    <item>
      <title>echk</title>
      <link>https://edryd.org/projects/echk/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/projects/echk/</guid>
      <description>&lt;h5 id=&#34;echk&#34;&gt;echk:&lt;/h5&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f0f0;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020&#34;&gt;#!/usr/bin/env bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020&#34;&gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# echk: functions to display shell error code&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echk_color&lt;span style=&#34;color:#666&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# set color depending on if the last command succeed or not&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#bb60d5&#34;&gt;$?&lt;/span&gt; -eq &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020&#34;&gt;echo&lt;/span&gt; -ne &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;\033[0;32m&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;else&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020&#34;&gt;echo&lt;/span&gt; -ne &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;\033[0;31m&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# need to return a value so that the other functions here will&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# know if last command ran OK or not, the previous code will return 0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;1&lt;/span&gt; &lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# TODO $?&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#666&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echk_color_simple&lt;span style=&#34;color:#666&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#bb60d5&#34;&gt;$?&lt;/span&gt; -eq &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;else&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020&#34;&gt;echo&lt;/span&gt; -ne &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;\033[0;31m&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#666&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echk_char&lt;span style=&#34;color:#666&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#bb60d5&#34;&gt;$?&lt;/span&gt; -eq &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;$1&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;else&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;$2&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#666&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echk_check&lt;span style=&#34;color:#666&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    echk_char &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;✓&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;✗ &amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#666&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echk_face&lt;span style=&#34;color:#666&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    echk_char &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;:)&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;:(&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#666&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echk_random_face&lt;span style=&#34;color:#666&#34;&gt;()&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# set arrays for different faces to randomly choose from&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#bb60d5&#34;&gt;$?&lt;/span&gt; -eq &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020&#34;&gt;local&lt;/span&gt; &lt;span style=&#34;color:#bb60d5&#34;&gt;faces&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;=(&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;:)&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;:D&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;else&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#007020&#34;&gt;local&lt;/span&gt; &lt;span style=&#34;color:#bb60d5&#34;&gt;faces&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;=(&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;:P&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;:(&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;:/&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;:O&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;:\\&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;:|&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;:(&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;:(&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#007020&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#70a0d0&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;faces&lt;/span&gt;[&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;$((&lt;/span&gt;RANDOM &lt;span style=&#34;color:#666&#34;&gt;%&lt;/span&gt; &lt;span style=&#34;color:#70a0d0&#34;&gt;${#&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;faces&lt;/span&gt;[*]&lt;span style=&#34;color:#70a0d0&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;))&lt;/span&gt;]&lt;span style=&#34;color:#70a0d0&#34;&gt;}&lt;/span&gt; &lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# randomly choose an array element&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#666&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>g</title>
      <link>https://edryd.org/projects/g/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/projects/g/</guid>
      <description>&lt;h5 id=&#34;g&#34;&gt;g:&lt;/h5&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f0f0;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020&#34;&gt;#!/usr/bin/env bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020&#34;&gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# g: tiny git wrapper&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#bb60d5&#34;&gt;$#&lt;/span&gt; -eq &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;git status&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;else&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;git &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;$@&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>gst</title>
      <link>https://edryd.org/projects/gst/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/projects/gst/</guid>
      <description>&lt;p&gt;Easy way to create GitHub Gists through the command line. Simply give it the&#xA;files to upload and gst will return the URL to the new gist.&lt;/p&gt;&#xA;&lt;h2 id=&#34;options&#34;&gt;Options&lt;/h2&gt;&#xA;&lt;h4 id=&#34;-e-id&#34;&gt;-e &lt;em&gt;ID&lt;/em&gt;&lt;/h4&gt;&#xA;&lt;p&gt;Edit previously created gist specified with &lt;em&gt;ID&lt;/em&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;-d-description&#34;&gt;-d &lt;em&gt;DESCRIPTION&lt;/em&gt;&lt;/h4&gt;&#xA;&lt;p&gt;Set gist description&lt;/p&gt;&#xA;&lt;h4 id=&#34;-d-file&#34;&gt;-D &lt;em&gt;FILE&lt;/em&gt;&lt;/h4&gt;&#xA;&lt;p&gt;Delete &lt;em&gt;FILE&lt;/em&gt; from gist being edited&lt;/p&gt;&#xA;&lt;h4 id=&#34;-f-filename&#34;&gt;-f &lt;em&gt;FILENAME&lt;/em&gt;&lt;/h4&gt;&#xA;&lt;p&gt;Set file name when reading from &lt;code&gt;stdin&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h4 id=&#34;-g-url&#34;&gt;-g &lt;em&gt;URL&lt;/em&gt;&lt;/h4&gt;&#xA;&lt;p&gt;Change the GitHub API URL (default: &lt;a href=&#34;https://api.github.com/gists&#34;&gt;https://api.github.com/gists&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;h4 id=&#34;-p&#34;&gt;-p&lt;/h4&gt;&#xA;&lt;p&gt;Make gist private&lt;/p&gt;</description>
    </item>
    <item>
      <title>markman</title>
      <link>https://edryd.org/projects/markman/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/projects/markman/</guid>
      <description>&lt;p&gt;Simple ad hoc generation of Unix man pages from markdown files.&#xA;It includes customizations and ability to supply additional information or formatting needed for man&#xA;pages not found in traditional markdown.&#xA;For example, you can add a synopsis section from a command&amp;rsquo;s help message, convert the title&#xA;header into the name section, or add a description header before the first paragraph.&#xA;This allows any markdown document to become a manual, including this very README.&lt;/p&gt;</description>
    </item>
    <item>
      <title>nt</title>
      <link>https://edryd.org/projects/nt/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/projects/nt/</guid>
      <description>&lt;h2 id=&#34;synopsis&#34;&gt;SYNOPSIS&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;nt&lt;/code&gt; [&lt;strong&gt;-Dilvy&lt;/strong&gt;] [&lt;strong&gt;-f&lt;/strong&gt; &lt;em&gt;FILE&lt;/em&gt;] [&lt;strong&gt;-e&lt;/strong&gt; &lt;em&gt;NOTE&lt;/em&gt;] [&lt;strong&gt;-d&lt;/strong&gt; &lt;em&gt;NOTE&lt;/em&gt;] [&lt;strong&gt;-t&lt;/strong&gt; [&lt;em&gt;TAG&lt;/em&gt;]] [&lt;strong&gt;-n&lt;/strong&gt; &lt;em&gt;NUM&lt;/em&gt; | &lt;strong&gt;-NUM&lt;/strong&gt;] [&lt;em&gt;NOTE&lt;/em&gt; &amp;hellip;]&lt;/p&gt;&#xA;&lt;h2 id=&#34;description&#34;&gt;DESCRIPTION&lt;/h2&gt;&#xA;&lt;p&gt;Simple note taker for the command line. To take a note simply run the command&#xA;with the new note as arguments or from stdin. The note will be saved to a plain&#xA;text file with each line being a note. The file is saved to the file either&#xA;specified with &lt;strong&gt;-f&lt;/strong&gt; or in the default one from &lt;code&gt;config.h&lt;/code&gt;. Notes can have tags&#xA;by prefixing the note with a tag followed by a colon. For example a note&#xA;&lt;code&gt;chores: take out trash&lt;/code&gt; will have the tag &lt;code&gt;chores&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>pub</title>
      <link>https://edryd.org/projects/pub/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/projects/pub/</guid>
      <description>&lt;h5 id=&#34;pub&#34;&gt;pub:&lt;/h5&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f0f0;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020&#34;&gt;#!/usr/bin/env bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020&#34;&gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# pub: prepare post to be published&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;#&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# Moves given draft into the posts directory and prefixes the filename with the&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# date so that it is ready to be published.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#bb60d5&#34;&gt;$#&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;==&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;||&lt;/span&gt; &lt;span style=&#34;color:#bb60d5&#34;&gt;$#&lt;/span&gt; &amp;gt; &lt;span style=&#34;color:#40a070&#34;&gt;2&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;||&lt;/span&gt; ! -f &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;$1&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#007020&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;usage: pub FILE [POSTDIR]&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#007020&#34;&gt;exit&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;date&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;$(&lt;/span&gt;date +&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;%Y-%m-%d&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;file&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;$(&lt;/span&gt;basename &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;$1&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;postsdir&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#70a0d0&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;2&lt;/span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;:-&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;_posts&lt;/span&gt;&lt;span style=&#34;color:#70a0d0&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;mv &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;$1&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;$postsdir&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;/&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;$date&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;-&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;$file&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>sett</title>
      <link>https://edryd.org/projects/sett/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/projects/sett/</guid>
      <description>&lt;h5 id=&#34;sett&#34;&gt;sett:&lt;/h5&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f0f0;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020&#34;&gt;#!/usr/bin/env bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020&#34;&gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# sett: set title of a terminal&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;#&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# Change the title of any terminal window. If no argument is given it sets the&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# title to the working directory, otherwise the supplied TITLE is used.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;title&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;$1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;[[&lt;/span&gt; -z &lt;span style=&#34;color:#bb60d5&#34;&gt;$title&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#bb60d5&#34;&gt;title&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;$(&lt;/span&gt;basename &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;$PWD&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020&#34;&gt;echo&lt;/span&gt; -n &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;]0;&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;$title&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>slant</title>
      <link>https://edryd.org/projects/slant/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/projects/slant/</guid>
      <description>&lt;h5 id=&#34;slantcss&#34;&gt;slant.css:&lt;/h5&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f0f0;&#34;&gt;&lt;code class=&#34;language-css&#34; data-lang=&#34;css&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;/* &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt; * Add slants to edge of a HTML element&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt; * To use simply add class=&amp;#34;slant-up&amp;#34; to your HTML element &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt; */&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#0e84b5;font-weight:bold&#34;&gt;slant-up&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;clip-path&lt;/span&gt;: &lt;span style=&#34;color:#007020&#34;&gt;polygon&lt;/span&gt;(&lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;5&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;vw&lt;/span&gt;, &lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt; &lt;span style=&#34;color:#007020&#34;&gt;calc&lt;/span&gt;(&lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;5&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;vw&lt;/span&gt;), &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#0e84b5;font-weight:bold&#34;&gt;slant-down&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;clip-path&lt;/span&gt;: &lt;span style=&#34;color:#007020&#34;&gt;polygon&lt;/span&gt;(&lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;5&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;vw&lt;/span&gt;, &lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt;, &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#007020&#34;&gt;calc&lt;/span&gt;(&lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;5&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;vw&lt;/span&gt;));&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#0e84b5;font-weight:bold&#34;&gt;slant-t-up&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;clip-path&lt;/span&gt;: &lt;span style=&#34;color:#007020&#34;&gt;polygon&lt;/span&gt;(&lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;5&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;vw&lt;/span&gt;, &lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt;, &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#0e84b5;font-weight:bold&#34;&gt;slant-t-down&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;clip-path&lt;/span&gt;: &lt;span style=&#34;color:#007020&#34;&gt;polygon&lt;/span&gt;(&lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;5&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;vw&lt;/span&gt;, &lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt;, &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#0e84b5;font-weight:bold&#34;&gt;slant-b-up&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;clip-path&lt;/span&gt;: &lt;span style=&#34;color:#007020&#34;&gt;polygon&lt;/span&gt;(&lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt; &lt;span style=&#34;color:#007020&#34;&gt;calc&lt;/span&gt;(&lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;5&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;vw&lt;/span&gt;), &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;.&lt;span style=&#34;color:#0e84b5;font-weight:bold&#34;&gt;slant-b-down&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;clip-path&lt;/span&gt;: &lt;span style=&#34;color:#007020&#34;&gt;polygon&lt;/span&gt;(&lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt;, &lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt;, &lt;span style=&#34;color:#40a070&#34;&gt;0&lt;/span&gt; &lt;span style=&#34;color:#007020&#34;&gt;calc&lt;/span&gt;(&lt;span style=&#34;color:#40a070&#34;&gt;100&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;%&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;-&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;5&lt;/span&gt;&lt;span style=&#34;color:#902000&#34;&gt;vw&lt;/span&gt;));&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>tg</title>
      <link>https://edryd.org/projects/tg/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://edryd.org/projects/tg/</guid>
      <description>&lt;h5 id=&#34;tg&#34;&gt;tg:&lt;/h5&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;background-color:#f0f0f0;&#34;&gt;&lt;code class=&#34;language-shell&#34; data-lang=&#34;shell&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020&#34;&gt;#!/usr/bin/env bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020&#34;&gt;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# tg: quickly tag files&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;#&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# Rename files based on the given tag. For example `tg old file.txt` changes&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# `file.txt` to `file-old.txt`. If the file already contains the suppied tag,&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#60a0b0;font-style:italic&#34;&gt;# it is removed.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#bb60d5&#34;&gt;$#&lt;/span&gt; !&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;2&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#007020&#34;&gt;printf&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;usage: tg TAG FILE \n&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#007020&#34;&gt;exit&lt;/span&gt; &lt;span style=&#34;color:#40a070&#34;&gt;1&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;[&lt;/span&gt; -z &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#70a0d0&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;2&lt;/span&gt;##*.*&lt;span style=&#34;color:#70a0d0&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;]&lt;/span&gt;; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#bb60d5&#34;&gt;ext&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;.&lt;/span&gt;&lt;span style=&#34;color:#70a0d0&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;2&lt;/span&gt;##*.&lt;span style=&#34;color:#70a0d0&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;else&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#bb60d5&#34;&gt;ext&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;file&lt;/span&gt;&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#70a0d0&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;2&lt;/span&gt;%.*&lt;span style=&#34;color:#70a0d0&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;if&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;[[&lt;/span&gt; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;$(&lt;/span&gt;&lt;span style=&#34;color:#007020&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;$file&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt; | rev | cut -d &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#39;-&amp;#39;&lt;/span&gt; -f &lt;span style=&#34;color:#40a070&#34;&gt;1&lt;/span&gt; | rev&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;)&lt;/span&gt; !&lt;span style=&#34;color:#666&#34;&gt;=&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;$1&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#666&#34;&gt;]]&lt;/span&gt;; &lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  mv &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;$2&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#70a0d0&#34;&gt;${&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;file&lt;/span&gt;&lt;span style=&#34;color:#70a0d0&#34;&gt;}&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;$1$ext&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;else&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  mv &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;$2&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;$(&lt;/span&gt;&lt;span style=&#34;color:#007020&#34;&gt;echo&lt;/span&gt; &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;$file&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt; | rev | cut -d &lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#39;-&amp;#39;&lt;/span&gt; -f 2- | rev&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;)&lt;/span&gt;&lt;span style=&#34;color:#bb60d5&#34;&gt;$ext&lt;/span&gt;&lt;span style=&#34;color:#4070a0&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#007020;font-weight:bold&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
  </channel>
</rss>
