Editorial

May these words find you hale and wholly ready for new beginnings.

This issue features some excellent architectural and urban photography, mysterious entries from another world, a languid yet colourful travelogue, a choose-your-own-adventure game, humorous writings and illustrations on topics of import, as well guides to enhance your auditory and computering experience. The artistry and deep insight of townies continue to amaze and delight.

The release marks my first occasion of producing a webzine edition, although by no means the zine's first HTML version. Some things have changed since that first attempt to reconstruct the zine through a dubious combination of Inkscape pre-96 DPI and a Python 2 slides utility. Software bitrots. People arrive and depart. Friends, mentors, strangers. Inflection points. Somewhere along the continuum, the way forward is change — a zine worth reading is not afraid do differently, however slightly.

A big thanks to this issue's contributors and readers — your continued interest and support are what make this zine possible. おつかれさま。



~mio

January 2024

NEW FREE CULTURE LICENSES

NEW FREE CULTURE LICENSES
by Case Duckworth

Free culture licensing is its own special bugbear.  While pioneers like the GPL, ISC, and WTFPL have served their purpose, with the advent of source-available but non-libre licenses and ensnaring of public works by corporate interests, it's time we take a new tack.

To that end, I propose a license from what I call the "Poison Pill" class.  These are licenses that are so nonsensical that any entity with an actual legal department won't use them out of terror; however, normal, every day people have no such strict adherence to legalese and can enjoy them as the art they are in themselves.  In this submission, I've included four such licenses.

You may use any of these licenses for any project forever. You can't hold me responsible if a copyright lawyer falls in love with you, though.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

FIGHT CLUB PUBLIC LICENSE.

This Software is free to use and modify, provided the following conditions are met:

1. You don't talk about its License.
2. YOU DO NOT TALK ABOUT ITS LICENSE.
3. If someone yells stop, goes limp, taps out, you must stop using the Software.
4. Only two guys may use a single copy of the License.
5. Only one copy of the License may be in use at any time.
6. No shirts, no shoes.
7. Use of the Software will go on as long as it has to.
8. If this is your first time using the Software, you must abide by its License.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

1993 LICENSE.

This Software is the property of <AUTHOR>.  Its use, modification, and redistribution are completely restricted unless the Licensee meets the following criteria:

1. Born after 1993
2. Be Bisexual
3. Eat Hot Chip
4. Charge they Phone
5. Lie

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

PET ROCK PUBLIC LICENSE, version 1.0.
This license is released under the ROCK RELEASE PUBLIC LICENSE, version 1.0 or higher.  You may use it in your projects provided you follow the stipulations in the RRPL.

The attached Work is free to use, modify, redistribute, or otherwise abuse, provided the following conditions are met:

1. You must adopt a stray rock.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

ROCK RELEASE PUBLIC LICENSE, version 1.0.
This license is released under the PET ROCK PUBLIC LICENSE, version 1.0 or higher.  You may use it in your projects provided you follow the stipulations in the PRPL.

The attached Work is free to use, modify, redistribute, or otherwise improve, provided the following conditions are met:

1. You must release a captive rock into the wild.*

* (We suggest throwing it at a tree.)

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~

If you've enjoyed these licenses and would like to see more like them, visit my compendium at <https://funputer.biz/licenses>.  I am also aware of a list at <https://git.tilde.town/dozens/licenses>, if you can't wait for me to get my act together.

Also, if you think of or discover another, please email me at <acdw at acdw dot net> or otherwise contact me for its inclusion in the compendium.  Together we can make our works unusable by corporate interests!

Perspective

I've been thinking about art a lot lately, most of this year has been consumed in some way or another by it. I think it's because it stands so starkly in contrast with the mundane routine of my life. See, there's something magical that happens when I pick up a camera. I start to take in the world around me in a different way. I guage the light and the color of every aspect. I see with fresh, almost child like wonder, buildings and streets I pass through daily. And the world comes into focus through the viewfinder in a way that is unique.

Sometimes the light alone paints a picture of breathtaking beauty, and all I need to do is stop, compose a shot and breathe in the world around me. Others I need to calculate, tinker with the apeture and shutter, iso and film emulations. And almost certainly, in every moment I exist as artist behind the lens I find myself inextorably attached to the scene. Is what I see, the way I capture it, what everyone around me takes in as well? I feel as though I am creating something with my perspective if nothing more.

For every street I wander, who's lines and colors, shadows and vanishing points, seem oblique and mundane a thousand other people see it with fresh eyes by virtue of the simple act of creating that photo. And so many of those I hid away from view due to imperfections, afraid to show the stumbling jarring path that exists during the creative process. It is with that perspective that I bring this years submission to the town zine, a collection of photos shot on a Sony DSC-S85, all flawed in their own unique way, but beautiful in my own mind.

Art is, after all, a matter of perspective.

Waiting

ISO: 100, fStop: f4, Shutter: 1/200

waiting

Invader

ISO: 200, fStop: f5.6, Shutter: 1/1000

invader

Ramonas

ISO: 400, fStop: f8, Shutter: 1/400

ramonas

Night Colors

ISO: 100, fStop: f2.3, Shutter: 1/3

night_colors

Sentinel

ISO: 320, fStop: f2.3, Shutter: 1/30

sentinel

About

Each one of these photos was run through viu, a terminal image viewer, and then screenshotted with scrot. All of these photos are in some way flawed; shot either over/under exposed, horribly out of focus, or compositionally bland when viewed in full resolution. By lowering the resolution to emphasize only color, line, and composition of the images they become interesting once again.

I struggle a lot, both as an artist and just in life in general, with constantly striving for perfection and feeling as though I fall short. All of these photos are a reminder that our perspecitve in life matters, and that there is beauty in the imperfect.

License: CC-BY-SA

Sage

Sage is a little shell script I wrote to make managing multiple ssh keys easier. It's pretty simple in nature, but honestly massively helpful if you happen to use password protected ssh keys with strong passwords, and have a nice cli based password manager like pass. I imagine that you could sub pass for the bitwarden cli, lastpass cli, or something similar, so long as it can return the credential needed to unlock you key.

Here's the script in all of it's glory, short sweet and to the point!


#!/bin/sh
#ssh-agent management script, uses a profile hook to ensure the agent exists between sessions, and integrates with pass to unlock ssh keys protected with passphrases.

#On Alpine Linux you'll need these packages installed
#apk add util-linux-misc openssh-client-common procps-ng pass sed

#To persist ssh-agent between terminals, add this to ~/.profile. Otherwise honestly, this won't work.
#export SSH_AUTH_SOCK=~/.ssh/ssh-agent.$HOSTNAME.sock
#ssh-add -l 2>/dev/null >/dev/null
#if [ $? -ge 2 ]; then
#	ssh-agent -a "$SSH_AUTH_SOCK" >/dev/null
#fi

keys=$@

if { [ -z $1 ]; }; then
        echo "Usage: sage [key]"
        exit 1
elif [ "$1" == "-l" ]; then
        printf "Active Keys:
$(ssh-add -l)

Protected Keys:
$(pass show ssh)
"
        exit 0
else
        #For each key passed
        for key in $keys; do
                #Check if it's password protected
                protected=$(ssh-keygen -y -P "" -f ~/.ssh/$key 2>&1 | grep -o "incorrect passphrase supplied")
                #If it is, "" will not be a valid password
                if [ "$protected" == "incorrect passphrase supplied" ]; then
                        #Use script to pass in credentials from pass to a subshell running ssh-add
                        { sleep .3; pass ssh/$key; } | script -q /dev/null -c 'DISPLAY= ssh-add ~/.ssh/'$key''
                else
                        #Otherwise we can just load the key
                        ssh-add ~/.ssh/$key
                fi
        done
fi

Now the way this works is by combining our profile settings with the script. When we add this snippet to your .profile or .bash_profile it'll ensure that the ssh-agent is running whenever you open a terminal. If it's already running it just quietly continues.


export SSH_AUTH_SOCK=~/.ssh/ssh-agent.$HOSTNAME.sock
ssh-add -l 2>/dev/null >/dev/null
if [ $? -ge 2 ]; then
        ssh-agent -a "$SSH_AUTH_SOCK" >/dev/null
fi

The only reason that works is becuase we're exporitng SSH_AUTH_SOCK to a specific static path, normally ssh-agent would just make a random temporary one in /tmp, but doing it this way ensures that the agent communicates the same way each time.

After that we just add our keys and the little {command; command;} piped argument catches the interaction from our password manager and brokers it to the ssh key credential prompt. Here let me show you, we'll add my primary key!


~|>> sage neuro
Enter passphrase for /home/durrendal/.ssh/id_ed25519:

┌───────────────────────────────────────────────────────────────┐
│ Please enter the passphrase to unlock the OpenPGP secret key: │
│ "Durrendal <...@...>"                                         │
│ 4096-bit RSA key, ID ................,                        │
│ created 2023-11-19 (main key ID ................).            │
│                                                               │
│                                                               │
│ Passphrase: _________________________________________________ │
│                                                               │
│ <OK>                                                 <Cancel> │
└───────────────────────────────────────────────────────────────┘

Identity added: /home/durrendal/.ssh/id_ed25519 (durrendal@neuromancer)

Et voila! By virtue of unlocking my password manager I can import my ssh key into the agent. Now when my keys are at rest I don't have to worry, the passwords to use them can even be absolutely gnarly long random strings generated by pwmake, like this:


~|>> pwmake 256
oqkIkASPYms3b=ip%0GitISs4symJ@HJeKFOrJ@c93lYByM1Uk@jIG

It feels good to know that my keys are more secure while at rest, and I can utilize a modern authentication workflow to unlock them. Hopefully someone else finds this useful too!

Scenes from Parliament

zine-1

Marketman