Podcast on Software Architect culture
I just listend to this very great episode on Software Architect work, responsibilities & culture. So bad it’s in German only, but a must hear for any1 active in this field!
https://www.innoq.com/de/podcast/147-kultur-der-architekturarbeit/
Original issue and comments
https://github.com/rngtng/rngtng.github.io/issues/38
The Four Stages of Testing That Help Your Focus
Here’s a great blogpost which speaks out of my heart.
https://naildrivin5.com/blog/2022/08/04/the-four-stages-of-testing-that-help-your-focus.html
Original issue and comments
https://github.com/rngtng/rngtng.github.io/issues/32
Enable tab completion for your Dry::CLI
When it comes to building helpful CLIs - I’m a huge fan of Dry::CLI . Writing CLIs was never that simple and structured with a rich option/argument parser, help page, subcommands and more. Although one feature I was missing it the option for tab completion. Nothing is more convenient when magically commands or the argument values appear for selection!.
A question to the community wasn’t much helpful so I decided to build it on my own. Luckily I came across this great gem https://github.com/DannyBen/completely which already does the heavily lifting of understanding bash & zsh’s completion syntax & semantics (believe me, it’s not fun ;). So all I had to do was to extract the commands, arguments & options of the dry-cli registry, put it into the completely input data structure and generate the completion script! This all I wrapped in a simple dry-cli drop-in command and ship it as dry-cli extension gem. For more details and instruction have a look here:
https://github.com/rngtng/dry-cli-completion
Once again a huge shout out to DannyBen for completely which allows me to generate the script very conveniently.
p.s. Extension for hanami-cli is in the making :wink:
SOLVED: use AWS-VAULT with gopass as backend
A very good tool to manage multiple AWS account, especially with SSO enabled is AWS VAULT. Idea is that a session gets securely stored in a backend and (re-)used until it expires.
One downside with he default macos keystore as backend is a manual password entry every time the session renews. This is not only annoying, reduces security but even aligns with my security setup. Luckily pass
is supported as backend too. But for the but mature version gopass
, the following setup has to be applied:
Given we have a gopass setup with two stores:
~/.password-store (default)
~/.password-store-awsvault (vault)
Then config would look like this
export AWS_VAULT_BACKEND=pass
export AWS_VAULT_PASS_CMD=gopass
export AWS_VAULT_PASS_PASSWORD_STORE_DIR=~/.password-store-awsvault
export AWS_VAULT_PASS_PREFIX=vault
This worked writing, but never reading. I didn’t even see aws-vault list
calling gopass
at all. Looks like the missing vault folder is a problem and aws-vault does a direct directory inspection of AWS_VAULT_PASS_PASSWORD_STORE_DIR
. Fix was to hardcode the AWS_VAULT_PASS_PREFIX
into a customised script (see below) and to not set the variable. Strictly spoken vault is not a prefix but the name of the store, so it maked sense:
The dedicated aws-vault-pass
script:
#!/usr/bin/env bash
ARGS=( "$@" )
## ensure password store has 'git config commit.gpgsign false'
if [ "${ARGS[0]}" == "insert" ]
then
# echo "- INSERT ------ ${ARGS[@]} --------" 1>&2
gopass ${ARGS[@]/sessions/aws-vault\/sessions}
elif [ "${ARGS[0]}" == "show" ]
then
# echo "- SHOW --------------" 1>&2
gopass show --password aws-vault/"${ARGS[1]}"
elif [ "${ARGS[0]}" == "rm" ]
then
# echo "- RM --------------" 1>&2
gopass ${ARGS[@]/sessions/aws-vault\/sessions}
fi
and ensure aws-vault pics it up:
export AWS_VAULT_PASS_CMD=aws-vault-pass
Voila!
Related isssue: https://github.com/99designs/aws-vault/issues/667
Original issue and comments
https://github.com/rngtng/rngtng.github.io/issues/17
SOLVED: gpg: public key decryption failed: No pinentry
I recently updated to latest gnupg and pinentry version via homebrew, which unfortunately broke my setup. I suddenly got this error when decrypting with gpg:
...
gpg: public key decryption failed: No pinentry
gpg: decryption failed: No pinentry
...
Looking into ~/.gnupg/gpg-agent.conf
this first line showed:
pinentry-program /usr/local/bin/pinentry-mac
This is right and the same what which pinentry-mac
returns. So why the error? I turns out ` /usr/local/bin/pinentry-mac` is a symbol link which (apparently?) the gpg-agent doesn’t follow. So trick was to set the final path, for me that’s:
pinentry-program /usr/local/Cellar/pinentry-mac/1.1.1.1/bin/pinentry-mac
And, BOOM! It works again.
Further sources:
- https://superuser.com/questions/1628782/gpg-signing-failed-no-pinentry
Original issue and comments
https://github.com/rngtng/rngtng.github.io/issues/16
Yeah! Ruby 3 released
OMG, the long wait has an end, ruby 3 finally released. Can’t wait to checkout Typing, IMHO one if the biggest areas where ruby <3 was lacking!
https://www.ruby-lang.org/en/news/2020/12/25/ruby-3-0-0-released/
Original issue and comments
https://github.com/rngtng/rngtng.github.io/issues/12
Linux Performance Observability Tools
Great cheat sheet to observe linux performance:
Source: http://www.brendangregg.com/linuxperf.html
Original issue and comments
https://github.com/rngtng/rngtng.github.io/issues/11
Launch of Samsung Pay with BankIdent
What a year! What kept me busy at work was the realization of Samsung Pay - contactless, mobile payment with a Samsung Phone. One special feature is the way how users onboard. With using BankIdent the KYC is truly seamless and doesn’t require any call agent anymore. With that it’s as quick and user friendly as never before. See the full story here:
https://www.youtube.com/watch?v=XSs1k6FoW-U
Original issue and comments
https://github.com/rngtng/rngtng.github.io/issues/9
Github Issue to Blogpost
This is a blogpost created via a github issue. With that the comfort of a WYSIWYG editing is combined with jekyll & github pages. <3
For more check out: https://github.com/yoshum/issue-to-jekyll-post
Original issue and comments
https://github.com/rngtng/rngtng.github.io/issues/7
Oreilly Software Architecture Berlin
Cu there!
https://conferences.oreilly.com/software-architecture/sa-eu/public/schedule/speakers
REST Security Cheat Sheet
Wintergarden - building Marble Machine X
Must Follow for any music, hacking, DYI, builders:
https://www.youtube.com/watch?v=dNv8AeZfuUc
Follow the full channel: https://www.youtube.com/channel/UCcXhhVwCT6_WqjkEniejRJQ
Lego + Pinball <3
How to be an Architect in a Microservice World
Great Talk and deck by Felix (@fmueller_bln)
https://speakerdeck.com/fmueller_bln/how-to-be-an-architect-in-a-microservice-world
Mirobot
Wow, Me wantz!
https://www.kickstarter.com/projects/mirobot/mirobot-6-axis-mini-industrial-robot-arm
And for my Kid: https://root.irobot.com