Rick Cogley's Tech Logr

Short Technical Laser Bursts %%


Rick’s short, technical tip microblog built with Hugo, powered by Apex Up and monitored by Apex Ping. See also the Github repo.

25 Jan 2021


Updated Logr site to deploy to AWS lamdba using Apex up, via Github Actions. Create a markdown file, enter the text (like this text), git commit and push to master and boom. Works a treat. 🤖

RC Logr 20210125 100846 - Updated Logr site to deploy to … Rick Cogley

24 Jan 2021


Looking at modern web hosts like Netlify or Vercel, a smaller provider Aerobatic @aerobaticapp (https://aerobatic.com) is looking more and more attractive. 👍 Authentication and identity is expensive, generally, but if you combine the per-site price of Aerobatic with a lower tier of say, Auth0, you have a really easy and good combination for making a static site private.


That being said, as of Jan 2021 it appears Aerobatic has not tweeted or updated their site since 2018; everything ok?!

RC Logr 20210124 212351 - Looking at modern web hosts … Rick Cogley

21 Jan 2021


If you are not using « Apex up » by @tjholowaychuk (https://apex.sh) to deploy sites or apps to Amazon AWS, you are missing out. It takes away so much of the pain of using the AWS infra, the pro version is worth every penny. 😍🔥

It deploys to lambda, which believe it or not, works a treat for a simple static site. I’m really amazed.

Now I just need to figure out Auth0 integration …

RC Logr 20210121 205751 - If you are not using « Apex up … Rick Cogley

17 Jan 2021


MacOS users, perhaps you know you can option-click an icon in the Dock to force quit that app. You can also press Shift while clicking the Apple menu to do the same for the current app. Nifty. 😽

RC Logr 20210117 110526 - MacOS users, perhaps you know … Rick Cogley

07 Jan 2021


Two interesting new apps, both keyboard-centric, light and fast: @height_app, @linear_app 😍

https://height.app https://linear.app

Update 17 Jan 2021

  • Linear app is opinionated, and wants you to buy in to their philosophy, which appears to be not quite finished (“cycles” not sprints, etc).
  • Height app is flexible and lets you adjust your workflow how you want.

Kind of like SAP vs Oracle in the ERP world, no?

In any case, either one would be worlds better than Jira, which, in addition to its sister app Confluence, to this day has that good ol' java sluggishness. I mean, those apps are painfully slow, and exist simply because “that’s the way we’ve always done it”. Ugh.

RC Logr 20210107 215726 - Two interesting new apps, both … Rick Cogley

01 Jan 2021

🗓 "New Year Holiday" in Japan


Happy new year! May your 2021 be healthy & extra geeky! 🤖

RC Logr 20210101 084415 - Happy new year! May your 2021 … Rick Cogley

29 Dec 2020

🗓 "Year End Holiday" in Japan


MacOS users, if you ever need to reset your Finder, Dock or Menubar, you can issue these commands from Terminal.

killall -KILL Finder
killall -KILL Dock
killall -KILL SystemUIServer

It’s useful sometimes.

RC Logr 20201229 132632 - MacOS users, if you ever need … Rick Cogley

27 Dec 2020


MacOS Big Sur users, if you are having trouble with trackpad gestures, try opening terminal and doing:

 killall -kill Dock

This fixes the problem for me. 🤖

RC Logr 20201227 210231 - MacOS Big Sur users, if you … Rick Cogley

15 Nov 2020


Devs, if you upgraded to MacOS Big Sur and use brew, you might need to manually uninstall and re-install «CLT» Command Line Tools. It does appear in Software Update, but just updating Xcode there does not do it. 😅

Here are the simple steps you can take in your term:

sudo rm -rf /Library/Developer/CommandLineTools/
sudo xcode-select --install

Once you run the second install line, it will popup a dialog box to agree to and off you go. Go have a coffee, as it is a large download.

N.b.: if you stumbled on this and don’t know what to do, you can run the above in Terminal.app. You can copy paste in the first line, press enter, then because the command uses sudo you’ll need to enter your MacOS login password. The password you enter will still be effective for the second line, which pops up a disclaimer to agree to. When you agree, it will do the needful and reinstall.

RC Logr 20201115 220326 - Devs, if you upgraded to MacOS … Rick Cogley

12 Nov 2020


Macs with the new M1 chip from Apple are limited in external monitor support. People will be expecting a Macbook Pro to support 2 or more external displays but it supports only 1. 😒

RC Logr 20201112 152406 - Macs with the new M1 chip from … Rick Cogley

02 Nov 2020


«Dasel» is an open source DAta SELector program that allows you to query and modify data structures from JSON, YAML, TOML and XML, similar to jq and yq. It is written in go, so it has zero runtime dependencies. 🤩

If you look at the repo readme, it seems like it would be fairly trivial to convert from jq to dasel in many cases, and it also replaces some obscure jq syntax with more verbose syntax that might be a tad easier to grok.

RC Logr 20201102 163842 - «Dasel» is an open source DAta … Rick Cogley

15 Oct 2020


I have not used it yet, but «Vale», a cross-platform command-line linter for prose, looks really sweet. Will set up a .vale.ini in a project and give it a whirl. 🌀

RC Logr 20201015 105657 - I have not used it yet, but … Rick Cogley

18 Aug 2020


Learned about the sweet free and open source «@Asciinema» service today, which lets you record your terminal sessions for sharing. Read on for a few tips. 🤩

  • Create an account at https://asciinema.org by supplying an email, click on the link in an email you will receive to create an account, then give yourself a username. This creates a profile URL like: https://asciinema.org/~rickcogley
  • If you use macOS and brew, install with brew install asciinema. ASCII Cinema, get it?
  • Run asciinema auth and open the link that appears in the terminal, in the browser where you are logged into asciinema. This links your localhost with your account, so when you make a screen recording on that host, it will be linked and appear when you are logged in. You can see what localhosts are linked in the “recorder tokens” section in Settings in the web app:
Recorder tokens
The following recorder tokens have been associated with your account:
    c06f7b2a-22af-4b05-9abb-e1c2345d4321 registered on Tue, 18 Aug 2020 04:19:44 Z - Revoke
  • Record a session by issuing asciinema rec -t "Title of the Session" changing the title to taste. Press ctrl-D to exit, and you’ll get a message like:
asciinema: recording finished
asciinema: press <enter> to upload to asciinema.org, <ctrl-c> to save locally

View the recording at:

user=86.94s system=68.94s cpu=69% total=3:44.77
  • You can download the “cast” files for sharing, as well. They are tiny, compared to video screencasts.
 $ ll 345381.cast
 Permissions Size User    Group Date Modified    Name
 .rw-r--r--@  87k rcogley staff 2020-08-18 14:45 345381.cast

RC Logr 20200818 132712 - Learned about the sweet free … Rick Cogley

10 Aug 2020

🗓 "Mountain Day" in Japan


If you have a json config file and want to see what it looks like in yaml format, the utility site json2yaml makes trivial work of this. Nice! 🤖

RC Logr 20200810 180831 - If you have a json config file … Rick Cogley

30 Jul 2020


If you make a mistake and enter sensitive information in your zsh prompt, it is saved in history. Since you do not want that info sitting around in a plain text file, simply edit $HISTFILE to get rid of the offending line, then use fc -R to reload the history file. 😎

A couple of tips:

  • zsh history is often kept in ~/.zsh_history but that path can be confirmed by doing echo $HISTFILE.
  • your ~/.zsh_history might be massive, but vim can load it without trouble. Assuming you have vim, open the history file with vim ~/.zsh_history, press esc, then use shift + G to jump to the end of the file. Delete the offending line with D then save with :wq.
  • if you confirm with history it will show the unneeded line still, so do the fc -R to reload the history file you just edited and saved.

RC Logr 20200730 113444 - If you make a mistake and … Rick Cogley

21 Jul 2020


If you want to autosign git commits on Mac, there are a couple of tricks to it. I have not been able to get brew gpg to work consistently well, but installing from gpgtools.org seems to be able to be made to work. 🤖 This worked for me:

  1. Install GPGTools from https://gpgtools.org
  2. Create / import a key, then run gpg --list-secret-keys to find the sec key fingerprint
  3. Make git settings, specifying the signing key as the fingerprint with no spaces:
% git config --global gpg.program /usr/local/MacGPG2/bin/gpg2
% git config --global user.signingkey 54EF87etc02B 
% git config --global commit.gpgsign true 
% git config --global tag.forceSignAnnotated true
  1. If you want to autocommit to GitHub, open https://github.com/settings/keys and add the same public gpg key there. This links signed commits you make locally, once you push to master on the remote.
  2. Edit ~/.gnupg/gpg-agent.conf and add this line:
 pinentry-program /usr/local/MacGPG2/libexec/pinentry-mac.app/Contents/MacOS/pinentry-mac

I had the brew version installed, and this was set to call /usr/local/bin/pinentry-mac, but the brew version is an older version. You can see that the pinentry-mac binary is being called from within an app bundle.

% /usr/local/bin/pinentry-mac --version
  pinentry-mac (pinentry) 0.9.4
% /usr/local/MacGPG2/libexec/pinentry-mac.app/Contents/MacOS/pinentry-mac --version
  pinentry-mac (pinentry) 1.1.0
  1. Edit ~/.gnupg/gpg.conf and add this line:

You can relogin with exec $SHELL --login, and reload the agent with gpgconf --kill gpg-agent.

It may work now.

RC Logr 20200721 195846 - If you want to autosign git … Rick Cogley


If you like Sudoku, you might also like «Hexologic», by Mythic Owl. ⬡

六角論理 in Japanese.

RC Logr 20200721 085228 - If you like Sudoku, you might … Rick Cogley

20 Jul 2020


«Zsh for Humans» (z4h by @romkatv on GitHub) is a configuration for z-shell that just works and works well. It has a killer ssh wrapper feature, that lets you auto-push your zsh environment up to a remote server, and is pre-configured with the most useful stuff. So sweet. 😎

That is not to even mention the awesome prompt it includes: powerlevel10k.

Use the ssh wrapper like this:

% z4h ssh myuser@thehost.com

If you are on MacOS, be sure to tweak some settings in your term so the bindings work as expected:

  • iTerm2:
    • iTerm, Prefs, Profiles (select your profile), Keys, then…
    • Right/Left option key: Esc+
  • Kitty:
    • in the config file: macos_option_as_alt yes

Now you can enter a command like history and before hitting Enter, press Alt-H to show help for that command.

RC Logr 20200720 211227 - «Zsh for Humans» (z4h by … Rick Cogley

19 Jul 2020


Today I sat and replaced cat with «bat». Bat is a fast (written in Rust) cat clone with syntax highlighting for programming and markup languages, integration with your $PAGER, and git index awareness. 🔥

Set defaults in a config stored in ~/.config/bat/config, which looks something like:

--pager="less --quit-if-one-screen --tabs=1"

I use most as my $PAGER and it appears to not play well with bat, so, setting the --pager in the config was required.

RC Logr 20200719 181054 - Today I sat and replaced cat … Rick Cogley

18 Jul 2020


«Exa» (@dot_slash_exa) is a superb modern and fast ls replacement that supports colors, file and filesystem info, tree view, git info, and wide view. You have plenty of compute power, so why not take advantage of it and use something better than ls. 🤖💌

It’s easily installed on mac (brew install exa) or linux (e.g. on fedora sudo dnf install exa).


% exa --long
% exa --classify
% exa --header --long --list-dirs
% exa -lh -t=mod --time-style=long-iso 
% exa --tree --level=2
% exa --long --git
% exa --long --extended some_pdf.pdf

RC Logr 20200718 203303 - «Exa» (@dot_slash_exa) is a … Rick Cogley