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 …
12 Nov 2020
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 …
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?
asciinema authand 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:
- Record a session by issuing
asciinema rec -t "Title of the Session"changing the title to taste. Press
ctrl-Dto exit, and you’ll get a message like:
- You can download the “cast” files for sharing, as well. They are tiny, compared to video screencasts.
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_historybut that path can be confirmed by doing
~/.zsh_historymight be massive, but
vimcan load it without trouble. Assuming you have
vim, open the history file with
vim ~/.zsh_history, press
esc, then use
shift + Gto jump to the end of the file. Delete the offending line with
Dthen save with
- if you confirm with
historyit will show the unneeded line still, so do the
fc -Rto reload the history file you just edited and saved.
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:
- Install GPGTools from https://gpgtools.org
- Create / import a key, then run
gpg --list-secret-keysto find the
- Make git settings, specifying the signing key as the fingerprint with no spaces:
- 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.
~/.gnupg/gpg-agent.confand add this line:
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.
~/.gnupg/gpg.confand 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 …
If you like Sudoku, you might also like «Hexologic», by Mythic Owl. ⬡
六角論理 in Japanese.RC Logr 20200721 085228 - If you like Sudoku, you might …
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:
If you are on MacOS, be sure to tweak some settings in your term so the bindings work as expected:
- iTerm, Prefs, Profiles (select your profile), Keys, then…
- Right/Left option key: Esc+
- in the config file:
- in the config file:
Now you can enter a command like
history and before hitting Enter, press
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:
most as my
$PAGER and it appears to not play well with
bat, so, setting the
--pager in the config was required.
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).
10 Jul 2020
One way to hide the contents of a file, e.g. one containing environment variables containing secrets, is to use gpg symmetric encryption, which meb7 ans encrypt and decrypt use the same secret. It is convenient, and you can supply the secret when you need it. 🤖
The encrypt command will create a file
vars.txt.gpg and if you list its contents you will see they are encrypted.
06 Jul 2020
You install zplug like this:
Enable and configure it in your
~/.zshrc using some of the examples provided:
liquidprompt, those are just copy-pasted from the docs. Then restart your terminal and answer the install prompts to install the plugins. Sweet zsh goodness. Thanks to Masaki Ishiyama for coding up a great system https://twitter.com/b4b4r07.
RC Logr 20200706 060711 - Trying a different zsh plugin …
27 Jun 2020
If you are using the aws cli tool, you can set the shell env var «AWS_PROFILE» to match your setup profile names linking to specific IAM credentials. 🍺 Here it is in a zsh function.
This function sets some local vars, sets AWS_PROFILE via
export then confirms it is set, then builds and deploys the site via
hugo deploy. The site has a config file with the “coolsitejp” target, and under that is specified which AWS S3 bucket to deploy to. Use
export instead of a simple assignation like I am doing with
_hugobin etc, because you want to have the variable ready for use when the script invokes
hugo to build and deploy the site. The last line unsets AWS_PROFILE for good measure if it was not set already, or resets it to whatever it was set to initially.
25 Jun 2020
If you have AirPods Pro headphones there is a firmware update (from 2D15 to 2D27) with no details on what it does. How to update? 🤔 Nobody can say.
Apparently, if you listen to music for a minute or so, then put the headphones in their charger and connect to power, they update in a few minutes. It may be voodoo majick but it worked for me.
Confirm the before and the after:
- Connect to your iOS device.
- Open Settings, then go to General -> About.
- Find your AirPods and tap the name.
- Find the firmware version. (Take a screenshot which on my XS is: press big right button and volume up button simultaneously)
I connected a new ELECOM WRC-X3000GS broadband router that supports «Wi-fi 6», or IEEE 802.11ax via an Intel WAV600 chipset, with high hopes for 9.6 Gbps goodness. It connected to my Docomo hikari line without any settings (convenient!) but kept dropping the connection. 👺 A call to Elecom support solved it straight away.
The support professional suspected she knew what it was, and had me check the PPP LED on the unit. It was off. She asked if I had entered the ISP credentials and I said no, it just connected. She told me that that kind of connection is kind of a test mode and recommended I check my ISP information again for login information. She directed me where to enter it, and sure enough, once I did that, the unit is stable and fast.
Still, I find it really odd that the installer would not mention this important fact. The Amazon reviews section is full of people grousing about how bad the router is and that it drops its connection, so I bet others are getting hit with this same thing and just giving up.RC Logr 20200625 084815 - I connected a new ELECOM …
Google released a way to automatically delete the data it stores on you more frequently. Log in to https://myaccount.google.com/data-and-personalization and find Auto-delete in «Activity Controls». 😌
You can set the auto-deletion period as short as 3 months, and the setting is separate for web and app, location and YouTube history.RC Logr 20200625 054237 - Google released a way to …
16 Jun 2020
Simon Fredsted @fredsted has been prolifically releasing new features for his fantastic webhook utility site https://docs.webhook.site/news.html. 🤖🦾 Now manipulate CSVs, upload to S3, ping Slack and Discord, schedule actions.
Some usage ideas:
- Schedule sync of information between systems A and B
- Receive jpg by email, upload to AWS S3 bucket
- React to Slack “slash command”
- Receive a CSV via web form, manipulate and upload it to a data table via REST
- Receive inputs via web form, append to Google Sheet
Get the paid version; it’s well worth it.RC Logr 20200616 095855 - Simon Fredsted @fredsted has …
09 Jun 2020
Found a good utility called «yq», which aims to be the jq for yaml. You can easily convert json (say from a REST i/f) to yaml, and it is a dependency free single binary. Sweet! 🥳 Works really well in scripts in combination with jq or curl.
For example, this is how you would convert a json file to yaml:
Yq read and pretty print. It just works.RC Logr 20200609 172638 - Found a good utility called …