Gopher Stuff ============================================================ This is just a short weekend update. I don't want to burn either your or me out on Nim, so I'll probably take little breaks now and then. Last week, I added a `gopher/` directory to RGB (Ratfactor's Gopher Burrow on SDF) for Gopher files, but I didn't put anything in it. [1] That was an unintentional tease. It turns out, I wasn't as ready as I thought I was to share a couple tiny filez. (You know what? I attribute some of my success with computers to my seemingly incurable proclivity to underestimate the effort required to finish programming projects. I think if I knew how long even the smallest program would end up taking me, I wouldn't start *most* of them. That includes today's offering, which I consider a stop-gap on the road to much grander things.) Ken ------------------------------------------------------------ At any rate, the first thing I'm putting in the gopher directory is a script called `ken`. [2] It's short for "Kenny Phloggins", which is a silly name that popped into my head while making some changes. Technically, it's the continuation of the ludicrously minimalist system I included in my Aug 13 phlog post "Gopher Logging in Eleven Lines of Shell". [3] Some of the lines remain. Shortcomings: - Uses Bash-isms such as `select` for creating menus - Is hard-coded to use Vim as the editor (though it could be easily updated to use $EDITOR) - The `push` code is extremely specific to me - In fact, the whole `src` and `public` directory structure is specific to me - It uses Bitreich's tttml-fmt, which you'd need to install first Having gotten that out of the way, I'm really happy with this because: 1. It solves my "chicken and egg" problem wherein I'm relearning the language I'd like to make my "real" tools (with)...but I want to phlog in the meantime 2. It's completely pragmatic and useful - containing *exactly* the functionality I need and not a drop more 3. It completely takes the tedium out of the create/edit/review ... edit/review cycle and does it safely with backups after each edit 4. It's built to work locally and then push changes to SDF on demand Usage ------------------------------------------------------------ When you start it up, `ken` reads the phlog's gophermap to get the initial list of phlogs. Then it presents a menu from which you can either pick a phlog or create a new one: $ ./ken Kenny Phloggins says, "Welcome to the Danger Zone!" Phlogs read from src/phlog/gophermap: 1) 2018-08-26-gopher-stuff 2) 2018-08-24-Nim-day-2 3) 2018-08-23-Nim-day-1 4) 2018-08-20-In-praise-of-enthusiasm 5) 2018-08-17-How-are-you 6) 2018-08-15-Text-has-styles 7) 2018-08-13-Gopher-Logging-in-Eleven-Lines-of-Shell 8) 2018-08-12-Weekend-Tech-Scramble 9) 2018-08-10-The-Logging-Habit 10) 2018-08-09-First-Post 11) NEW Select a phlog to edit: If you select the NEW option, `ken` prompts for a title and then creates the phlog entry and appends as link to the phlog gophermap. You're presented with both the gophermap and phlog entry to edit. Once you're done with the new entry, you're taken back to the main menu. At the main menu, you are given options for the selected phlog entry. Let's say you've pick an existing entry (rather than creating a new one): Select a phlog to edit: 2 Current entry: 2018-08-24-Nim-day-2 1) List 2) View 3) Edit 4) Push 5) Quit Action: You can view the entry (with less), edit the entry (currently with Vim), or push the entry (using `scp` with my specific settings). At any time, you can also go back to the list of entries or quit! The neat thing about the push feature, for me, is that `ken` solves a problem I've been consistently having with using `scp` with SDF: for some reason, it fails about half the time with an "access denied" error. Retrying always works. So `ken` retries each push attempt up to three times, delaying 5 seconds between each try to keep out of trouble. No doubt the "access denied" is due to user error on my part, but for now, this peaceably solves my problem. Welcome to the Danger Zone [4] ------------------------------------------------------------ I'm not sharing this because I expect anyone to actually use it. I'm sharing it because I like looking at what other people have. (Thanks, other people!) We all do things differently, which makes for fertile ground for neat ideas. Perhaps something in this will be useful to someone else. [1] gopher://sdf.org:70/1/users/ratfactor/gopher [2] gopher://sdf.org:70/0/users/ratfactor/gopher/ken [3] gopher://sdf.org:70/0/users/ratfactor/phlog/2018-08-13-Gopher-Loggi ng-in-Eleven-Lines-of-Shell [5] [4] Not everyone is from the same cultural background, so let me save you the search: Kenny Loggins is a singer/songwriter famous for a ton of movie soundtrack tunes including "Danger Zone" featured in the 1986 film "Top Gun". [5] I swear I'll never again make a phlog entry with a filename as long as that one! Community Notes ------------------------------------------------------------ Thanks to solderpunk for VF-1! I use it about half the time and Lynx the other half. They both have things I like too much to give up. I've also seen mention of a Bitreich client? It's on my TODO list to check out. Also, I finally checked out Tomasino's `burrow` and that's a great tool: https://gitlab.com/jamestomasino/burrow/blob/master/burrow I love all of the individualism on the Gophersphere!