<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>gopher://gopher.club:70/1/users/tftp/library/catalog/</id>
  <title>library</title>
  <updated>2026-05-20T00:00:00Z</updated>
  <author><name>gopher.club</name></author>
  <link rel="self" href="gopher://gopher.club:70/0/users/tftp/library/catalog/feed.xml"/>
  <link rel="alternate" href="gopher://gopher.club:70/1/users/tftp/library/catalog/"/>
  <entry>
    <id>gopher://gopher.club:70/0/users/tftp/library/textfiles/mutt.txt</id>
    <title>mutt.txt</title>
    <published>2026-05-20T00:00:00Z</published>
    <updated>2026-05-20T00:00:00Z</updated>
    <link rel="alternate" length="1090" href="gopher://gopher.club:70/0/users/tftp/library/textfiles/mutt.txt"/>
  <summary type="text">useful mutt tidbits</summary>
  <content type="text"><![CDATA[useful mutt tidbits

                 __   __   
.--------.--.--.|  |_|  |_ 
|        |  |  ||   _|   _|
|__|__|__|_____||____|____|

commandline
-----------
- open a mailbox - mutt -f ~/Mail/twt

keyboard shortcuts
------------------
navigation
- go to last message - `=`
- go to last message - `*`

manipulating messages
- mark thread as read - `CTRL`+`R`
- delete pattern: `D`
    - all - pattern: `~A`
    - date range - pattern: `~d DD/MM/YYYY-DD/MM/YYYY`
      Note: must be valid ranges in index not just arbitrary range 
- delete message under cursor - d
- to undelete go to top of message - `u`
  note: normally you can't navigate up deleted messages, which is why you have
  jump above them

macros
------

```
macro index A \
    "<tag-pattern>~N<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" \
    "mark all new as read"
```

thanks to the following sites

[1] https://yctct.com/tagged/mutt
[2] https://brianbuccola.com/how-to-mark-all-emails-as-read-in-mutt/
[3] http://www.mutt.org/doc/manual/manual.]]></content>
  </entry>
  <entry>
    <id>gopher://gopher.club:70/0/users/tftp/library/textfiles/backup.txt</id>
    <title>backup.txt</title>
    <published>2026-05-01T00:00:00Z</published>
    <updated>2026-05-01T00:00:00Z</updated>
    <link rel="alternate" length="2270" href="gopher://gopher.club:70/0/users/tftp/library/textfiles/backup.txt"/>
  <summary type="text">rough notes until i turn this into a proper doc</summary>
  <content type="text"><![CDATA[rough notes until i turn this into a proper doc

 __                __                
|  |--.---.-.----.|  |--.--.--.-----.
|  _  |  _  |  __||    <|  |  |  _  |
|_____|___._|____||__|__|_____|   __|
                              |__|   

assumptions
===========

- you have setup a smb volume on your nas that the pies will mount

set up flow
===========

- set up smb credentials on root for pi
- mount nas smb volume
- set up back up script


bonus setup: off site backup

set up smb
==========

```
cat .smbcredentials_sharename
username=CHANGE_ME
password=CHANGE_ME
domain=CHANGE_ME (default is WORKGROUP)

# TODO: add to /etc/fstab for auto mounting
sudo mount -t cifs \
    //NAS_HOSTNAME/BACKUP_VOLUME \
    /mnt/nas \
    -o credentials=/root/.smbcredentials_sharename
```

backup script
=============

tip: store the script on the nas, that way you can only run
it if the mount is available.

backup-pi.sh - back up home drives on raspberry pies

```
#! /bin/bash -f

target_host=$(hostname)
nas_host="CHANGE_ME"
]]></content>
  </entry>
  <entry>
    <id>gopher://gopher.club:70/0/users/tftp/library/textfiles/film.txt</id>
    <title>film.txt</title>
    <published>2026-05-01T00:00:00Z</published>
    <updated>2026-05-01T00:00:00Z</updated>
    <link rel="alternate" length="1670" href="gopher://gopher.club:70/0/users/tftp/library/textfiles/film.txt"/>
  <summary type="text">a handy reference to remember running order of film series
(including reboots)</summary>
  <content type="text"><![CDATA[a handy reference to remember running order of film series
(including reboots)

  ___ __ __
.'  _|__|  |.--------.
|   _|  |  ||        |
|__| |__|__||__|__|__|

(or movies to americans)

jurassic park
-------------

| Title                             | year | imdb id    |
|-----------------------------------+------+------------|
| jurassic park                     | 1993 | tt0107290  |
| the lost world: jurassic park     | 1997 | tt0119567  |
| jurassic park iii                 | 2001 | tt0163025  |
| jurassic world                    | 2015 | tt0369610  |
| jurassic world: fallen kingdom    | 2018 | tt4881806  |
| jurassic world: dominion          | 2022 | tt8041270  |
| jurassic world: rebirth           | 2025 | tt31036941 |

mortal kombat
-------------

| Title                             | year | imdb id    |
|-----------------------------------+------+------------|
| mortal kombat                     | 1995 | tt0113855  |
| mortal kombat: annihilation       | 1997 | tt0119707  |
| mortal kombat        ]]></content>
  </entry>
  <entry>
    <id>gopher://gopher.club:70/0/users/tftp/library/textfiles/git.txt</id>
    <title>git.txt</title>
    <published>2026-05-01T00:00:00Z</published>
    <updated>2026-05-01T00:00:00Z</updated>
    <link rel="alternate" length="1554" href="gopher://gopher.club:70/0/users/tftp/library/textfiles/git.txt"/>
  <summary type="text">trying to wean myself off zsh&apos;s helpful git aliases</summary>
  <content type="text"><![CDATA[trying to wean myself off zsh's helpful git aliases


        __ __   
.-----.|__|  |_ 
|  _  ||  |   _|
|___  ||__|____|
|_____|         

removing something if you committed before add to .gitignore
============================================================ 

https://stackoverflow.com/a/9750651/105282
To stop this you have to do : git rm -r --cached .idea/

adding a remote (if it get zapped)
==================================
# if you have a clone of the repo, this should help with the git url
git remote -v
git remote add origin ssh://user@host:/path/to/repo

find when a file was commited
=============================
git log --diff-filter=A -- src/library/textfiles/irc.txt

removing files from git
=======================

warning1: git-filter-repo may zap your remotes, make a note of them
warning2: git-filter-repo warns you that it expects a clean repo which i did
not have and might have caused warning1.

# on debian (and clones) install as a package
sudo apt install -y git-filter-repo
# we want to remov]]></content>
  </entry>
  <entry>
    <id>gopher://gopher.club:70/0/users/tftp/library/textfiles/irc.txt</id>
    <title>notes on irc clients and tools</title>
    <published>2024-04-27T00:00:00Z</published>
    <updated>2024-04-27T00:00:00Z</updated>
    <link rel="alternate" length="556" href="gopher://gopher.club:70/0/users/tftp/library/textfiles/irc.txt"/>
  <summary type="text">rough notes around using irssi and znc</summary>
  <content type="text"><![CDATA[rough notes around using irssi and znc

 __            
|__|.----.----.
|  ||   _|  __|
|__||__| |____|

a lot of this has been cribbed from the znc site[1][2]

general
=======

```
# ignore joins, parts and quits
/ignore * JOINS PARTS QUITS

# when you have the windows how you like them
/layout save

# don't forget to save
/save
```

znc
===

```
# server time for scrollback
/set show_server_time on

# add znc as an alias
/alias znc msg *status

# don't forget to save
/save
```


[1] https://wiki.znc.in/Irssi
[2] https://wiki.znc.in/Using_commands

]]></content>
  </entry>
  <entry>
    <id>gopher://gopher.club:70/0/users/tftp/library/textfiles/awk.txt</id>
    <title>awk</title>
    <published>2024-04-19T00:00:00Z</published>
    <updated>2024-04-25T00:00:00Z</updated>
    <link rel="alternate" length="2588" href="gopher://gopher.club:70/0/users/tftp/library/textfiles/awk.txt"/>
  <summary type="text">my learnings and observations of awk. i&apos;m making notes as i audit the awk workshop (run by the author of bottles).
</summary>
  <content type="text"><![CDATA[                 __    
.---.-.--.--.--.|  |--.
|  _  |  |  |  ||    < 
|___._|________||__|__|
                       
my learnings and observations of awk

== intro ==

i'm making notes as i audit the awk workshop[1] (run by the 
author of bottles[2]).

== which awk ==

it looks like on sdf[3] we've all the awks (except the one true 
awk, although I could be wrong). i think we're using nawk because 
they have the same version number and usage messages.

on my pi (bookworm) i've got nawk and mawk.

for demonstration purposes i'm probably going to stick to nawk
compatibility.

== basics ==

note: this is mostly cribbed from the pcom chat for day 1[4]

- each line is a record
- fields in a line are separated by whitespace (including tabs)
- code structure (blocks): BEGIN{}, body + functions, END{}
- BEGIN{} - initialisation (variables)
- {} (body) - aggregation
- END{} - summary
- scripts can be referenced using `-f` switch and you can keep 
the blocks in separate scripts
- variables get declared using the '-v]]></content>
  </entry>
  <entry>
    <id>gopher://gopher.club:70/0/users/tftp/library/textfiles/figlet.txt</id>
    <title>figlet</title>
    <published>2024-03-19T00:00:00Z</published>
    <updated>2024-04-25T00:00:00Z</updated>
    <link rel="alternate" length="628" href="gopher://gopher.club:70/0/users/tftp/library/textfiles/figlet.txt"/>
  <summary type="text">tips and tricks for using figlet</summary>
  <content type="text"><![CDATA[  ___ __         __         __
.'  _|__|.-----.|  |.-----.|  |_
|   _|  ||  _  ||  ||  -__||   _|
|__| |__||___  ||__||_____||____|
         |_____|

tips and tricks for using figlet

== installing ==

debian/ubuntu: `sudo apt install -y figlet`

== seeing what fonts you have ==

should work on bsd-ish (worked on macOS)

```
figlist \
	| xargs -I{} sh -c "echo {} ; figlet -f {} {} ; echo -----" 2>81 \
	| grep -v "Unable"
```

== adding more fonts ==

1 - download a font: https://www.figlet.org/cgi-bin/fontdb.cgi
2 - save to a local path e.g. "figlet_fonts"
3 - use figlet -d "path/to/figlet_fonts" -f download_font woot


]]></content>
  </entry>
  <entry>
    <id>gopher://gopher.club:70/0/users/tftp/library/textfiles/gopher.txt</id>
    <title>gopher</title>
    <published>2024-04-05T00:00:00Z</published>
    <updated>2024-04-25T00:00:00Z</updated>
    <link rel="alternate" length="466" href="gopher://gopher.club:70/0/users/tftp/library/textfiles/gopher.txt"/>
  <summary type="text">resources for learning how to gopher</summary>
  <content type="text"><![CDATA[                    __               
.-----.-----.-----.|  |--.-----.----.
|  _  |  _  |  _  ||     |  -__|   _|
|___  |_____|   __||__|__|_____|__|  
|_____|     |__|                     

=== resources for learning how to gopher ===

- gopher://tilde.club:70/0/wiki/gopher.txt
- gopher://baud.baby/0/phlog/fs20181102.txt
- gopher://sdf.org:70/0/sdf/faq/GOPHER/02
- https://wiki.sdf.org/doku.php?id=gopher_site_setup_and_hosting_features#other_glog_phlog_software
]]></content>
  </entry>
  <entry>
    <id>gopher://gopher.club:70/0/users/tftp/library/textfiles/meshcore.txt</id>
    <title>meshcore</title>
    <published>2024-03-19T00:00:00Z</published>
    <updated>2024-04-25T00:00:00Z</updated>
    <link rel="alternate" length="1786" href="gopher://gopher.club:70/0/users/tftp/library/textfiles/meshcore.txt"/>
  <summary type="text">configuring a meshcore ping bot</summary>
  <content type="text"><![CDATA[                       __
.--------.-----.-----.|  |--.----.-----.----.-----.
|        |  -__|__ --||     |  __|  _  |   _|  -__|
|__|__|__|_____|_____||__|__|____|_____|__| |_____|

== meshcore radio serial companion configuration ==

the easiest way i've found to set up a meshcore[1] 
is to flash the device as a bluetooth companion. 
configure the name, lora preset and other bits
using the companion app. then you can reflash as
a serial companion.

this is one thing i miss from meshtastic, in that
ecosystem you can configure you radio to link via
bluetooth serial and WiFi (if you have the 
capability).

before you install any software, i would recommend
you verify the serial link works by using the 
meshcore cli[2], you can also use this tool to 
test bluetooth, but the bot software i'm using
doesn't support bluetooth (just serial and tcp).

>> pro-tip: use meshcore-cli -S to connect to 
>> bluetooth devices, the device details will be
>> cached for future use. so you only need to do 
>> this once.

== y th]]></content>
  </entry>
  <entry>
    <id>gopher://gopher.club:70/0/users/tftp/library/textfiles/privacy.txt</id>
    <title>privacy</title>
    <published>2024-04-13T00:00:00Z</published>
    <updated>2024-04-25T00:00:00Z</updated>
    <link rel="alternate" length="823" href="gopher://gopher.club:70/0/users/tftp/library/textfiles/privacy.txt"/>
  <summary type="text">keep it safe, keep it secret</summary>
  <content type="text"><![CDATA[             __
.-----.----.|__|.--.--.---.-.----.--.--.
|  _  |   _||  ||  |  |  _  |  __|  |  |
|   __|__|  |__| \___/|___._|____|___  |
|__|                             |_____|

== tor as a socks proxy ==

installed on raspbian (debian bookworm)

```
# install package
sudo apt install -y tor

# configure socks proxy
echo "SocksPort 0.0.0.0:9050" | sudo tee -a /etc/tor/torrc
# change this to reflect your own local network cidr
echo "SocksPolicy accept 192.168.1.0/16" | sudo tee -a /etc/tor/torrc
sudo systemctl restart tor

# test locally
curl --fail --proxy socks5://localhost:9050 \
	https://check.torproject.org/api/ip
```

set your socks5 proxy server on other devices as ip/hostname of 
your socks proxy.

references
----------

[1]: https://support.torproject.org/little-t-tor/troubleshooting/check-for-leaks/
]]></content>
  </entry>
  <entry>
    <id>gopher://gopher.club:70/0/users/tftp/library/textfiles/telly.txt</id>
    <title>telly</title>
    <published>2024-03-25T00:00:00Z</published>
    <updated>2024-04-25T00:00:00Z</updated>
    <link rel="alternate" length="706" href="gopher://gopher.club:70/0/users/tftp/library/textfiles/telly.txt"/>
  <summary type="text">currently a curated list of ace rimmer related red dwarf episodes</summary>
  <content type="text"><![CDATA[ __          __ __
|  |_.-----.|  |  |.--.--.
|   _|  -__||  |  ||  |  |
|____|_____||__|__||___  |
                   |_____|

== red dwarf ==

ace rimmer episodes

- s04e05 - dimensional jump - our first 
           intro to the man, the 
           legend. what a guy!
- s05e06 - back to reality - technically 
           not part of ace rimmer 
           collection, but will confuse 
           you as to who is duane 
           dibbley in the next episode
- s06e04 - emohawk: polymorph ii - 
           accidently getting ace'd, 
           rimmer gets all his 
           bitterness and doubt sucked
           out of him
- s07e02 - stoke me a clipper - 
           must've got dust in my eye




]]></content>
  </entry>
  <entry>
    <id>gopher://gopher.club:70/0/users/tftp/library/textfiles/tmux.txt</id>
    <title>tmux</title>
    <published>2024-04-13T00:00:00Z</published>
    <updated>2024-04-25T00:00:00Z</updated>
    <link rel="alternate" length="1602" href="gopher://gopher.club:70/0/users/tftp/library/textfiles/tmux.txt"/>
  <summary type="text">things i&apos;ve found useful when using tmux</summary>
  <content type="text"><![CDATA[ __
|  |_.--------.--.--.--.--.
|   _|        |  |  |_   _|
|____|__|__|__|_____|__.__|

== keystrokes ==

- leader + z (MacOS) - zoom in/out of pane[1]

more can be found in man or this [3]

== building for raspberry pies ==

debian's always going to be several versions behind. here's an
example build to enable sixel.

```
curl -LO https://github.com/tmux/tmux/releases/download/3.6a/tmux-3.6a.tar.gz
tar xvfz tmux-3.6a.tar.gz
cd tmux-3.6a/
sudo apt install -y libevent-dev bison byacc
# warning: you may need to install the 'build-essential' package
./configure --enable-sixel # 3rd attempt
make
./tmux -V
sudo make install # will attempt to install in /usr/local
```

== scratchpad ==

```
# multi line hooks[2] to be used in conjunction with [1]
tmux set-hook -g after-resize-pane \
'if "[ #{window_zoomed_flag} -eq 1 ]" \
    "run \"tmux select-pane -P bg=red\"" \
    "run \"tmux select-pane -P bg=black\""
'
```

== todo ==

- add zoom pane[1][2]
- add shell env (ssh agent, etc)  on reattach[4]
- turn hooks into m]]></content>
  </entry>
</feed>
