| Adding search - gopherhole - My gopherhole source code. | |
| git clone git://jay.scot/gopherhole | |
| Log | |
| Files | |
| Refs | |
| --- | |
| commit d4a5bb06f81e6a5a1c2d046a4310879396277eb1 | |
| parent 545707c8917e882ba0be38f8526be13e9a45037e | |
| Author: Jay Scott <[email protected]> | |
| Date: Wed, 10 Dec 2025 19:13:25 +0000 | |
| Adding search | |
| Diffstat: | |
| M index.gph | 4 ++-- | |
| A meta/search.dcgi | 20 ++++++++++++++++++++ | |
| A meta/search.sh | 20 ++++++++++++++++++++ | |
| D notes/geomyidae_001.txt | 8 -------- | |
| M notes/index.gph | 15 ++++----------- | |
| D notes/libre_freestyle_001.txt | 7 ------- | |
| A notes/notes_000.txt | 10 ++++++++++ | |
| A notes/notes_001.txt | 20 ++++++++++++++++++++ | |
| A notes/notes_002.txt | 11 +++++++++++ | |
| A notes/notes_003.txt | 9 +++++++++ | |
| D notes/openbsd_001.txt | 17 ----------------- | |
| M phlog/index.gph | 5 ----- | |
| A phlog/txt/031.txt | 44 +++++++++++++++++++++++++++++… | |
| 13 files changed, 140 insertions(+), 50 deletions(-) | |
| --- | |
| diff --git a/index.gph b/index.gph | |
| @@ -11,16 +11,16 @@ | |
| --[ PROJECTS | |
| - | |
| [1|Git repos for my projects, configs etc|scm/|server|port] | |
| [1|Dump of interesting things!|files/|server|port] | |
| --[ MY STUFF | |
| +[7|Search this gopherhole|meta/search.dcgi|server|port] | |
| [1|Phlog, old man shouts at clouds|phlog/|server|port] | |
| -[1|Notes, for things I always forget|notes/|server|port] | |
| +[1|Notes for random things|notes/|server|port] | |
| [0|Email me|meta/email.txt|server|port] | |
| [0|This server setup and stats|meta/system.cgi|server|port] | |
| diff --git a/meta/search.dcgi b/meta/search.dcgi | |
| @@ -0,0 +1,20 @@ | |
| +#!/bin/sh | |
| +# based on the bitreich search. | |
| + | |
| +search="$1" | |
| + | |
| +printf "[jay.scot]\n" | |
| +printf "[SEARCH]\n\n" | |
| + | |
| +if [ -z "${search}" ]; | |
| +then | |
| + printf "Please enter your search query.\n" | |
| + printf "[7|Search|/meta/search.dcgi|server|port]\n" | |
| +else | |
| + printf "Search Results\n\n" | |
| + ./search.sh "${search}" | |
| + printf "\n" | |
| + printf "[7|Search again|/meta/search.dcgi|server|port]\n" | |
| +fi | |
| + | |
| +printf "[1|Turn yersel hame|/|server|port]\n" | |
| diff --git a/meta/search.sh b/meta/search.sh | |
| @@ -0,0 +1,20 @@ | |
| +#!/bin/sh | |
| + | |
| +if [ $# -lt 1 ]; | |
| +then | |
| + printf "usage: %s search\n" "$(basename "$0")" >&2 | |
| + exit 1 | |
| +fi | |
| + | |
| +root="/home/jay/gopher" | |
| +content="phlog/txt/*.txt" | |
| +keyword="$1" | |
| + | |
| +for file in $root/$content; do | |
| + if [ -f "$file" ]; then | |
| + if grep -iq "$keyword" "$file"; then | |
| + header=$(grep '^--\[' "$file" | head -n 1 | sed 's/^--… | |
| + printf "[0|%s|/phlog/txt/%s|server|port]\n" "$header" "$(basename … | |
| + fi | |
| + fi | |
| +done | |
| diff --git a/notes/geomyidae_001.txt b/notes/geomyidae_001.txt | |
| @@ -1,8 +0,0 @@ | |
| -Don't forget to set the hostname on geomyidae, else server will be wrong in the | |
| -gophermap! | |
| - | |
| -doas vi /etc/rc.d/geomyidae | |
| - | |
| -daemon_flags="-u _geomyidae -g _geomyidae -h <hostname> -b <base-path>" | |
| - | |
| -doas rcctl restart geomyidae | |
| diff --git a/notes/index.gph b/notes/index.gph | |
| @@ -2,14 +2,7 @@ | |
| [NOTES] | |
| ---[ OPENBSD | |
| - | |
| - | |
| -[0|Enable forwarding for SMTP service|/notes/openbsd_001.txt|server|port] | |
| -[0|Setting host on geomyidae|/notes/geomyidae_001.txt|server|port] | |
| - | |
| - | |
| ---[ MISC | |
| - | |
| - | |
| -[0|Libre Freestyle Reader 2 Unlock|/notes/libre_freestyle_001.txt|server|port] | |
| +[0|Using CURL Sequence Substitution|/notes/notes_003.txt|server|port] | |
| +[0|Libre Freestyle Reader 2 Unlock|/notes/notes_002.txt|server|port] | |
| +[0|Enable forwarding for SMTP service|/notes/notes_001.txt|server|port] | |
| +[0|Setting host on geomyidae|/notes/notes_000.txt|server|port] | |
| diff --git a/notes/libre_freestyle_001.txt b/notes/libre_freestyle_001.txt | |
| @@ -1,7 +0,0 @@ | |
| -The unlock code for a Libre Freestyle Reader 2 is: | |
| - | |
| -CAA1C | |
| - | |
| -Settings | |
| - -> Professional Options | |
| - -> Are you a healthcare professional? Yes | |
| diff --git a/notes/notes_000.txt b/notes/notes_000.txt | |
| @@ -0,0 +1,10 @@ | |
| +[jay.scot] | |
| +[openbsd] | |
| + | |
| + | |
| +Don't forget to set the hostname on geomyidae, else server will be wrong | |
| +in the gophermap! | |
| + | |
| + doas vi /etc/rc.d/geomyidae | |
| + daemon_flags="-u _geomyidae -g _geomyidae -h <hostname> -b <base-path>" | |
| + doas rcctl restart geomyidae | |
| diff --git a/notes/notes_001.txt b/notes/notes_001.txt | |
| @@ -0,0 +1,20 @@ | |
| +[jay.scot] | |
| +[openbsd] | |
| + | |
| + | |
| +cat > /etc/mail/smtpd.conf << EOF | |
| +table aliases file:/etc/mail/aliases | |
| +table secrets file:/etc/mail/secrets | |
| +listen on lo0 | |
| + | |
| +action "local" mbox alias <aliases> | |
| +action "relay" relay host smtp+tls://mailrelay@server:port auth <secrets> | |
| + | |
| +match for local action "local" | |
| +match for any action "relay" | |
| +EOF | |
| + | |
| +chmod 640 /etc/mail/secrets | |
| +chown root:_smtpd /etc/mail/secrets | |
| +echo "mailrelay username:password" > /etc/mail/secrets | |
| + | |
| diff --git a/notes/notes_002.txt b/notes/notes_002.txt | |
| @@ -0,0 +1,11 @@ | |
| +[jay.scot] | |
| +[health] | |
| + | |
| + | |
| +The unlock code for a Libre Freestyle Reader 2 is: | |
| + | |
| +CAA1C | |
| + | |
| +Settings | |
| + -> Professional Options | |
| + -> Are you a healthcare professional? Yes | |
| diff --git a/notes/notes_003.txt b/notes/notes_003.txt | |
| @@ -0,0 +1,9 @@ | |
| +[jay.scot] | |
| +[curl] | |
| + | |
| + | |
| +Using Curl Globbing or as they call it Sequence Substitution to download | |
| +all textfiles example: | |
| + | |
| + | |
| +curl -s gopher://jay.scot/0/phlog/txt/[001-030].txt -o "jayscot_#1.txt" | |
| diff --git a/notes/openbsd_001.txt b/notes/openbsd_001.txt | |
| @@ -1,17 +0,0 @@ | |
| - | |
| -cat > /etc/mail/smtpd.conf << EOF | |
| -table aliases file:/etc/mail/aliases | |
| -table secrets file:/etc/mail/secrets | |
| -listen on lo0 | |
| - | |
| -action "local" mbox alias <aliases> | |
| -action "relay" relay host smtp+tls://mailrelay@server:port auth <secrets> | |
| - | |
| -match for local action "local" | |
| -match for any action "relay" | |
| -EOF | |
| - | |
| -chmod 640 /etc/mail/secrets | |
| -chown root:_smtpd /etc/mail/secrets | |
| -echo "mailrelay username:password" > /etc/mail/secrets | |
| - | |
| diff --git a/phlog/index.gph b/phlog/index.gph | |
| @@ -2,11 +2,6 @@ | |
| [PHLOG] | |
| ---[ OFFLINE | |
| - | |
| -curl -s gopher://jay.scot/0/phlog/txt/[001-030].txt -o "jayscot_#1.txt" | |
| - | |
| - | |
| [0|AI is everywhere, a wee rant 2025-12-08|/phlog/txt/03… | |
| [0|sfeed, fdm, rdrview and mutt 2025-12-01|/phlog/txt/02… | |
| [0|What's the crack? 2025-11-22|/phlog/txt/02… | |
| diff --git a/phlog/txt/031.txt b/phlog/txt/031.txt | |
| @@ -0,0 +1,44 @@ | |
| +[jay.scot] | |
| +[030] | |
| + | |
| + | |
| +--[ Learning C | |
| + | |
| + | |
| +For my day job I use Terraform [0] for the majority of all tasks. Due to | |
| +this I picked up golang at a basic level and have been using that for | |
| +most on my own personal projects since then, but recently I wanted to | |
| +learn C. For C, I have only really used it for botching in fixes for | |
| +things, like adding something to dwm or the like. I have never actually | |
| +used it for a full project, so for the next few months I want to | |
| +properly learn C from the beginning and then use it as my go to for my | |
| +personal projects and be able to contribute to the many programs that I | |
| +use which, most of which are programmed in C. | |
| + | |
| + | |
| +So where do I start? Well, when looking up the best books to pick up I | |
| +came across an article from Fabien Sanglard [1] in which he listed the | |
| +way on which he learned C. So I have been using that as a starting point | |
| +to get up and running with C. I tried to was get a physical copy of K&R, | |
| +but it is quite a pricey book to get - even on sites like ebay, the | |
| +cheapest was more than £40, way out of my price range for a book. While | |
| +not ideal, I got my self a digital copy. I am working through the book, | |
| +and typing out every example and then completing every task they suggest | |
| +at the end of a chapter - so far so good. | |
| + | |
| + | |
| +At the back of my mind I wonder if it's still the best way to learn C, | |
| +should I bother with C89 or be learning C99? Does it even matter? Or if | |
| +I am wasting my time of going over the basics - I wonder if there is a | |
| +better way these days. Either way, over the last week I am having fun | |
| +with it, even though I am only getting about a hour a day with it after | |
| +work. I am a strong believer that if you nail the core fundamentals of | |
| +something then the rest becomes a lot easier, lets hope that is the case | |
| +here too! | |
| + | |
| + | |
| +0. gopher://gopherpedia.com/0/Terraform%20%28software%29 | |
| +1. https://fabiensanglard.net/c/ | |
| + | |
| + | |
| +.EOF |