💾 Archived View for gemini.susa.net › atom.xml captured on 2020-11-07 at 00:47:05.
➡️ Next capture (2021-11-30)
-=-=-=-=-=-=-
<?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <title>Circumlunatic Ramblings</title> <link href="gemini://gemini.susa.net/"/> <updated>2020-11-07T03:27:01+00:00</updated> <author> <name>kevnsan</name> </author> <id>gemini://gemini.susa.net/</id> <entry> <id>urn:uuid:7e3662f0-3615-067b-4594-43e554ee4961</id> <title>Shameful and Exploitative BBC Paid Media Ads</title> <link href='gemini://gemini.susa.net/shameful_bbc_paid_media_ads.gmi' rel='alternate'/> <summary>Months ago, a chat with a friend moved on to 'the gig economy', and he mentioned a BBC piece about Only Fans, a site where women could earn money selling sex online. This is nothing new, there have been plenty such sites kicking around for over a decade. It struck me as strange that the BBC would even cover something like this. What was most disturbing at the time was the description he gave, and the tone of what he said, because he was simply regurgitating the tone of the piece, and it came acr</summary> <updated>2020-10-29T00:09:41+00:00</updated> </entry> <entry> <id>urn:uuid:2a00d467-8176-8da0-33e0-df9351d5b24b</id> <title>Thoughts from Drew's Mozilla post</title> <link href='gemini://gemini.susa.net/responses/re_drew_on_mozilla.gmi' rel='alternate'/> <summary>Drew DeVault recently wrote about the failures of Mozilla management to sustain the Firefox browser as viable opposition to commercial offerings, from Google in particular. This is less a reply to Drew, rather just my thoughts on reading his article. It's disheartening to have to agree with him, and infuriating to think of the missed opportunities that would have avoided this situation. They had a lot of money, and contrary to what Mozilla claimed internally, the browser is absolutely where it's</summary> <updated>2020-10-23T22:22:24+00:00</updated> </entry> <entry> <id>urn:uuid:f85d70bc-5041-e1b8-61b9-7dbfe7a8bd5d</id> <title>Alan Wren aka Reni</title> <link href='gemini://gemini.susa.net/alan_wren_aka_reni.gmi' rel='alternate'/> <summary>Recently I've been considering people who seem to eschew fame and fortune, choosing to just do their own thing instead. That's not to exclude famous and wealthy people from consideration - sometimes these things are just a by-product of a particular passion. It more about choosing self-determination. Best known as the drummer in the Stone Roses, Alan Wren seems to fit the criteria. He's clearly naturally talented, and was without doubt the elevating force that allowed the Stone Roses to be as cr</summary> <updated>2020-10-15T12:45:13+00:00</updated> </entry> <entry> <id>urn:uuid:22930c22-e3f1-d118-6e78-f02665fe80e4</id> <title>Boomer Darkwave vs Gothic Bubblegum</title> <link href='gemini://gemini.susa.net/responses/re_Boomer_Darkwave_vs_Gothic_Bubblegum.gmi' rel='alternate'/> <summary>I had to look up Darkwave because I'm generally pig ignorant of musical genres. Interestingly, the term word 'gothic' comes up 29 times on Wikipedia's page on this genre, so there's clearly a connection in the minds of those who know such things. I didn't bother looking for 'gothic' in the page for bubblegum pop. But I think both names themselves are so astoundingly good that they deserve genres created just for them, very similar but with subtle enough differences to cause arguments when drunk.</summary> <updated>2020-10-14T14:36:14+00:00</updated> </entry> <entry> <id>urn:uuid:9efd495b-0982-b06a-37c4-de9f2d566767</id> <title>Re: Greater California, Somber Wurlitzer</title> <link href='gemini://gemini.susa.net/responses/re_greater_california.gmi' rel='alternate'/> <summary>Some music has been unfairly dissed by 'a blogger', though redeemed to some extent by someone showing at least some kind of benevolence, though not without caveats. Honestly, I think this is really Quite Good Music - perhaps it's just that my expectations were so low, or perhaps it's my pathalogical contrarianism, but I'm struggling to find a song that I don't find at least nice to listen to, some going a good bit beyond (The Appearing, In Scarlet). There's definitely a bleakness about it, but i</summary> <updated>2020-10-13T23:47:24+00:00</updated> </entry> <entry> <id>urn:uuid:1d8ad852-1e79-13b2-2f1d-de761cbc8c0a</id> <title>It's not a Thing, it's just a Web Site</title> <link href='gemini://gemini.susa.net/its_really_just_a_website.gmi' rel='alternate'/> <summary>I have just been reading an article about a guy who's website was banned by Facebook's algorithms, and the lengths he went to to get this 'fixed', while dealing with faceless (kinda ironic, given the company) automated feedback pages. What struck me was the lack of a 'so what?' attitude from this guy who is a self-proclaimed Digital Rights Activist who didn't even have a facebook account. Really, so what if he's not linked to by facebook? Part of the problem here is that people accept facebook a</summary> <updated>2020-10-13T10:57:22+00:00</updated> </entry> <entry> <id>urn:uuid:de728468-825f-77ec-0ea1-1040a66999e3</id> <title>Re: IOLFREE, Experience on INSTAGRAM</title> <link href='gemini://gemini.susa.net/responses/re_iolfree_instagram_ban.gmi' rel='alternate'/> <summary>I happened upon a post from iolfree, a user on circumlunar, who wrote about a frustrating experience trying to use a 'bottom of the heap' service (Instagram, in this case), where even a valid phone number wasn't enough to satisfy the fuckbook identity police. I had an almost identical experience with Twitter, though I never succumbed to giving a phone number (even though I do have a burner SIM kicking about). I deleted my original Twitter account quite a while ago, but wanted to set another one </summary> <updated>2020-10-12T21:00:49+00:00</updated> </entry> <entry> <id>urn:uuid:1eac63ae-5a83-ebc1-21e1-311c8f01488f</id> <title>Radio 77 Operating for 50 years with audience of one</title> <link href='gemini://gemini.susa.net/Radio_77_Audience_of_One.gmi' rel='alternate'/> <summary>This guy has been has been operating his radio station since 1974, and his only audience was his wife because the transmission medium was copper wire, and the receiver was a speaker! Quite a sweet story, as he's just been given a slot on Wisconsin's WLHA. It's a bit sad that there was never a reasonable chance of anyone else listening in, yet it's quite inspirational in this era of needy influencers, desperate for followers or subs or whatever. If your audience is entirely people you care about </summary> <updated>2020-10-11T21:34:20+00:00</updated> </entry> <entry> <id>urn:uuid:2884ceb6-4e2c-03a4-e8a4-e3e6a5f86c3e</id> <title>In reply to: Spamtoberfest</title> <link href='gemini://gemini.susa.net/responses/re_spamtoberfest.gmi' rel='alternate'/> <summary>Drew DeVault wrote about a marketing campaign of Digital Ocean and GitHub that encourages people to submit random unwarranted patches in exchange for a t-shirt. Drew's experience seems to show that if someone has created a patch just to get a crappy t-shirt, there's a very high chance that patch will be almost, or entirely, worthless. What it brought to mind was something I read relatively recently which was promoting some sort of common wisdom for evaluating FOSS projects, based on looking at p</summary> <updated>2020-10-04T00:33:38+00:00</updated> </entry> <entry> <id>urn:uuid:918def98-c5db-b863-13f5-f7d971c7c671</id> <title>Re: Does being queer and/or TGD contraindicate STEM?</title> <link href='gemini://gemini.susa.net/responses/re_being_queer_and_stem.gmi' rel='alternate'/> <summary>Artsty people typically work both rationally and emotionally. They want to express themselves, and are often more flamboyant - not always in the stereotypical sense, but flamboyant in their own way. Showing off your work is showing off something of yourself. STEM requires a rational approach, but emotions play no part. There's no point protesting those universal constants that thwart your desire to shape the world more to your liking! Flamboyance is an option that's unrelated to your field. So, </summary> <updated>2020-10-03T12:28:54+00:00</updated> </entry> <entry> <id>urn:uuid:b9f33fb9-a257-098d-6336-621f5032fda3</id> <title>Raquel Meyers - KYBDslöjd ASCII Artist</title> <link href='gemini://gemini.susa.net/raquel_meyers_pixel_art.gmi' rel='alternate'/> <summary>Raquel did the Live Type In video on a C64 on the Ceephax track linked below. She typed the whole sequence in live, and when played back at a speed that fitted the music, it tells a sort of animated story. She is simply amazing. The video shows art drawn in CBM ASCII (aka PETSCII), which is the character set included in a number of Commodore 8-bit machines. In the video linked below, you can see her work at a C64 keyboard. The general technique is referred to as KYBDslöjd. This guy linked below</summary> <updated>2020-10-02T00:01:39+00:00</updated> </entry> <entry> <id>urn:uuid:90c362e5-b100-e726-8402-87776462f154</id> <title>Regarding Re: Replies</title> <link href='gemini://gemini.susa.net/regarding_regarding_replies.gmi' rel='alternate'/> <summary>I suggest a convention when replying to pages. These leading paragraphs might introduce things, it doesn't matter what goes here just so long as... I go on to say that I was pleased that Foobaz took time to comment on this film, since I feel it's the best attempt yet to lay bare the opaque world of commercial surveillance and emotional manipulation, to people who would otherwise be largely unaware - most of us were far too trusting, and unfortunately most still are. So beyond the link, the reply</summary> <updated>2020-09-30T12:13:48+00:00</updated> </entry> <entry> <id>urn:uuid:cf8c1706-dfe9-c522-3b9b-98b57f1781b3</id> <title>Sending patches to sr.ht git repositories.</title> <link href='gemini://gemini.susa.net/sr.ht_patches_notes.gmi' rel='alternate'/> <summary>So, I recently learned that email is a good way to communicate Git patches. Drew DeVault has put together a really comprehensive guide on using this, including a round-trip test repository so you can practise. I was initially reticent to bother - my patches were minor, one-line affairs. However, I have been concerned for quite a while about GitHub et al. starting to 'own' the issues and patch process, and email makes a lot of sense as an alternative. It takes a little time and effort to understa</summary> <updated>2020-09-29T15:38:34+00:00</updated> </entry> <entry> <id>urn:uuid:aeb7a750-d0d5-b702-321f-8ab246f7f35b</id> <title>Vim FAQ from the command line</title> <link href='gemini://gemini.susa.net/vim_faq_command_line.gmi' rel='alternate'/> <summary>One of the first things I wrote in Gemini was a cgi script to grep bits from the Vim FAQ. Now, thanks to Drew DeVault's little line-mode client, it's really useable from any of my command lines. I created a one-liner script in my local bin directory: kevin@kakapo:~$ cat bin/vim-faq gmnlm "gemini://gemini.susa.net/cgi-bin/vim-search?${1}" So when I type, for example, 'vim-faq cursor', I get: kevin@kakapo:~$ vim-faq cursor 0) Question: 5.7 How do I edit a file whose name is under the curs</summary> <updated>2020-09-29T15:38:34+00:00</updated> </entry> <entry> <id>urn:uuid:763957dd-b997-f807-bdc2-ea9a5e1800c7</id> <title>Ceephax Acid Crew - aka Andy Jenkinson</title> <link href='gemini://gemini.susa.net/ceephax_acid_crew.gmi' rel='alternate'/> <summary>This guy caught my attention after watching a couple of his occasionally frantic live sets where he performs captivating tunes using old Roland gear - think 303, 707, SH-101, analogue mixers and, well - stuff! The sound is amazing, as is his ability to chase the beat on a groovebox to reprogram it on the fly while messing with EQ and/or filters elsewhere. I also discovered he's into chiptunes, which is curious because I found myself looking up C64 SID stuff while first listening to his set - not</summary> <updated>2020-09-26T08:41:51+00:00</updated> </entry> <entry> <id>urn:uuid:e5238f77-cf7e-feb4-57de-fab7c66c767f</id> <title>Attack Vector for FOSS</title> <link href='gemini://gemini.susa.net/attack_vector_for_foss.gmi' rel='alternate'/> <summary>This first crossed my mind when I read Gordon Henderson's 'rant' about the mental effort in supporting his WiringPi library, which provides Arduino Wiring-like functions for users of the Raspberry Pi. In short, he got increasingly pissed off by lazy, incompetent, or just plain rude people making demands of him that were completely unjustified. The final straw was someone who rudely demanded the source code for the latest release immediately, pointing out that he was obligated to under the LGPL. </summary> <updated>2020-09-27T00:04:55+00:00</updated> </entry> <entry> <id>urn:uuid:c4db265b-0898-7bc0-53bc-a64d2dab9e0d</id> <title>The Social Dilemma (Film)</title> <link href='gemini://gemini.susa.net/the_social_dilemma_film.gmi' rel='alternate'/> <summary>I watched the first 37 minutes and 37 seconds of The Social Dilemma and here are my initial thoughts. For reference, this is a docu-drama that focuses on the dangers of social media and the ways in which it exploits us in order to capture our attention and manipulate us for profit. It suggests that the profit comes from paying advertisers whose product can be political, as well as commercial. So far, it seems to have been well done. There has clearly been a lot of thought given on how best to co</summary> <updated>2020-09-22T01:36:11+00:00</updated> </entry> <entry> <id>urn:uuid:4397905a-c213-f7bb-8a9a-8314b6879d88</id> <title>Post to IRC using telnet via ZNC</title> <link href='gemini://gemini.susa.net/telnet_znc_to_irc.gmi' rel='alternate'/> <summary>I wanted a way to send an IRC message via a Gemini client. I use a ZNC bouncer on the same box, and it turns out really simple, with ideas from the Freenode users MetaNova and DarthGandalf on the #znc channel. Essentially, IRC is just a text based protocol like SMTP, FTP, etc. All I need to do is authenticate to my ZNC bouncer and I can start pushing messages. This could also be done directly to an IRC server, though extra commands would likely be needed to authenticate with a nickserv and such </summary> <updated>2020-09-24T14:51:07+00:00</updated> </entry> <entry> <id>urn:uuid:57726d25-27b4-9b3c-8ec5-f51a2328c6f4</id> <title>Give and Get Back - Ya Bastard!</title> <link href='gemini://gemini.susa.net/give_and_get_back_ya_bastard.gmi' rel='alternate'/> <summary>Communities are formed on the basis of giving and receiving goodness. You say someting nice, and someone says something nice back again. It's a reinforcing and reaffirming thing, and it's so pervasive that when it doesn't go your way then you get annoyed in an entitled sort of way. Nobody likes being rejected, and getting bad back for giving good is like rejection. This is at the heart of the emotional damange done to people who grow up in a hostile environment. someone 'other' growing up in a '</summary> <updated>2020-09-15T09:57:03+00:00</updated> </entry> <entry> <id>urn:uuid:9ba63aa7-6c5a-4921-ef47-aad749833158</id> <title>I Don't Kill Spiders So Much</title> <link href='gemini://gemini.susa.net/i_dont_kill_spiders_so_much.gmi' rel='alternate'/> <summary>They give me the creeps, I can't deny. I try not to pass my irrational fears on to my kids, but there's only so far you can go before they say "pick it up daddy!" I don't want to hurt it, I say. Let me get the little hoover. Now, I used to use the big hoover - a Dyson with so much suction that there's no hope of survival. I now use a little hand-held thingy that pretty much just sucks them inside with the force of a moderate wind, after which they run around the dust like a toddler in a ball-poo</summary> <updated>2020-09-15T22:43:45+00:00</updated> </entry> <entry> <id>urn:uuid:a59129d3-2eec-db99-f7c6-f32a7f76ef64</id> <title>Bash Cheat Sheet of sorts</title> <link href='gemini://gemini.susa.net/bash_notes.gmi' rel='alternate'/> <summary>The following are notes on bash usage that I often need to refer to. String Operations length ${#MYVAR} substring ${MYVAR:2}, ${MYVAR, 0, 4} (third parameter is length) from end ${MYVAR:(-4)} (avoid :- interpreted as default) with vars ${MYVAR:$START:$LEN} parameters ${*:1} or ${@:1} (positional parameter) multi ${*:2:3} three parameters starting from the second Suppose MYVAR='mykey=myvalue', then substitute ${MYVAR/old/new} all ${MYVAR//old/new} delete </summary> <updated>2020-08-25T22:05:36+00:00</updated> </entry> <entry> <id>urn:uuid:c4ecf88d-1095-89b9-537f-a8369842ccb1</id> <title>Notes on Gemserv CGI handling</title> <link href='gemini://gemini.susa.net/notes_on_gemserv_cgi.gmi' rel='alternate'/> <summary>The Common Gateway Interface (CGI) is a standard that defines how servers interact with external programs to generate responses to server requests. Some Gemini servers implement it to some degree, though in spirit more than in detail, because Gemini is a lot less complex than HTTP that CGI was designed for. Gemserv has a boolean option 'cgi' that enables CGI execution. This means that any request to an executable file will result in that file being executed and the output returned to the client.</summary> <updated>2020-09-11T15:53:28+00:00</updated> </entry> <entry> <id>urn:uuid:2ef23052-d0f1-1218-7f75-10631147bdb4</id> <title>OpenSSL Cheat Sheet</title> <link href='gemini://gemini.susa.net/openssl_cheats.gmi' rel='alternate'/> <summary>Generated from https://www.kinamo.be/en/support/faq/useful-openssl-commands Last updated: 14/06/2018 The openssl 'req' command primarily creates and processes certificate requests, it can additionally create self signed certificates (e.g. for use as root CAs or as client certificates) To generate a self-signed certificate with ten year validity period, together with a new 2048-bit key: openssl req -x509 -newkey rsa:2048 -nodes -keyout kevin.key -out kevin.crt -days 3650 -subj '/CN=Kevin' Typical</summary> <updated>2020-07-17T23:01:19+00:00</updated> </entry> <entry> <id>urn:uuid:29623f77-c2f8-0d21-30c0-16b6206cad45</id> <title>The Wee Kirkcudbright Centipede</title> <link href='gemini://gemini.susa.net/the_wee_kirkcudbright_centipede.gmi' rel='alternate'/> <summary>A cautionary tale of being bullied into introspection. By Matt McGinn: The Wee Kirkcudbright Centipede, she was very sweet She was ever so proud of every one of her hundred feet Early every morning her neighbours came to glance She always entertained them with a beautiful little dance As leg number ninety four gave ninety five a shunt Legs number one and two were twistin out in front As legs numbers nine and ten were wriggling up the side Legs seventy three and four were doing the Palais Glide H</summary> <updated>2020-09-12T13:05:31+00:00</updated> </entry> <entry> <id>urn:uuid:dcb61d3c-d83e-7a7b-cd7d-4d64b4624428</id> <title>Gemini's Relationship to HTTP</title> <link href='gemini://gemini.susa.net/gemini_and_http.gmi' rel='alternate'/> <summary>Gemini has no dependence on HTTP - most Internet protocols are independent like that (exceptions are HTTPS and SFTP, I suppose), but I'm going to argue that there's a relationship, just like with all the other protocols. For example, HTTP carries links to RTSP, SMTP carries links to HTTP, SSH runs my shell that lets me edit this page. To be clear, I was looking for Gemini since before it was invented. My foray with Gopher ended when a bargain-basement VPS provider accidentally wiped their disk (</summary> <updated>2020-08-13T08:54:01+00:00</updated> </entry> <entry> <id>urn:uuid:bd86fc36-c256-890b-377d-baccbedf11a8</id> <title>HexChat with ZNC</title> <link href='gemini://gemini.susa.net/hexchat_znc_summary.gmi' rel='alternate'/> <summary>HexChat connects to ZNC as if it was connecting directly to an IRC server, but really ZNC is proxying one or more IRC servers on your behalf. This is particularly useful to me because I can stay connected and maintain the chat log - ZNC is on a server that's up 24/7. It's quite rare that I add a new IRC network, but when I do I have to recall how ZNC works. So, this page is a summary to remind me what's needed, it may be of interest to you. Give it a name that lets you know it's going through th</summary> <updated>2020-07-13T22:05:02+00:00</updated> </entry> <entry> <id>urn:uuid:6ceecee6-3a97-764b-d960-e26dfd9072c5</id> <title>Using WeeChat with my ZNC bouncer</title> <link href='gemini://gemini.susa.net/weechat_znc.gmi' rel='alternate'/> <summary>An IRC bouncer is like an IRC client with no console or GUI. It remains connected to IRC networks, and I can use a client such as WeeChat or HexChat to connect to my bouncer rather than directly to the IRC servers. This means that I remain on the IRC network when I switch off my computer, and I have the past messages available when I come back online. It's kind of like a proxy, but also a bit like tmux/screen, but also not really! I have a bouncer that I use with HexChat. It's connected to three</summary> <updated>2020-09-11T17:23:02+00:00</updated> </entry> <entry> <id>urn:uuid:77c126eb-58fc-dbfb-20b2-272706de6103</id> <title>On Advertising</title> <link href='gemini://gemini.susa.net/on_advertising.gmi' rel='alternate'/> <summary>I recall years ago, a documentary here in the UK about the advertising industry and the techniques it employs. There was an interview with some industry expert (I forget who, but a marketing exec type). He said to the interviewer "You may think that advertising doesn't affect you. You'd be wrong." What was so striking was how absolutely confident this guy seemed about the words he was uttering, almost to the point of smugness. Years later, I learned of some research which concluded that our emot</summary> <updated>2020-08-20T21:32:45+00:00</updated> </entry> <entry> <id>urn:uuid:59b6770b-d1e4-e042-6900-8e731b01c7f6</id> <title>Genealogy Software</title> <link href='gemini://gemini.susa.net/genealogy_software.gmi' rel='alternate'/> <summary>I've been asked to help set up a family tree database. It's one of those subjects that is more complicated than it first looks, yet I'm looking for something that can be used by amateurs. The open file format GEDCOM is used to describe genealogy data, and looks like a good baseline to achieve. The following software is released under the GPL. I am currently checking out web-based viewers for GEDCOM files. </summary> <updated>2020-09-14T22:34:47+00:00</updated> </entry> <entry> <id>urn:uuid:d86735f2-af0f-81da-d50a-4ac3ffe04992</id> <title>Teach Kids CPUs</title> <link href='gemini://gemini.susa.net/teach_kids_cpu.gmi' rel='alternate'/> <summary>The following are some thoughts I had on a progression of teachings to lead children to an understanding of CPUs and computer architecure. The point is to demystify the concepts that translate high/low voltages into the games they play. Emphasise that each stroke is just a line representing 1. Show first unoptimised lists of strokes, then groups of five where the 5th stroke is simply diagonal. Emphasise that the optimisation makes it easier to see (this relates to grouping bits into bytes) Show </summary> <updated>2020-08-31T10:39:37+00:00</updated> </entry> <entry> <id>urn:uuid:da423d0e-dc08-4153-1339-10904e401670</id> <title>Fried Rice</title> <link href='gemini://gemini.susa.net/fried_rice.gmi' rel='alternate'/> <summary> Rice & Egg Salty: salt or soy sauce Umami: soy sauce, fish sauce, or granule MSG Allium: spring( onions), garlic, leeks, garlic chives, Chinese chives Cured meat: Chinese sausage, chorizo, salt cod, hot dogs or bacon Texture: peas, cashews, carrots Options: Pineapple chunks pickles, kimchi, pickled vegetables Chicken, prawns, roast pork pieces Pepper flakes, white pepper, sesame oil. </summary> <updated>2020-08-19T00:12:18+00:00</updated> </entry> <entry> <id>urn:uuid:6dabf612-2078-6c9b-3b9d-609450ed1b2f</id> <title>exporting the blocked hosts – SusaNET</title> <link href='gemini://gemini.susa.net/ublock-logging-externally.gmi' rel='alternate'/> <summary>I’ve been working on and off on the Commerce_Filtered_Search_Engine (CFS), essentially a survey of the web to find sites that are not commercially driven, in order to index them for searching. The idea is that if we can filter out all the click-bait and commercial stuff, what’s left might actually be interesting, novel, and informative (and a fair bit of rubbish, I expect, but perhaps it’ll at least be honest and sincere rubbish). Up until now, I’ve been using Puppeteer with </summary> <updated>2020-07-15T20:09:42+00:00</updated> </entry> <entry> <id>urn:uuid:e5ead09d-ddc2-21e3-2ba5-69568756d373</id> <title>What I do to debug library issues.</title> <link href='gemini://gemini.susa.net/linux_runtime_linking_debug.gmi' rel='alternate'/> <summary>I compiled and installed GnuTLS to get some features that my distribution package was missing. However the next time I tried to clone a repository, git complained with an error. git-remote-https: relocation error: /usr/lib/x86_64-linux-gnu/libcurl-gnutls.so.4: symbol gnutls_srp_allocate_client_credentials, version GNUTLS_3_4 not defined in file libgnutls.so.30 with link time reference So, I locate the files relating to this shared object... My local installation shows up, along with the original</summary> <updated>2020-09-12T23:07:29+00:00</updated> </entry> <entry> <id>urn:uuid:1be34af5-0b72-70e8-e0b8-e6393e7b5dc9</id> <title>PuTTY, Windows 7, unreliable network</title> <link href='gemini://gemini.susa.net/putty_windows7.gmi' rel='alternate'/> <summary>I've been having problems with SSH to servers in my home over powerline adapters. The sessions would drop periodically, perhaps every 20 minutes or so, but less often when the session was being used. I had been making the assumption that something was getting messed up somewhere on the MAC layer, but I think I've been entirely wrong on that. It seems that, with unreliable connections, PuTTY is more or less compelled to drop the connection because otherwise the connection is vulnerable to MITM at</summary> <updated>2020-08-14T19:47:59+00:00</updated> </entry> <entry> <id>urn:uuid:6b87fa87-fefe-b9db-aa2d-5aa12f0f3ef3</id> <title>Google Play wants Body Sensors</title> <link href='gemini://gemini.susa.net/google_play_body_sensors.gmi' rel='alternate'/> <summary>I recently had a great idea - use body sensor data to infer my emotional state while reading stuff, and have my browser give me visual cues, such as colour scheme changes, as indicators about how the page might be affecting me. A sort of 'insights' or 'early warning' feature. Google Play Services on Android wants permissions for body sensor data. I have no body sensors, so far as I know, but my phone probably provides enough sensors to infer stuff. If I did have body sensors, I would not want Go</summary> <updated>2020-09-05T16:47:37+00:00</updated> </entry> <entry> <id>urn:uuid:a9b46d01-d270-4efd-823d-25ee2486f848</id> <title>Gemini over LoRa</title> <link href='gemini://gemini.susa.net/gemini_over_lora.gmi' rel='alternate'/> <summary>This is a holding page while I collect my thoughts and links. TLS would be painful on an MCU, but not impossible. It might also limit the effectiveness, since LoRa bitrate drops with distance. So ditch TLS between client and gateway. However, LoRaWAN offers 128-bit AES, so it's possible that TLS could be substituted for the existing tech. What I have in mind is an MCU connected to to a LoRa module, a screen, and a keyboard. A connection is established by broadcasting for gateways, and the user s</summary> <updated>2020-08-21T00:27:39+00:00</updated> </entry> <entry> <id>urn:uuid:58b970e1-8dfc-5272-72df-b35a71eb780e</id> <title>Privacy - Care about it.</title> <link href='gemini://gemini.susa.net/privacy_justifications.gmi' rel='alternate'/> <summary>The trouble with privacy is that it's hard to convey the risks without sounding petty. None of them have tangible consequences, and it's naturally difficult to see the bigger picture in which our data is being used. So I want to collect some simple examples of material cost of tracking and data-harvesting. I want examples that are easy to relate to 'everyday' experiences. </summary> <updated>2020-08-18T09:57:34+00:00</updated> </entry> <entry> <id>urn:uuid:3c61e63a-9047-7e80-2d43-d3078bcb7bd7</id> <title>Brecht vs Superman</title> <link href='gemini://gemini.susa.net/brecht_vs_superman.gmi' rel='alternate'/> <summary>None of this is partularly well considered, and is just an attempt to organise disparate thoughts and irks that I had floating around. The following are some thoughts after reading about Superman in some essays on the 1950s American TV shows by James Tomasino: From Wikipedia on Brecht, this kind of summarises what I like about the ideas of Brecht: It should be clear already that I am not well read on Brecht (or well read at all, for that matter), but the principle above resonates strongly with m</summary> <updated>2020-09-03T09:57:00+00:00</updated> </entry> <entry> <id>urn:uuid:3a36ba29-0382-2641-affe-fec0ea0a6b8a</id> <title>IndieWeb Notes</title> <link href='gemini://gemini.susa.net/indieweb_notes.gmi' rel='alternate'/> <summary>IndieWeb is a good concept (nominally, at least), as is Small Web. Not that I think these initiatives are in any way definitive of a movement towards a more diverse and independent web, but they certainly contribute to it. On the down-side, IndieWeb in particular seems something of an obfuscated mess. I can't imagine many creative people getting excited by what it purveys - it seems more of a social gathering than a directed initiative. I can't seem to find many fruits of its labour, but it migh</summary> <updated>2020-08-31T22:49:24+00:00</updated> </entry> <entry> <id>urn:uuid:83cd12b4-686c-24c0-4efe-a8993d2f6d38</id> <title>Minimum Gemini Survival Kit</title> <link href='gemini://gemini.susa.net/gemini_prep_kit.gmi' rel='alternate'/> <summary>For those times when all you have is a Unixy shell. I'll use the words prep, prepper, and prepping so it can be found via GUS when you need it most! Below are some seed URLs to might want to use to start exploring. The following sections will cover 1) a minimal client, 2) creating a client certificate, 3) creating a server certificate. A client certificate is only used if you need to authenticate yourself, and a server certificate is only needed if you're running your own server. Here are some e</summary> <updated>2020-09-21T14:09:30+00:00</updated> </entry> <entry> <id>urn:uuid:d3f1dc53-87fc-f370-6719-c0c914e6b06f</id> <title>From https://vimhelp.org/index.txt.html#ex-cmd-index</title> <link href='gemini://gemini.susa.net/vimrc/ex-commands.gmi' rel='alternate'/> <summary>This is a brief but complete listing of all the ":" commands, without mentioning any arguments. The optional part of the command name is inside []. The commands are sorted on the non-optional part of their name. tag command action list be remapped been modified current window identifier </summary> <updated>2020-09-09T00:13:09+00:00</updated> </entry> <entry> <id>urn:uuid:a9b55b4f-38d4-4f3f-36a6-2eb980d41954</id> <title>Web pages to Gemini with Reader Mode utility</title> <link href='gemini://gemini.susa.net/web_readability_cli.gmi' rel='alternate'/> <summary>It can be useful to make some web pages available in Gemini space, but HTML is surprisingly difficult to convert to plain text. A lot of heuristics are involved, and they change along with web fashions. Firefox does a great job of this in Reader mode, and the JavaScript code is available to use. The GitLab user @gardenappl has taken this code and made it into a CLI command to run in NodeJS. The project page is linked below and includes instructions on how to install via npm. This provides a comm</summary> <updated>2020-07-19T20:07:48+00:00</updated> </entry> <entry> <id>urn:uuid:e069a69a-26bd-802d-0440-bc0f221428c6</id> <title>Make a manpage executable</title> <link href='gemini://gemini.susa.net/executable_man_pages.gmi' rel='alternate'/> <summary>Sometimes you just want to use a binary locally and not do a proper installation, but also want to make the man-page easily accessible. You can add the following to the top of a man-page, and make it executable, e.g. for the man page source file 'thttpd.8': - So your file might look something like this: - thttpd - tiny/turbo/throttling HTTP server etc. etc. etc. ... So when I 'chmod a+x thttpd.8' and run it, the man page shows in the man page reader. It may be a good idea to rename the file (e.g</summary> <updated>2020-08-07T00:25:28+00:00</updated> </entry> <entry> <id>urn:uuid:08d9a678-182d-c0ac-39ee-e28aa2a6cbf2</id> <title>Input/Output Redirection in the Shell</title> <link href='gemini://gemini.susa.net/shell_input_output_redirection.gmi' rel='alternate'/> <summary>This page was used when I was testing html2text (which I used to make html2gmi). It seemed useful, so I kept it on my Gemini space. The original file can be found on the blog linked below. I may have introduced errors! When we type something into our terminal program, we’ll often see output. For example: echo hello hello As we can see, echo hello is a command that means “output hello”. But where does that output really go? Every Unix-based operating system has a concept of “a default pla</summary> <updated>2020-09-14T22:57:29+00:00</updated> </entry> <entry> <id>urn:uuid:47bf1334-6d3a-73a0-7c29-60f43579aa42</id> <title>Frank Kermode on Desert Island Discs</title> <link href='gemini://gemini.susa.net/frank_kermode_desert_island_discs.gmi' rel='alternate'/> <summary>I think the BBC's Desert Island Discs is one of the most effective formats ever created. The idea of asking people to choose their absolute favourite pieces of music, and to talk about why these pieces are, or were, important in their lives lends well to getting sincere and honest conversation. It's important to suspend judgement based on, for example, the slightly pompous sounding intro music, the predominance of public-school accents, etc., particularly on older episodes (I believe Lauren Lave</summary> <updated>2020-08-20T11:28:47+00:00</updated> </entry> <entry> <id>urn:uuid:7c7d2503-860f-6211-8e54-1d085ee93c10</id> <title>rsync entire root filesystem to a local device</title> <link href='gemini://gemini.susa.net/rsync_vps_backup.gmi' rel='alternate'/> <summary>This can be used to snapshot an entire server, useful for keeping a copy before migrating a VPS, for example. rsync -avxHAX --progress server.example.com:/ ./local_backup_dir The options are: Other options: </summary> <updated>2020-07-27T21:21:03+00:00</updated> </entry> <entry> <id>urn:uuid:92d73a46-6dd6-6be5-2a91-4a67e7915015</id> <title>Awk Cheat Sheet of sorts</title> <link href='gemini://gemini.susa.net/awk_notes.gmi' rel='alternate'/> <summary>IGNORECASE=1 string ~ /pattern/ string !~ /pattern/ Quantifiers: . + * ? {n} {n,} {n,m} Groups: (something) (^word | word$) (\w+ ){3} sub(regexp, replacement [, target]) gsub(regexp, replacement [, target]) split(string, array [, fieldsep [, seps ] ]) ( e.g. "," ) patsplit(string, array [, fieldpat [, seps ] ]) ( e.g. "(\d+)-(\w+)" ) substr(string, start [, length ]) index(haystack, needle) toupper() & tolower() return a new modified string. for (idx=0; idx < 5; idx++) { } for (idx in my_array</summary> <updated>2020-08-25T21:13:29+00:00</updated> </entry> <entry> <id>urn:uuid:90bf5196-0378-a1ff-59c2-95e636f44d55</id> <title>Owl Custard</title> <link href='gemini://gemini.susa.net/owl_custard.gmi' rel='alternate'/> <summary>As everyone knows, when young owls fledge, they have to learn how to hunt mice for themselves. Until they hone these skills, if they are unable to catch a mouse for dinner, their parents will feed them custard to provide raw calories. This helps provide adequate nutrition, while at the same time motivating them to fend for themselves. Baby owls do not like custard, as can be seen in this rare image captured after an unsuccessful hunting lesson. While it may look cruel, the custard provides more</summary> <updated>2020-08-16T16:16:16+00:00</updated> </entry> <entry> <id>urn:uuid:37be9501-fa1b-40cf-5b53-d00bc91f5dff</id> <title>Notes on a simple site-seach script</title> <link href='gemini://gemini.susa.net/notes_on_my_search_script.gmi' rel='alternate'/> <summary>The scripts described here depend on Bash, Ack, and Awk to search the site contents and present them in a readable format. Ack is a grep-like utility that tends to be my first choice for searching file, mainly because it produces nice terminal output and searches recursively by default. I have used Ack here, but really grep would do just as well. Ack is written in Perl, so we're launching a heavy interpreter to do the search, though I don't care so much right now. So, the script prompts for a QU</summary> <updated>2020-07-14T21:06:33+00:00</updated> </entry> <entry> <id>urn:uuid:bccdd95c-f233-662e-21e3-2cbdd178ce9c</id> <title>Web Worth Preserving</title> <link href='gemini://gemini.susa.net/web_worth_keeping.gmi' rel='alternate'/> <summary>A list of resources on the world wide web that are good enough to be worth keeping. Please send suggestions to kevinsan on IRC or kevin@susa.net or, if you compile your own list, please let me know so I can link it here. </summary> <updated>2020-09-01T18:30:49+00:00</updated> </entry> <entry> <id>urn:uuid:4a372865-d938-094b-4e19-bc77858a52e1</id> <title>Comparison of signature verification between ECC and RSA certificates.</title> <link href='gemini://gemini.susa.net/ecc_vs_rsa_verify.gmi' rel='alternate'/> <summary>The following are very crude measurements of the time taken for the openssl command, running in Bash, to verify signatures generated using ECC and RSA keys, to see whether ECC client certificate represent a significant burden on a Gemini server. The 'testfile' that gets signed is 1024 bytes from /dev/urandom. The same file is used throughout, because I want to measure relative computation time, though in practice ECC certificates are smaller. To summarise the results, in short, I don't think the</summary> <updated>2020-07-22T16:58:01+00:00</updated> </entry> <entry> <id>urn:uuid:28d81755-1b98-b570-837e-c03bdfca6b94</id> <title>Rob Pike's 5 Rules of Programming</title> <link href='gemini://gemini.susa.net/rob_pike_five_prog_rules.gmi' rel='alternate'/> <summary>These turned up on HN, and they resonate with my approach to doing stuff in Gemini. Brute force, mostly Bash, simple code. These rules are particularly relevant in our plain-text world. Our processing power is many orders of magnitude greated than when these tools and techniques were first developed, and they were still useful back then. So, always keep in mind that our audience on Gemini is small and will probably remain relatively small. Even an entry level VPS will likely outpace even the mos</summary> <updated>2020-08-12T21:59:19+00:00</updated> </entry> <entry> <id>urn:uuid:2a3ead97-b609-feeb-47c0-1d4509424a4d</id> <title>Bash script - sitemap with full-text-search</title> <link href='gemini://gemini.susa.net/sitemap_script.gmi' rel='alternate'/> <summary>The script below generates a sitemap in my content directory based on the file files *.gmi that it finds there. The files are sorted in reverse chronological order of their last-modified time - most recent first. I'm not sure if that's quite the best way to sort it, but it's more useful than filesystem order. The link text is generated from the first content line of the file, if it's a heading line. Otherwise, the filename is used, but with underscores replaced with spaces. I also build a full-t</summary> <updated>2020-08-05T16:47:34+00:00</updated> </entry> <entry> <id>urn:uuid:98deee34-2618-9f37-3db8-043caec0b174</id> <title>Resolvconf and systemd-resolver notes</title> <link href='gemini://gemini.susa.net/resolvconf_and_systemd_resolver.gmi' rel='alternate'/> <summary>On Debian, The above will show if your 'resolv.conf' is managed by 'resolvconf'. Now let's ensure we've got our local systemd resolver configured. DNS=192.168.178.1 (e.g. your local DNS server, possibly your router) Cache=yes Finally, for completeness, ensure resolvconf has the chance to generate 'resolv.conf', though this has probably already been done. For reference, the name and location of the resolvconf files are also shown below. cat resolv.conf.d/{base,head,original,tail} service res</summary> <updated>2020-08-12T23:09:18+00:00</updated> </entry> </feed>