<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title></title>
        <link>https://displ.nl/</link>
        <description></description>
        <generator>Zola</generator>
        <language>en</language>
        <atom:link href="https://displ.nl/rss.xml" rel="self" type="application/rss+xml"/>
        <lastBuildDate>Tue, 02 Jun 2026 00:00:00 +0000</lastBuildDate>
        
            <item>
                <title>Open thermal printing + CUPS + Wireguard</title>
                <pubDate>Tue, 02 Jun 2026 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/thermal-printer/</link>
                <guid>https://displ.nl/blog/thermal-printer/</guid>
                <description>&lt;p&gt;I have been putting off getting a thermal printer that work on *nix + CUPS 
for quite a long time.  Last time when I ordered,  it was lost by courier service.
I didn&#x27;t look that afterwards but two weeks back I found a deal that&#x27;s 
only 1&#x2F;4 of it&#x27;s price with added adhesive thermal rolls.&lt;&#x2F;p&gt;
&lt;p&gt;From my own exposure of &lt;a href=&quot;https:&#x2F;&#x2F;www.cups.org&#x2F;&quot;&gt;CUPS&lt;&#x2F;a&gt; 10+ years back, I had really low expections for it to
work on one go.  Every phone call home during those years, I remember asking&lt;br &#x2F;&gt;
whether the printer broke on update or is working fine, sometimes it was that pro
prietary HP CUPS driver, othertimes CUPS itself, it was fun times indeed! 
Finally when I got back home on one summer break I switched back the PC to non rolling release and dug through 
archives to finally settle on a &lt;a href=&quot;https:&#x2F;&#x2F;openprinting.github.io&#x2F;projects&#x2F;02-foomatic&#x2F;&quot;&gt;foomatic&lt;&#x2F;a&gt; driver for that HP laserjet. This was 
also the printer that got one of the first 3d printer parts to replace a paper tray, 
it&#x27;s was so fragile that breaks when 5+ sheets printed back to back.&lt;&#x2F;p&gt;
&lt;p&gt;Coming to the present, the thermal printer I acquired was Phomemo M02, &lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;phomemo_m02.jpg&quot; alt=&quot;phomemo_m02.jpg&quot; title=&quot;Photo of printer - Phomemo M02 with CUPS Test print page slapped on it&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A good soul has reverse engineerined the bluetooth packets and figured it&#x27;s using EPSON ESC&#x2F;POS Commands! Source code of the drivers,&lt;&#x2F;p&gt;
&lt;h2 id=&quot;github-vivier-phomemo-tools&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;vivier&#x2F;phomemo-tools&quot;&gt;github - vivier&#x2F;phomemo-tools&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;Before testing out the CUPS driver I wanted to make sure the drivers worked.&lt;br &#x2F;&gt;
It has been documented in the &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;vivier&#x2F;phomemo-tools#11-bluetooth&quot;&gt;driver page&lt;&#x2F;a&gt; on using &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;bluez&#x2F;bluez&#x2F;wiki&#x2F;RFCOMM(7)&quot;&gt;rfcomm&lt;&#x2F;a&gt; to 
emulate serial connection over bluetooth so those ESC&#x2F;POS commands can be
sent. &lt;&#x2F;p&gt;
&lt;p&gt;Following the above,&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ bluetoothctl pair &amp;lt;id Mr.in_M02&amp;gt; # It gets stuck on connection
$                                     # but seems to work fine that way 
$                                     # as well
$ rfcomm connect 0 &amp;lt;id Mr.in_M02&amp;gt;  # keep it live
$ phomemo-filter gulk.png &amp;gt; &#x2F;dev&#x2F;rfcomm0
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;It was success but I noticed the rate at which it printed was dynamic and
due to this there is gradient of greyscale in the print. &lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;phomemo_m02_artifact.jpg&quot; alt=&quot;phomemo_m02_artifact.jpg&quot; title=&quot;Gulk at different tones&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Unsure of the reason, someone has raised an &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;vivier&#x2F;phomemo-tools&#x2F;issues&#x2F;26&quot;&gt;issue as well&lt;&#x2F;a&gt;. I suspect it
might be the delay in the serial communication over bluetooth but unsure
myself. Anyways printing via CUPS solved it. &lt;&#x2F;p&gt;
&lt;h1 id=&quot;network-printing-via-cups-wireguard&quot;&gt;Network printing via CUPS + Wireguard&lt;&#x2F;h1&gt;
&lt;p&gt;Having really low expectations, I was well prepared for the hair plugging 
before configuring CUPS for bluetooth printer.&lt;&#x2F;p&gt;
&lt;p&gt;The main machine that has made the connection to M02 is running Endeavours
OS and to my surprise just after installation the &lt;a href=&quot;https:&#x2F;&#x2F;aur.archlinux.org&#x2F;packages&#x2F;phomemo-tools-git&quot;&gt;aur package&lt;&#x2F;a&gt;, the
printer got listed on the CUPS automatically. &lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;phomemo_cups.png&quot; alt=&quot;phomemo_cups.png&quot; title=&quot;Screenshot of initial CUPS page&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;I printed the test page successfully on the first go! After 
all these years, seeing that page brought those memories.  I slapped it 
on the top of the printer, because it&#x27;s an adhesive thermal roll.&lt;&#x2F;p&gt;
&lt;p&gt;This experience made me optimistic and went on to configure it as network
printer.  On the &lt;code&gt;&#x2F;etc&#x2F;cupsd.conf&lt;&#x2F;code&gt; file,&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;Location &#x2F;&amp;gt;
  Order allow,deny
  Allow all
&amp;lt;&#x2F;Location&amp;gt;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;This allows access to all the machine connected via network. This can also be done 
with gui (modifying the printer) and opting for &amp;quot;Share the printer&amp;quot; + &amp;quot;Allow 
printing from the Internet&amp;quot;. By default the CUPS interface runs on the port
631 and to make this CUPS server visible on the network,  I need to enable
tcp on this. &lt;&#x2F;p&gt;
&lt;p&gt;Endeavour OS uses &lt;a href=&quot;https:&#x2F;&#x2F;wiki.archlinux.org&#x2F;title&#x2F;Firewalld&quot;&gt;firewalld&lt;&#x2F;a&gt; by default, and following &lt;a href=&quot;https:&#x2F;&#x2F;firewalld.org&#x2F;documentation&#x2F;howto&#x2F;open-a-port-or-service.html,&quot;&gt;opens the port&lt;&#x2F;a&gt;, &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ sudo firewall-cmd --zone=public --add-port=631&#x2F;tcp --permanent
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Now to cast the visibility of the printer over network, &lt;a href=&quot;https:&#x2F;&#x2F;wiki.archlinux.org&#x2F;title&#x2F;Avahi&quot;&gt;Avahi&lt;&#x2F;a&gt; package can be
used. I thought this will be a neat addition, and  the phones that&#x27;s on wireguard
can also print.&lt;&#x2F;p&gt;
&lt;p&gt;Following the &lt;a href=&quot;https:&#x2F;&#x2F;wiki.archlinux.org&#x2F;title&#x2F;Avahi#Hostname_resolution&quot;&gt;arch wiki&lt;&#x2F;a&gt; for config, I have edited the &lt;code&gt;nsswitch.conf&lt;&#x2F;code&gt; and
enabled the &lt;code&gt;avahi-daemon&lt;&#x2F;code&gt; and &lt;code&gt;cups&lt;&#x2F;code&gt; services. Later I found that wireguard
doesn&#x27;t tunnel these automatically, and added  &lt;code&gt;&#x2F;etc&#x2F;avahi&#x2F;avahi-daemon.conf&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;[server]
allow-interfaces=eth0,wg0,wlan0
[reflector]
enable-reflector=yes
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;There have been &lt;a href=&quot;https:&#x2F;&#x2F;forum.openwrt.org&#x2F;t&#x2F;printing-from-ipad-over-wireguard&#x2F;87508&#x2F;11&quot;&gt;openwrt threads&lt;&#x2F;a&gt; online regarding this, letting avahi
to annouche the ports over wireguard but I couldn&#x27;t get it working
so I settled for manual configuration.&lt;&#x2F;p&gt;
&lt;p&gt;On the EOS machine connected to the printer, the following lists the 
open ports,&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;# sudo firewall-cmd --zone=public --add-port=5353&#x2F;udp --permanent
# sudo firewall-cmd --list-all-zones 

public (default, active)
  target: default
  ingress-priority: 0
  egress-priority: 0
  icmp-block-inversion: no
  interfaces: wlan0
  sources: 
  services: dhcpv6-client kdeconnect mosh ssh
  ports: 1234&#x2F;tcp 631&#x2F;tcp 5353&#x2F;udp
  protocols: 
  forward: yes
  masquerade: no
  forward-ports: 
  source-ports: 
  icmp-blocks: 
  rich rules: 
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The ports field  above tells the active open ports. &lt;&#x2F;p&gt;
&lt;h1 id=&quot;client-machines&quot;&gt;Client Machines&lt;&#x2F;h1&gt;
&lt;p&gt;CUPS exposes the printer using &lt;a href=&quot;https:&#x2F;&#x2F;www.pwg.org&#x2F;ipp&#x2F;everywhere.html&quot;&gt;IPP Everywhere&lt;&#x2F;a&gt; protocol and all 
other devices uses the driver code on the host machine. &lt;&#x2F;p&gt;
&lt;p&gt;I have different devices on displ&#x27;s wireguard, and I can get 
messages&#x2F;photos out of the blue from my people, and if I hand them 
the same device it could be 2 way like a fax machine! &lt;&#x2F;p&gt;
&lt;h3 id=&quot;1-cups-on-nix&quot;&gt;1. CUPS on *nix&lt;&#x2F;h3&gt;
&lt;p&gt;To add printer on client *nix machine, it&#x27;s easier  using the html 
frontend on localhost:631, &lt;&#x2F;p&gt;
&lt;p&gt;Note: It&#x27;s not necessary to have  phomemo-tools on these clients.&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;Add Printer -&amp;gt; Other Network Printers:
Internet Printing Protocol (ipp) 
Connection: ipp:&#x2F;&#x2F;&amp;lt;wireguard_local_add&amp;gt;:631&#x2F;printers&#x2F;&amp;lt;name&amp;gt; 
Make: Generic
Model: IPP Everywhere TM
Media size: 50x60mm 
Set Default Options
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;To print photos, I prefer the &lt;a href=&quot;https:&#x2F;&#x2F;www.geeqie.org&#x2F;&quot;&gt;Geeqie&lt;&#x2F;a&gt; gui since it has 
customization for media size and preview before printing on the thermal
roll. &lt;&#x2F;p&gt;
&lt;h3 id=&quot;2-android&quot;&gt;2. Android&lt;&#x2F;h3&gt;
&lt;p&gt;I had a boogle device for installing ubports and it has inbuilt android service.
It didn&#x27;t discover by default but has option to add printers by ip,&lt;&#x2F;p&gt;
&lt;p&gt;Setting -&amp;gt; printer -&amp;gt; add by ip. &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;wireguard_local_add&amp;gt;:631&#x2F;printers&#x2F;&amp;lt;name&amp;gt; 
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Again to my surprise it worked, but I haven&#x27;t been able to make it work on 
non booogle older phones. I got the [cups-android] installed but it drops 
the connection when I try to print. &lt;&#x2F;p&gt;
&lt;h3 id=&quot;3-ubports&quot;&gt;3. Ubports&lt;&#x2F;h3&gt;
&lt;p&gt;I had troubles on getting wireguard working on Uports, first off was the kernal
but I believe 24.04 has wireguard baked into it. I can also see a &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Gloomydemin&#x2F;Wireguard_UT&quot;&gt;clickable app
by Gloomydemin&lt;&#x2F;a&gt;. At the moment only &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Gloomydemin&#x2F;Wireguard_UT&quot;&gt;Golu the Gulk&lt;&#x2F;a&gt; is rocking Ubports 
on Xperia X so this section will be updated in future! &lt;&#x2F;p&gt;
&lt;p&gt;We have already finished a roll and each time I was trying to predict what
might be printed. It took me a while to stop starring, haha.  This is my 
favorite chunk of that roll,&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;phomemo_m02_sample.jpg&quot; alt=&quot;phomemo_m02_sample.jpg&quot; title=&quot;Sample roll, Pictures of Golu acting up, F91w on nato, London skyscraper&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s crazy to think some of these snapshots travelled all the way around 
the globe to get printed directly in front of me (same has been shared by 
gulk on her gemini den) I have ordered some color rolls to print, I might 
send the finished rolls over post in future ;)&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #23 - Run Lola Run OST</title>
                <pubDate>Sat, 16 May 2026 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature23/</link>
                <guid>https://displ.nl/blog/feature23/</guid>
                <description>&lt;p&gt;Today I saw the movie run Lola run with golu the gulk after her recommendation, the ost and period reminds underground EBM era.&lt;&#x2F;p&gt;
&lt;audio controls&gt;
&lt;source src=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;img&#x2F;wk23_running2.mp3&quot; find it here, https:&#x2F;&#x2F;displ.nl&#x2F;img&#x2F;running2.mp3&gt;
&lt;&#x2F;audio&gt; 
&lt;p&gt;Tracks could be featured on the radios listed here on &lt;a href=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;music&#x2F;&quot;&gt;displ&lt;&#x2F;a&gt;. Source to the  entire ablum on &lt;a href=&quot;https:&#x2F;&#x2F;www.discogs.com&#x2F;release&#x2F;45434-Various-Run-Lola-Run-Original-Motion-Picture-Soundtrack&quot;&gt;Discogs&lt;&#x2F;a&gt; and visuals go hand in hand as well. &lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;feature23_1.avif&quot; alt=&quot;feature23_1.avif&quot; title=&quot;Screen capture from the movie Run Lola Run - 1999&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;We both agreed &lt;code&gt;Wish (Komm Zu Mir)&lt;&#x2F;code&gt; was the peak of EBM in this OST. &lt;&#x2F;p&gt;
&lt;audio controls&gt;
&lt;source src=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;img&#x2F;wk23_wish.mp3&quot; find it here, https:&#x2F;&#x2F;displ.nl&#x2F;img&#x2F;wish.mp3&gt;
&lt;&#x2F;audio&gt; 
&lt;pre&gt;&lt;code&gt;I wish I was a heart beat, that never come to rests.
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;As a bonus, there is cameo of my future self, &lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;feature23_2.avif&quot; alt=&quot;feature23_2.avif&quot; title=&quot;Screen capture 2 from the movie Run Lola Run - 1999&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Ascii Art Archives 2021-25</title>
                <pubDate>Sun, 19 Apr 2026 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/ascii/</link>
                <guid>https://displ.nl/blog/ascii/</guid>
                <description>&lt;p&gt;I have striped posts from my smolweb instances and collected the ascii arts I made. &lt;&#x2F;p&gt;
&lt;h2 id=&quot;ascii-art-html&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;ascii_art.html&quot;&gt;ascii_art.html&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;It was a memory lane starting from 2021. &lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #22 -  A Cage With The Door Wide Open</title>
                <pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature22/</link>
                <guid>https://displ.nl/blog/feature22/</guid>
                <description>&lt;p&gt;I&#x27;m currently reading a book &amp;quot;Under the Whispering Door&amp;quot;, as I was turning  pages with my playlist on, I came across 
this song from my radio days. Likely 2020s, just the rhythm of the song has taken me back and made my mind wander. &lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s &lt;a href=&quot;https:&#x2F;&#x2F;skyqode.bandcamp.com&#x2F;album&#x2F;a-cage-with-the-door-wide-open&quot;&gt;Dark-o-matic&#x27;s A Cage With The Door Wide Open&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;audio controls&gt;
&lt;source src=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;img&#x2F;wk22_darkomatic.mp3&quot; find it here, https:&#x2F;&#x2F;displ.nl&#x2F;img&#x2F;wk22_darkomatic.mp3&gt;
&lt;&#x2F;audio&gt; 
&lt;pre&gt;&lt;code&gt;Would I look for the shade
That lies beneath the layers of shame
Would I reach for the light
That infiltrates
A cage with the door wide open 
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;On my everyday late commute back home, I go through a series of yellow streets lights in middle of the park.
With the cycle lights blazing back, I chase my shadow going past me. I&#x27;m relating this song to 
this route and I will miss this soon. &lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Fossil workflow and cheats</title>
                <pubDate>Tue, 17 Feb 2026 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/fossil-cheats/</link>
                <guid>https://displ.nl/blog/fossil-cheats/</guid>
                <description>&lt;p&gt;My goto to version control for everything (scripts, codes, wiki, art) is &lt;a href=&quot;https:&#x2F;&#x2F;fossil-scm.org&#x2F;&quot;&gt;fossil&lt;&#x2F;a&gt;. The main reason is low barrier to &lt;a href=&quot;https:&#x2F;&#x2F;fossil-scm.org&#x2F;home&#x2F;doc&#x2F;trunk&#x2F;www&#x2F;server&#x2F;openbsd&#x2F;fastcgi.md&quot;&gt;self host&lt;&#x2F;a&gt; the instance, especially with OBSD&#x27;s httpd and CGI setup. As an added bonous it&#x27;s dependency free! (frowns at git).&lt;&#x2F;p&gt;
&lt;p&gt;After my &lt;a href=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;blog&#x2F;excavating-bugs-fossil-httpd&#x2F;&quot;&gt;bug excavation&lt;&#x2F;a&gt; (2020), I didn&#x27;t face problems with fossil. I use it across all my boxes, and sync some repository on &lt;a href=&quot;https:&#x2F;&#x2F;fsl.displ.nl&quot;&gt;displ&lt;&#x2F;a&gt; as well.&lt;&#x2F;p&gt;
&lt;p&gt;Over the course of time, I developed a preference for fossil workflow. Since fossil repository gulps revision histories, wikis, cvs all together into a single *.fossil file, it works for every case. Most of my working repositories have extensive documention along with code. Depending upon the viewer interest, one could gain just from navigating wiki pages.&lt;&#x2F;p&gt;
&lt;p&gt;Fossil has &lt;a href=&quot;https:&#x2F;&#x2F;fossil-scm.org&#x2F;home&#x2F;doc&#x2F;trunk&#x2F;www&#x2F;embeddeddoc.wiki&quot;&gt;in-built function&lt;&#x2F;a&gt; of integrating wiki into source true. 
In my case, I usually have README under each sub directories, so fossil generates 
the info page and files in web ui. Due to this structure of multile READMEs, I cannot use the in-built embedded function, instead I sync REAMDE on each sub directories with 
the dedicated wiki pages.&lt;&#x2F;p&gt;
&lt;p&gt;Following is the workflow I folllow, below is taken from the hosted project - &lt;a href=&quot;https:&#x2F;&#x2F;fsl.displ.nl&#x2F;Sci_c_test&#x2F;wiki?name=Fossil_cheats&amp;amp;p&quot;&gt;Sci_c_test&lt;&#x2F;a&gt;. &lt;&#x2F;p&gt;
&lt;h1 id=&quot;cheat-sheet&quot;&gt;Cheat Sheet&lt;&#x2F;h1&gt;
&lt;hr &#x2F;&gt;
&lt;h2 id=&quot;clone-a-repository&quot;&gt;Clone a repository&lt;&#x2F;h2&gt;
&lt;p&gt;The usual clone command opens the content of *.fossil file in a new directory, this 
is redundant in my workflow because when I clone on the &lt;code&gt;.&#x2F;test_project&lt;&#x2F;code&gt;, I get&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ pwd
.&#x2F;test_project
$ ls
$ fossil clone  https:&#x2F;&#x2F;fsl.displ.nl&#x2F;test_project
$ ls 
test_project test_project.fossil
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;To avoid creating such structure &lt;code&gt;.&#x2F;test_project&#x2F;test_project&lt;&#x2F;code&gt;, open the fossil
manually, &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ fossil clone -A &amp;lt;user&amp;gt; https:&#x2F;&#x2F;&amp;lt;user&amp;gt;@fsl.displ.nl&#x2F;Sci_c_test --no-open
$ fossil open *.fossil 
$ fossil add &amp;lt;files&amp;gt;
$ fossil commit -m &amp;lt;message&amp;gt;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;sync-wiki-and-md-files&quot;&gt;Sync wiki and *.md files&lt;&#x2F;h2&gt;
&lt;p&gt;Listing all the wiki pages, &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ fossil wiki list --all
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Viewing contents on the stdout, &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ fossil wiki export &amp;lt;page_name&amp;gt; - 
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Export to a file for local edits&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ fossil wiki export  &amp;lt;page_name&amp;gt; local_edit.md
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Append back into the fossil-scm&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ fossil commit &amp;lt;page_name&amp;gt; local_edit.md
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;To reflect only the wiki changes before any commit,&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ fossil sync
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;To add local markdown *.md into fossil wiki,&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ fossil wiki create &amp;lt;wiki_name&amp;gt; local.md -M text&#x2F;x-markdown
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h1 id=&quot;actual-usecase-of-syncing-reamde-md-files&quot;&gt;Actual usecase of syncing REAMDE.md files&lt;&#x2F;h1&gt;
&lt;pre&gt;&lt;code&gt;$ mkdir  RAMSES-code
$ vim    RAMSES-code&#x2F;README.md # do the edits here, fossil will auto read in web ui.
$ fossil add RAMSES-code&#x2F;REAMDE.md
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Sync this &lt;code&gt;RAMSES-code&#x2F;REAMDE.md&lt;&#x2F;code&gt; as the RAMSES-code.wiki&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ fossil wiki create RAMSES-code-intro RAMSES-code&#x2F;README.md
$ fossil wiki ls # entry should be visible here. 
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Commit all the changes now in the newer branch.&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ fossil commit -m &amp;quot;Created new branch, README and corresponding wiki files&amp;quot; --branch RAMSES-code
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Suppose if you happen to edit the RAMSES-code&#x2F;README.md and want that reflect&lt;br &#x2F;&gt;
the wiki page as well&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ vim RAMSES-code&#x2F;README.md  # Secondary edits. 
$ fossil status              # Check the changes are tracked in the corresponding
                             # branch. (extra line after &#x27;comment&#x27;)
                             # Following updates the corresponding wiki  
$ fossil wiki commit RAMSES-code-intro  RAMSES-code&#x2F;README.md 
$ fossil wiki export RAMSES-code-intro -
                             # Above should show the updated wiki
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Proceed to commit and push to the remote location, if everything is okay.&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ fossil commit -m &amp;quot;RAMSES wiki and README&amp;quot;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Both wiki pages and web ui under RAMSES-code&#x2F; should be synced now. &lt;&#x2F;p&gt;
&lt;h1 id=&quot;final-merge-into-trunk&quot;&gt;Final Merge into trunk&lt;&#x2F;h1&gt;
&lt;pre&gt;&lt;code&gt;$ fossil update trunk       # Change to trunk branch.
$ fossil status             # Tags should reflect &#x27;trunk&#x27; 
$ fossil merge  RAMSES-code # Merge the branch into main &#x27;trunk&#x27;
$ fossil commit -m &amp;quot;Clean merge.&amp;quot; 
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
</description>
            </item>
        
            <item>
                <title>Dual booting OBSD &amp; nix on Panasonic CF-20</title>
                <pubDate>Mon, 02 Feb 2026 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/dualboot-supremacy-obsd-nix/</link>
                <guid>https://displ.nl/blog/dualboot-supremacy-obsd-nix/</guid>
                <description>&lt;p&gt;Dedicated to our beloved Khopchand&#x2F;Khopchan&#x2F;Khopa. &lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;dual_boot&#x2F;khopchand.png&quot; alt=&quot;khopchand.png&quot; title=&quot;Khopchand, last seen on 1st Feb 2025&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;You will stay forever in our memories and, see you in the rainbow bridge.&lt;&#x2F;p&gt;
&lt;p&gt;I got a rugged hardware, CF-20 to tinker with OBSD but later realized it doesn&#x27;t
play good in the *nix world to begin with. The first thing is numerous varient,
with drivers from multiple vendors! &lt;&#x2F;p&gt;
&lt;p&gt;The *nix detects it as CF2002 but it&#x27;s not same as &lt;a href=&quot;https:&#x2F;&#x2F;eu.connect.panasonic.com&#x2F;sites&#x2F;default&#x2F;files&#x2F;media&#x2F;document&#x2F;2019-08&#x2F;CF-20mk2_Spec_Sheet_%28EN%29%20%281%29.pdf&quot;&gt;CF-20 mark II&lt;&#x2F;a&gt;, the device I 
have  has GPS + GSM integrated module along with egalax touch screen and stylus. &lt;&#x2F;p&gt;
&lt;p&gt;I wanted to see it&#x27;s glory in *nix before slapping off with OBSD, but it was
not what I thought. The opensource drivers couldn&#x27;t recognize the stylus or multi
touch. This screen is advertised to support touch with gloves, stylus, finger and
all other objects one could think off. I have partially verified these features 
for 10min before wiping off the binwdows to Oblivion. &lt;&#x2F;p&gt;
&lt;p&gt;The &lt;a href=&quot;https:&#x2F;&#x2F;www.eeti.com&#x2F;drivers_Linux.html&quot;&gt;egalax drivers&lt;&#x2F;a&gt; were published on the cyberspace, so I started building LTE
kernals with those. I was able to get multi touch working but never the stylus.
It was dragging me for long and I&#x27;m impatient to see the puffer swimming. So, the
dual boot. &lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m writing  notes for offline installation, since it saves everyone from self
harm ;). Last time when I used &lt;a href=&quot;https:&#x2F;&#x2F;www.ventoy.net&#x2F;en&#x2F;index.html&quot;&gt;ventoy&lt;&#x2F;a&gt;, OBSD was not supported but it&#x27;s not the case
anymore, so the practices reflects for &lt;a href=&quot;https:&#x2F;&#x2F;www.openbsd.org&#x2F;78.html&quot;&gt;OBSD 7.8&lt;&#x2F;a&gt; &amp;amp;  &lt;a href=&quot;https:&#x2F;&#x2F;endeavouros.com&#x2F;news&#x2F;ganymede-neo-is-out-with-core-updates-and-upstream-nvidia-changes&#x2F;&quot;&gt;EndeavorOS  Ganymede-Neo&lt;&#x2F;a&gt;. 
The 6.18-*nix kernals are built on EndeavorOS, that&#x27;s the reason for the particular 
OS but I believe any arch-based should follow the same methodology. &lt;&#x2F;p&gt;
&lt;h1 id=&quot;preparation&quot;&gt;Preparation&lt;&#x2F;h1&gt;
&lt;p&gt;It&#x27;s best to have two usb drives. One with &lt;a href=&quot;https:&#x2F;&#x2F;www.ventoy.net&#x2F;en&#x2F;index.html&quot;&gt;ventoy&lt;&#x2F;a&gt; having iso files of OBSD and *nix. 
The other usb drive with obsd.img dd-ed. &lt;&#x2F;p&gt;
&lt;p&gt;Make sure to install a *nix OS that has flexibility to choose the bootloader on 
installation and a helper for generating initramfs images. Ensuring these will make
the process really painless because this guide uses &lt;a href=&quot;https:&#x2F;&#x2F;wiki.archlinux.org&#x2F;title&#x2F;REFInd&quot;&gt;rEFInd&lt;&#x2F;a&gt; as a 
boot loader.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;endeavor-os-installation&quot;&gt;Endeavor OS installation&lt;&#x2F;h1&gt;
&lt;p&gt;For a basic  installation, manually partition the disk into 3. 
I use the following structure for 240G disk, &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;                  mountpoint     format
--------------------------------
 sda1 2048   MB   (&#x2F;efi)         FAT32
 sda2 160000 MB   (&#x2F;)            ext4
 sda3 (untouched)
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Using the installer, label &#x2F;efi partition as &#x27;boot&#x27; and &#x2F; as &#x27;root&#x27;. These are
the minimum requirements in most of the case and leave the unalloated partition
for OBSD data. Endeavor OS installer has an option for &amp;quot;no-boot loader&amp;quot; along 
with &amp;quot;grub&amp;quot; and &amp;quot;systemd&amp;quot;. It&#x27;s best to choose &amp;quot;no-boot loader&amp;quot; right at this 
stage and chroot to install refind after the installation. &lt;&#x2F;p&gt;
&lt;p&gt;Once the installation has been sucessfull, mount the installed drives accordingly, &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;# mount &#x2F;sda2 &#x2F;mnt
# mount &#x2F;sda1 &#x2F;mnt&#x2F;efi
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Since it is an offline install so far,  this is right stage to make cyberspace
connection and update the packages via &lt;a href=&quot;https:&#x2F;&#x2F;discovery.endeavouros.com&#x2F;system-rescue&#x2F;arch-chroot&#x2F;2022&#x2F;12&#x2F;&quot;&gt;chroot&lt;&#x2F;a&gt;. &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;# arch-chroot &#x2F;mnt&#x2F;
(local drive) # pacman -Syyu
(local drive) # pacman-keys --populate
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Once the system is upto date, generate the initramfs for the installed kernals, 
Endeavour OS has a helper called &lt;a href=&quot;https:&#x2F;&#x2F;discovery.endeavouros.com&#x2F;installation&#x2F;Dracut&#x2F;&quot;&gt;Dracut&lt;&#x2F;a&gt;. It&#x27;s going to generate files on the &lt;code&gt;&#x2F;boot&lt;&#x2F;code&gt;
partition. After this process, follow it  with the installation of refind and 
it&#x27;s corresponding config files.&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;(local drive) # pacman -S dracut eos-dracut
(local drive) # dracut-rebuild 
(local drive) # ls &#x2F;boot
initramfs-linux-fallback.img initramfs-linux.img  vmlinux-linux 
(local drive) # pacman -S refind &amp;amp;&amp;amp; refind-install
(local drive) # ls &#x2F;boot
initramfs-linux-fallback.img initramfs-linux.img refind_linux.conf vmlinux-linux 
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Make sure this is good by rebooting *nix from refind menu. Once inside
the installation, allocate the free space as Openbsd data (on the last page
of &#x27;Type&#x27;)  with cfdisk.&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ sudo cfdisk
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;dual_boot&#x2F;cfdisk.png&quot; alt=&quot;cfdisk.png&quot; title=&quot;partition info in cfdisk&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Time to boot  OBSD iso from ventoy.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;obsd-7-8-installation&quot;&gt;OBSD 7.8 installation&lt;&#x2F;h1&gt;
&lt;p&gt;It&#x27;s mostly just closing the eyes and accepting the default options! One thing to be
cautious is root disk and the usage of OpenBSD partition for layout allocation (Again
these are the default options).&lt;&#x2F;p&gt;
&lt;p&gt;When it comes to set list installation, since it&#x27;s offline installation, plug in 
another usb drive with *.img and choose &amp;quot;disk&amp;quot; option. I couldn&#x27;t figure to do
this within &lt;a href=&quot;https:&#x2F;&#x2F;www.ventoy.net&#x2F;en&#x2F;index.html&quot;&gt;ventoy&lt;&#x2F;a&gt; drive so this is the easiest option right now. Choose the drive
id visible (sd2 in my case) from the blue prompt and again it&#x27;s just smashing &#x27;enter&#x27;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;dual_boot&#x2F;set_disk.jpg&quot; alt=&quot;set_disk.jpg&quot; title=&quot;Installing sets from secondary usb disk&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;If everything works all right, there will be entries for refind and OBSD in the CF-20&#x27;s
bios menu. Change the priority of refind and that&#x27;s it done!&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;dual_boot&#x2F;bios.jpg&quot; alt=&quot;bios.jpg&quot; title=&quot;Changing order of bootloders in bios&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;dual_boot&#x2F;refind.jpg&quot; alt=&quot;refind.jpg&quot; title=&quot;Two entries in refind for *nix &amp;amp; OBSD&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;This might not be the straight forward all the time, there are cases 
I have came across from the cyberspace blogs - &lt;a href=&quot;https:&#x2F;&#x2F;jasper.la&#x2F;posts&#x2F;openbsd-uefi-bootloader-howto&#x2F;&quot;&gt;jasper.la&#x27;s EFI&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;blog.tonnochi.net&#x2F;Arch-Linux-and-OpenBSD-Dual-Boot-Part-Two&#x2F;&quot;&gt;tonnochi.net&#x27;s dual boot&lt;&#x2F;a&gt; where  particular EFI files are needed for refind to recognize. &lt;&#x2F;p&gt;
&lt;h1 id=&quot;non-ideal-world&quot;&gt;Non Ideal World&lt;&#x2F;h1&gt;
&lt;p&gt;Boot into OBSD from bios directly, it might be necessary to create refind entry  for OBSD.
First locate the linux data  and &#x2F;efi partition, these will be labelled as ext2fs and
MSDOS respectively. &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;# disklabel -p m sd0 
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;dual_boot&#x2F;disklabel.jpg&quot; alt=&quot;disklabel.jpg&quot; title=&quot;Label on disk seen from OBSD&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Here sd0j is the &#x2F;efi partition, hence mount it and copy the openbsd&#x27;s &lt;code&gt;BOOT*.EFI&lt;&#x2F;code&gt; 
into it. &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;# mkdir &#x2F;tmp&#x2F;test
# mount &#x2F;dev&#x2F;sd0j &#x2F;tmp&#x2F;test 
# cp &#x2F;usr&#x2F;mdec&#x2F;BOOTX64.EFI &#x2F;tmp&#x2F;test&#x2F;EFI&#x2F;openbsd&#x2F;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Create a boot entry on refind.conf as well, &lt;code&gt;&#x2F;tmp&#x2F;EFI&#x2F;refind&#x2F;refind.conf&lt;&#x2F;code&gt; as&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;menuentry &amp;quot;OBSD&amp;quot; {
    loader &#x2F;EFI&#x2F;OpenBSD&#x2F;BOOTX64.EFI
}
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;This is more than enough for the refind to recognize the OBSD partition.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;obsd-afterboot&quot;&gt;OBSD Afterboot&lt;&#x2F;h1&gt;
&lt;p&gt;Before proceeding with &lt;a href=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;blog&#x2F;post-installation-openbsd&#x2F;&quot;&gt;post installation&lt;&#x2F;a&gt;, I needed to get wifi drivers
working on CF-20. Again the painless way is having an ethernet cable and updating
firmware but since it&#x27;s not an ideal world, the next best option is &lt;a href=&quot;https:&#x2F;&#x2F;man.openbsd.org&#x2F;urndis.4&quot;&gt;usb tathering&lt;&#x2F;a&gt; with a tracking device - mobile phone! (wondering whether ubports phone works?).&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;# dhcpleasectl urndis0
# fw_update
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Phone can now be unplugged and ifconfig can be used to configure iwm0 interface. &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;# wifi
ifconfig iwm0 up
echo join &amp;lt;ID&amp;gt; wpakey &amp;lt;pass&amp;gt; &amp;gt;&amp;gt; &#x2F;etc&#x2F;hostname.iwm0
sh &#x2F;etc&#x2F;netstart iwm0
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;This gets me the bare box that&#x27;s connected to cyberspace \o&#x2F;.&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #21 - Falling - Northern Lights</title>
                <pubDate>Fri, 26 Dec 2025 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature21/</link>
                <guid>https://displ.nl/blog/feature21/</guid>
                <description>&lt;p&gt;Resurrecting weekly pleasures from the underworld due to an underground archive song!&lt;&#x2F;p&gt;
&lt;p&gt;I couldn&#x27;t find this piece on the cyberspace so, sharing the mpv cache dump from the radio 
I heard. It&#x27;s called &amp;quot;Northern Lights&amp;quot;.&lt;&#x2F;p&gt;
&lt;audio controls&gt;
&lt;source src=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;img&#x2F;wk21&#x2F;wk21_falling_northern_lights.mp3&quot; type=&quot;audio&#x2F;mp3&quot;&gt;
find it here, https:&#x2F;&#x2F;displ.nl&#x2F;img&#x2F;wk21&#x2F;wk21_falling_northern_lights.ogg
&lt;&#x2F;audio&gt; 
&lt;p&gt;When the song starts I feel a sense of unknown path, going through the woods,&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;wk21&#x2F;wk21_2.jpg&quot; alt=&quot;wk21_2.jpg&quot; title=&quot;Path through the woods&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;wk21&#x2F;wk21_3.jpg&quot; alt=&quot;wk21_3.jpg&quot; title=&quot;a sudden change of scenery with tunnels&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The moment, rhythm kicks in with, &lt;code&gt;Dunk lel..&lt;&#x2F;code&gt;, 
I can see the breezy waves on the still water. &lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;wk21&#x2F;wk21_5.jpg&quot; alt=&quot;wk21_5.jpg&quot; title=&quot;a slight breeze that makes the waves on water syncing with the rhythem&quot; &#x2F;&gt; &lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s taking me to the faraway land, &lt;code&gt;Do you feel?&lt;&#x2F;code&gt; I do! this path is gleaming with energy&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;wk21&#x2F;wk21_8.jpg&quot; alt=&quot;wk21_8.jpg&quot; title=&quot;A single path with no visible end&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m starting to encounter  more mysterious things along the way.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;wk21&#x2F;wk21_13.jpg&quot; alt=&quot;wk21_13.jpg&quot; title=&quot;A tree growing shoes&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;I think I have arrived, it&#x27;s cozy in the middle of nowhere.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;wk21&#x2F;wk21_12.jpg&quot; alt=&quot;wk21_12.jpg&quot; title=&quot;Is this the end?&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;I settle down. What a way to end this journey! The vocals remind me of another 
song, Fad Gadget&#x27;s sleep.&lt;&#x2F;p&gt;
&lt;p&gt;P.s: All these pictures were from the unlogged cycling routes from &lt;a href=&quot;https:&#x2F;&#x2F;xcyl.displ.nl&#x2F;&quot;&gt;xycl.displ.nl&lt;&#x2F;a&gt;, taken on Hitachi HDC-991E. &lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>[ Day 1 ] DFT calculation on HPC</title>
                <pubDate>Tue, 23 Sep 2025 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/dft1/</link>
                <guid>https://displ.nl/blog/dft1/</guid>
                <description>&lt;p&gt;Took me 4 days to get back into pace! That aside, I figured what I want to calculate
for the project.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1002&#x2F;cssc.201903450&quot;&gt;1&lt;&#x2F;a&gt;. Avg. bond deviation.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1021&#x2F;acs.jpcc.8b11341&quot;&gt;2&lt;&#x2F;a&gt;. Predicting Potential against Li&#x2F;Li+.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;doi.org&#x2F;10.1002&#x2F;cssc.201903450&quot;&gt;3&lt;&#x2F;a&gt;. Density of states for Delithiated and Lithiated version.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.quantum-espresso.org&#x2F;Doc&#x2F;pp_user_guide&#x2F;node7.html&quot;&gt;4&lt;&#x2F;a&gt;. Bader&#x27;s analysis to analyse electron density within the molecule.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Going through these sources, I can get what they are trying to predicit which is what
I&#x27;m doing experimentally - peeking into the chemistry with my dummy lens.&lt;&#x2F;p&gt;
&lt;p&gt;One disappointing thing I found common in all of them was little details on the
computational part. Maybe that&#x27;s the barrier I have to overcome to grasp for these
tiny details!&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>[Day 0-30] DFT calculation on HPC</title>
                <pubDate>Fri, 19 Sep 2025 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/dft0/</link>
                <guid>https://displ.nl/blog/dft0/</guid>
                <description>&lt;p&gt;This is going to be a documentation of month long process of running my 
projects&#x27; DFT calculation on the high performance computer (HPC).I got access 
to not just one shell account but 3! They are quite generous haha.&lt;&#x2F;p&gt;
&lt;p&gt;DFT - Density functional theory, what&#x27;s this? I&#x27;m not quite at the stage 
to answer.  It&#x27;s a shame having a background on condensed matter theory, 
I should be able to write a &amp;quot;explain to me&amp;quot; post. If I have to recite from
my memory it&#x27;s a way to doing backtracked calculation to optimize for wavefun
ctions (of a multi-electron system) and finally an energy output.&lt;&#x2F;p&gt;
&lt;p&gt;I believe there are three things that needs to be done concurrently, &lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Literature review related to DFT application on my current study and setting my
expections. I&#x27;m not going to break the world of science with this, am I?&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Theory and Black box DFT packages, will I be  satisfied running a calculation if
all I have to do is chuck into it? &lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;The craze about parallelism in computing, is it better than turning T490 
into furnance ?&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;All these 3 tasks are seems to me equally interesting, but this time around I will
maintain a gantt chart to track the progress for the next 30 days. Rather than a
fixed gantt chart prior, I&#x27;m planning on a dynamic one. &lt;&#x2F;p&gt;
&lt;p&gt;From all my procastination years, I figured a good project heavily relies on the 
starting push of available resources. It&#x27;s the top most deciding factor in planning
a project, so I&#x27;m listing the resources I&#x27;m about to go through. &lt;&#x2F;p&gt;
&lt;h2 id=&quot;dft&quot;&gt;DFT&lt;&#x2F;h2&gt;
&lt;pre&gt;&lt;code&gt;
# Brush of QM &amp;amp; Molecular Dynamics
https:&#x2F;&#x2F;m.youtube.com&#x2F;@TMPChem&#x2F;playlists

# Quick workshop,
https:&#x2F;&#x2F;www.youtube.com&#x2F;playlist?list=PLRFXCmwZ09h9U_eamML_yqFZ712A9QQRb

# Theory + hands on,
https:&#x2F;&#x2F;www.youtube.com&#x2F;playlist?list=PLbgFiRV2JFy-VQ3D6cJjn5jkXmAsjQPiT

# Practical DFT playlist,
https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=oyvGeQ8ehBM&amp;amp;list=PLEawDeF-ZtxAfrW3qVy0Yj3wcDyJmZa_a&amp;amp;index=1&amp;amp;pp=iAQB

# ICTP school, Quantum Espresso
https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=_AfmMHnwDew&amp;amp;list=PLYc-eBoIpXTKzdsiw02gmAt8cnOe011Ue&amp;amp;index=1
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;hpc&quot;&gt;HPC&lt;&#x2F;h2&gt;
&lt;pre&gt;&lt;code&gt;https:&#x2F;&#x2F;www.archer2.ac.uk&#x2F;training&#x2F;
https:&#x2F;&#x2F;docs.archer2.ac.uk&#x2F;research-software&#x2F;qe&#x2F;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h2 id=&quot;books&quot;&gt;Books&lt;&#x2F;h2&gt;
&lt;pre&gt;&lt;code&gt;A Chemist&#x27;s Guide to Density Functional Theory, 10.1002&#x2F;3527600043
Density Functional Theory: A Practical Introduction, 10.1002&#x2F;9780470447710
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Hope this will set the pace for upcoming days!&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Log Book</title>
                <pubDate>Sat, 06 Sep 2025 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/logbook/</link>
                <guid>https://displ.nl/blog/logbook/</guid>
                <description>&lt;p&gt;When I started hosting this den, I didn&#x27;t fancy a logbook. There was no strong
reason to have one and if I tried I would have written a yet another stupid &lt;a href=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;blog&#x2F;httpd-slowcgi-shell&#x2F;&quot;&gt;cgi
script&lt;&#x2F;a&gt; for it. Times have changed now, came across some cool people and lost many. &lt;&#x2F;p&gt;
&lt;p&gt;Web got changed so much since that time, it became even harder to find a person writing something 
of their day today life. People I follow on RSS feeds have reduced by half now, moreover  I lost track of that cherished feed file. 
It all became a deserted place once again. &lt;&#x2F;p&gt;
&lt;p&gt;I just linked a &lt;a href=&quot;https:&#x2F;&#x2F;hisacro.atabook.org&#x2F;&quot;&gt;logbook&lt;&#x2F;a&gt; to this displ, it&#x27;s in the side panel of the site. 
Hoping it will put a smile, when I look in future. From the beginning of this cyberpage, I remember one instance of an Indonesian person finding me on IRC. 
It was a brief interaction and I got recommendation of a movie called Laskar Pelangi. The name still stuck to me!&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Chasing the fells</title>
                <pubDate>Sun, 10 Aug 2025 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/chasing-the-fells/</link>
                <guid>https://displ.nl/blog/chasing-the-fells/</guid>
                <description>&lt;p&gt;Isnt it common to link up events to make moments interesting?
It&#x27;s a way of reciting our if not the mundane life.  I watched a motion picture two weeks ago, it was called &amp;quot;The world to come&amp;quot;.
I got so captured by it&#x27;s first scence of fells!
As it played itself, I got invested into the environment and the surroundings, the characters blended within.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;fells&#x2F;The_World_to_come_01_15_55_222.png&quot; alt=&quot;The_World_to_come_01_15_55_222.png&quot; title=&quot;Snapshot from the movie, The world to come 2020&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Next the part, my weekend ride. Most of the weekends I try to go for a bike ride, pedalling across fells.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;fells&#x2F;img_3.jpg&quot; alt=&quot;img_3.jpg&quot; title=&quot;Getting me into through all different terrain.&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Last weekend happened to be a really long ride of 12 hours! It was one of the thrilling rides I have undertaken so far,&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;fells&#x2F;img_4.jpg&quot; alt=&quot;img_4.jpg&quot; title=&quot;A hand wave, if one squints enough :)&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Through the unknown valleys, villages and the vastness of blue sky.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;fells&#x2F;img_5.jpg&quot; alt=&quot;img_5.jpg&quot; title=&quot;View of a valley&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;fells&#x2F;img_5i.jpg&quot; alt=&quot;img_5i.jpg&quot; title=&quot;About to set into the forestery zone&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Final portion of the ride, was through the pine forest which was unfortunately wasnt completed, but it left a scary impression providing the glimpse of this grateful life. I was too into the surrounding and could only capture when it was after an hour of pinewood maneuver into a vast open field of plants and flowers.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;fells&#x2F;img_6.jpg&quot; alt=&quot;img_6.jpg&quot; title=&quot;From the middle of nowhereland to vast openness&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;End of the ride. Fin.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;fells&#x2F;img_6f.jpg&quot; alt=&quot;img_6f.jpg&quot; title=&quot;Nearing the end of the ride with rest&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Final tap, Dying in the wool. I got this from a cat charity shop. I tried to sit through this for couple of weeks but couldnt get a consistent state of mind untill yesterday. I have this really bad habit of doing marathon ignoring everything which is what exactly played out.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;fells&#x2F;img_7.jpg&quot; alt=&quot;img_7.jpg&quot; title=&quot;Cover of Dying in the wool by Frances Brody&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Now I have finished it, it really gave an impression of scenes I have came across so far. I could feel the smell which I wanted to capture. The gleaming light, crackling sound of leave, the  breeze and the tiredness of my thighs. I want this state to continue.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;fells&#x2F;img_8.jpg&quot; alt=&quot;img_8.jpg&quot; title=&quot;One of the Captured sunsets during my daily commutes&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The sunset that I captured on my return to home now, before finishing the final capter of kate&#x27;s case and writing this post.&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Anti-Rat revolution: poisioning the rats</title>
                <pubDate>Sat, 31 Aug 2024 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/poisoining-rat/</link>
                <guid>https://displ.nl/blog/poisoining-rat/</guid>
                <description>&lt;p&gt;Scary what a rat can do to your workflow, it started off as a optional 
accessory but soon took over the computing scene. 
This is my journey of rehabilitation triggered by spilled milk on touchpad.	&lt;&#x2F;p&gt;
&lt;p&gt;This workflow is also inspired by &lt;a href=&quot;https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20240815054656&#x2F;https:&#x2F;&#x2F;www.nongnu.org&#x2F;ratpoison&#x2F;&quot;&gt;ratpoison window manager&lt;&#x2F;a&gt;, 
when I popped on their IRC, I felt I found the tribe, finding the 
existence of people using &lt;a href=&quot;https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20240729001714&#x2F;links.twibright.com&#x2F;&quot;&gt;links&lt;&#x2F;a&gt; and a page &lt;a href=&quot;https:&#x2F;&#x2F;merveilles.town&#x2F;tags&#x2F;links2gang&quot;&gt;#links2gang&lt;&#x2F;a&gt; was a testement of that.&lt;&#x2F;p&gt;
&lt;p&gt;Although ratpoison has inbuilt functions&#x2F;macros for rat clicks and movements, 
keeping it universal, &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;randoragon&#x2F;mousemode&quot;&gt;mousemode&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;www.x.org&#x2F;releases&#x2F;X11R7.7&#x2F;doc&#x2F;man&#x2F;man1&#x2F;setxkbmap.1.xhtml&quot;&gt;setxkbmap&lt;&#x2F;a&gt; is what I used to achieve.	
I&#x27;m unsure of wayland but with X11 these should work without any tweaks on any window manager
or desktop environment.&lt;&#x2F;p&gt;
&lt;p&gt;Disclaimer: Only physical rat is ditched not  the X one, I feel it&#x27;s
impossible to do so! That teeny tiny nuisance no matter what window manager
one uses, even the tiling ones. If one strictly wants to nuke the rat, then
as far as I know, ditching entire X is the only option (Please enlighten me
on this)&lt;&#x2F;p&gt;
&lt;h2 id=&quot;who-is-this-for&quot;&gt;Who is this for?&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;If bump on &#x27;f&#x27; and &#x27;j&#x27; keys  are smudged to the point it feels same 
as other keys I bet you are going to jump on this jargon.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Want vi* keybinding everywhere but sick of finding mediocore workflow.&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;I love my home row (x10).&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;Done with the damn rat! - touchpods, optical rattus, trackballs&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;mousemode&#x2F;ban_rats.png&quot; alt=&quot;ban_rats.png&quot; title=&quot;This image was proccessed 100% rats free&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;mousemode&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;randoragon&#x2F;mousemode&quot;&gt;Mousemode&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;Words of the developer, &amp;quot;mousemode is aimed at laptop power users that are
annoyed with touchpads or people that in general find themselves in a 
position uncomfortable to be using the movie via conventional means&amp;quot;&lt;&#x2F;p&gt;
&lt;p&gt;One of the factor that got me was clean source, it&#x27;s a single mousemode.c
file and very readable for tweaking. I have written a &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;randoragon&#x2F;mousemode&#x2F;issues&#x2F;1&quot;&gt;comment&lt;&#x2F;a&gt; on the 
package repo praising it. My current keybinding follows as, (&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;hisacro&#x2F;mousemode&#x2F;blob&#x2F;master&#x2F;mousemode.c&quot;&gt;taken from
the source code&lt;&#x2F;a&gt;)&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;#define FREQENCY 100
.
. 
.
    &#x2F;*
     *     rouge-like    scroll       Speed      Quit
     *      y  k  u        o
     *       \ | &#x2F;         |       (c) faster    Esc
     *    h --   -- l      |       (f) slower
     *       &#x2F; | \         |
     *     b   j  n        i&#x2F;e
     *
     *
     *     left, middle, right clicks
     *      a      s       d
     *&#x2F;
.
.
.
     while (running) {
         const struct timespec sleep_timespec = {0, 1e9 &#x2F; FREQUENCY};
.
.

&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Here&#x27;s a breakdown of above,  current configuration uses a much higher 
speed for rat movement than the original source. That&#x27;s what the frequency
is for.&lt;&#x2F;p&gt;
&lt;p&gt;Secondly I thought I would abuse diagonal movements from &lt;a href=&quot;https:&#x2F;&#x2F;nethackwiki.com&#x2F;wiki&#x2F;Commands&quot;&gt;nethack&lt;&#x2F;a&gt; muscle 
memory but I found I&#x27;m efficient using hjkl alone to go anywhere thanks to
bsd&#x27;s tetris!, here&#x27;s the video of it&lt;&#x2F;p&gt;
&lt;video controls&gt; 
&lt;source src=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;img&#x2F;mousemode&#x2F;fast.mp4&quot; type=&quot;video&#x2F;mp4&quot;&gt; 
find it here, https:&#x2F;&#x2F;displ.nl&#x2F;img&#x2F;mosemode&#x2F;fast.mp4 
&lt;&#x2F;video&gt; 
&lt;p&gt;my favourite of the bunch is selection!&lt;&#x2F;p&gt;
&lt;video controls&gt; 
&lt;source src=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;img&#x2F;mousemode&#x2F;selection.mp4&quot; type=&quot;video&#x2F;mp4&quot;&gt; 
find it here, https:&#x2F;&#x2F;displ.nl&#x2F;img&#x2F;mosemode&#x2F;selection.mp4 
&lt;&#x2F;video&gt; 
&lt;p&gt;Since I found I was using &#x27;ctrl+w&#x27; for closing tabs in either browsers and
terminal, using left hand I can only scroll down. &lt;&#x2F;p&gt;
&lt;p&gt;Regarding the speed, I never needed the key for making it faster further
cause it&#x27;s already! and using &#x27;f&#x27; to slow down makes intuiatively sound. &lt;&#x2F;p&gt;
&lt;p&gt;Let me get out of mousemode with the same key press - ESC, but it&#x27;s mapped
to tapping caplocks once - &lt;a href=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;blog&#x2F;living-fullest-home-row&#x2F;&quot;&gt;homerow supremacy \o&#x2F;&lt;&#x2F;a&gt; &lt;&#x2F;p&gt;
&lt;p&gt;And finally the clicks with a, s, and d.&lt;&#x2F;p&gt;
&lt;p&gt;At the moment I&#x27;m on &lt;a href=&quot;https:&#x2F;&#x2F;i3wm.org&#x2F;docs&#x2F;userguide.html#keybindings&quot;&gt;i3wm&lt;&#x2F;a&gt;, so this mousemode is keybinded to mod+i as
&lt;code&gt;bindsym $mod+i mousemode&lt;&#x2F;code&gt;. Ideally this should be enough to kill the rat
but no especially the right clicks don&#x27;t works as intended, my speculation is
mousemode&#x27;s click releases are fast enough to perfectly disguise. This brings
us to conjuction with setxkbmap&lt;&#x2F;p&gt;
&lt;video controls&gt; 
&lt;source src=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;img&#x2F;mousemode&#x2F;rightclick_drawback.mp4&quot; type=&quot;video&#x2F;mp4&quot;&gt; 
find it here, https:&#x2F;&#x2F;displ.nl&#x2F;img&#x2F;mosemode&#x2F;rightclick_drawback.mp4 
&lt;&#x2F;video&gt; 
&lt;h2 id=&quot;setxkbmap&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.x.org&#x2F;releases&#x2F;X11R7.7&#x2F;doc&#x2F;man&#x2F;man1&#x2F;setxkbmap.1.xhtml&quot;&gt;setxkbmap&lt;&#x2F;a&gt;&lt;&#x2F;h2&gt;
&lt;p&gt;I&#x27;m reminding myself again, no one ever in *nix world has ever known the full 
features of X because it&#x27;s not documented properly ever!  This is the
opt time to reveal some of the holy grails of cyberspace about X11&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;My all time inspiration, whenever I feel I know nothing about X11, I read
&lt;a href=&quot;https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20240717202704&#x2F;https:&#x2F;&#x2F;www.charvolant.org&#x2F;doug&#x2F;xkb&#x2F;html&#x2F;xkb.html&quot;&gt;charvolant.org&#x2F;doug&#x2F;xkb&#x2F;html&#x2F;xkb.html&lt;&#x2F;a&gt; to boost my ego&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;A bible of &lt;a href=&quot;https:&#x2F;&#x2F;www.x.org&#x2F;releases&#x2F;X11R7.6&#x2F;doc&#x2F;xorg-docs&#x2F;input&#x2F;XKB-Config.html&quot;&gt;XKB configuration&lt;&#x2F;a&gt;, &lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;These shouldn&#x27;t be made public ever! list of &lt;a href=&quot;https:&#x2F;&#x2F;gist.github.com&#x2F;jatcwang&#x2F;ae3b7019f219b8cdc6798329108c9aee&quot;&gt;all holy options&lt;&#x2F;a&gt; in setxkbmap
as well &lt;a href=&quot;https:&#x2F;&#x2F;manpages.ubuntu.com&#x2F;manpages&#x2F;jammy&#x2F;en&#x2F;man7&#x2F;xkeyboard-config.7.htm&quot;&gt;a manpage of xkeyboard-config with each section&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Tracing back to the topic, I have keypad on the laptop. I never
found a use for it untill now. X11 has a inbuilt option to use keypad as
rat movemention via pointerkeys. I stumbled this from a thread on 
&lt;a href=&quot;https:&#x2F;&#x2F;unix.stackexchange.com&#x2F;questions&#x2F;609367&#x2F;setting-pointerkeys-numpad-as-mouse-keys-parameters-acceleration-delay-etc&quot;&gt;unix.stackexchnage.com&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Temporarly one can test out with,&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;setxkbmap -option keypad:pointerkeys
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;By default, the key combo of Shift+numlock with turn numpad keyboard as rat! 
with &#x27;5&#x27; as click and all numbers corresponding to direction. To make this 
permananet I made configuration for X11&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ cat &#x2F;etc&#x2F;X11&#x2F;xorg.conf.d&#x2F;20-pointerkeys.conf
Section &amp;quot;InputClass&amp;quot;
    Identifier             &amp;quot;PointerKeys&amp;quot;
    MatchIsKeyboard        &amp;quot;yes&amp;quot;
    Option                 &amp;quot;XkbOptions&amp;quot; &amp;quot;keypad:pointerkeys&amp;quot;
EndSection
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Again I haven&#x27;t tinkered much with pointerkeys infact I never 
found what pointerkeys actually can&#x2F;cannot do,   but this is 
used as a extra dose of poison when I couldn&#x27;t kill the rodent with 
mousemode clicks. &lt;&#x2F;p&gt;
&lt;h4 id=&quot;edit-1&quot;&gt;Edit 1.&lt;&#x2F;h4&gt;
&lt;p&gt;A funny thing is just when I&#x27;m writing this, I found
a &lt;a href=&quot;https:&#x2F;&#x2F;linuxreviews.org&#x2F;HOWTO_use_the_numeric_keyboard_keys_as_mouse_in_XOrg&quot;&gt;guide&lt;&#x2F;a&gt; that made me realize I can use left, middle, right clicks! 
First I have to select which click I want with &lt;code&gt;&#x2F; * -&lt;&#x2F;code&gt; then pressing &#x27;5&#x27; 
will do that.&lt;&#x2F;p&gt;
&lt;video controls&gt; 
&lt;source src=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;img&#x2F;mousemode&#x2F;pointerkeys_supremacy.mp4&quot; type=&quot;video&#x2F;mp4&quot;&gt; 
find it here, https:&#x2F;&#x2F;displ.nl&#x2F;img&#x2F;mosemode&#x2F;pointerkeys_supremacy.mp4 
&lt;&#x2F;video&gt; 
&lt;p&gt;Although changing the clicks is not visible on &lt;a href=&quot;https:&#x2F;&#x2F;www.researchgate.net&#x2F;publication&#x2F;342117855_Longitudinal_Study_of_Two_Virtual_Cursors_for_People_With_Motor_Impairments_A_Performance_and_Satisfaction_Analysis_on_Web_Navigation&quot;&gt;screenkey&lt;&#x2F;a&gt;, &lt;code&gt;&#x2F; * -&lt;&#x2F;code&gt; corresponds
to selecting buttons 1,2,3 on mouse but only after pressing &lt;code&gt;5&lt;&#x2F;code&gt;, strokes get registered.&lt;&#x2F;p&gt;
&lt;p&gt;Pointerkeys&#x2F;Mousekey seems to have &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Mouse_keys&quot;&gt;a rich history&lt;&#x2F;a&gt;, it suggests numpad were the 
goto way to operate that bloody rat, what a world we have evolved to.&lt;&#x2F;p&gt;
&lt;p&gt;That comes to an end. Reborn!&lt;&#x2F;p&gt;
&lt;h4 id=&quot;edit-2&quot;&gt;Edit 2.&lt;&#x2F;h4&gt;
&lt;p&gt;Found a recent study on pointerkeys, titled
Longitudinal Study of Two Virtual Cursors for People With Motor 
Impairments: A Performance and Satisfaction Analysis on Web Navigation - 
&lt;a href=&quot;https:&#x2F;&#x2F;www.researchgate.net&#x2F;publication&#x2F;342117855_Longitudinal_Study_of_Two_Virtual_Cursors_for_People_With_Motor_Impairments_A_Performance_and_Satisfaction_Analysis_on_Web_Navigation&quot;&gt;10.1109&#x2F;ACCESS.2020.3001766&lt;&#x2F;a&gt;. &lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;mousemode&#x2F;pointerkeys_cheatsheet.gif&quot; alt=&quot;pointerkeys_cheatsheet.gif&quot; title=&quot;Good cheatsheet on using pointerkeys, source doi is linked above&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Great Work and some day if any of &lt;a href=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;tags&#x2F;keyboard-hacking&#x2F;&quot;&gt;my keyboard hack&lt;&#x2F;a&gt; articles help people, 
I will feel accomplished \o&#x2F;.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;evil-forces&quot;&gt;Evil forces&lt;&#x2F;h2&gt;
&lt;p&gt;I was successful in killing all type of rats and rodents but there&#x27;s surely one
I&#x27;m not able! Whenever I see this, I&#x27;m tempted to ditch all and caress it. A
Shameful realization, it&#x27;s non other than trackpoint&#x2F;nipple. The reason being I can still stay in home row and operate it, this is one of the well thought computing designs ever. &lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;mousemode&#x2F;t430.png&quot; alt=&quot;t430.png&quot; title=&quot;The temptation of trackpoint is very real!&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;This is my friend&#x27;s T430 with a classic 7-row keyboard mod . I just
cannot resist the urge, I find stupid reasons to borrow it for typing and 
scrolling through news&#x2F;articles. &lt;&#x2F;p&gt;
&lt;p&gt;A reminder, Repetative Strain Injury (RSI)  due to workflow is very serious 
so be cautious of it and as usual happy keyboard hacking ;) &lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #20 - The 25th hour &amp; Travelling cat chronicles</title>
                <pubDate>Tue, 13 Aug 2024 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature20/</link>
                <guid>https://displ.nl/blog/feature20/</guid>
                <description>&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;booksweek.jpg&quot; alt=&quot;booksweek.jpg&quot; title=&quot;The 25th hour and The travelling cat chronicles&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;I had these books in 2018 bucketlist, just got around reading it now. Short books,
~200pages. One of them has doggo other has kitty and surprisingly both of them 
have movie adoptions.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;moviesweek.jpg&quot; alt=&quot;moviesweek.jpg&quot; title=&quot;movie posters stolen from web&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Common theme between them, not much of a suspense or thrilling story but the
pace got me hooked and made me not to put off the book once I started. Other
than this it&#x27;s entirely different world building characterization one set in
Brooklyn, New York other in Tokyo. &lt;&#x2F;p&gt;
&lt;p&gt;If a book is getting me hooked till the last page it gets 4&#x2F;5, so yes both of
them are in this regard!&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Bucket List</title>
                <pubDate>Thu, 06 Jun 2024 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/bucket/</link>
                <guid>https://displ.nl/blog/bucket/</guid>
                <description>&lt;p&gt;Shouldn&#x27;t everyone have bucket list of thigns to do, 
you will be here today and gone tomorrow better have it! &lt;&#x2F;p&gt;
&lt;p&gt;I have 6 months to update the &lt;a href=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;bucket-list&#x2F;&quot;&gt;list&lt;&#x2F;a&gt; starting from today&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #19 - Barkley &amp; Backyard Ultra races</title>
                <pubDate>Mon, 25 Mar 2024 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature19/</link>
                <guid>https://displ.nl/blog/feature19/</guid>
                <description>&lt;p&gt;Found something that will consume me, it&#x27;s &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Backyard_ultra&quot;&gt;backyard ultra races&lt;&#x2F;a&gt;. 
Rather than a race I see it has peak form of endurance test, I always 
get attracted to these, seeing how far I can go pushing limits. Without
a doubt these are in the similar page of &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Polyphasic_sleep&quot;&gt;uber-sleeping&lt;&#x2F;a&gt; or shut-in reading 
and yes these are not healthy but there&#x27;s something that appeals - oh 
might be that peak ego boasting boosters, evil grin ;)&lt;&#x2F;p&gt;
&lt;p&gt;The documentary - &lt;a href=&quot;https:&#x2F;&#x2F;inv.n8pjl.ca&#x2F;watch?v=ZRXKZSqvtrw&quot;&gt;Just one more lap - invidious link&lt;&#x2F;a&gt; &lt;a href=&quot;https:&#x2F;&#x2F;youtu.be&#x2F;watch?v=ZRXKZSqvtrw&quot;&gt;aliter - yt&lt;&#x2F;a&gt;
engaged me, also &lt;a href=&quot;https:&#x2F;&#x2F;inv.n8pjl.ca&#x2F;watch?v=LZ-DE-hmiGE&quot;&gt;Barkley Marathons&lt;&#x2F;a&gt; from the same race creator felt raw.
Switch from cycling to running is on the way!&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;Barkley_marathons_barry.png&quot; alt=&quot;Barkley_marathons_barry.png&quot; title=&quot;Barry and Garry&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Lazarus_Lake&quot;&gt;Gary Cantrell&lt;&#x2F;a&gt; on right and the farmer friend Barry Barkley who he name his race after, joking it wouldn&#x27;t have become popular if it wasn&#x27;t for his name.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;Barkley_ending.png&quot; alt=&quot;Barkley_ending.png&quot; title=&quot;The end - will write next entry after a year&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #18 - ASCII Art Thesis</title>
                <pubDate>Tue, 24 Oct 2023 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature18/</link>
                <guid>https://displ.nl/blog/feature18/</guid>
                <description>&lt;p&gt;Came Across something I drowled over in the past and someone great made 
it into reality too - An &lt;a href=&quot;https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20231022091423&#x2F;https:&#x2F;&#x2F;blog.glyphdrawing.club&#x2F;amiga-ascii-art&#x2F;&quot;&gt;ASCII art as a thesis&lt;&#x2F;a&gt;. Enjoyed each
description of it - from AMIGA, BBS, ANSI, demo packs culture every
thing. An article that resonated with me and made what I was missing
for few months. &lt;&#x2F;p&gt;
&lt;p&gt;I remember My friend was joking about printing my gemini pod, hehe! I
can get a dot matrix printer and send you a scroll - a possible reality &lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>shu shu Peaking</title>
                <pubDate>Mon, 17 Jul 2023 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/lay-back/</link>
                <guid>https://displ.nl/blog/lay-back/</guid>
                <description>&lt;p&gt;I&#x27;m going without context here, If I feel like writing I will. &lt;&#x2F;p&gt;
&lt;p&gt;Why do I want to reason out everything, why all these resources getting isolated in the 
middle of deserted cyberspace, what happenend to gemini pods? (getting drowned by my
own ascii)  why to bother all?&lt;&#x2F;p&gt;
&lt;p&gt;Let&#x27;s me spend this 5 min  and fill up my den with &#x27;Whys?&#x27;&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Purging incomplete documentation of BCHS uploading script</title>
                <pubDate>Sun, 11 Dec 2022 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/httpd-slowcgi-shell/</link>
                <guid>https://displ.nl/blog/httpd-slowcgi-shell/</guid>
                <description>&lt;p&gt;what&#x27;s &lt;a href=&quot;https:&#x2F;&#x2F;learnbchs.org&#x2F;&quot;&gt;BCHS&lt;&#x2F;a&gt;? and why?  too much of time in hand and willingness to self harm (-_-&lt;&#x2F;p&gt;
&lt;h3 id=&quot;this-is-archived-post-work-in-progress&quot;&gt;This is archived post - work in progress&lt;&#x2F;h3&gt;
&lt;p&gt;Last week I was asked by my friend how I&#x27;m uploading photos from phone to this server, it was bit
of not soo user friendly process. I tather phone + pc together and run ftp server on phone so
I could connect and download with pc then scp to the public directory here. Since I have moved out
of my den very recently I&#x27;m meeting new people; having interaction, sharing things and it
has reached a point I&#x27;m finding it troublesome of this repitative upload cycle.&lt;&#x2F;p&gt;
&lt;p&gt;In the past, I came across a cgi script having a web form wrapper to upload documents. It was from
a user on tilde.institute. I should have stolen the script that time! &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;        location &amp;quot;&#x2F;cgi&#x2F;*.cgi&amp;quot; {
                root &amp;quot;&#x2F;htdocs&#x2F;cgi&#x2F;&amp;quot;
                request strip 1
                fastcgi {
                        param SCRIPT_FILENAME &amp;quot;&#x2F;htdocs&#x2F;cgi&#x2F;test.cgi&amp;quot;
                }
        }

        location &amp;quot;&#x2F;cin&#x2F;*&amp;quot; {
                root &amp;quot;&#x2F;htdocs&#x2F;cin&#x2F;&amp;quot;
                request strip 1
                directory auto index 
        }
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;test.cgi&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;#!&#x2F;bin&#x2F;sh

file=&#x2F;tmp&#x2F;m_final
cat &amp;gt; $file

filename1=$(head -2 $file | sed &#x27;s&#x2F;^.*filename=&#x2F;&#x2F;&#x27; | sed &#x27;s&#x2F;\&amp;quot;&#x2F;&#x2F;g&#x27; | sed &#x27;s&#x2F;.$&#x2F;&#x2F;&#x27; | tail -1)

lines=$(($(wc -l &amp;lt; $file)))

head -n $((lines - 1)) $file | tail -n $((lines - 5)) &amp;gt; &#x2F;htdocs&#x2F;dump_displ&#x2F;$filename1


cat &amp;lt;&amp;lt;EOF
&amp;lt;h1&amp;gt;Upload Successful https:&#x2F;&#x2F;displ.nl&#x2F;pub_listing&#x2F;$filename1&amp;lt;&#x2F;h1&amp;gt;
EOF

exit 0
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;index.html&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;html&amp;gt;&amp;lt;head&amp;gt;&amp;lt;title&amp;gt;Test Form&amp;lt;&#x2F;title&amp;gt;&amp;lt;&#x2F;head&amp;gt;
&amp;lt;body&amp;gt;

&amp;lt;form action=&amp;quot;..&#x2F;cgi&#x2F;test.cgi&amp;quot; enctype=&amp;quot;multipart&#x2F;form-data&amp;quot; method=&amp;quot;post&amp;quot;&amp;gt;
        &amp;lt;label class=&amp;quot;custom-uploader&amp;quot; for=&amp;quot;file&amp;quot;&amp;gt;Upload Your File&amp;lt;&#x2F;label&amp;gt; 
        &amp;lt;input id=&amp;quot;file&amp;quot; accept=&amp;quot;image&#x2F;jpeg,image&#x2F;gif,image&#x2F;png,application&#x2F;pdf,image&#x2F;x-eps&amp;quot; name=&amp;quot;fileToUpload&amp;quot; type=&amp;quot;file&amp;quot; &#x2F;&amp;gt; 
        &amp;lt;button class=&amp;quot;btn btn-success&amp;quot; name=&amp;quot;submit&amp;quot; type=&amp;quot;submit&amp;quot;&amp;gt; Upload File &amp;lt;&#x2F;button&amp;gt;
&amp;lt;&#x2F;form&amp;gt;

&amp;lt;&#x2F;body&amp;gt;
&amp;lt;&#x2F;html&amp;gt;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
</description>
            </item>
        
            <item>
                <title>Stupid offline console dictionary</title>
                <pubDate>Sun, 15 May 2022 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/offline-console-dictionary/</link>
                <guid>https://displ.nl/blog/offline-console-dictionary/</guid>
                <description>&lt;p&gt;I have been looking for a simple offline non-GUI dictionary for couple of weeks 
initially I have set up &lt;a href=&quot;http:&#x2F;&#x2F;dict.org&#x2F;bin&#x2F;Dict&quot;&gt;dictd-server&lt;&#x2F;a&gt; and dictd-client dict(1) (both are in ports) using &lt;a href=&quot;https:&#x2F;&#x2F;tldp.org&#x2F;LDP&#x2F;LG&#x2F;issue63&#x2F;gibbs.html&quot;&gt;tldp guide&lt;&#x2F;a&gt;.  Since it&#x27;s on OBSD, had to create priviledged environment under &lt;code&gt;&#x2F;var&lt;&#x2F;code&gt; for  a non login user &lt;code&gt;_dickd&lt;&#x2F;code&gt; to start client rc script &lt;&#x2F;p&gt;
&lt;p&gt;To top that off, I found supported databases &lt;code&gt;*.dict.dz&lt;&#x2F;code&gt; and &lt;code&gt;*.index&lt;&#x2F;code&gt; only for &lt;a href=&quot;https:&#x2F;&#x2F;www.moby-thesaurus.org&#x2F;&quot;&gt;moby thesaurus&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;I shared this info to my friend, bet it was surprise and disbelief. Why would a stupidly simple task need all these! I can just grep a huge txt file and with multiple grep I can have variety of dictionary too! &lt;&#x2F;p&gt;
&lt;p&gt;looking at dictd-server again today, found an argument for testing across all databases &lt;code&gt; dictd -t &amp;lt;word&amp;gt;&lt;&#x2F;code&gt;, it pukes log as stdout and results as stderror! &lt;&#x2F;p&gt;
&lt;p&gt;moving on, I spent hours to find pre archived databases since all the ftp servers are down! (even freebsd removed dict-databases from their ports) &lt;&#x2F;p&gt;
&lt;p&gt;thanks to ferdnyc for &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ferdnyc&#x2F;dictd-dicts&quot;&gt;archiving varity of databases&lt;&#x2F;a&gt;, cloned to my ~  and  dictd config follows&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;# &#x2F;etc&#x2F;dictd.conf 
# dictd 1.9.15&#x2F;rf on OpenBSD 7.1
# Copyright 1997-2002 Rickard E. Faith (faith@dict.org)
#

database mb {
    data &amp;quot;&#x2F;home&#x2F;hisacro&#x2F;dictd-dicts&#x2F;moby-thesaurus.dict.dz&amp;quot;
    index &amp;quot;&#x2F;home&#x2F;hisacro&#x2F;dictd-dicts&#x2F;moby-thesaurus.index&amp;quot;
}

database devils {
    data &amp;quot;&#x2F;home&#x2F;hisacro&#x2F;dictd-dicts&#x2F;devils.dict.dz&amp;quot;
    index &amp;quot;&#x2F;home&#x2F;hisacro&#x2F;dictd-dicts&#x2F;devils.index&amp;quot;
}

# word_net
database wn {
    data &amp;quot;&#x2F;home&#x2F;hisacro&#x2F;dictd-dicts&#x2F;wn.dict.dz&amp;quot;
    index &amp;quot;&#x2F;home&#x2F;hisacro&#x2F;dictd-dicts&#x2F;wn.index&amp;quot;
}
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;from the looks of it, most &lt;code&gt;gaanu&#x2F;linux&lt;&#x2F;code&gt; distors pack server and client
together but only &lt;code&gt;dictd&lt;&#x2F;code&gt; is needed&lt;&#x2F;p&gt;
&lt;p&gt;I could make use of search history too, so shell fucntion &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;dic() {
	dictd --test $1 2&amp;gt; cat #suppress log 
	echo $1 &amp;gt;&amp;gt; &#x2F;home&#x2F;hisacro&#x2F;.dic_history
}
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;a sample&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;x201$ dic cat
From Moby Thesaurus II by Grady Ward, 1.0 [mb]:

128 Moby Thesaurus words for &amp;quot;cat&amp;quot;:
   Abyssinian cat, Adamite, Angora cat, Argus, Cheshire cat,
   Chinchilla cat, Himalayan cat, Maltese cat, Manx cat, Persian cat,
   ...

From The Devil&#x27;s Dictionary (1881-1906) [devils]:

CAT, n.  A soft, indestructible automaton provided by nature to be
kicked when things go wrong in the domestic circle.

    This is a dog,
        This is a cat.
    This is a frog,
        This is a rat.
    Run, dog, mew, cat.
    Jump, frog, gnaw, rat.
                                                             Elevenson


From WordNet (r) 2.0 [wn]:

cat
     n 1: feline mammal usually having thick soft fur and being unable
          to roar; domestic cats; wildcats [syn: {true cat}]
     2: an informal term for a youth or man; &amp;quot;a nice guy&amp;quot;; &amp;quot;the
        guy&#x27;s only doing it for some doll&amp;quot; [syn: {guy}, {hombre},
        {bozo}]
     3: a spiteful woman gossip; &amp;quot;what a cat she is!&amp;quot;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Beautiful!&lt;&#x2F;p&gt;
&lt;p&gt;I thank my obsd mirror for stalling snapshot ports otherwise I would have spent another half a day looking at &lt;a href=&quot;https:&#x2F;&#x2F;puszcza.gnu.org.ua&#x2F;software&#x2F;dico&#x2F;&quot;&gt;dic(k)o&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;very interested to see how others have setup dictionary, I still feel like missing something very obvious&lt;&#x2F;p&gt;
&lt;p&gt;&lt;spawn class=subhead&gt;edit&lt;&#x2F;spawn&gt;&lt;&#x2F;p&gt;
&lt;p&gt;chances are precompiled dictd package on your repo&#x2F;ports is &amp;gt;1.13.0 and doesn&#x27;t have optin for &lt;code&gt;--testing&lt;&#x2F;code&gt;, reason why obsd still ships 1.9.15 is lack dependency of &lt;a href=&quot;https:&#x2F;&#x2F;directory.fsf.org&#x2F;wiki&#x2F;Libmaa&quot;&gt;libmaa&lt;&#x2F;a&gt; for later versions.&lt;&#x2F;p&gt;
&lt;p&gt;sourceforge archive of &lt;a href=&quot;https:&#x2F;&#x2F;sourceforge.net&#x2F;projects&#x2F;dict&#x2F;files&#x2F;dictd&#x2F;dictd-1.9.15&#x2F;&quot;&gt;dictd-1.9.15&lt;&#x2F;a&gt;,&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ cd dictd-1.9.15
$ .&#x2F;configre
$ # only in the need of server so
$ make dictd
$ # place system wide config at &#x2F;etc&#x2F;dictd.conf 
$ .&#x2F;dictd --testing &amp;lt;word&amp;gt; 
$ # modify shell func accordingly
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #17 - Dublin A personal view, guided tour + Wolfe Tones</title>
                <pubDate>Thu, 28 Oct 2021 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature17/</link>
                <guid>https://displ.nl/blog/feature17/</guid>
                <description>&lt;p&gt;Dublin - a personal view is Éamonn MacThomáis causually walking around parts
of Dublin enjoying interaction with locals and sharing interesting facts 
about places.  This is great example of how conveying with interest can 
turn anything into great, I wonder how one could even come up with script or 
outline&lt;&#x2F;p&gt;
&lt;p&gt;One of my favorite episodes &lt;a href=&quot;https:&#x2F;&#x2F;yewtu.be&#x2F;watch?v=cshT_JEh4bA&quot;&gt;Raytown - Ringsend&lt;&#x2F;a&gt;, 
it striking plain making it very sought after &lt;&#x2F;p&gt;
&lt;p&gt;yt - https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=cshT_JEh4bA&lt;&#x2F;p&gt;
&lt;p&gt;and the soundtrack, &lt;a href=&quot;https:&#x2F;&#x2F;yewtu.be&#x2F;watch?v=r3T0BVJjKxs&quot;&gt;The wolfe Tones - (s!)quare things in Dublin&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;yt - https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=r3T0BVJjKxs&lt;&#x2F;p&gt;
&lt;p&gt;5 legged cat, 3 legged donkey and 2 headed monkey.. 
that&#x27;s a great story song ;)&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>[Hanging] Garden - 1</title>
                <pubDate>Tue, 12 Oct 2021 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/hanging-garden/</link>
                <guid>https://displ.nl/blog/hanging-garden/</guid>
                <description>&lt;p&gt;I have a thing for creepers, first they&#x27;re creepy in the sense 
they&#x27;re more living than the normal plant. I lay supports
to ease strain and next day I would find some random hook on it.
now what&#x27;re are the odds that these vines sense the change in 
environment and choose a different trajectory over night! &lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s over 3 years now that I wanted a natural roof on the porch 
the idea of it felt like a fantasy cause the porch is over 
12 feet from ground moreover it&#x27;s not just straight up &lt;&#x2F;p&gt;
&lt;p&gt;Other than stopping by nusery, I&#x27;m convinced these weren&#x27;t the plants
I got initally. Reason was, family took care of them for most of first year
and my memories got blur&lt;&#x2F;p&gt;
&lt;p&gt;Enough of context, these 2 plants have specific creepiness 
to them yet they complement other &lt;&#x2F;p&gt;
&lt;h3 id=&quot;artabotrys-hexapetalus&quot;&gt;Artabotrys hexapetalus&lt;&#x2F;h3&gt;
&lt;p&gt;This is very interesting plant? tree? vine? you&#x27;ll never know 
because this species decides for itself. I have heard multiple times 
from people seeing this as full blown tree. &lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;garden&#x2F;hook.jpg&quot; alt=&quot;hook.jpg&quot; title=&quot;for real, that looks like clay structure&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;garden&#x2F;hook1.jpg&quot; alt=&quot;hook1.jpg&quot; title=&quot;perfect skyline&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Look how perfect those hooks are, they reach for the support and
wither out after fixating on enough integrity, this might take
few months to a year (longer the wait, less green-er the stem -
starting to look like wood)&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;garden&#x2F;wood.jpg&quot; alt=&quot;wood.jpg&quot; title=&quot;that&#x27;s a OK hand&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;garden&#x2F;wood1.jpg&quot; alt=&quot;wood1.jpg&quot; title=&quot;dense!&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Now the flower, it does have 6 petals (inner trianglur ones enclosed by outer)&lt;br &#x2F;&gt;
hence the name. They give a very ___ smell (I&#x27;m trying hard to come up with an
analogy) alright if weed is to dirt-damp-junk-dungeon this is polar opposite
with pure-fruitiful-pleasant yet weird smell &lt;&#x2F;p&gt;
&lt;p&gt;You could smell the flowers by going real close to them, but the fascinating
part is during certain time of the day (an hour or two before dusk) 
they emit this strong scent which I could sense even while on ground &lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;garden&#x2F;f_bottom.jpg&quot; alt=&quot;f_bottom.jpg&quot; title=&quot;I can smell the picture&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Fruits appear every 3 months in a cluster (sometimes I see lone rangers 
too) turns yellow when ripe but doesn&#x27;t have any smell.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;garden&#x2F;cluster.jpg&quot; alt=&quot;cluster.jpg&quot; title=&quot;cluster WAS one of Kaidan&#x27;s favorite 
toys, rolling around all that untill everything comes off.&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;garden&#x2F;ripe.jpg&quot; alt=&quot;ripe.jpg&quot; title=&quot;a fallen one&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;garden&#x2F;ripe_dis.jpg&quot; alt=&quot;ripe_dis.jpg&quot; title=&quot;saw made a mark on seed, hope it&#x27;s
poisonous&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;I don&#x27;t think it is edible, tastes very bitter,  controlled myself from puking though &lt;&#x2F;p&gt;
&lt;h3 id=&quot;passiflora-soi-fah&quot;&gt;Passiflora Soi Fah&lt;&#x2F;h3&gt;
&lt;p&gt;This took way more time to ID, there were misinformation on the web
labelling it as Passiflora Incarnata - the main difference &#x27;P. Soi Fah&#x27; bears
no fruit opposed to organgy passion fruit with edible jelly seeds inside&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;garden&#x2F;passi_1.jpg&quot; alt=&quot;passi_1.jpg&quot; title=&quot;that&#x27;s tripy&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;garden&#x2F;passi_close.jpg&quot; alt=&quot;passi_close.jpg&quot; title=&quot;alien?&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;If this is the first time looking at passiflora xxx, &lt;a href=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;img&#x2F;garden&#x2F;passi_hi.jpg&quot;&gt;high resolution pic&lt;&#x2F;a&gt; 
make sure to digest the beauty (pattern on it goes 3,1,5,5,100? also notice the
teeny tiny ant on bottom bud) &lt;&#x2F;p&gt;
&lt;p&gt;Flower itself doesn&#x27;t bear any scent (subtle fruitness)  but pluking it gives a stench - quite common 
for most passiflora, a defense mechanism.  Opposed to hooks, P. Soi Fah has 
swigrily supporters&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;garden&#x2F;passi_2.jpg&quot; alt=&quot;passi_2.jpg&quot; title=&quot;quite strong swigrils I see&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;This leads the way for A. hexapetals, growing faster laterally 
but once A. hexa catches up, it eases strain and shoves on top of strong 
supports.  A closer look near the flower at back will make this evident&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;garden&#x2F;shove.jpg&quot; alt=&quot;shove.jpg&quot; title=&quot;thanks for falling to my trap&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;give me more..&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;garden&#x2F;more1.jpg&quot; alt=&quot;more1.jpg&quot; title=&quot;caught 2 blossoms at right time&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;garden&#x2F;more2.jpg&quot; alt=&quot;more2.jpg&quot; title=&quot;bottom view&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Quite a windy day,&lt;&#x2F;p&gt;
&lt;video controls&gt;
&lt;source src=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;img&#x2F;garden&#x2F;windy.webm&quot; type=&quot;video&#x2F;webm&quot;&gt;
find it here, https:&#x2F;&#x2F;displ.nl&#x2F;img&#x2F;garden&#x2F;windy.webm
&lt;&#x2F;video&gt; 
&lt;h3 id=&quot;past-aftermath&quot;&gt;Past &amp;amp; Aftermath&lt;&#x2F;h3&gt;
&lt;p&gt;There were reasons why it took 3+ years, the first time vines mounded
by roof it was just 3-4 feet (12 feet for reaching top plus this). 
Potted plants were under it so each time I water I have to bend over
but the main problem was rain water getting stagnant on the floor. Mound
supports were eventually moved from roof to sides and floor was painted
with water phobic paint (peels off like rubber) all in all water still
isn&#x27;t draining properly at corners but got enough room for evaporation since 
roof is now over 6 feet and sides were exposed to sunlight more&lt;&#x2F;p&gt;
&lt;p&gt;This is the part that backfires on me, there were instances (3, no 4) where 
people walking on road lost their shite cause of sighting snake 
(close to outer wall). Though some were kind to inform politely others 
weren&#x27;t; yesterday a rando riding bike on rain screamed after spotting 
one and asked for weepoon to beat the crap out of it - my family were 
okay with it, why?  he claimed he IDed that snake as poisonous (sure he 
was born different with night vision eyes) btw, nothing happened to snake 
in fact no one couldn&#x27;t spot after that.&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Bollocks humans I was chilling because of rain, did I bother in 
anyway hardwired dummies&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Today, some bushes were chopped and vines were trimmed exposing my hide
out area, pecuiliar thing is no one in family actually  spotted a snake inside
the house expect for  one time when I found shredded skin on the dead 
A. hexa&#x27;s wood, that day I cleared all the vines from ground to afloat on 
supports not a comfy breading den I suppose. There&#x27;s also word of mouth
that snakes are attracted to smell of these flowers, I cannot validate
this but one thing for sure it&#x27;s not just snakes other insects, rodents, 
chipmunks (saw them eating dried buds) birds (a sparrow crew close to 20 
rides every evening!) all are hanging out.&lt;&#x2F;p&gt;
&lt;p&gt;Right I have to emphasis these two vines are native to the land I live, not 
some exotic plants from nowhereland. People do overlook what they have at 
hands but under-appreciating, taking for granted is what makes me sick and I 
hope no further unfortunate trimming is required. &lt;&#x2F;p&gt;
&lt;p&gt;At this point I just want to see the roof complete before leaving. &lt;&#x2F;p&gt;
&lt;p&gt;There are few other native mini-climber+plants which I&#x27;m saving for another
post.&lt;&#x2F;p&gt;
&lt;p&gt;Our long gone watch tower &lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;garden&#x2F;kaidan_great.jpg&quot; alt=&quot;kaidan_great.jpg&quot; title=&quot;something over there, you sure it&#x27;s not evil?
thanks for tunning in to my running commentary, have a great day&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;only thing left WERE my memories&lt;&#x2F;p&gt;
&lt;p&gt;x----------x&lt;&#x2F;p&gt;
&lt;p&gt;yearing still? interesting links&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20200722155856&#x2F;https:&#x2F;&#x2F;www.passionflow.co.uk&#x2F;wp-content&#x2F;uploads&#x2F;2017&#x2F;08&#x2F;POJ-2011-01-LR.pdf&quot;&gt;passionflow.co.uk&#x27;s 2011 journal entry&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20200619235056&#x2F;http:&#x2F;&#x2F;plantsoftheworldonline.org&#x2F;taxon&#x2F;urn:lsid:ipni.org:names:72395-1&quot;&gt;a different variety of A. hexapetalus&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #16 - Book Binding, hands documentary</title>
                <pubDate>Mon, 27 Sep 2021 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature16/</link>
                <guid>https://displ.nl/blog/feature16/</guid>
                <description>&lt;p&gt;It all started with my interest of printing technics audio rack&#x27;s fat manual 
but the thought crippled to dunes ages ago. Later today I wanted to make bind of a book
which went out of print in 2007 (that&#x27;s one way of justifying my pirate duites)&lt;&#x2F;p&gt;
&lt;p&gt;Digged up signature making scripts, looking back it&#x27;s all stupidly complicated
with conversion to ps, making bundles of file with page flipped for duplex&lt;&#x2F;p&gt;
&lt;p&gt;Stumbled on &lt;a href=&quot;http:&#x2F;&#x2F;www.quantumelephant.co.uk&#x2F;bookbinder&#x2F;bookbinder.html&quot;&gt;BookbinderV-3.0&lt;&#x2F;a&gt;, it has all the mentioned features for binding
packaged into java package (!! initially I mistook the release date 2010 for
2020)&lt;&#x2F;p&gt;
&lt;p&gt;all in all it&#x27;s a neat package, does the work with a slight bug on flip correction
when blank leaf is added before title page (as  of writing I have organized 
11 signatures each containing 8 papers - 8x4 32 pages, waiting for me to sew and 
bind) &lt;&#x2F;p&gt;
&lt;p&gt;Like a bonus, the author of Bookbinder (more popular for iText)
wrote a book this year - &lt;a href=&quot;https:&#x2F;&#x2F;openlibrary.org&#x2F;books&#x2F;OL32593337M&#x2F;Entreprenerd&quot;&gt;Entreprenerd Building a Multi-Million-Dollar Business with Open Source
by Bruno Lowagie&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Now is the most interesting find, &lt;a href=&quot;https:&#x2F;&#x2F;hands.ie&#x2F;&quot;&gt;hands documentary series!&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;hands.ie&#x2F;about&#x2F;&quot;&gt;&amp;quot;hands&amp;quot;&lt;&#x2F;a&gt; are hands down the most irish thing came out of ireland (ofcourse next to Father Ted,
you down with this sort of thing again?)&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ll soon be visting the whole series and see if I could score OG physical copy&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.yewtu.be&#x2F;watch?v=RBd67qQy96k&quot;&gt;Episode 27: A Dublin Bookbinder&lt;&#x2F;a&gt; (invidious link) &lt;br&gt;
yt -  https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=RBd67qQy96k&lt;&#x2F;p&gt;
&lt;p&gt;This remained me of a moving documentary, a picture real than the most real  &lt;br&gt;
&lt;a href=&quot;https:&#x2F;&#x2F;id.japanesefilmfest.org&#x2F;film2&#x2F;goto-no-torasan&#x2F;&quot;&gt;Goto No Torasan&lt;&#x2F;a&gt;  &lt;br&gt;
It was a priviledge to experience that and all 3 in my circles would agree the same 
(I doubt anyone outside JP have seen than us)&lt;&#x2F;p&gt;
&lt;p&gt;Saving the whole story later untill then I&#x27;ll continue to fanbomb Torasan all over! &lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #15 - EFF&#x27;s (Extended) Guide to the Internet 1994</title>
                <pubDate>Sun, 29 Aug 2021 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature15/</link>
                <guid>https://displ.nl/blog/feature15/</guid>
                <description>&lt;p&gt;I was trying to clean up my &lt;a href=&quot;https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20210415225001&#x2F;http:&#x2F;&#x2F;www.nndev.org&#x2F;&quot;&gt;nn&#x27;s&lt;&#x2F;a&gt; config and a random search yielded path to never-age treasure!&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20210120012824&#x2F;https:&#x2F;&#x2F;www.whitman.edu&#x2F;mathematics&#x2F;eegtti&#x2F;eeg_toc.html%3E&quot;&gt;Guide to the Interent - 1994&lt;&#x2F;a&gt; (sure it&#x27;s a surprise, site is still up)&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #14 - aamath</title>
                <pubDate>Sun, 15 Aug 2021 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature14/</link>
                <guid>https://displ.nl/blog/feature14/</guid>
                <description>&lt;p&gt;&lt;a href=&quot;http:&#x2F;&#x2F;fuse.superglue.se&#x2F;aamath&#x2F;&quot;&gt;aamath&lt;&#x2F;a&gt; is an ascii math notations package, 
my jams,&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;oo factor integral&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;pre&gt;&lt;code&gt;

                     3____________________
                     &#x2F;       oo
                    &#x2F;       &#x2F;
                   &#x2F;       |  1     1
                  &#x2F;        | -- - -----
                 &#x2F;         |  t    10 t
 &#x2F; 3\           &#x2F;          | e    e
I\t &#x2F; =        &#x2F;      100  | ---------- dt
              &#x2F;            |      t
             &#x2F;             |
            &#x2F;              |
           &#x2F;               |
          &#x2F;               &#x2F;
        \&#x2F;                 0


&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;ul&gt;
&lt;li&gt;wow factor matrix[vector] partition transformation &lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;pre&gt;&lt;code&gt;

        &#x2F; a   a   a   \    &#x2F; b   b   b   \
        |  11  12  13 |    |  11  12  13 |
        |             |    |             |
        | a   a   a   |    | b   b   b   |
A  B  = |  21  22  23 |    |  21  22  23 |
 T  T   |             |    |             |
        | a   a   a   |    | b   b   b   |
        \  31  32  33 &#x2F;    \  31  32  33 &#x2F;

                (col2)
	&#x2F; a   a   , a   \  &#x2F; b   b    b   \
	|  11  12 .  13 |  |  11  12   13 |
	|         ,     |  |              |
	| a   a   . a   |  | b   b    b   |
	|  21  22 ,  23 |  |  21  22   23 |
	|         .     | - - - - - - - - - - (row2)
	| a   a   , a   |  | b   b    b   |
	\  31  32 .  33 &#x2F;  \  31  32   33 &#x2F;
                  ,

 transforming sub-set of sub-vector-field space vectors 
 also ends up as orginal transformation (o_o)

        &#x2F;               \  &#x2F;  B_     \
A  B  = |   A_    A_    |  |    2x3  |
 T  T   |    3x2   3x1  |  |         | 
        \               &#x2F;  |  B_     |
                           \    1x3  &#x2F;

&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Above result is one of the fascinating part of matrix multiplication
even a arbitary partition of row[column] space in 1st[2nd] matrix 
gives same transformation! (multiplication) &lt;&#x2F;p&gt;
&lt;p&gt;I do have plans to fanbomb physical insights of (mistaken-to-be)boring algebra 
concepts but it won&#x27;t be till I ditch &#x27;www&#x27; and move onto to &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Gopher_(protocol)&quot;&gt;gopher-hole&lt;&#x2F;a&gt; or 
&lt;a href=&quot;https:&#x2F;&#x2F;gemini.circumlunar.space&#x2F;&quot;&gt;geminipods&lt;&#x2F;a&gt; (might happen soon!)&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Post Installation OpenBSD | afterboot(8)</title>
                <pubDate>Sun, 08 Aug 2021 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/post-installation-openbsd/</link>
                <guid>https://displ.nl/blog/post-installation-openbsd/</guid>
                <description>&lt;p&gt;Future search engine indexers,  head over to&lt;&#x2F;p&gt;
&lt;h3 id=&quot;man-8-afterboot&quot;&gt;&lt;a href=&quot;https:&#x2F;&#x2F;man.openbsd.org&#x2F;afterboot.8&quot;&gt;man 8 afterboot&lt;&#x2F;a&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;also skim your way through &lt;code&gt;man [1-9] intro&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Backstory - I found reason why  people asking where to head
after fresh OBSD install. Ofcourse trustworthy &lt;a href=&quot;https:&#x2F;&#x2F;man.openbsd.org&#x2F;&quot;&gt;manpage&lt;&#x2F;a&gt; but it&#x27;s 
not obvious the way I thought, the most natural thing to do
after install is looking at indexed search results for 
&amp;quot;Post Installation OpenBSD&amp;quot;&lt;&#x2F;p&gt;
&lt;p&gt;Just by looking at the top results, almost all of them were
puked opinions suggesting their idle workflow just like this
YetAnotherStupidBlog&lt;&#x2F;p&gt;
&lt;p&gt;Sure that will only overwhelm the new user without knowing where
info is coming from, Just a note of &lt;a href=&quot;https:&#x2F;&#x2F;man.openbsd.org&#x2F;afterboot.8&quot;&gt;afterboot(8)&lt;&#x2F;a&gt; or any other 
useful man page &lt;a href=&quot;https:&#x2F;&#x2F;man.openbsd.org&#x2F;man7&#x2F;hier.7&quot;&gt;hier(7)&lt;&#x2F;a&gt;? will let a way to fiddle through.&lt;&#x2F;p&gt;
&lt;p&gt;Now leaving Crawl Bots to do their work &lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Goodbye dhclient</title>
                <pubDate>Thu, 29 Jul 2021 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/goodbye-dhclient/</link>
                <guid>https://displ.nl/blog/goodbye-dhclient/</guid>
                <description>&lt;p&gt;As of OBSD 6.9, the overpowered dhclient was overthrown
so does it&#x27;s config &lt;code&gt;&#x2F;etc&#x2F;dhclient.conf&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;it prepended my local nameserver (wireguard) but now &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;x201$ cat &#x2F;etc&#x2F;resolv.conf
nameserver 192.168.43.1 # resolvd: iwn0
nameserver 10.0.10.1
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;It took me a week to realize all the leaks &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;x201# rcctl disable resolvd
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;man.openbsd.org&#x2F;resolvd&quot;&gt;resolvd(8)&lt;&#x2F;a&gt; is no longer needed I&#x27;ll priotrize myself!&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #13 - insidescanlation.com</title>
                <pubDate>Sun, 25 Jul 2021 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature13/</link>
                <guid>https://displ.nl/blog/feature13/</guid>
                <description>&lt;p&gt;Manga(s) have always fascinated me, it&#x27;s one of the simple yet very
powerful medium to get thoughts out.&lt;&#x2F;p&gt;
&lt;p&gt;Most of the time I find myself looking for unlicensed hidden gems and
it has a dark Airy feeling around when I find a scanalation banner 
from past decade with &#x27;Looking for cleaner, editors, tAranslators&#x27;
&#x27;pop on our IRC!&#x27; (sadly no group I know as of 2021 exclusively uses 
IRC anymore - heck, most of them are just artifacts now)&lt;&#x2F;p&gt;
&lt;p&gt;Just how much people and their life has been change over a decade.
It always put a smile looking at my older release archive &lt;&#x2F;p&gt;
&lt;p&gt;And that&#x27;s how stumbled on &lt;a href=&quot;https:&#x2F;&#x2F;www.insidescanlation.com&#x2F;&quot;&gt;insidescanlation.com&lt;&#x2F;a&gt;, took me a whole
afternoon to read the beauty and process all the years!&lt;&#x2F;p&gt;
&lt;p&gt;Going through each &lt;a href=&quot;https:&#x2F;&#x2F;www.insidescanlation.com&#x2F;history&#x2F;index.html&quot;&gt;history&lt;&#x2F;a&gt; (3 generations) was like unveiling a scattered
cyber-fossil. It was the same mix of joy and sorrow from watching &lt;a href=&quot;http:&#x2F;&#x2F;www.bbsdocumentary.com&quot;&gt;bbs_documentary&lt;&#x2F;a&gt;
BBS, artpacks!&lt;&#x2F;p&gt;
&lt;p&gt;For all the underground heros who brought their loved manga to light!
some may have unfortunately crossed the &#x27;bridge&#x27; but their works go
on and on and on.. &lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Nothing Update #1</title>
                <pubDate>Fri, 23 Jul 2021 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/nothing-up-1/</link>
                <guid>https://displ.nl/blog/nothing-up-1/</guid>
                <description>&lt;p&gt;A very recent event Got me badly, loss of a loved one&lt;br&gt;&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m not quite convinced of afterlife but, weighing choices it&#x27;s the only way
to feel better. (Rainbow bridge!)&lt;&#x2F;p&gt;
&lt;p&gt;Running from the void left by, immersing myself into ficticious novels. &lt;&#x2F;p&gt;
&lt;p&gt;=-=-=-=-=&lt;&#x2F;p&gt;
&lt;p&gt;Lately I have been thinking if someone&#x27;s made to travel and live 100 years from now, 
would they really have a chance to engrave their names to be seen in future? &lt;&#x2F;p&gt;
&lt;p&gt;The odds are really high even if some has the ability to replicate future things
from scratch, the effect to get the change out there is almost same as current 21th
century if not higher&lt;&#x2F;p&gt;
&lt;p&gt;What would I do?&lt;br&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;prevent a war&lt;br&gt;&lt;&#x2F;li&gt;
&lt;li&gt;create conspiracies around plastic so it&#x27;s ditched by public&lt;br&gt;&lt;&#x2F;li&gt;
&lt;li&gt;preach and make a cult of eejits&lt;br&gt;&lt;&#x2F;li&gt;
&lt;li&gt;pose with a barbary lion&lt;br&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;pre&gt;&lt;code&gt;                                    .-&#x27;&#x27;&#x27;-.        .-&#x27;&#x27;&#x27;-.     
                                   &#x27;   _    \     &#x27;   _    \   
&#x2F;|        .--.          &#x2F;|       &#x2F;   &#x2F;` &#x27;.   \  &#x2F;   &#x2F;` &#x27;.   \  
||        |__|  .--.&#x2F;)  ||      .   |     \  &#x27; .   |     \  &#x27;  
||        .--. &#x2F;.&#x27;&#x27;\\   ||      |   &#x27;      |  &#x27;|   &#x27;      |  &#x27; 
||  __    |  || |  | |  ||  __  \    \     &#x2F; &#x2F; \    \     &#x2F; &#x2F;  
||&#x2F;&#x27;__ &#x27;. |  | \`-&#x27; &#x2F;   ||&#x2F;&#x27;__ &#x27;.`.   ` ..&#x27; &#x2F;   `.   ` ..&#x27; &#x2F;   
|:&#x2F;`  &#x27;. &#x27;|  | &#x2F;(&amp;quot;&#x27;`    |:&#x2F;`  &#x27;. &#x27;  &#x27;-...-&#x27;`       &#x27;-...-&#x27;`    
||     | ||  | \ &#x27;---.  ||     | |                             
||\    &#x2F; &#x27;|__|  &#x2F;&#x27;&amp;quot;&amp;quot;&#x27;.\ ||\    &#x2F; &#x27;                             
|&#x2F;\&#x27;..&#x27; &#x2F;      ||     |||&#x2F;\&#x27;..&#x27; &#x2F;                              
&#x27;  `&#x27;-&#x27;`       \&#x27;. __&#x2F;&#x2F; &#x27;  `&#x27;-&#x27;`                               
                `&#x27;---&#x27;                                         
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Very Content living in a cottage out of nowhere, shepherding and milking goats.&lt;br&gt;
Somewhere near foothills, Czechoslovakian woods (scary) or irish seashore (damn famine) or 
sweet alphs!&lt;&#x2F;p&gt;
&lt;p&gt;2021-07-23 clarification - I&#x27;m not being laid back by no means, in fact
milking goats is much tougher that cows!&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #12 - Dragol.de</title>
                <pubDate>Fri, 14 May 2021 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature12/</link>
                <guid>https://displ.nl/blog/feature12/</guid>
                <description>&lt;p&gt;With the great slice of medieval touch, mesmerizing vocals (Deutsch!), catchy
bass line all together bringing subtle darkness&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;Dragol - Kurz vor der Sünde&lt;&#x2F;code&gt; &lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;tube.connect.cafe&#x2F;watch?v=ojCP95XOSPY&quot;&gt;tube.connect.cafe&#x2F;watch?v=ojCP95XOSPY&lt;&#x2F;a&gt;&lt;br&gt;
[Aliter]&lt;br&gt;
&lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=ojCP95XOSPY&quot;&gt;yt.be&#x2F;watch?v=ojCP95XOSPY&lt;&#x2F;a&gt;&lt;br&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Came as surprise how underrated the band is, got recent updates and &lt;a href=&quot;https:&#x2F;&#x2F;www.dragol.de&#x2F;shop&#x2F;winter-album&#x2F;&quot;&gt;winter album&lt;&#x2F;a&gt; 
from their &lt;a href=&quot;https:&#x2F;&#x2F;www.dragol.de&#x2F;&quot;&gt;very cool looking site&lt;&#x2F;a&gt;. &lt;&#x2F;p&gt;
&lt;p&gt;One of the greatest finds of 2021!&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #11 - wttr.in Console Weather</title>
                <pubDate>Wed, 21 Apr 2021 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature11/</link>
                <guid>https://displ.nl/blog/feature11/</guid>
                <description>&lt;p&gt;Food for Ascii Junkies! | wttr.in - &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;chubin&#x2F;wttr.in&quot;&gt;source&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;my Beloved X,&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;fukue.png&quot; alt=&quot;Fukue Islands&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;K2.png&quot; alt=&quot;K2&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;quebec.png&quot; alt=&quot;Quebec&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;x201$ curl wttr.in&#x2F;Dusseldorf?lang=de
Wetterbericht für: Dusseldorf

      \   &#x2F;     Sonnig
       .-.      17 °C          
    ― (   ) ―   ↓ 19 km&#x2F;h      
       `-’      10 km          
      &#x2F;   \     0.0 mm         
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Bonus, Goto islands resulted in Gravation Wave Observer Dome (=_=)&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;gra_wave_observer.png&quot; alt=&quot;gra_wave_observer&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;There&#x27;s also &lt;code&gt;feh https:&#x2F;&#x2F;v3.wttr.in&#x2F;location.png&lt;&#x2F;code&gt; generating map
with forecast of nearby cities. &lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #10 - Renée French</title>
                <pubDate>Thu, 01 Apr 2021 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature10/</link>
                <guid>https://displ.nl/blog/feature10/</guid>
                <description>&lt;p&gt;I always thought &lt;a href=&quot;https:&#x2F;&#x2F;9p.io&#x2F;plan9&#x2F;glenda.html&quot;&gt;glenda, plan 9&lt;&#x2F;a&gt; mascot capatative and 
it struck me &lt;a href=&quot;https:&#x2F;&#x2F;blog.golang.org&#x2F;gopher&quot;&gt;Go Gopher&lt;&#x2F;a&gt; share similar traits that&#x27;s how
I stumbled on &lt;a href=&quot;https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20181201020708&#x2F;http:&#x2F;&#x2F;reneefrench.blogspot.com&#x2F;&quot;&gt;Renée French&lt;&#x2F;a&gt; (quite sad to see it&#x27;s 
on the verge of being abandoned)&lt;&#x2F;p&gt;
&lt;p&gt;Though the subject is simple, all those furry-i-es carve
more attention every time I look &lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Break 2021 - Dust off</title>
                <pubDate>Tue, 30 Mar 2021 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/break-2021/</link>
                <guid>https://displ.nl/blog/break-2021/</guid>
                <description>&lt;p&gt;This place has been abandoned and became more of a relic.&lt;&#x2F;p&gt;
&lt;p&gt;2021 been a very rough start, The first day I confirmed passing of my kitten,
I remember being unmoved hearing human flesh gravy made by running train over
(gore) but teeny tiny things created a pissing impact.&lt;&#x2F;p&gt;
&lt;p&gt;Kitten was meant to keep away rodents from car by playing prey-predator game
which isn&#x27;t a fact but that&#x27;s how I convinced adopting. The day &#x27;K&#x27; moved out
of porch, snuggled into car&#x27;s bonnet staying the night (irony) and meowing
for morning meal. It went on for days, staying shy and sometimes while checking on 
early morning &#x27;K&#x27; responds to call. There wasn&#x27;t any intense attachment, in fact
I managed to pat only once, despite these I couldn&#x27;t stand &#x27;K&#x27; was no more. &lt;&#x2F;p&gt;
&lt;p&gt;Every new year eve, it&#x27;s a ritual to watch &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Harold_and_Maude&quot;&gt;Harold and Maude(1971)&lt;&#x2F;a&gt; most of the time it was
some scenes to get feeling but this year I ended up watching from start to end.
It&#x27;s one of the rarities that gives different feelings as you mature over time
and indeed it felt &#x27;new&#x27; again.&lt;&#x2F;p&gt;
&lt;p&gt;When I was teen I managed to get hold of this movie&#x27;s script before watching
the picture, there was a scene where Maude questions Harold&#x27;s what flower he 
would like to be and Harold pointing to fields of daisy flowers within vicinity &lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;H: &amp;quot;maybe one of these&amp;quot;&lt;br&gt;
M: &amp;quot;why?&amp;quot;&lt;br&gt;
H: &amp;quot;... cause they are all same&amp;quot;&lt;br&gt;&lt;&#x2F;p&gt;
&lt;p&gt;M: &amp;quot;but they&#x27;re not, some are fatter, some are shorter, some grow to right,
some miss petals - all the visual differences&amp;quot; 
(then she makes an analogy of differentiating Asian people is harder 
until one get to know them)&lt;&#x2F;p&gt;
&lt;p&gt;&amp;quot;it&#x27;s like daisy Each person is different, never existed before and 
never to exist again - An individual&amp;quot;&lt;br&gt;
- P35, Higgs - Harold and Maude&lt;&#x2F;p&gt;
&lt;p&gt;H: &amp;quot;aren&#x27;t we meant to live&#x2F;grow together?&amp;quot;&lt;&#x2F;p&gt;
&lt;p&gt;M: &amp;quot;Much of the world sorrow come from people who are this&amp;quot; 
(pointing to a daisy in hand)&lt;br&gt;
&amp;quot;yet let them treated like that&amp;quot;&lt;br&gt;
(pointing to fields of flowers) &lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;In the movie, &#x27;Cat Stevens - where do the children play&#x27; plays at back with 
picture frame focusing on uniform cemetery headstones - all together bringing
very real experience.&lt;&#x2F;p&gt;
&lt;p&gt;Though during this watch, (different frame) wordings which I couldn&#x27;t get 
depth all these years (even now)&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;M: &amp;quot;people are too caught. I&#x27;m just a gentle reminder, nothing is permanent.
Here today, gone tomorrow&amp;quot;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;made me shread uncontrollable salty drops.&lt;&#x2F;p&gt;
&lt;p&gt;Hope you had a good time noname, sorry for the pain you have to endure&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;kit.jpg&quot; alt=&quot;nonamed Kitten&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;2021&quot;&gt;2021+&lt;&#x2F;h3&gt;
&lt;p&gt;I have my radio show - &#x27;Darker Waves&#x27;, going on &lt;a href=&quot;https:&#x2F;&#x2F;tilderadio.org&#x2F;&quot;&gt;tilderadio&lt;&#x2F;a&gt; scheduled on every Sat
18:00 UTC.  Except 2 streams all are &lt;a href=&quot;https:&#x2F;&#x2F;archive.tilderadio.org&#x2F;hisacro&#x2F;&quot;&gt;Archived&lt;&#x2F;a&gt; and &lt;a href=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;rad&#x2F;&quot;&gt;playlists of the same&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;I haven&#x27;t updated &#x27;Weekly pleasure&#x27; sidebar for ages - this will change. &lt;&#x2F;p&gt;
&lt;p&gt;In addition I&#x27;m rediscovering &#x27;X pleasures&#x27; - computing treasures, X11 packages
and abandonwares&lt;&#x2F;p&gt;
&lt;p&gt;Back to Pavilion - Series of GBA DS games I missed playing. Already into 2 games,
it&#x27;s taking a big troll on eyes - Well deserved ;) &lt;&#x2F;p&gt;
&lt;p&gt;Diving to world of 3d printing, I&#x27;m hoping printer will arrive in few weeks. Last
time when I managed to 3dmodel(ray trace) something was &lt;a href=&quot;http:&#x2F;&#x2F;www.povray.org&#x2F;&quot;&gt;povray&lt;&#x2F;a&gt; running on 
dinousar laptop. I  have few things&#x2F;ideas to print, speaking of which 
I&#x27;m already on OBSD-6.9-beta and it about time to create new &lt;a href=&quot;https:&#x2F;&#x2F;fsl.displ.nl&#x2F;badges&#x2F;dir?ci=tip&amp;amp;name=68&quot;&gt;badges&lt;&#x2F;a&gt;, 
I&#x27;m figuring a way to print &lt;a href=&quot;https:&#x2F;&#x2F;fsl.displ.nl&#x2F;badges&#x2F;file?name=template&#x2F;obsd_laser_v1.gif&amp;amp;ci=tip&quot;&gt;scanning puffy gif&lt;&#x2F;a&gt; I made for 25th anniversary&lt;&#x2F;p&gt;
&lt;h3 id=&quot;the-trigger&quot;&gt;The Trigger?&lt;&#x2F;h3&gt;
&lt;p&gt;SMTP went down for almost a day (fixed on it&#x27;s own), 
that&#x27;s when I started to realize how much I miss my cyberspace den. &lt;&#x2F;p&gt;
&lt;p&gt;For displ survival in darkness!&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #9 - Libre Music Challenge</title>
                <pubDate>Mon, 07 Dec 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature9/</link>
                <guid>https://displ.nl/blog/feature9/</guid>
                <description>&lt;p&gt;I have encountered many instances where
people defend how awful freeware audio
production is, &lt;&#x2F;p&gt;
&lt;p&gt;Though it&#x27;s unfair to compare $$$$ (bloat) to FOSS ones,
situation is slowly but definitely catching up to professional
standards(?)&lt;&#x2F;p&gt;
&lt;p&gt;Some of the packages I installed on early linux days  (noobie testing waters)
were &lt;a href=&quot;https:&#x2F;&#x2F;deflemask.com&#x2F;&quot;&gt;deflemask&lt;&#x2F;a&gt; great tracker to make chiptunes 
and &lt;a href=&quot;https:&#x2F;&#x2F;16-bits.org&#x2F;pt2.phpam&quot;&gt;protracker&lt;&#x2F;a&gt; port holding amiga legacy.&lt;&#x2F;p&gt;
&lt;p&gt;It wasn&#x27;t untill I exhasusted my budget buying guitar
left nothing for an amplifier, I dived more into FOSS.
Eventually dedicating that machine as linuxaudio-station &lt;&#x2F;p&gt;
&lt;p&gt;At that time, all I had was cheap 6.35 mm to 3.5 mm convertor
jack plugging guitar straight into x201&#x27;s sound card (horrors of
bedroom musician Part I?) emulated by &lt;a href=&quot;https:&#x2F;&#x2F;guitarix.org&#x2F;&quot;&gt;guitarix&lt;&#x2F;a&gt;. Made few recordings
on &lt;a href=&quot;https:&#x2F;&#x2F;ardour.org&#x2F;&quot;&gt;ardour&lt;&#x2F;a&gt; - only cleans (all other sounded like
screaming high on a torn speaker - distortion without effects?)&lt;&#x2F;p&gt;
&lt;p&gt;My eardrums were sick of using convertor, upgraded to
an entry level mehringer UBS interface. Setup sustains even
now, thanks to&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;jackaudio.org&#x2F;&quot;&gt;JACK&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;kx.studio&#x2F;Applications:Cadence&quot;&gt;cadence&lt;&#x2F;a&gt; &amp;amp; &lt;a href=&quot;https:&#x2F;&#x2F;qjackctl.sourceforge.io&#x2F;&quot;&gt;qjackctl&lt;&#x2F;a&gt; alternate between these, 
recently got back to qjackctl on MX-linux&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;guitarix.org&#x2F;&quot;&gt;guitarix&lt;&#x2F;a&gt; witnessing evolution here&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;ardour.org&#x2F;&quot;&gt;ardour&lt;&#x2F;a&gt; One of the Best in FOSS world&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;http:&#x2F;&#x2F;rakarrack.sourceforge.net&#x2F;&quot;&gt;rakkarackk&lt;&#x2F;a&gt; (abondonware?) but will live as &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;ssj71&#x2F;rkrlv2&quot;&gt;LV2 plugins&lt;&#x2F;a&gt; -
heads up for the ssj71&#x27;s port &lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;calf-studio-gear.org&#x2F;&quot;&gt;calf-plugins&lt;&#x2F;a&gt; holy grail of effects&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Impulse_response&quot;&gt;IRs&lt;&#x2F;a&gt; (stolen?) from web&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;http:&#x2F;&#x2F;x42-plugins.com&#x2F;x42&#x2F;&quot;&gt;x42-plugins&lt;&#x2F;a&gt; IR processors &lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;http:&#x2F;&#x2F;tuxguitar.com.ar&#x2F;&quot;&gt;tuxguitar&lt;&#x2F;a&gt; midi backtrack jamming!&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I have spent way more time tweaking than playing guitar 
fun in way, but a decent head and cab in future?
One Place I found very useful was &lt;a href=&quot;https:&#x2F;&#x2F;linuxmusicians.com&#x2F;&quot;&gt;linuxmusicians&lt;&#x2F;a&gt; (wasn&#x27;t active but 
pseudo hang) and recently came across a really cool initiative&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;linuxmusicians.com&#x2F;viewtopic.php?t=21662&quot;&gt;Libre Music Challenge&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Made by &lt;a href=&quot;https:&#x2F;&#x2F;unfa.xyz&#x2F;&quot;&gt;unfa&lt;&#x2F;a&gt; + fellow *nix-ers.
Recommend checking out his &lt;a href=&quot;https:&#x2F;&#x2F;tube.netzspielplatz.de&#x2F;video-channels&#x2F;unfa00&#x2F;videos&quot;&gt;peertube&lt;&#x2F;a&gt; and maybe community&#x27;s rocketchat server &lt;a href=&quot;https:&#x2F;&#x2F;chat.unfa.xyz&quot;&gt;chat.unfa.xyz&lt;&#x2F;a&gt; for more info on challenge. &lt;&#x2F;p&gt;
&lt;p&gt;Really surprised by the amount of work put into it,
fun way to improve skills, discover new music and packages.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;archive.org&#x2F;details&#x2F;LibreMusicChallenge_1&quot;&gt;#1 - Doy Toy&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;archive.org&#x2F;details&#x2F;libre-music-challenge-2&quot;&gt;#2 - Geonkick&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;archive.org&#x2F;details&#x2F;libre-music-challenge-3&quot;&gt;#3 - B.Excellent&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;archive.org&#x2F;details&#x2F;libre-music-challenge-4&quot;&gt;#4 - Listen to the Muzak&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;archive.org&#x2F;details&#x2F;libre-music-challenge-05&#x2F;&quot;&gt;#5 - Halloween&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Scoreboards can be seen on linked linuxmusicians page and 
December theme was &lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;linuxmusicians.com&#x2F;viewtopic.php?f=40&amp;amp;t=22382&quot;&gt;#6 Lullaies&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I&#x27;m just fiddling around now but upcoming months I would love
to drop a tune.&lt;&#x2F;p&gt;
&lt;p&gt;Happy libre Jamming  &lt;code&gt;\,,&#x2F;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Restore rm-ed mail aliases</title>
                <pubDate>Tue, 01 Dec 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/mail-aliases/</link>
                <guid>https://displ.nl/blog/mail-aliases/</guid>
                <description>&lt;p&gt;I was about to create a new alias, saw a dummy document
&lt;code&gt;&#x2F;etc&#x2F;mail&#x2F;alias&lt;&#x2F;code&gt; (missing the plural - aliases) &lt;&#x2F;p&gt;
&lt;p&gt;On the verge of Sanitizing accidently rm-ed &lt;code&gt;&#x2F;etc&#x2F;mail&#x2F;aliases&lt;&#x2F;code&gt;
I felt a chill on my spine after that - no pun &lt;&#x2F;p&gt;
&lt;p&gt;Going through &lt;a href=&quot;https:&#x2F;&#x2F;man.openbsd.org&#x2F;newaliases&quot;&gt;newaliases(8)&lt;&#x2F;a&gt; I found 
&lt;a href=&quot;https:&#x2F;&#x2F;man.openbsd.org&#x2F;makemap.8&quot;&gt;makemap(8)&lt;&#x2F;a&gt; - create database maps for smtpd&lt;&#x2F;p&gt;
&lt;p&gt;Blind luck I had aliases.db and makemap(8) has &lt;code&gt;-U&lt;&#x2F;code&gt; which
dumps contents of database to text &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ makemap -U &#x2F;etc&#x2F;mail&#x2F;aliases.db | sed -E &#x27;s&#x2F;[[:blank:]]&#x2F;: &#x2F;g&#x27; 
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Gnu-ism &lt;code&gt;\t&lt;&#x2F;code&gt; don&#x27;t work but OBSD&#x27;s sed supports
&lt;a href=&quot;https:&#x2F;&#x2F;en.wikibooks.org&#x2F;wiki&#x2F;Regular_Expressions&#x2F;POSIX-Extended_Regular_Expressions&quot;&gt;Extended Regular POSIX expression&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Made sure to check stdout and redirected to &lt;code&gt;&#x2F;etc&#x2F;mail&#x2F;aliases&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Back to Being puffy!&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #8 - My Radio show</title>
                <pubDate>Mon, 30 Nov 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature8/</link>
                <guid>https://displ.nl/blog/feature8/</guid>
                <description>&lt;p&gt;Though I got icecast on my server, 
there wasn&#x27;t any drive to stream
on regular basis.&lt;&#x2F;p&gt;
&lt;p&gt;A tildeverse stranger suggested to
get a regular show on &lt;a href=&quot;https:&#x2F;&#x2F;tilderadio.org&quot;&gt;tilderadio&lt;&#x2F;a&gt;
thanks to him,&lt;&#x2F;p&gt;
&lt;p&gt;I stream on every SAT 16:00 UTC 
show titled,&lt;&#x2F;p&gt;
&lt;p&gt;Distorted Pleasures - Darker Waves&lt;&#x2F;p&gt;
&lt;p&gt;Mostly covering underworld gems punk bands
synthwave EBM gothic-rock darkwave post-punk.&lt;&#x2F;p&gt;
&lt;p&gt;Set list of 1st show, (artist - title)&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;The Plague - Never Die
The Silicon Scientist - Snowflakes
The Tearjerkers - Fool
The Mao Tse Tung Experience - Irregular Times
The breath of life - Nightmare
Parade Ground - Strange World
Flowing Tears - Undying
B-Movie - Nowhere Girl
Ghastly Shadows - Alone
Life in Sodom - Germana
Man Without World - All Nymphs Are Volcanic
Treebound Story - On the Rock
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;rad&#x2F;&quot;&gt;Rest of the set list&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Shows are &lt;a href=&quot;https:&#x2F;&#x2F;archive.tilderadio.org&#x2F;hisacro&#x2F;&quot;&gt;archived on tildeverse&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Hope in, let Darkness Acquires \o&#x2F;&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #7 - Psychedelic Furs</title>
                <pubDate>Tue, 03 Nov 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature7/</link>
                <guid>https://displ.nl/blog/feature7/</guid>
                <description>&lt;p&gt;After long Hiatus, &lt;a href=&quot;https:&#x2F;&#x2F;thepsychedelicfurs.com&#x2F;&quot;&gt;Psychedelic Furs&lt;&#x2F;a&gt;
studio album - &lt;a href=&quot;https:&#x2F;&#x2F;thepsychedelicfurs.bandcamp.com&#x2F;&quot;&gt;Made of Rain&lt;&#x2F;a&gt;.
Realy had no clue of it untill I
stumbled on xwave radios front 
feature.&lt;&#x2F;p&gt;
&lt;p&gt;The magic in Buttler&#x27;s voice is still
kicking great, the &amp;quot;aa&amp;quot; scooping sound
in &lt;a href=&quot;https:&#x2F;&#x2F;thepsychedelicfurs.bandcamp.com&#x2F;track&#x2F;wrong-train&quot;&gt;wrong train&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Really Happy for the band, I felt there
was quite heavy sampling on some songs
rather then simple sounds nonetheless
a good album after all these years.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m afraid it suppressed one of my 
fav tracks defining the era.&lt;&#x2F;p&gt;
&lt;p&gt;Love my way!&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Tap &amp; Hold keymaps - OBSD</title>
                <pubDate>Sat, 24 Oct 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/tap-hold-keymaps-obsd/</link>
                <guid>https://displ.nl/blog/tap-hold-keymaps-obsd/</guid>
                <description>&lt;p&gt;I have made a previous post &lt;a href=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;blog&#x2F;living-fullest-home-row&#x2F;&quot;&gt;living fullest - home row&lt;&#x2F;a&gt; 
workflow by remapping keys to behave differently on tapping.
(works regardless of X11 or wayland)&lt;&#x2F;p&gt;
&lt;p&gt;It was based on &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;interception&#x2F;linux&#x2F;tools&quot;&gt;interception-tools&lt;&#x2F;a&gt; which uses libudev and libevdev
these are not *BSD-specific (there&#x27;s an interesting 
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;FreeBSDDesktop&#x2F;libudev-devd&quot;&gt;libudev-devd&lt;&#x2F;a&gt; implementation for FreeBSD though) &lt;&#x2F;p&gt;
&lt;p&gt;The only way AFAIK to achieve on OBSD is using &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;alols&#x2F;xcape&#x2F;&quot;&gt;xcape&lt;&#x2F;a&gt; (happy puffer
noises, it&#x27;s in &lt;a href=&quot;https:&#x2F;&#x2F;cvsweb.openbsd.org&#x2F;cgi-bin&#x2F;cvsweb&#x2F;ports&#x2F;x11&#x2F;xcape&#x2F;&quot;&gt;ports&lt;&#x2F;a&gt; hearty thanks edd and sthen!) along with
&lt;a href=&quot;https:&#x2F;&#x2F;man.openbsd.org&#x2F;xmodmap&quot;&gt;xmodmap(1)&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;spawn class=subhead&gt;TL;dr&lt;&#x2F;spawn&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Caps_Lock as Escape and Control_L - previously I used meta_L (as mod in i3) 
yet to figure fvwm keybinds&lt;&#x2F;li&gt;
&lt;li&gt;semicolon as Control_R on holding&lt;&#x2F;li&gt;
&lt;li&gt;Tab as Alt_L on holding&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;xcape adds only extra keysym on tapping with certain timeout
so holding a key longer than the timeout, functions same.
In order for key, say semicolon to generate control on
holding it should mapped to that first using xmodmap (with
some extra bits since control mod1 mod2 .. are special keys)&lt;&#x2F;p&gt;
&lt;p&gt;Running &lt;code&gt;xmodmap&lt;&#x2F;code&gt; will list all the modifiers.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;general-syntax-xmodmap-xcape&quot;&gt;general syntax xmodmap+xcape&lt;&#x2F;h3&gt;
&lt;p&gt;First, remove the useless key (guessed it right) - Caps_Lock&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;xmodmap -e &amp;quot;remove Lock = Caps_Lock&amp;quot;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;To avoid confusions, I&#x27;m using keycodes (it&#x27;s a code 
representing physical keys so it won&#x27;t change no
matter what the key is generating)&lt;&#x2F;p&gt;
&lt;p&gt;using &lt;a href=&quot;https:&#x2F;&#x2F;man.openbsd.org&#x2F;xev&quot;&gt;xev(1)&lt;&#x2F;a&gt;, the keycode of caps is 66 &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;xmodmap -e &amp;quot;keycode 66 = Contrl_L&amp;quot;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;xmodmap should be informed that newly mapped 66 is 
needed to function as control ie when Ctrl+C Ctrl+some_key
is pressed&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;xmodmap -e &amp;quot;add Control = Contrl_L&amp;quot;  
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;To generate Escape when tapped&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;xcape -e &amp;quot;Control_L=Escape&amp;quot;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;pseudo-keycode-for-extra-modifier&quot;&gt;Pseudo Keycode - for extra modifier&lt;&#x2F;h3&gt;
&lt;p&gt;Holding Tab key should generate alt, the keycode being 23&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;xmodmap -e &amp;quot;keycode 23 = Alt_L&amp;quot;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;appending 23 to mod1 list&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;xmodmap -e &amp;quot;add mod1 = Alt_L&amp;quot;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;all done?&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;xcape -e &amp;quot;Alt_L=Tab&amp;quot;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;This throws error, complaining keysym Tab isn&#x27;t mapped to
any keycodes. To avoid, map it to random keycode then run
above&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;xmodmap -e &amp;quot;keycode any = Tab&amp;quot;
xcape -e &amp;quot;Alt_L=Tab&amp;quot;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;workaround-for-shift-key-lag&quot;&gt;Workaround for Shift+key lag&lt;&#x2F;h3&gt;
&lt;p&gt;Similar can be done for semicolon (keycode 47) &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;xmodmap -e &amp;quot;keycode 47 = Control_R colon&amp;quot;
xmodmap -e &amp;quot;add Control = Control_R&amp;quot;
xmodmap -e &amp;quot;keycode any = semicolon&amp;quot;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;xcape for generating semicolon on tap&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;xcape -e &amp;quot;Control_R=semicolon&amp;quot;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Problem with above, xcape cannot differentiate states
(state 0x1 for shifted) so &lt;code&gt;Shift+semicolon&lt;&#x2F;code&gt; generates
&lt;code&gt;:;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Decreasing tap timing with xcape &lt;code&gt;-t 95&lt;&#x2F;code&gt; is not reliable,
sometimes &lt;code&gt;;&lt;&#x2F;code&gt; gets missed. I have tinkered with xset delay and
frequency&lt;br&gt; &lt;code&gt;xset r rate 1200 12&lt;&#x2F;code&gt; nothing useful, it&#x27;s how xcape&lt;br &#x2F;&gt;
works.&lt;&#x2F;p&gt;
&lt;p&gt;For colon I have to hold left_shift and press semicolon (2 key strokes),
since tapping shift_l remaining usued, it felt the most intuitive way
(overcomes the lag + saving a key stroke)&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;xmodmap -e &amp;quot;keycode any = colon&amp;quot;
xcape -e &amp;quot;Shift_l=colon&amp;quot;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;conf-persist-on-startup&quot;&gt;Conf Persist on Startup&lt;&#x2F;h3&gt;
&lt;p&gt;xmodmap&#x27;s config file&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;remove Lock = Caps_Lock

! keycode 66 Caps_Lock
! to control &amp;amp; esc on tap
keycode 66 = Control_L
add Control = Control_L
! xcape -e &amp;quot;Control_L=Escape&amp;quot;

! keycode 66 Caps_Lock
! to super (logo key) &amp;amp; esc on tap
! keycode 66 = Super_L
! add mod4 = Super_L
! xcape -e &amp;quot;Super_L=Escape&amp;quot;

! keycode 47 semicolon
! to control, semicolon on tap 
keycode 47 = Control_R
add Control = Control_R
keycode any = semicolon
! xcape -e &amp;quot;Control_R=semicolon&amp;quot;

! keycode 50 Shift_L
! tap as colon
keycode any = colon
! xcape -e &amp;quot;Shift_L=colon&amp;quot;

! keycode 23 tab
! as alt, tab on tap
keycode 23 = Alt_L
keycode any = Tab 
add mod1 = Alt_L
! xcape -e &amp;quot;Alt_L=Tab&amp;quot;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Adding before wm startup on &lt;code&gt;~&#x2F;.xsession&lt;&#x2F;code&gt; &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;# xinput essentials
.
.

# keymaps 
xmodmap ~&#x2F;.xmodmap_conf &amp;amp;
xcape -e &amp;quot; Control_L=Escape;Control_R=semicolon;Alt_L=Tab;Shift_L=colon&amp;quot; &amp;amp;

# bg term wm
.
.
&#x2F;usr&#x2F;X11R6&#x2F;bin&#x2F;fvwm  
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;funky-x&quot;&gt;funky X&lt;&#x2F;h3&gt;
&lt;p&gt;I&#x27;m confused by different ways other than xmodmap..
&lt;a href=&quot;https;&#x2F;&#x2F;man.openbsd.org&#x2F;xkbcomp&quot;&gt;xkbcomp(1)&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;man.openbsd.org&#x2F;setxkbmap&quot;&gt;setxkbmap(1)&lt;&#x2F;a&gt;, &lt;a href=&quot;https:&#x2F;&#x2F;man.openbsd.org&#x2F;wsconsctl&quot;&gt;wsconsctl(1)&lt;&#x2F;a&gt;.
I cannot keep track of all, the worst experience I
had was with wsconsctl - none worked even the annoying
keyboard bell (there&#x27;s only one hotplugged keyboard
it&#x27;s supposed to work, no dice)&lt;&#x2F;p&gt;
&lt;p&gt;setxkbmap is (supposed) successor of xmodmap 
but they differ in usecase, 
it&#x27;s easier if inbuilt option is present&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;# caps as control and escape on tapping 
setxkbmap -option &amp;quot;caps:ctrl_modifier&amp;quot;
xcape -e &amp;quot;Caps_Lock=Escape&amp;quot;

# caps as super and escape on tapping 
setxkbmap -option &amp;quot;caps:super&amp;quot;
xcape -e &amp;quot;Caps_Lock=Escape&amp;quot;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;more -option on &lt;a href=&quot;https:&#x2F;&#x2F;man.openbsd.org&#x2F;xkeyboard-config&quot;&gt;xkeyboard-config(7)&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;clearly XKB looks simple compared to xmodmap
but I failed at making config for other keys following
convoluted docs (=_=) &lt;&#x2F;p&gt;
&lt;p&gt;If someone want to experience the pain, I highly recommend&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.charvolant.org&#x2F;doug&#x2F;xkb&#x2F;html&#x2F;xkb.html&quot;&gt;An Unreliable Guide to XKB Configuration - Doug Palmer&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.x.org&#x2F;releases&#x2F;X11R7.6&#x2F;doc&#x2F;kbproto&#x2F;xkbproto.html&quot;&gt;Official Xorg Docs - Erik Fortune&lt;&#x2F;a&gt; &lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;evil-tip&quot;&gt;Evil Tip&lt;&#x2F;h3&gt;
&lt;p&gt;For some reason if you want to revert back to RSI causing 
vanilla layout, setxkbmap can override xmodmap&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;# with no option present it maps to pre-defined layout
setxkbmap -option
# and kill xcape 
pkill xcape 
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;end-notes&quot;&gt;End notes&lt;&#x2F;h3&gt;
&lt;p&gt;Even with the limitations, xcape is highly usuable 
I&#x27;m happy how it turned. 
Now that I have filled gaps of OBSD being my daily driver, 
what&#x27;s left is figuring FVWM(2?)&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #6 - Clan of Xymox</title>
                <pubDate>Fri, 23 Oct 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature6/</link>
                <guid>https://displ.nl/blog/feature6/</guid>
                <description>&lt;p&gt;I feel the disappointment cause I missed 
new album releases of 2 bands I have been
following for quite some time but I didn&#x27;t
like the way they evolved over years. 
(honestly I thought I would never hear news
from them, here we were 2020)&lt;&#x2F;p&gt;
&lt;p&gt;First being &lt;a href=&quot;https:&#x2F;&#x2F;clanofxymox.bandcamp.com&#x2F;&quot;&gt;Clan of Xymox&lt;&#x2F;a&gt; from 
Amsterdam! with &lt;a href=&quot;https:&#x2F;&#x2F;clanofxymox.bandcamp.com&#x2F;album&#x2F;spider-on-the-wall&quot;&gt;Spider on the Wall&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;With Heavy sythn kicking first track, 
I knew that essence of sound. I can 
assure no bad eggs in albums (find 
this really fascinating, it&#x27;s rare) &lt;&#x2F;p&gt;
&lt;p&gt;Let Darkness Acquire Into the Unknown!&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #5 - The Plague - Never Die</title>
                <pubDate>Thu, 15 Oct 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature5/</link>
                <guid>https://displ.nl/blog/feature5/</guid>
                <description>&lt;p&gt;&amp;quot;The Plague&amp;quot; is a Goth Metal band, active on late 80s. 
(bit of ambiguity with same &amp;quot;The plague&amp;quot; from late 70s)
What&#x27;s interesting is truely haunting Vocals by &lt;a href=&quot;https:&#x2F;&#x2F;www.margotday.com&#x2F;&quot;&gt;Margot Day&lt;&#x2F;a&gt;
She&#x27;s also the Flutist on Never Die from Their &lt;a href=&quot;https:&#x2F;&#x2F;margotday.bandcamp.com&#x2F;track&#x2F;never-die-2&quot;&gt;Ablum Naraka&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Boug using different OpenSSH versions</title>
                <pubDate>Tue, 13 Oct 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/ssh-boug-macs/</link>
                <guid>https://displ.nl/blog/ssh-boug-macs/</guid>
                <description>&lt;p&gt;Oscaillaly I had  problems with OpenSSH when using 
different versions, it would struck forever&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;I would just decrease MTU with ifconfig&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;ifconfig &amp;lt;interface&amp;gt; mtu 1200
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;It started bothering when wireguard interface
started having this issue on OBSD-6.8-meta.&lt;&#x2F;p&gt;
&lt;p&gt;The server I&#x27;m connecting to, running OBSD-6.7
has OpenSSH_8.3 LibreSSL 3.1.1&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m one subversion ahead on both. &lt;&#x2F;p&gt;
&lt;p&gt;Solution, from &lt;a href=&quot;https:&#x2F;&#x2F;serverfault.com&#x2F;questions&#x2F;592059&#x2F;debug1-expecting-ssh2-msg-kex-dh-gex-group&quot;&gt;ServerFault&lt;&#x2F;a&gt;
Chossing different MACs Algorithm than &lt;code&gt;hmac-md5&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;# on &#x2F;etc&#x2F;ssh&#x2F;ssh_config removed above algo
MACs hmac-sha1,umac-64@openssh.com
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;(so what&#x27;s MTU? different MACs algo? no idea now &#x2F;o\)&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Trackpoint Config on Thinkpads</title>
                <pubDate>Mon, 12 Oct 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/trackpoint-scrolling/</link>
                <guid>https://displ.nl/blog/trackpoint-scrolling/</guid>
                <description>&lt;p&gt;Track point scrolling isn&#x27;t configured
out of the box, and accelaration is 
dead slow. &lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;marc.info&#x2F;?l=openbsd-misc&amp;amp;m=153975690230483&amp;amp;w=2&quot;&gt;OBSD misc mailing list&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;check &lt;code&gt;xinput&lt;&#x2F;code&gt; to find correct device id&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ xinput
	...
  	&#x2F;dev&#x2F;wsmouse id=7 [slave  pointer  (2)]

$ xinput list-props 7
	Coordinate Transformation Matrix (166):	1.000000,
	\ 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 
	\ 0.000000, 0.000000, 1.000000
	Device Accel Profile (280):	0
	Device Accel Constant Deceleration (281):	1.000000
	Device Accel Adaptive Deceleration (282):	1.000000
	Device Accel Velocity Scaling (283):	10.000000
	WS Pointer Middle Button Emulation (284):	2
	WS Pointer Middle Button Timeout (285):	50
	WS Pointer Wheel Emulation (286):	0
	WS Pointer Wheel Emulation Axes (287):	0, 0, 4, 5
	WS Pointer Wheel Emulation Inertia (288):	10
	WS Pointer Wheel Emulation Timeout (289):	200
	WS Pointer Wheel Emulation Button (290):	4
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Essential pointer configs&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;# gas gas gas I&#x27;m gonna set on the gas
xinput set-prop 7 &#x27;Device Accel Constant Deceleration&#x27; 0.3
# trakpoint Scrolling
xinput set-prop 7 &#x27;WS Pointer Wheel Emulation&#x27; 1
# use `xev` to test the button maps
# 2 being middle button on trackpoint
xinput set-prop 7 &#x27;WS Pointer Wheel Emulation Button&#x27; 2
# horizontal scrol axes
xinput set-prop 7 &#x27;WS Pointer Wheel Emulation Axes&#x27; 6 7 4 5
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Enjoy Rubbing Nipple, kinky ;)&lt;&#x2F;p&gt;
&lt;h3 id=&quot;10-14-update-making-config-persist&quot;&gt;10-14 Update - Making Config Persist&lt;&#x2F;h3&gt;
&lt;p&gt;I was lazy, and after reboot due to new snapshot 
(my shortest uptime 2 days) it backfired.&lt;&#x2F;p&gt;
&lt;p&gt;The easiest way is to make wm start xinput 
(blinking with fvwm, probably update to fvwm2 in ports)
but to avoid furhter confusions I&#x27;m clustering all
x settings in sessions file. (helpful when I change fvwm
hope it&#x27;s not the case) &lt;&#x2F;p&gt;
&lt;p&gt;Going &lt;code&gt;&#x2F;etc&#x2F;X11&#x2F;xenodm&#x2F;Xsessions&lt;&#x2F;code&gt; I have created
&lt;code&gt;~&#x2F;.xsession&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;&#x2F;usr&#x2F;X11R6&#x2F;bin&#x2F;xinput set-prop 7 &#x27;Device Accel Constant Deceleration&#x27; &amp;quot;0.3&amp;quot; &amp;amp; 
&#x2F;usr&#x2F;X11R6&#x2F;bin&#x2F;xinput set-prop 7 &#x27;WS Pointer Wheel Emulation&#x27; &amp;quot;1&amp;quot; &amp;amp; 
&#x2F;usr&#x2F;X11R6&#x2F;bin&#x2F;xinput set-prop 7 &#x27;WS Pointer Wheel Emulation Button&#x27; &amp;quot;2&amp;quot; &amp;amp; 
&#x2F;usr&#x2F;X11R6&#x2F;bin&#x2F;xinput set-prop 7 &#x27;WS Pointer Wheel Emulation Axes&#x27; &amp;quot;6&amp;quot; &amp;quot;7&amp;quot; &amp;quot;4&amp;quot; &amp;quot;5&amp;quot; &amp;amp;
&#x2F;usr&#x2F;X11R6&#x2F;bin&#x2F;xterm &amp;amp;
&#x2F;usr&#x2F;X11R6&#x2F;bin&#x2F;fvwm
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Rule of thumb, the last process 
should be foreground so when it ends &lt;a href=&quot;https:&#x2F;&#x2F;man.openbsd.org&#x2F;xenodm&quot;&gt;xenodm(1)&lt;&#x2F;a&gt; promts
back to login window. &lt;a href=&quot;https:&#x2F;&#x2F;www.openbsd.org&#x2F;faq&#x2F;faq11.html&quot;&gt;more on faq&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>OBSD Daily Driver X201</title>
                <pubDate>Sat, 10 Oct 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/obsd-daily/</link>
                <guid>https://displ.nl/blog/obsd-daily/</guid>
                <description>&lt;p&gt;My daily driver&#x27;s hard disk died (Manjaro&#x2F;Artix on X201)
I had partial backup of &lt;code&gt;&#x2F;home&#x2F;hisacro&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Manjaro was used for audio production
(jack + guitarix + calf-plugins + ardour). This was
untouched for 6 months since my Enterprise (RG421)
struck on my dorm.&lt;&#x2F;p&gt;
&lt;p&gt;I was tessting a screensaver script the next morning it
took a troll on drive :( (btw driver expansion trick doesn&#x27;t
work) &lt;&#x2F;p&gt;
&lt;p&gt;Cleaned up other X201, it had OBSD 6.7 (vannilla install)
updated to snapshots, it was the middle of my mirror update
so package updates were struck for a day (=_=)&lt;&#x2F;p&gt;
&lt;p&gt;I have few essentials like keyboard map (tap hold), trackpoint scroll,
tiling wm.. &lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m trying to stick with OBSD workflow, (xterm, fvwm, tmux, wsconsctl)&lt;&#x2F;p&gt;
&lt;p&gt;Stay tuned for 6.8 badge :) (probably add little animation)&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #4 - And Also The Trees</title>
                <pubDate>Thu, 08 Oct 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature4/</link>
                <guid>https://displ.nl/blog/feature4/</guid>
                <description>&lt;p&gt;And Also The Trees is one of the first bands that
got me into (obscure) punk scene. I owe them a lot&lt;&#x2F;p&gt;
&lt;p&gt;Absolutely in love with Simon&#x27;s vocals, &lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=4z3PqxCvkoU&quot;&gt;yt Fan made&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;andalsothetrees.bandcamp.com&#x2F;track&#x2F;virus-meadow&quot;&gt;accoustic ver&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;pre&gt;&lt;code&gt;
 ██▒   █▓ ██▓ ██▀███   █    ██   ██████ 
▓██░   █▒▓██▒▓██ ▒ ██▒ ██  ▓██▒▒██    ▒ 
 ▓██  █▒░▒██▒▓██ ░▄█ ▒▓██  ▒██░░ ▓██▄   
  ▒██ █░░░██░▒██▀▀█▄  ▓▓█  ░██░  ▒   ██▒
   ▒▀█░  ░██░░██▓ ▒██▒▒▒█████▓ ▒██████▒▒
   ░ ▐░  ░▓  ░ ▒▓ ░▒▓░░▒▓▒ ▒ ▒ ▒ ▒▓▒ ▒ ░
   ░ ░░   ▒ ░  ░▒ ░ ▒░░░▒░ ░ ░ ░ ░▒  ░ ░
     ░░   ▒ ░  ░░   ░  ░░░ ░ ░ ░  ░  ░  
      ░   ░     ░        ░           ░  
     ░                                  
 ███▄ ▄███▓▓█████ ▄▄▄      ▓█████▄  ▒█████   █     █░
▓██▒▀█▀ ██▒▓█   ▀▒████▄    ▒██▀ ██▌▒██▒  ██▒▓█░ █ ░█░
▓██    ▓██░▒███  ▒██  ▀█▄  ░██   █▌▒██░  ██▒▒█░ █ ░█ 
▒██    ▒██ ▒▓█  ▄░██▄▄▄▄██ ░▓█▄   ▌▒██   ██░░█░ █ ░█ 
▒██▒   ░██▒░▒████▒▓█   ▓██▒░▒████▓ ░ ████▓▒░░░██▒██▓ 
░ ▒░   ░  ░░░ ▒░ ░▒▒   ▓▒█░ ▒▒▓  ▒ ░ ▒░▒░▒░ ░ ▓░▒ ▒  
░  ░      ░ ░ ░  ░ ▒   ▒▒ ░ ░ ▒  ▒   ░ ▒ ▒░   ▒ ░ ░  
░      ░      ░    ░   ▒    ░ ░  ░ ░ ░ ░ ▒    ░   ░  
       ░      ░  ░     ░  ░   ░        ░ ░      ░    
                            ░                        
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;andalsothetrees.bandcamp.com&#x2F;album&#x2F;and-also-the-trees&quot;&gt;Self titled remaster&lt;&#x2F;a&gt; released on 29th August 2020. &lt;&#x2F;p&gt;
&lt;p&gt;Description says it all,&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Digitally re-mastered debut album &#x27;and also the trees&#x27; 
(produced by The Cure&#x27;s Laurence Tolhurst) including
versions mixed by Robert Smith of The Cure of songs from 
&#x27;From under the hill&#x27; previously released on cassette 
only in 1981 and singles from that period.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Stay Punk, live Goth Forever.&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #3 - SDX-synth Tilderadio aNONradio</title>
                <pubDate>Tue, 15 Sep 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature3/</link>
                <guid>https://displ.nl/blog/feature3/</guid>
                <description>&lt;p&gt;Got into more radio stations,&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;http:&#x2F;&#x2F;radio.dawnshadow.se&#x2F;sdxradio.html&quot;&gt;SDX- Synthetic Experience&lt;&#x2F;a&gt; - Great peronal playlist of m8585 (keeping it alive for 20 years!)&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;tilderadio.org&#x2F;&quot;&gt;TildeRadio&lt;&#x2F;a&gt; - &lt;a href=&quot;https:&#x2F;&#x2F;tildeverse.org&#x2F;&quot;&gt;tilde community&lt;&#x2F;a&gt; homebrew radio&lt;&#x2F;p&gt;
&lt;p&gt;snowdusk&#x27;s (one of the tilde DJ) &lt;a href=&quot;https:&#x2F;&#x2F;tilde.club&#x2F;%7Esnowdusk&#x2F;tag&#x2F;&quot;&gt;ultimate archive&lt;&#x2F;a&gt; &lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;anonradio.net&#x2F;djs&#x2F;vintage-computer&#x2F;&quot;&gt;aNONradio&#x27;s Vintage COMP!&lt;&#x2F;a&gt; - cool interview with Pong creator Al Alcorn (waiting for P-II Thu 02:00 UTC)&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #2 - SDF TOPS-20 BBS</title>
                <pubDate>Mon, 07 Sep 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature2/</link>
                <guid>https://displ.nl/blog/feature2/</guid>
                <description>&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;sdf.org&#x2F;&quot;&gt;SDF&lt;&#x2F;a&gt; - Public Access UNIX System is living treasure (running NetBSD!)&lt;&#x2F;p&gt;
&lt;p&gt;Especially still rocking &lt;a href=&quot;http:&#x2F;&#x2F;www.twenex.org&#x2F;?&quot;&gt;TOPS-20 instance&lt;&#x2F;a&gt; instance, &lt;br&gt;
and undebatably the greatest song &lt;a href=&quot;https:&#x2F;&#x2F;web.archive.org&#x2F;web&#x2F;20200809155911&#x2F;http:&#x2F;&#x2F;redmartian.com&#x2F;napster&#x2F;Red_Martian_-_Deny_Authority_2000_-_teco_and_ddt.mp3&quot;&gt;Red Martian - Deny Authority&lt;&#x2F;a&gt; &lt;&#x2F;p&gt;
&lt;p&gt;And there&#x27;s a &lt;a href=&quot;http:&#x2F;&#x2F;www.bbsdocumentary.com&#x2F;&quot;&gt;BBS - The documentary&lt;&#x2F;a&gt;(great poster btw)&lt;br&gt;
featuring SDF&#x27;s Bulletin board system (bboard).&lt;&#x2F;p&gt;
&lt;p&gt;Super Dimension Fortress Fan BBS (1982 anime) started all,&lt;br&gt;
First in &lt;a href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Macross#Series_chronology&quot;&gt;Macross Franchise&lt;&#x2F;a&gt;&lt;br&gt;
Manga remake of the same serialized in 2009&lt;br&gt;&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Living my Fullest on Home Row</title>
                <pubDate>Sun, 06 Sep 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/living-fullest-home-row/</link>
                <guid>https://displ.nl/blog/living-fullest-home-row/</guid>
                <description>&lt;h3 id=&quot;audience&quot;&gt;Audience&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;I agree the most useless key is CAPS&lt;&#x2F;li&gt;
&lt;li&gt;Fed up with placement of alt, ctrl, ESC, Meta&lt;&#x2F;li&gt;
&lt;li&gt;Already remapped CAPS to ESC or Meta using &lt;code&gt;xmodmap&lt;&#x2F;code&gt; &lt;&#x2F;li&gt;
&lt;li&gt;can I use Meta as ESC only inside vi*&lt;&#x2F;li&gt;
&lt;li&gt;can I use ESC as modifier so I can share it for WM and vi*&lt;&#x2F;li&gt;
&lt;li&gt;can I use TAB as modifier and retain it&#x27;s auto-complete on shell&lt;&#x2F;li&gt;
&lt;li&gt;Don&#x27;t have fancy (your paycheck worth) 60% Mechanical&lt;br&gt; 
Keyboard with QMK firmware to try out a new layout every&lt;br&gt; 
week with multiple layers underneath.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;what-s-this&quot;&gt;What&#x27;s this?&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Map a key to 2 different functions based on tapping &amp;amp; holding&lt;&#x2F;li&gt;
&lt;li&gt;A bare minimum solution for reducing travel &lt;&#x2F;li&gt;
&lt;li&gt;Slope of learning curve converges to 0 within a week&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;disrupt-inertia&quot;&gt;Disrupt Inertia&lt;&#x2F;h3&gt;
&lt;p&gt;I was using Meta (CAPS being remapped) as my modifier for all WMs I use,&lt;br&gt; 
problem was when using Vim I have to travel a lot for reaching ESC&lt;&#x2F;p&gt;
&lt;p&gt;Going through &lt;a href=&quot;https:&#x2F;&#x2F;vim.fandom.com&#x2F;wiki&#x2F;Avoid_the_escape_key&quot;&gt;vim fandom&lt;&#x2F;a&gt; I&#x27;m no where satisfied with the alternatives,&lt;br&gt;
&lt;code&gt;Alt&lt;&#x2F;code&gt; placement strains me more than CTRL &lt;br&gt;
(exception looking at my X201&#x27;s funky FN key )&lt;&#x2F;p&gt;
&lt;p&gt;Went with Ctrl-c, there were many drawbacks with this one. &lt;br&gt;
Real bummer was shift+i to insert in multiple lines&lt;br&gt;
plus it&#x27;s not simple as tapping a single key.  &lt;br&gt;
Also I don&#x27;t want to compromise Meta CAPS remap.&lt;&#x2F;p&gt;
&lt;p&gt;I was lazy relying on my cheap 60% keyboard&#x27;s (Bnne Pro) &lt;br&gt;
tap function untill quarantine (my KB was struck in my dorm)&lt;&#x2F;p&gt;
&lt;p&gt;Double Frustated me :&#x2F;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;solution&quot;&gt;Solution&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Tab_hold as ALT&lt;&#x2F;li&gt;
&lt;li&gt;CAPS_hold as Meta_key; CAPS tap as ESC&lt;&#x2F;li&gt;
&lt;li&gt;Semicolon_hold (;) as RIGHT_CTRL&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;prerequisites&quot;&gt;Prerequisites&lt;&#x2F;h3&gt;
&lt;p&gt;(this should work regardless of X11 or wayland)&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;interception&#x2F;linux&#x2F;tools4&quot;&gt;Interception Tools&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;interception&#x2F;linux&#x2F;plugins&#x2F;dual-function-keys&quot;&gt;Dual-function-keys plugin&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Reading Description of Interception-tools&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;setup&quot;&gt;Setup&lt;&#x2F;h3&gt;
&lt;p&gt;Tested on MX-linux, Artix, Manjaro (all running kernal &amp;gt; 5.6) &lt;br&gt;
&lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;alex-courtis&#x2F;tools#dependencies&quot;&gt;Dependencies&lt;&#x2F;a&gt;, I find names are quite different on Debian-based&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ apt-file search libevdev-uinput.h
libevdev-dev: &#x2F;usr&#x2F;include&#x2F;libevdev-1.0&#x2F;libevdev&#x2F;libevdev-uinput.h 

$ apt-file search libudev.h
libudev-dev: &#x2F;usr&#x2F;include&#x2F;libudev.h       

$ apt install libevdev-dev libudev-dev libyaml-cpp-dev cmake
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;and follow &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;interception&#x2F;linux&#x2F;tools&#x2F;-&#x2F;tree&#x2F;master#building&quot;&gt;build instructions&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;AUR (simple as ever), packages &lt;a href=&quot;https:&#x2F;&#x2F;aur.archlinux.org&#x2F;packages&#x2F;interception-tools&#x2F;&quot;&gt;interception-tools&lt;&#x2F;a&gt; &lt;a href=&quot;https:&#x2F;&#x2F;aur.archlinux.org&#x2F;packages&#x2F;interception-dual-function-keys&#x2F;&quot;&gt;dual-function-keys&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;getting-started&quot;&gt;Getting started&lt;&#x2F;h3&gt;
&lt;p&gt;Figuring right input device, &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ cat &#x2F;dev&#x2F;input&#x2F;event&amp;lt;x&amp;gt;
&#x2F;* in my case platform-i8042-serio-0-event-kbd is linked to event3 *&#x2F;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;pressing keys for the right input device will stdout some weird characters so one can be sure.&lt;br&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;code&gt;intercept -g &#x2F;dev&#x2F;input&#x2F;event&amp;lt;x&amp;gt; | uinput -d &#x2F;dev&#x2F;input&#x2F;event&amp;lt;x&amp;gt;&lt;&#x2F;code&gt; &lt;br&gt; 
virtual device (uinput) will deny reading unless &lt;br&gt;
the user is in input group or running uinput as root.&lt;br&gt; 
here&#x27;s the caveat &lt;code&gt;intercept&lt;&#x2F;code&gt; hijacks the input so password cannot be typed..&lt;br&gt; 
workaround would be permitting uinput to run as root without password&lt;br&gt; 
as I&#x27;m using doas &lt;br&gt; 
&lt;code&gt;echo &amp;quot;permit nopass :hisacro cmd uinput&amp;quot; &amp;gt;&amp;gt; &#x2F;etc&#x2F;doas.conf&lt;&#x2F;code&gt;&lt;br&gt; 
should be similar for sudo &lt;br&gt;
(with hard syntax gimmicks &amp;amp; editing with visudo..)&lt;br&gt;&lt;&#x2F;p&gt;
&lt;p&gt;note : use udevmon instead see below, &lt;br&gt;
if it&#x27;s just for testing make sudo persist on shell&lt;br&gt;
so typing passwd is avoided &lt;&#x2F;p&gt;
&lt;p&gt;Succeding above, it&#x27;s pretty much done by piping the hijacked input&lt;br&gt;
into &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;interception&#x2F;linux&#x2F;plugins&#x2F;dual-function-keys&quot;&gt;Dual-function-keys plugin&lt;&#x2F;a&gt; before it goes to virtual device&lt;&#x2F;p&gt;
&lt;p&gt;Dual-function-keys need yaml config file, (simple syntax for layman) &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;TIMING:
    TAP_MILLISEC: 200
    DOUBLE_TAP_MILLISEC: 150

MAPPINGS:
    - KEY: KEY_TAB
      TAP: KEY_TAB
      HOLD: KEY_LEFTALT

    - KEY: KEY_CAPSLOCK
      TAP: KEY_ESC
      HOLD: KEY_LEFTMETA

    - KEY: KEY_SEMICOLON
      TAP: KEY_SEMICOLON
      HOLD: KEY_RIGHTCTRL
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;If everything goes well this should work&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ intercept -g &#x2F;dev&#x2F;input&#x2F;event&amp;lt;x&amp;gt; | dual-function-keys -c &#x2F;path&#x2F;to&#x2F;tapping.yaml | sudo uinput -d &#x2F;dev&#x2F;input&#x2F;event&amp;lt;x&amp;gt;` 
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;As udevmon is included in interception-tools,&lt;br&gt;
it helps combining these also supports config for multiple devices,&lt;br&gt;
auto reads files under &#x2F;etc&#x2F;interception&#x2F;udevmon.d&#x2F;best_tap.yaml&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;- JOB: &amp;quot;intercept -g &#x2F;dev&#x2F;input&#x2F;event3 | dual-function-keys -c ~&#x2F;.myscripts&#x2F;tapping.yaml |  uinput -d &#x2F;dev&#x2F;input&#x2F;event3&amp;quot;
  DEVICE:
    EVENTS:
      EV_KEY: [KEY_TAB, KEY_CAPSLOCK, KEY_SEMICOLON]
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;now &lt;code&gt;$ udevmon&lt;&#x2F;code&gt; is all you need&lt;&#x2F;p&gt;
&lt;p&gt;If you&#x27;re planning to run udevmon as init script,&lt;br&gt;
sample &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;interception&#x2F;linux&#x2F;plugins&#x2F;dual-function-keys&#x2F;-&#x2F;blob&#x2F;master&#x2F;doc&#x2F;examples.md#etcsystemdsystemudevmonservice&quot;&gt;systemd.service is provided&lt;&#x2F;a&gt; beware &lt;br&gt;
this affects all users if you&#x27;re on shared desktop. &lt;br&gt;
(personally I prefer udevmon on my WM&#x27;s startup script) &lt;&#x2F;p&gt;
&lt;h3 id=&quot;tips&quot;&gt;Tips&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;code&gt;$ uinput -p -d &#x2F;dev&#x2F;input&#x2F;event&amp;lt;x&amp;gt;&lt;&#x2F;code&gt; will list all the keys&lt;&#x2F;p&gt;
&lt;p&gt;Use &lt;a href=&quot;https:&#x2F;&#x2F;cgit.freedesktop.org&#x2F;evtest&#x2F;&quot;&gt;evtest&lt;&#x2F;a&gt; instead of xev to check the Event_codes&lt;&#x2F;p&gt;
&lt;p&gt;Most of the packages share [shift] + ctrl + tab to toggle back and forth&lt;br&gt;
in addition if alt or ctrl overrides with default maps, &lt;br&gt;
use &lt;code&gt;shift + ctrl + some_key&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;shift_ctrl_tab.jpg&quot; alt=&quot;shift_ctrl_tab_on_thinkpad_x201&quot; title=&quot;cool fingers operating X201 tank&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;my-usecase&quot;&gt;My UseCase&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;spawn class=subhead&gt;Window Managers&lt;&#x2F;spawn&gt;&lt;&#x2F;p&gt;
&lt;p&gt;i3, herbstluftwm (heavy on Meta as mod which is CAPS_hold)&lt;br&gt;
sudo tiling shortcuts on xfce. (account on family desktop)&lt;&#x2F;p&gt;
&lt;p&gt;&lt;spawn class=subhead&gt;Console&lt;&#x2F;spawn&gt;&lt;&#x2F;p&gt;
&lt;p&gt;nethack - close to few hundreds of &lt;a href=&quot;https:&#x2F;&#x2F;nethackwiki.com&#x2F;wiki&#x2F;Yet_Another_Stupid_Death&quot;&gt;YASD&lt;&#x2F;a&gt; in a week &lt;br&gt;
remapped few uppercases to CTRL &lt;br&gt;
(I got into Vi from nethack when looking &lt;br&gt; 
for similar key-bind editor still miss yubn) &lt;br&gt;&lt;&#x2F;p&gt;
&lt;p&gt;vim -  all &lt;a href=&quot;https:&#x2F;&#x2F;vim.fandom.com&#x2F;wiki&#x2F;Avoid_the_escape_key&quot;&gt;other options&lt;&#x2F;a&gt; makes much sense&lt;br&gt;
notably, Tab + hjkl moves from insert to normal in resp. direction&lt;&#x2F;p&gt;
&lt;p&gt;Terminal Tabs (unpopular but I highly relay on them) &lt;br&gt;
with tab_hold + num to navigate&lt;&#x2F;p&gt;
&lt;p&gt;mutt - only mail client.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;spawn class=subhead&gt;Image editor&lt;&#x2F;spawn&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Gimp - More than 5 hrs in a day (cleaning manga), &lt;br&gt;
modified shortcuts to relay on tab_hold&lt;br&gt; 
Mtpaint - Pixel art, not as heavy on shortcuts compared to GIMP &lt;&#x2F;p&gt;
&lt;p&gt;&lt;spawn class=subhead&gt;Browsers&lt;&#x2F;spawn&gt;&lt;&#x2F;p&gt;
&lt;p&gt;firefox, (remember holding ; is ctrl now) &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;tab_hold + D		focus address bar, 
shift + ; + tab 	previous tab 
; + tab          	next tab 
; + t 			new tab
; + w			close tab	
; + u 			web page source code
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Luakit as secondary.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;cons&quot;&gt;Cons&lt;&#x2F;h3&gt;
&lt;p&gt;Using it for almost 3 months, this has been hard encoded into my muscle memory&lt;br&gt;
to the point I cannot work without it :)&lt;&#x2F;p&gt;
&lt;p&gt;The lag isn&#x27;t humanly noticeable (don&#x27;t trust me see it for yourselves)&lt;&#x2F;p&gt;
&lt;h3 id=&quot;disclosure&quot;&gt;Disclosure&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Author &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;oblitum&quot;&gt;Francisco Lopes&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;linuxquestions&#x2F;comments&#x2F;h17jgw&#x2F;remapping_tab_as_alt_only_on_long_press_with&#x2F;&quot;&gt;my previous beddit post&lt;&#x2F;a&gt; and u&#x2F;the_shiro_usagi for pointing this out&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Any suggestions, unique keybinds, stories, improvements are much welcome&lt;br&gt;
(and fellow hacker with long unix beard tips for getting similar function on OBSD)&lt;&#x2F;p&gt;
&lt;p&gt;Tinker around with multiple devices, Tap timings, extra modifier on home row.. endless&lt;br&gt;
Happy input Hacking!&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wkly Pl #1 - Psyche</title>
                <pubDate>Tue, 01 Sep 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/feature1/</link>
                <guid>https://displ.nl/blog/feature1/</guid>
                <description>&lt;p&gt;I have started weekly pleasure (sticky sidebar)&lt;br&gt; 
feautring songs, movies, games, cool packages etc..&lt;&#x2F;p&gt;
&lt;p&gt;&lt;spawn class=&quot;subhead&quot;&gt;#1&lt;&#x2F;spawn&gt;&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Song - &lt;a href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=z1ykjuL3gvo&quot;&gt;ref: Misery&lt;&#x2F;a&gt;&lt;br&gt;
Artist - &lt;a href=&quot;https:&#x2F;&#x2F;psyche.bandcamp.com&#x2F;&quot;&gt;ref: Psyche&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;This song is from their album &lt;code&gt;The Influence - 1989&lt;&#x2F;code&gt; &lt;&#x2F;p&gt;
&lt;p&gt;What&#x27;s more interesting is their true sense 
of sticking to origin.. &lt;a href=&quot;https:&#x2F;&#x2F;www.psyche-hq.de&#x2F;&quot;&gt;homepage&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;Welcome to the Psyche Headquarters, &lt;br&gt;
No Cookies, No Tracking, No Pop-Up Ads. Just Music.&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;Found on &lt;a href=&quot;https:&#x2F;&#x2F;ebm-radio.de&quot;&gt;ebm-radio&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Rework displ - Done with CSS?</title>
                <pubDate>Sat, 29 Aug 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/done-with-css/</link>
                <guid>https://displ.nl/blog/done-with-css/</guid>
                <description>&lt;p&gt;All started with small screen compatability,&lt;&#x2F;p&gt;
&lt;p&gt;I figured having nav bar on right and 
overflow is the laziest way to achieve this.&lt;&#x2F;p&gt;
&lt;p&gt;Soon I realized, 
No special display elements just
random css margins were everywhere. Decided to
rework css from scratch.&lt;&#x2F;p&gt;
&lt;p&gt;So,&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;---------------------------------------            ---------------------------------------
|       version 1                     |--&amp;gt; Body &amp;lt;--|        version 2                    |
|  ---------------------------------  |            |  ---------------------------------  |
|  |                       |       |  |            |  |                     |         |  |
|  |                       |       |  |            |  |                     |  nav    |  |
|  |      main             |  nav  |  |            |  |        main         |---------|  |
|  |                       |       |  |            |  |                     |         |  |
|  |                       |       |  |            |  |                     |  aside  |  |
|  |                       |       |  |            |  |                     |         |  |
|  |                       |       |  |            |  |                     |---------|  |
|-------------------------------------|            |  |                     |  footer |  |
|             footer                  |            |  |                     |         |  |
---------------------------------------            ---------------------------------------

&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;No other way than tables? &lt;&#x2F;p&gt;
&lt;p&gt;&lt;span class=subhead&gt;Take 1: table&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;body&amp;gt;                   
&amp;lt;main&amp;gt; .. &amp;lt;&#x2F;main&amp;gt;
&amp;lt;nav&amp;gt; .. &amp;lt;&#x2F;nav&amp;gt;
&amp;lt;footer&amp;gt; .. &amp;lt;&#x2F;footer&amp;gt;
&amp;lt;&#x2F;body&amp;gt;

body { display: table;}
main,nav,footer { display: table-cell; }
nav { vertical-align: top; }
footer { vertical-align: bottom; }
&amp;lt;!-- wdym by gaps?? --&amp;gt;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;span class=subhead&gt;Take 2: flexbox&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;body&amp;gt;                   
&amp;lt;nav&amp;gt; .. &amp;lt;&#x2F;nav&amp;gt;
&amp;lt;main&amp;gt; .. &amp;lt;&#x2F;main&amp;gt;
&amp;lt;footer&amp;gt; .. &amp;lt;&#x2F;footer&amp;gt;
&amp;lt;&#x2F;body&amp;gt;

body { display: flex; }
nav { order: 2; }
&amp;lt;!-- so stupid no way to place footer --&amp;gt; 
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;span class=subhead&gt;Take 3: Grid&lt;&#x2F;span&gt;&lt;&#x2F;p&gt;
&lt;p&gt;All you need to know for creating a webpage (2020) - Grid Templates &lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;developer.mozilla.org&#x2F;en-US&#x2F;docs&#x2F;Web&#x2F;CSS&#x2F;CSS_Grid_Layout&#x2F;Grid_Template_Areas&quot;&gt;Ref: MDN - intro&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;developer.mozilla.org&#x2F;en-US&#x2F;docs&#x2F;Web&#x2F;CSS&#x2F;grid-template&quot;&gt;Ref: MDN - live interaciton&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;pre&gt;&lt;code&gt;grid-template: &amp;quot;main nav&amp;quot;
	       &amp;quot;main aside&amp;quot;
               &amp;quot;main footer&amp;quot;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Thought I&#x27;m done, but here&#x27;s the real pain.&lt;br&gt;
&lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;fcambus&#x2F;spleen&#x2F;&quot;&gt;Spleen&lt;&#x2F;a&gt; (call me crazy, no turning back)
really hates random dimensions, no exact way to find
what&#x27;s right. Tinkered all possibles ways, worth it? heck yeah!&lt;&#x2F;p&gt;
&lt;h3 id=&quot;changes&quot;&gt;Changes&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Dark &amp;amp; Darker themes - Made a darker theme week ago but it only respects
System preference (should a toggle necessary?).&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;blockquote&gt;
&lt;p&gt;#979dae #1e1a8b (original, prefer this personally retains early web look)&lt;br&gt;
#121212 #50b5b5 (Darker)&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;Recently started collecting &lt;a href=&quot;https:&#x2F;&#x2F;fsl.displ.nl&#x2F;tiles&quot;&gt;*nix patterns - tiles&lt;&#x2F;a&gt; and
Intergrated as background for displ&lt;&#x2F;li&gt;
&lt;li&gt;Each Blog post will have different background.and those tiles 
are unique to themes, trust me! it looks different though has just a
single transparency alpha layer
(really thinking theme toggle without JS?) &lt;&#x2F;li&gt;
&lt;li&gt;Weekly Pleasure sidebar - features music, movies, books, links etc.. &lt;&#x2F;li&gt;
&lt;li&gt;Found Spleen&#x27;s sweet spot (finally)&lt;&#x2F;li&gt;
&lt;li&gt;Tested &amp;quot;Responsive Device Mode&amp;quot; on firefox to emulate different devices 
(ofcourse cool trick)&lt;&#x2F;li&gt;
&lt;li&gt;Publish www source code - waiting for &lt;a href=&quot;https:&#x2F;&#x2F;marc.info&#x2F;?l=openbsd-ports&amp;amp;m=159855099026841&amp;amp;w=2&quot;&gt;zola 0.11 to land&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;screens&quot;&gt;Screens&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;light_index.png&quot; alt=&quot;original_theme_index&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;dark_index.png&quot; alt=&quot;dark_theme_index&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;dark_blog_list.png&quot; alt=&quot;dark_theme_blog_list&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Stranger on cyberspace, hope it renders great. 
Pop a mail if it appeals, feedbacks or looks crap (0_0) &lt;br&gt;
hisacro [at] this domain.&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Wireguard - IPv6 leakage</title>
                <pubDate>Mon, 24 Aug 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/wireguard-ipv6-leakage/</link>
                <guid>https://displ.nl/blog/wireguard-ipv6-leakage/</guid>
                <description>&lt;p&gt;I moved to -current just to test out kernal baked wireguard
and I&#x27;m really happy how effective it is despite some unknown
behaviours(?).&lt;&#x2F;p&gt;
&lt;p&gt;I have configured 6 clients on my servers, just in case 
if someone I know want to test it out, I never had any problems
with my moblie network provider it doesn&#x27;t use IPv6, heck it&#x27;s 
2G (rarely 3G on sweet spots). &lt;&#x2F;p&gt;
&lt;p&gt;Had a chance to test on 4G network on another phone, 
it did work without any problems but after weeks 
I got a report of IPv6 leakage &lt;em&gt;(=_=)&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Ofcourse, my OBSD server doesn&#x27;t have IPv6 add in first place
I should have added a extra field in client config something like 
&lt;code&gt;::0&#x2F;0&lt;&#x2F;code&gt; &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;AllowedIPs = 0.0.0.0&#x2F;0, ::&#x2F;0
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Perfecto of &lt;code&gt;YASM&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Rest my head against wall - mail server [P-II]</title>
                <pubDate>Tue, 18 Aug 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/basic-mail-server-2/</link>
                <guid>https://displ.nl/blog/basic-mail-server-2/</guid>
                <description>&lt;p&gt;Someone reached out regarding the posts I made on fossil forum.
First thing I noticed was &lt;code&gt;booglemail&lt;&#x2F;code&gt; header, I knew that instance
my reply would be swallowed as spam. I did send and I got a re-reply 
back!! Initially I thought that person was too good to check spams,
but no.&lt;&#x2F;p&gt;
&lt;p&gt;I sent mail to few web peasants (my family), surprise 
it landed fine. &lt;&#x2F;p&gt;
&lt;h3 id=&quot;but-how&quot;&gt;But how?&lt;&#x2F;h3&gt;
&lt;p&gt;Not entirely sure, no big diffs from &lt;a href=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;blog&#x2F;basic-mail-server&#x2F;&quot;&gt;previous setup&lt;&#x2F;a&gt;. &lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Let it settle - when I had a working mail server, 
my domain was just 2 weeks old (it&#x27;s a month now?)&lt;&#x2F;li&gt;
&lt;li&gt;Tons of DMARC reports -  DMARC policy &lt;code&gt;p=reject&lt;&#x2F;code&gt; caused
failing reports to postmaster when used on OBSD-misc mailing
list, it&#x27;s &lt;code&gt;p=none&lt;&#x2F;code&gt; now (This shouldn&#x27;t matter when sending direct) &lt;&#x2F;li&gt;
&lt;li&gt;Fresh MTA-STS - updated MTA-STS published policy few times 
and incremented version number&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I cannot pin point what&#x27;s the cause, anyways on my way to BRAG. &lt;&#x2F;p&gt;
&lt;h3 id=&quot;title-pun&quot;&gt;Title pun&lt;&#x2F;h3&gt;
&lt;p&gt;I always mess up when I recommend&lt;&#x2F;p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;yewtu.be&#x2F;watch?v=sCw7UkDUxlE&quot;&gt;Heatmiser - Rest my head against wall&lt;&#x2F;a&gt; (btw, great song)&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;as &lt;code&gt;s&#x2F;Rest&#x2F;Hit&#x2F;&lt;&#x2F;code&gt; (which is previous title on this series) &lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Excavating bugs - fossil httpd</title>
                <pubDate>Sun, 16 Aug 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/excavating-bugs-fossil-httpd/</link>
                <guid>https://displ.nl/blog/excavating-bugs-fossil-httpd/</guid>
                <description>&lt;p&gt;My goal was recreating &lt;a href=&quot;https:&#x2F;&#x2F;www.openbsd.org&#x2F;images&#x2F;44bsd.gif&quot;&gt;44BSD logo&lt;&#x2F;a&gt; and self-host it on my Distributed Version
control &lt;code&gt;DVCS&lt;&#x2F;code&gt; before 15th.&lt;&#x2F;p&gt;
&lt;p&gt;My half-assed reach,&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;httpd - TLS configuration mismatch confusion&lt;&#x2F;li&gt;
&lt;li&gt;fossil - Fastcgi excavation on progress..&lt;&#x2F;li&gt;
&lt;li&gt;OBSD logo? - think I did my best &lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;httpd-bypass-tls-config-mismatch&quot;&gt;httpd bypass TLS config mismatch&lt;&#x2F;h3&gt;
&lt;p&gt;I have plans to document relayd with thorough examples (unconventional port
forwarding with TLS acceleration, subdomains to localhost:port etc..)
but as of now I&#x27;m relying on httpd. &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;server &amp;quot;displ.nl&amp;quot; {
    listen on * tls port 443
    alias &amp;quot;www.displ.nl my.displ.nl&amp;quot;
    alias &amp;quot;mta-sts.*&amp;quot;
    log style combined
    hsts 
    {
        subdomains
    }
    root &amp;quot;&#x2F;htdocs&#x2F;displ.nl&#x2F;public&#x2F;&amp;quot;   
    tls {
        certificate &amp;quot;&#x2F;etc&#x2F;ssl&#x2F;displ.nl.fullchain.pem&amp;quot;
        key &amp;quot;&#x2F;etc&#x2F;ssl&#x2F;private&#x2F;displ.nl.key&amp;quot;
        ciphers &amp;quot;HIGH:!AES128:!kRSA:!aNULL&amp;quot;
        ecdhe &amp;quot;P-384,P-256,X25519&amp;quot;
    }
    location &amp;quot;&#x2F;pub&#x2F;*&amp;quot; {
        directory auto index
    }
    location &amp;quot;&#x2F;.well-known&#x2F;mta-sts.txt&amp;quot; {
        root &amp;quot;&#x2F;mta-sts&amp;quot;
        request strip 1
        pass
    }
    location &amp;quot;&#x2F;.well-known&#x2F;acme-challenge&#x2F;*&amp;quot; {
        root &amp;quot;&#x2F;acme&amp;quot;
        request strip 2
            directory no auto index
    }
}

server &amp;quot;fsl.displ.nl&amp;quot; {
    # listen on 0.0.0.0 port 8080 # boom boom confusion
    listen on * tls port 443
    root &amp;quot;&#x2F;htdocs&#x2F;fsl.displ.nl&amp;quot;
    tls {
            certificate &amp;quot;&#x2F;etc&#x2F;ssl&#x2F;displ.nl.fullchain.pem&amp;quot;
            key &amp;quot;&#x2F;etc&#x2F;ssl&#x2F;private&#x2F;displ.nl.key&amp;quot;
    }
    hsts {
            max-age 15768000
            preload
            subdomains
    }
    connection max request body 104857600
    location  &amp;quot;&#x2F;*&amp;quot; {
        fastcgi { 
            param SCRIPT_FILENAME &amp;quot;&#x2F;cgi-bin&#x2F;scm&amp;quot;
            param SCRIPT_NAME &amp;quot; &amp;quot;
        }
    }
    location &amp;quot;&#x2F;.well-known&#x2F;acme-challenge&#x2F;*&amp;quot; {
            root &amp;quot;&#x2F;acme&amp;quot;
            request strip 2
    }
}
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;The problem with above config is different ciphers and ecdhe, so far good. 
But this having listen on 0.0.0.0 bypasses this?? &lt;a href=&quot;https:&#x2F;&#x2F;marc.info&#x2F;?l=openbsd-misc&amp;amp;m=159753698530385&amp;amp;w=2&quot;&gt;more mailing list&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;fossil-fastcgi-script-name-param&quot;&gt;Fossil fastcgi SCRIPT_NAME param&lt;&#x2F;h3&gt;
&lt;p&gt;Unless I define SCRIPT_NAME fast cgi parameter in httpd.conf &lt;a href=&quot;https:&#x2F;&#x2F;www.fossil-scm.org&#x2F;xfer&#x2F;doc&#x2F;trunk&#x2F;www&#x2F;server&#x2F;openbsd&#x2F;fastcgi.md&quot;&gt;fossil doc&lt;&#x2F;a&gt;
it reports&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;Bad request: missing SCRIPT_NAME
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Caveat, script names appends to request url ie &lt;code&gt;fsl.displ.nl&#x2F;repo&#x2F;home&lt;&#x2F;code&gt; becomes
&lt;code&gt;fsl.displ.nl&amp;lt;script_name&amp;gt;&#x2F;repo&#x2F;home&lt;&#x2F;code&gt;, my dirty workaround is using&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;param SCRIPT_NAME &amp;quot; &amp;quot;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Firefox auto dectects decoded space &lt;code&gt;%20&lt;&#x2F;code&gt; so it removes (I call this cool) but
my secondary browswer luakit serves as &lt;code&gt;fsl.displ.nl%20&lt;&#x2F;code&gt; (guess also bhrome does)&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;fossil-scm.org&#x2F;forum&#x2F;forumpost&#x2F;81ff9e12ac&quot;&gt;Follow up on fossil forum&lt;&#x2F;a&gt; &lt;&#x2F;p&gt;
&lt;p&gt;Also POST request get corrupted. &lt;a href=&quot;https:&#x2F;&#x2F;fossil-scm.org&#x2F;forum&#x2F;forumpost&#x2F;fec77f6a82&quot;&gt;Here&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;update-2020-08-22&quot;&gt;&lt;spawn class=subhead&gt;UPDATE 2020-08-22&lt;&#x2F;spawn&gt;&lt;&#x2F;h3&gt;
&lt;p&gt;Fixed in &lt;a href=&quot;https:&#x2F;&#x2F;fossil-scm.org&#x2F;home&#x2F;info&#x2F;d6f69343ca4673d5&quot;&gt;check-in d6f69343&lt;&#x2F;a&gt;, Fossil&#x27;s Great and simple :)&lt;&#x2F;p&gt;
&lt;h3 id=&quot;openbsd-badges&quot;&gt;Openbsd Badges&lt;&#x2F;h3&gt;
&lt;p&gt;Despite all this I&#x27;m really happy how it turned out,&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;..&#x2F;img&#x2F;badges&#x2F;67_current.gif&quot; alt=&quot;alt OBSD-6.7-current&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;openbsd&#x2F;comments&#x2F;iajvcz&#x2F;openbsd_badges_recreation_of_44bsd&#x2F;&quot;&gt;beddit post&lt;&#x2F;a&gt;, I have included a &lt;a href=&quot;https:&#x2F;&#x2F;gitlab.com&#x2F;hisacro&#x2F;obsd_badges&quot;&gt;gitlab link&lt;&#x2F;a&gt; which I felt sry for myself,&lt;&#x2F;p&gt;
&lt;p&gt;On my way to embrace cvsweb YEAH!!&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Hit my head against wall? - mail server</title>
                <pubDate>Sat, 08 Aug 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/basic-mail-server/</link>
                <guid>https://displ.nl/blog/basic-mail-server/</guid>
                <description>&lt;p&gt;Started hosting my mail server at start of this month, I have been putting
off thinking I&#x27;ll solve boogle spam filter problem, sadly I couldn&#x27;t 
yet. Wish all my homies (don&#x27;t have any) use proton, tuta, disroot..&lt;&#x2F;p&gt;
&lt;p&gt;Listing some valuable resources on web.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;basics&quot;&gt;Basics&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;SMTP - sending mails and push mails if host aren&#x27;t same - OpenSMTP&lt;&#x2F;li&gt;
&lt;li&gt;IMAP - receiving mails between clients - Dovecot (using just mutt) &lt;&#x2F;li&gt;
&lt;li&gt;DKIM - domain keys identified signing &lt;&#x2F;li&gt;
&lt;li&gt;DMARC - domain message authentication reporting &amp;amp; conformance&lt;&#x2F;li&gt;
&lt;li&gt;SPF  - Sender Policy Framework &lt;a href=&quot;https:&#x2F;&#x2F;support.dnsimple.com&#x2F;articles&#x2F;spf-record&#x2F;&quot;&gt;ref: dnsimple.com&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;FCrDNS - &lt;a href=&quot;https:&#x2F;&#x2F;help.returnpath.com&#x2F;hc&#x2F;en-us&#x2F;articles&#x2F;222480348-What-is-FCrDNS-and-what-are-the-requirements-&quot;&gt;ref: returnpath.com&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;MTA-STS - &lt;a href=&quot;https:&#x2F;&#x2F;aykevl.nl&#x2F;apps&#x2F;mta-sts&#x2F;&quot;&gt;ref: aykevl.nl&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;guides&quot;&gt;Guides&lt;&#x2F;h3&gt;
&lt;ul&gt;
&lt;li&gt;Starting point -  &lt;a href=&quot;https:&#x2F;&#x2F;poolp.org&#x2F;posts&#x2F;2019-09-14&#x2F;setting-up-a-mail-server-with-opensmtpd-dovecot-and-rspamd&#x2F;&quot;&gt;ref: poolp.org&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Holy Grail configs - &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;vedetta-com&#x2F;caesonia&quot;&gt;ref: github&#x2F;vedetta-com&#x2F;caesonia&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Web Sharks don&#x27;t like, Unless you cloak yourself. 
Great Insight - &lt;a href=&quot;https:&#x2F;&#x2F;bridge.grumpy-troll.org&#x2F;2020&#x2F;07&#x2F;small-mailserver-bcp&#x2F;&quot;&gt;ref: grumpy-troll.org&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;testing-cloak-real-pain&quot;&gt;Testing Cloak - Real pain&lt;&#x2F;h3&gt;
&lt;p&gt;Vaguely on this order.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;internet.nl&quot;&gt;ref: internet.nl&lt;&#x2F;a&gt; to know reputation levels, score &amp;gt;70.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.hardenize.com&#x2F;&quot;&gt;ref: hardenize.com&lt;&#x2F;a&gt; better idea of published DNS configs&lt;&#x2F;li&gt;
&lt;li&gt;mail check-auth@verifier.port25.com to check MTA-STS policy&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;eejits-listed-me&quot;&gt;Eejits listed me&lt;&#x2F;h3&gt;
&lt;p&gt;Doesn&#x27;t matter just found when STFW.&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;.NL Domain - http:&#x2F;&#x2F;rfc-clueless.org&#x2F;&lt;&#x2F;li&gt;
&lt;li&gt;neighbour IP - http:&#x2F;&#x2F;www.apews.org&#x2F;?&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Apparently boogle suite suggest having &lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;SPF&lt;&#x2F;li&gt;
&lt;li&gt;DKIM&lt;&#x2F;li&gt;
&lt;li&gt;DMARC&lt;&#x2F;li&gt;
&lt;li&gt;MTA-STS&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;should get a pass, but it&#x27;s not in my case.
There isn&#x27;t any clear info on whys&#x27; &amp;amp; why nots&#x27; (if it&#x27;s easy why would 
tons of company make business out of it - improve mail landing in spam)&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m waiting for my Domain Registar to support DNSSEC for my TLD, shame 
it&#x27;s not (even on custom authoritative name server)&lt;&#x2F;p&gt;
&lt;p&gt;Though there&#x27;s huge gap to overcome these proprietary tactics, 
I&#x27;m constantly looking for ways. (Part 2 of this?)&lt;&#x2F;p&gt;
&lt;h3 id=&quot;bonus&quot;&gt;Bonus&lt;&#x2F;h3&gt;
&lt;p&gt;Listing mailservers &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ host &amp;lt;IP or DOMAIN&amp;gt;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Webserver that serves site &amp;amp; figure REQUEST&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ curl -sD- -o &#x2F;dev&#x2F;null https:&#x2F;&#x2F;www.displ.nl
$ curl -I https:&#x2F;&#x2F;displ.nl
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;h3 id=&quot;update-2020-08-18&quot;&gt;update 2020-08-18&lt;&#x2F;h3&gt;
&lt;p&gt;It&#x27;s still a mystery what made me look good on proprietary big corps
&lt;a href=&quot;https:&#x2F;&#x2F;displ.nl&#x2F;blog&#x2F;basic-mail-server-2&quot;&gt;continued on..&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Service I missed (didn&#x27;t help me much but good)&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;www.mail-tester.com&quot;&gt;ref: mail-tester.com&lt;&#x2F;a&gt; 
Decent check for SpamAssassin test 
even when I had 10&#x2F;10 (must) mail landed on spam,
also faced a bug &lt;code&gt;UNPARSEABLE_RELAY&lt;&#x2F;code&gt; (shouldn&#x27;t matter) &lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
            </item>
        
            <item>
                <title>TLS acme-client</title>
                <pubDate>Thu, 30 Jul 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/tls-acme-client/</link>
                <guid>https://displ.nl/blog/tls-acme-client/</guid>
                <description>&lt;p&gt;I highly recommend grabbing a copy of &lt;a href=&quot;https:&#x2F;&#x2F;www.tiltedwindmillpress.com&#x2F;?product=httpd-and-relayd-mastery&quot;&gt;httpd and Relayd Mastery&lt;&#x2F;a&gt;, 
even config aren&#x27;t valid now, it provides simple yet effect 
overview of topics (for instance TLS, no more SSL) &lt;&#x2F;p&gt;
&lt;p&gt;OpenBSD comes with &lt;a href=&quot;https:&#x2F;&#x2F;man.openbsd.org&#x2F;acme-client&quot;&gt;acme-client&lt;&#x2F;a&gt; copying letsencrpyt example config 
&lt;code&gt;&#x2F;etc&#x2F;examples&#x2F;acme-client.conf&lt;&#x2F;code&gt; will do and &lt;code&gt;acme-client -vv domain.tld&lt;&#x2F;code&gt;
should generate fine.&lt;&#x2F;p&gt;
&lt;p&gt;Two things to look for if it fails,&lt;&#x2F;p&gt;
&lt;p&gt;Add certificate path (not present in example as of now) 
&lt;code&gt;domain certificate &amp;quot;&#x2F;etc&#x2F;ssl&#x2F;displ.nl.crt&amp;quot;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;For subdomains, after setting A record in domain registar 
Make sure it works with random caps.&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;nslook  wWw.DisPl.nL
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Blogs to look for,&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;blog.increasinglyadequate.com&#x2F;posts&#x2F;letsencrypt_and_openbsd.html&quot;&gt;increasinglyadequate.com&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a href=&quot;https:&#x2F;&#x2F;jamsek.dev&#x2F;posts&#x2F;2018&#x2F;Mar&#x2F;03&#x2F;lets-encrypt-https-with-acme-client-on-openbsd&#x2F;#id4&quot;&gt;jamsek.dev&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;My hearty thanks to letsencrypt for providing great service, making TLS an 
industry standard.&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Feeds - Atom or RSS</title>
                <pubDate>Tue, 28 Jul 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/rss-or-atom/</link>
                <guid>https://displ.nl/blog/rss-or-atom/</guid>
                <description>&lt;p&gt;I haven&#x27;t found any notable difference between these, so &lt;a href=&quot;https:&#x2F;&#x2F;duckduckgo.com&#x2F;?q=toss+coin&amp;amp;ia=answer&quot;&gt;tossed a coin&lt;&#x2F;a&gt; it was heads &lt;a href=&quot;&#x2F;atom.xml&quot;&gt;atom&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;When I discovered Feeds it blew my mind, 
I can subscribe to any platform even if I don&#x27;t use.
For instance, I follow &lt;a href=&quot;&#x2F;music&quot;&gt;channels&lt;&#x2F;a&gt; that archive underground
punk on doutube, feed links aren&#x27;t transparent but, by adding
&lt;code&gt;&#x2F;feeds&#x2F;videos.xml?channel_id=&lt;&#x2F;code&gt; it can be generated.&lt;&#x2F;p&gt;
&lt;p&gt;Ofcourse it&#x27;ll take a hit on creator, but most of channels I follow 
exist just for the joy of sharing and I do justice by recommending them. &lt;&#x2F;p&gt;
&lt;p&gt;I use &lt;a href=&quot;https:&#x2F;&#x2F;newsboat.org&quot;&gt;newsboat&lt;&#x2F;a&gt; on my daily driver, it&#x27;s minimal and great. Probably I&#x27;ll host tiny-tiny-RSS for feed sync across all devices (fun?)&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Usecase - tracking device</title>
                <pubDate>Sat, 25 Jul 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/usecase-for-my-tracking-device/</link>
                <guid>https://displ.nl/blog/usecase-for-my-tracking-device/</guid>
                <description>&lt;p&gt;Finally found a proper usecase for my tracking device (android phone) &lt;&#x2F;p&gt;
&lt;h3 id=&quot;haircut&quot;&gt;haircut&lt;&#x2F;h3&gt;
&lt;p&gt;I can accesss some features through adm, found &lt;a href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Genymobile&#x2F;scrcpy&quot;&gt;scrcpy&lt;&#x2F;a&gt; a python 
module which mirrors phone screen through local network.&lt;br &#x2F;&gt;
I used x201&#x27;s webcam and phone as back mirror for haircut I did, had 
great results &lt;a href=&quot;https:&#x2F;&#x2F;searx.canox.net&#x2F;?q=ian%20curtis&amp;amp;categories=images&amp;amp;language=de&quot;&gt;my goto style - Ian Curtis&lt;&#x2F;a&gt; &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ scrcpy
$ mpv &#x2F;dev&#x2F;video0 --profile=low-latency
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;img src=&quot;..&#x2F;usecase_haircut.png&quot; alt=&quot;alt dual_view&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h3 id=&quot;cool-mic&quot;&gt;cool mic&lt;&#x2F;h3&gt;
&lt;p&gt;&lt;a href=&quot;https:&#x2F;&#x2F;coolmic.net&#x2F;&quot;&gt;Cool mic&lt;&#x2F;a&gt; is source client for icecast, the lastest release has both live mic feed and local playback
It might be a great solution for someone making pods on move.&lt;&#x2F;p&gt;
&lt;p&gt;Other than these I use phone for it&#x27;s intended porpose phoning.
Although I have disabled shit-tons of propritary services, 
It&#x27;s still a tracking device on pocket and not convinced as essential. &lt;&#x2F;p&gt;
&lt;p&gt;I remember a urge to break into 2 pieces when I first brought this (bokia 5?), actually tried couple of times (evil grin). Eventually I replaced with a cheap dump phone and went with it for 2 years until a miserable death, blaming on washing machine.&lt;&#x2F;p&gt;
&lt;p&gt;For all those throwing money on tracking device with blind trust that it&#x27;s actually switched off (unless it has battery removable, most of them aren&#x27;t); 
feel sorry for yourself. &lt;&#x2F;p&gt;
&lt;p&gt;Hopefully &lt;a href=&quot;https:&#x2F;&#x2F;www.pine64.org&#x2F;&quot;&gt;pinephone&lt;&#x2F;a&gt; defines a new era!&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Quick look site generators</title>
                <pubDate>Fri, 17 Jul 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/static-gen/</link>
                <guid>https://displ.nl/blog/static-gen/</guid>
                <description>&lt;p&gt;Looked into static site generators, surprised there&#x27;s &lt;a href=&quot;https:&#x2F;&#x2F;www.staticgen.com&#x2F;&quot;&gt;dedicated site listing&lt;&#x2F;a&gt;. Most of them aren&#x27;t simple, instance they have dedicated server inbuilt.&lt;&#x2F;p&gt;
&lt;p&gt;Initially Bashblog looked interesting, but If I going on that path I would like to write something from scratch.&lt;&#x2F;p&gt;
&lt;p&gt;After skimming through ports, found Zola. It&#x27;s relatively new with single-binary (includes search index, will I need it?) has &lt;a href=&quot;https:&#x2F;&#x2F;www.getzola.org&#x2F;&quot;&gt;great documentation&lt;&#x2F;a&gt; and I always had soft spot for rust. &lt;&#x2F;p&gt;
&lt;p&gt;Fits my need but don&#x27;t want to simply snatch templates (hate doing it), same goes for rices (paddy field?) too reason I got sick of &lt;a href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;unixporn&#x2F;&quot;&gt;unixporn&lt;&#x2F;a&gt;. &lt;&#x2F;p&gt;
&lt;p&gt;Having few ideas, I just use something as starting point and build my way through.&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Finally kernal baked wiregaurd - OpenBSD</title>
                <pubDate>Sun, 12 Jul 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/finally-wiregaurd/</link>
                <guid>https://displ.nl/blog/finally-wiregaurd/</guid>
                <description>&lt;p&gt;I was expecting smooth wireguard setup on latest snapshot, it didn&#x27;t. There were many head banging, some were unknown others were YASM.&lt;&#x2F;p&gt;
&lt;p&gt;After reading through wg-tools pkg_readme,
ip forwarding was set, added a pf rule &lt;a href=&quot;https:&#x2F;&#x2F;www.findelabs.com&#x2F;post&#x2F;wireguard-on-openbsd&#x2F;&quot;&gt;along with config explained here&lt;&#x2F;a&gt; &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;# wg setconf wg0 &#x2F;path&#x2F;fo&#x2F;bar
Unable to modify interface: No such file or directory
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;This is where the confusion starts, file is indeed present and has right permissions. On the verge of giving up, I did &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;# pkg_add wireguard-tools
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;wg-tools was installed already when I tried wg-go, it just the way quirks is, on a safer side always &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;# pkg_add -u 
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;after an update or new snapshot.&lt;&#x2F;p&gt;
&lt;p&gt;After the setup, configured keys and scp-ed config to generated qr code on my local machine as qrencode is already installed.&lt;&#x2F;p&gt;
&lt;p&gt;Testing,
Because of my dumb typos &#x27;allowd&#x27; &#x27;wiregaurd&#x27;, It took way more time.
First thing I noticed was dns field was empty, I went on and ping-ed my local 10.0.0.1 server, it did on my first try.&lt;&#x2F;p&gt;
&lt;p&gt;Configuring tunnels to use unbound, I tried different pf (to be honest without understanding asusual my go-to reason, insomnia) suggested when I &lt;a href=&quot;https:&#x2F;&#x2F;lipidity.com&#x2F;openbsd&#x2F;wireguard&#x2F;&quot;&gt;STFW&lt;&#x2F;a&gt; all ended in vain. Actually it became worse, I tried four ones dns (bloudbore) just to check, indeed it worked but unbound stopped working. I tried my best even rebooted vps but only vain, at this point I just wanted everything back. &lt;&#x2F;p&gt;
&lt;p&gt;After tinkering, finally I saw 2 okays, back to pavilion.&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;$ doas rcctl restart unbound
unbound(ok)
unbound(ok)
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Just added this to &lt;code&gt;&#x2F;var&#x2F;unbound&#x2F;etc&#x2F;unbound.conf&lt;&#x2F;code&gt; under server&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;Interface: 10.0.0.1
access-control: 10.0.0.0&#x2F;24 allow
do-udp: yes
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Tried on phone(termux), it was epic when I ran &lt;code&gt;curl ifconfig.me&lt;&#x2F;code&gt; and &lt;code&gt;dig openbsd.org&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;I had 5 client configs, 10.0.0.3 is reserverd for my daily driver (3 being lucky?),
&lt;a href=&quot;https:&#x2F;&#x2F;www.wireguard.com&#x2F;quickstart&#x2F;&quot;&gt;wireguard walkthrough&lt;&#x2F;a&gt; looks much simple, &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;Line unrecognized: `Address=10.0.0.3&#x2F;32&#x27;Configuration parsing
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;wg-quick should solve this,&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;wg addconf wg0 &amp;lt;(wg strip &#x2F;path&#x2F;to&#x2F;fot&#x2F;wg0.conf)
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;I could have saved time this way for OBSD too, in the end I just used &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;wg-quick up wg0
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;and copied my config to &#x2F;etc&#x2F;wireguard&#x2F;wg0.conf.&lt;&#x2F;p&gt;
&lt;p&gt;Satisfied!&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>lets tunnel through</title>
                <pubDate>Fri, 10 Jul 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/lets-tunnel-through/</link>
                <guid>https://displ.nl/blog/lets-tunnel-through/</guid>
                <description>&lt;p&gt;I did cheat trying out a php module called logarr(?), having looked into config for setup path I lost hope when I saw \path\to\foo (microtheft I suppose)&lt;&#x2F;p&gt;
&lt;p&gt;Posted a thread recently asking for pastebin-like self hosting services, I got few suggestions,
using just httpd and scp or sshfs into root directory httpd servring, to overcome upload access to others one way was to setup up public key authorization (maybe from github or so) but it&#x27;s a hassle I agree and there&#x27;s an upcomming port I&#x27;m looking forward. &lt;&#x2F;p&gt;
&lt;p&gt;Now I have been looking around some cool mojo perl modules, there were even irc-server from ground, app::mojopaste got me interested it&#x27;s simple paste client nothing more.&lt;&#x2F;p&gt;
&lt;p&gt;OBSD man pages have perlintro which is great targeted for perl noobies, I was skimming through and asked in IRC for OBSD way to install new modules.&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt; :hisacro:. for perl modules that aren&#x27;t in ports,
 		any recommended ways to install?
.:thrig:. cpanm + local::lib, or Carton, among other methods
.:afresh1:. I like http:&#x2F;&#x2F;man.openbsd.org&#x2F;portgen.1
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Wow, portgen looks hassle free (my first impression) so I did run portgen it&#x27;s not installed (that&#x27;s weird because it has man) I haven&#x27;t figured that yet.&lt;&#x2F;p&gt;
&lt;p&gt;I knew wireguard kernal module is going to be landed on OBSD 6.8, as of now I&#x27;m not planning to upgrade my server just because of wireguard, maybe I&#x27;ll if it&#x27;s worth than wg-go on ports.&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Trap sysupgrade</title>
                <pubDate>Fri, 10 Jul 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/trap-sysupgrade/</link>
                <guid>https://displ.nl/blog/trap-sysupgrade/</guid>
                <description>&lt;p&gt;I don&#x27;t want userlevel wireguard daemon, now upgrading &lt;code&gt;6.6 -&amp;gt; 6.7&lt;&#x2F;code&gt; is a mere sysupgrade so I fell for the trap (huh?) for current snapshot. &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;#sysupgrade -s
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Got disconnected from mosh, rebooted after update. Wow, simple indeed. When I logged via VNC It got all sets marked and started installing (blaming my laziness)&lt;&#x2F;p&gt;
&lt;p&gt;I didn&#x27;t have X* sets and games installed, but I did a partition for X11R6 (initally with 0bytes) I believe that cooled my ass a bit (currently 89% used)&lt;&#x2F;p&gt;
&lt;p&gt;As of now I can live with this. &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;Filesystem     Size    Used   Avail Capacity  Mounted on
&#x2F;dev&#x2F;sd0a      595M    106M    460M    19%    &#x2F;
&#x2F;dev&#x2F;sd0k      3.8G   42.1M    3.6G     1%    &#x2F;home
&#x2F;dev&#x2F;sd0d      894M   22.0K    849M     0%    &#x2F;tmp
&#x2F;dev&#x2F;sd0f      2.4G    1.1G    1.2G    46%    &#x2F;usr
&#x2F;dev&#x2F;sd0g      249M    211M   25.1M    89%    &#x2F;usr&#x2F;X11R6
&#x2F;dev&#x2F;sd0h      2.4G    393M    1.9G    17%    &#x2F;usr&#x2F;local
&#x2F;dev&#x2F;sd0j      2.4G    2.0K    2.3G     0%    &#x2F;usr&#x2F;obj
&#x2F;dev&#x2F;sd0i      1.2G    2.0K    1.1G     0%    &#x2F;usr&#x2F;src
&#x2F;dev&#x2F;sd0e      4.8G   12.1M    4.6G     0%    &#x2F;var
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;This simple bit could have saved a lot (faceplam), oh I wasn&#x27;t &lt;a href=&quot;https:&#x2F;&#x2F;marc.info&#x2F;?l=openbsd-misc&amp;amp;m=156851719104438&amp;amp;w=2&quot;&gt;only one&lt;&#x2F;a&gt; (evil grin).&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;sysupgrade -sn; rm &#x2F;home&#x2F;_sysupgrade&#x2F;x*.tgz; reboot
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Hey! wireguard better be good if not great. &lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Embracing perl</title>
                <pubDate>Thu, 09 Jul 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/embracing-perl/</link>
                <guid>https://displ.nl/blog/embracing-perl/</guid>
                <description>&lt;p&gt;I haven&#x27;t figured relayd filters yet, takes some time to dig mailling lists, wrote a function to &amp;quot;ffman&amp;quot; (firefox man) it does search through &lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Arch wiki !aw&lt;&#x2F;li&gt;
&lt;li&gt;Openbsd man !openbsdman&lt;&#x2F;li&gt;
&lt;li&gt;Openbsd marc.info misc !openbsdmisc&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;pre&gt;&lt;code&gt;# This opens three tabs on current ff instance
# bash (bloat?) to utilize parametric subs
# whitespaces replaced with + 
ffman (){
	firefox ddg.gg&#x2F;?q=\!openbsdman+${1&#x2F;&#x2F; &#x2F;+}
	firefox ddg.gg&#x2F;?q=\!openbsdmisc+${1&#x2F;&#x2F; &#x2F;+}
	firefox ddg.gg&#x2F;?q=\!aw+${1&#x2F;&#x2F; &#x2F;+}
}
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;I have plans to run Searx on my server but as of now relaying on !bangs of quackquackgo, I believe even firefox has a native feature similar to this.&lt;&#x2F;p&gt;
&lt;p&gt;When I stepped on to *nix world, I remember subscribing to my local support group&#x27;s mailing list, it&#x27;s active enough in midst of pandemic making some cool live sessions in irc and metty (terminal live stream I suppose) &lt;&#x2F;p&gt;
&lt;p&gt;Reason I got interested was, the resource for running a live chat was running out and it was being disccused on mail thread. Back in my mind, right time to chime in.&lt;&#x2F;p&gt;
&lt;p&gt;I suggested running own irc server with ngircd (ircd-hybrid also looks neet) but after hearing the issue, irc protocols cannot hide join&#x2F;part messages server side so they went for socket.io based client (JS huh! taking up resource eventually shutting it down)&lt;&#x2F;p&gt;
&lt;p&gt;After sticking through peak time about 5pm to 6pm  because of live session, most of them were connecting through webrc client having same ip also the chat is restricted during presenter&#x27;s time, so streaming my znc log with some filter might do. &lt;&#x2F;p&gt;
&lt;p&gt;After quite STFW, I found the term &amp;quot;long polling&amp;quot; of course first thing I did was checking &lt;a href=&quot;https:&#x2F;&#x2F;openport.se&quot;&gt;ports&lt;&#x2F;a&gt; I found one, &amp;quot;ph5-mojolicious&amp;quot; 
I have to admit the name is fisshy pissy and it&#x27;s a perl module, been putting off perl for a long time now thinking about it I haven&#x27;t got into a new &amp;quot;programming language&amp;quot; for more than a year. &lt;&#x2F;p&gt;
&lt;p&gt;Learning perl now for mojolicious. Hopefully I&#x27;ll try to implement something within 7-day session. &lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Evil Relayd</title>
                <pubDate>Mon, 06 Jul 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/evil-relayd/</link>
                <guid>https://displ.nl/blog/evil-relayd/</guid>
                <description>&lt;p&gt;From the start I wanted to stick to base as much as possible, I have configured dns with unbound (cannot be simpler).&lt;&#x2F;p&gt;
&lt;p&gt;As of now, I have icecast and znc running on different port, so each time instead of navigating with &lt;code&gt;&amp;lt;IP&amp;gt;:&amp;lt;port&amp;gt;&lt;&#x2F;code&gt; I want path to redirect ie
&lt;code&gt;&amp;lt;IP&amp;gt;&#x2F;znc --&amp;gt; &amp;lt;IP&amp;gt;:&amp;lt;znc_port&amp;gt;&lt;&#x2F;code&gt; and &lt;code&gt;&amp;lt;IP&amp;gt;&#x2F;ice --&amp;gt; &amp;lt;IP&amp;gt;:&amp;lt;icecast_port&amp;gt;&lt;&#x2F;code&gt;&lt;&#x2F;p&gt;
&lt;p&gt;On ngnix, I believe it&#x27;s achieved with &amp;quot;proxy_pass&amp;quot;, I know for a fact relayd is what I&#x27;m looking for as httpd just serves.&lt;&#x2F;p&gt;
&lt;p&gt;After reading man found all the neccessary details about features but not many examples on web. 
Relayd has filter, the one that fits is path &lt;code&gt;&#x2F;&amp;lt;path&amp;gt;?&amp;lt;value&amp;gt;&lt;&#x2F;code&gt;. Make a protocol and use that for relay or redirection. &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;httpd&amp;gt; { IP }
&amp;lt;znc&amp;gt;   { IP }
&amp;lt;ice&amp;gt;  	{ IP }

protocol reverse_proxy {
	return error

	match request quick path &amp;quot;&#x2F;znc&amp;quot; forward to &amp;lt;znc&amp;gt;
	match request quick path &amp;quot;&#x2F;ice&amp;quot; forward to &amp;lt;ice&amp;gt;
}

relay path_redirection {

	listen on * port 80

	protocol reverse_proxy
	
	forward to &amp;lt;table&amp;gt; port 80

	forward to &amp;lt;znc&amp;gt; port &amp;lt;znc_port&amp;gt;
	forward to &amp;lt;ice&amp;gt; port &amp;lt;ice_port&amp;gt;
}
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Above won&#x27;t do as it doesn&#x27;t remove the &#x2F;znc path, it&#x27;s redirecting to &lt;znc&gt;:&amp;lt;znc_port&amp;gt;&#x2F;znc&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;#Taken for &amp;quot;Relayd and Httpd Mastery&amp;quot; 
#removes only when value Apache 2.4 is matched 
match response header remove &amp;quot;Server&amp;quot; value &amp;quot;Apache 2.4&amp;quot;
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;This got me wondering,&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;match response path remove &amp;quot;&#x2F;znc&amp;quot; path &amp;quot;&#x2F;znc&amp;quot; forward to &amp;lt;znc&amp;gt; 
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;should get the job done.&lt;&#x2F;p&gt;
&lt;p&gt;But no, I spent my day figuring why this isn&#x27;t, it indeed redirect to &amp;lt;znc_port&amp;gt; but along with the iniial path &amp;quot;&#x2F;znc&amp;quot;&lt;&#x2F;p&gt;
&lt;p&gt;STFW all day, I&#x27;m totally lost at this point.&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>24&#x2F;7 IRC</title>
                <pubDate>Fri, 03 Jul 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/24-7-irc/</link>
                <guid>https://displ.nl/blog/24-7-irc/</guid>
                <description>&lt;p&gt;Setting up &lt;a href=&quot;https:&#x2F;&#x2F;wiki.znc.in&#x2F;ZNC&quot;&gt;ZNC&lt;&#x2F;a&gt;, IRC bouncer was easy with interactive --makeconf and it enables webclient by default but I rain into troubles which got me confused.&lt;&#x2F;p&gt;
&lt;p&gt;First off the when accessing Webadmin, ssh ports are restricted in most of browerser, for firefox add a string property in about:config to bypass&lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;# new property
network.security.ports.banned.override  
# values seperated by comma   
6667, 6697 
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;but I would recommend using other ports to reduce hassle.&lt;&#x2F;p&gt;
&lt;p&gt;Running interactive makeconf, sets network &amp;amp; channels for admin (which is idle case for me as I&#x27;m the one running) but I tried to configure user.&lt;&#x2F;p&gt;
&lt;p&gt;The most confusing part is SSL, as per ZNC wiki it provides own certificate if user doesn&#x27;t have one (running base ip as of now) I would definitely take that up which is what I did, with &amp;quot;accept risk prompt&amp;quot;  (gimmick of providing own SSL I guess) I ran https on webadmin page, but connecting through IRC client it won&#x27;t (I&#x27;m not knowledge at the moment to go through the reason).&lt;&#x2F;p&gt;
&lt;p&gt;In the end I ran without SSL on ZNC networks but SSL on the networks ZNC connects (Freenode, IRCnow, euIRC)&lt;&#x2F;p&gt;
&lt;p&gt;As IRC client on my daily driver (Artix Linux) is hexchat, with &lt;code&gt;&#x2F;server &amp;lt;znc_ip&amp;gt; port &amp;lt;user&#x2F;network:pass&amp;gt;&lt;&#x2F;code&gt;  I connected to it. To my surprise it updated my present channels to znc. &lt;&#x2F;p&gt;
&lt;p&gt;To override client&#x27;s log (if enabled) and enable playback buffer from ZNC. &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;# hexchat setting
logging &amp;gt; display scrollback from previous sessesion 
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;I&#x27;m 24&#x2F;7 online!, hoping someone will pop on #darkwave (freednode) and maybe a radio session.&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Self host all the way</title>
                <pubDate>Thu, 02 Jul 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/self-host-all-the-way/</link>
                <guid>https://displ.nl/blog/self-host-all-the-way/</guid>
                <description>&lt;p&gt;I just found it&#x27;s really overkill for me, as my server consumes just 35mb running icecast, I always wanted something like 0x0.st &amp;amp; ix.io I know linx-server but I haven&#x27;t found similar on BSD ports.&lt;&#x2F;p&gt;
&lt;p&gt;I got httpd running, it&#x27;s most simple setup ever.. Just copy over &#x2F;etc&#x2F;examples&#x2F;httpd.conf and retain just two lines (port and root). The chroot makes more sense isolating each web environment, also OBSD directory hierarcy is intiuative. (might look into more) &lt;&#x2F;p&gt;
&lt;p&gt;The most annoying problem I face with my sloth internet is when using IRC, lost track of how many #fix_your_connection channel I&#x27;m in.
I found out ZNC, I believe this should fix and guess what, it&#x27;s in ports.&lt;&#x2F;p&gt;
&lt;p&gt;Quick search for &amp;quot;youtube-dl icecast&amp;quot; yeildss an interesting question in &lt;a href=&quot;https:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;34847282&#x2F;how-can-i-setup-a-song-request-icecast2-server-that-pulls-songs-from-youtube&quot;&gt;stackoverflow&lt;&#x2F;a&gt;, that&#x27;s similar to some music bots I used in
past on proprietary shit serverices. &lt;&#x2F;p&gt;
&lt;p&gt;I use ezstream as source client to stream my opus songs also, xmms2 if I want to add media on fly but it was too old that opus didn&#x27;t exist when it was created. I should find a source client that support youtuble-dl and intergrate on server (mpd + mpv I guess). &lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Snail SSH</title>
                <pubDate>Thu, 02 Jul 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/snail-ssh/</link>
                <guid>https://displ.nl/blog/snail-ssh/</guid>
                <description>&lt;p&gt;Been a really hard day figuring relayd (still no luck) combined with my frequent SSH connectivity loss beaten to bottom.&lt;&#x2F;p&gt;
&lt;p&gt;That how I decided to try mosh, I heard it few months ago but didn&#x27;t interest me because all I did was using a local network. &lt;&#x2F;p&gt;
&lt;p&gt;Setting up, no hassle installing as it&#x27;s in ports. After doing the same on client (Artix &amp;amp; termux) you are done? no &lt;&#x2F;p&gt;
&lt;p&gt;It gives error using different UTF-encoding as my location and server&#x27;s isn&#x27;t same. 
A Easy work around is exporting &lt;code&gt;export LC_ALL=&amp;quot;en_US.UTF-8&amp;quot;&lt;&#x2F;code&gt; (something of your preference) in .profile&lt;&#x2F;p&gt;
&lt;p&gt;I was really surpised how smooth my experience turned, drawbacks I cannot scroll to see history apparently there are workarounds with tmux (which I have been putting off for xfce4&#x27;s terminal tabs) probably I&#x27;ll change my workflow. &lt;&#x2F;p&gt;
&lt;p&gt;Because of all this Cluster gimmicks I asked something that was literally in OBSD man on 1st section, well people on IRC were kind enough pointing politely. KSH by default on OBSD doesn&#x27;t source &lt;code&gt;&#x2F;etc&#x2F;ksh.kshrc&lt;&#x2F;code&gt; so when I do interactive non-login shell for root it won&#x27;t source.&lt;&#x2F;p&gt;
&lt;p&gt;Defining a ENV variable like $HOME or &lt;code&gt;ENV=~&#x2F;.kshrc&lt;&#x2F;code&gt; will expand for any futher non-login instances. That&#x27;s what I did and I was litterally plugging my hairs at 4am figuring.&lt;&#x2F;p&gt;
&lt;p&gt;After quite some time I remembered commenting out keepenv on doas.conf for my user (faceplam) &lt;&#x2F;p&gt;
&lt;pre&gt;&lt;code&gt;permit persist keepenv :hisacro as root
&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;This would do but I would recommend setting setting seperate env, more on &lt;a href=&quot;https:&#x2F;&#x2F;flak.tedunangst.com&#x2F;post&#x2F;doas-mastery&quot;&gt;Tedunangst&#x27;s blog - doas creator&lt;&#x2F;a&gt; I cannot complain it&#x27;s already 6 in the morning.&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Radio Day</title>
                <pubDate>Wed, 01 Jul 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/radio-day/</link>
                <guid>https://displ.nl/blog/radio-day/</guid>
                <description>&lt;p&gt;After basic sshd setup with public keys and doas, dived into installing package.. indeed without reading man spent quite a few time changed &#x2F;etc&#x2F;installurls mirror good to go but the mirror I chose was slow I haven&#x27;t figured a way to find fastest mirror.&lt;&#x2F;p&gt;
&lt;p&gt;Vim was first package installed and used Pkglocatedb to see where files are located. Initially I thought running icecast might need twinkering but wow with OBSD specific instructions in &#x2F;usr&#x2F;local&#x2F;share&#x2F;doc&#x2F;pkg-readmes&#x2F; just sit back and follow. &lt;&#x2F;p&gt;
&lt;p&gt;Really happy so far.. Added Synapse(Matrix) to to-do list. &lt;&#x2F;p&gt;
&lt;p&gt;Now I think about it, there is no traffic other than me!!&lt;&#x2F;p&gt;
</description>
            </item>
        
            <item>
                <title>Baby Steps</title>
                <pubDate>Tue, 30 Jun 2020 00:00:00 +0000</pubDate>
                <link>https://displ.nl/blog/baby-steps/</link>
                <guid>https://displ.nl/blog/baby-steps/</guid>
                <description>&lt;p&gt;Deployed a OpenBSD server, well actually a Debian asked VPS firm to mount OBSD. I wasn&#x27;t thinking when I went with minimal iso, later I realized the unnecessary bandwidth after installing sets.&lt;&#x2F;p&gt;
&lt;p&gt;Initial trouble was resolving nameservers. I went anti-gooz and tried a public dns but figured it didn&#x27;t work, there wasn&#x27;t netstart to update new nameservers. It took a while to figure why was that, asusual fired up IRC #openbsd for help. I could ping ips with static ipv4 but might be some firewall blocking dns, rebooted server, twinkered around, ended up stealing the configuration from dhclient setup.&lt;&#x2F;p&gt;
&lt;p&gt;My plan is running icecast server, a static html blog with httpd. &lt;&#x2F;p&gt;
</description>
            </item>
        
    </channel>
</rss>
