disable user -- 11.08.2020 %
In this case disabling the user named ubuntu from logging in. This includes logging in via ssh.
$ sudo usermod --expiredate 1 ubuntu
Snippets are one of my favorite parts of programming. The shear endless depth of command line tricks and customizations is so exciting! Here is a collection I maintain for myself to comeback to.
Also navigable by list of snippet types here.
In this case disabling the user named ubuntu from logging in. This includes logging in via ssh.
$ sudo usermod --expiredate 1 ubuntu
This month I ditched XQuartz and am back to using Tmux. One part I found tedious was manually naming sessions. I wrote this little alias help. When run from outside a tux session to creates a new session named after the current directory. Ex when in /users/t.shears/dev/cool-app
a session named cool-app is created.
Excerpt from my .zshrc
alias tmux_new="tmux new -s \$(pwd | awk -F "/" '{print \$NF}' | sed 's/\./_/g')"
How big are the fonts in this project? Not sure where they are even. This command finds the files using fd then prints file size.
$ fd woff | xargs du -h
20K src/assets/fonts/brandon_text_medium.woff2
20K src/assets/fonts/brandon_text_regular.woff2
20K src/assets/fonts/chronicle_light.woff2
20K src/assets/fonts/chronicle_roman.woff2
4.0K types/woff
4.0K types/woff2
Before I updated my OBS settings to record to .mp4 files I manually converted .mkv files to .mp4. This shell command does that for every recording in a directory deleting the original.
$ for x in $(ls *.mkv | awk -F "." '{print $1}') ; do ffmpeg -i $x.mkv -c copy $x.mp4 && rm $x.mkv ; sleep 3; done
Currently I run a shared mongo instance in my k8s cluster used by a bunch of my side projects. Every once in a while I have to manually execute mongo commands this is how I do so.
Manually ssh into the pod:
$ kubectl exec -it shared-mongo-xxxxxxxxxx-xxxxx -- /bin/bash
Then launch the mongo shell and hack away:
$ mongo
> db2 = db.getSiblingDB('coolDB')
coolDB
> db2.getCollectionNames()
[ "coolThings" ]
> db2.coolThings.count()
666
> db2.coolThings.remove({})
WriteResult({ "nRemoved" : 666 })
> db2.coolThings.count()
0
source:
Don’t let those keys expire. 🚨
Time to edit some keys:
gpg --edit-key t@travisshears.com
Secret key is available.
sec rsa2048/D4C2E4DFAB8BABF8
created: 2018-07-18 expires: 2020-07-17 usage: SC
ssb rsa2048/25C629D0FECC25B9
created: 2018-07-18 expires: 2020-07-17 usage: E
ssb rsa4096/97F7C2B46E6C5D11
created: 2019-09-28 expires: 2023-09-28 usage: E
key 1
expire
1y
resulting output should be something like:
sec rsa2048/D4C2E4DFAB8BABF8
created: 2018-07-18 expires: 2021-06-22 usage: SC
ssb rsa2048/25C629D0FECC25B9
created: 2018-07-18 expires: 2021-06-22 usage: E
ssb rsa4096/97F7C2B46E6C5D11
created: 2019-09-28 expires: 2021-06-22 usage: E
lastly save
and done
source:
New laptop. Got to move over those GPG keys.
$ cd /tmp && mkdir gpg_export
$ gpg --output gpg_export/main_pub.gpg --armor --export t@travisshears.com
$ gpg --output gpg_export/main_sec.gpg --armor --export-secret-key t@travisshears.com
$ tar cvfz gpg_export.tar.gz ./gpg_export
$ gpg --symmetric ./gpg_export.tar.gz
Then I trasferend the encrypted tar via airdrop.
To import the keys.
$ gpg --decrypt gpg_export.tar.gz.gpg > gpg_export.tar.gz
$ tar xvfz gpg_export.tar
$ gpg --import gpg_export/main_sec.gpg
$ gpg --import gpg_export/main_pub.gpg
Source:
Most of my personal projects are deployed via kubernetes. I write a lot of deployment.yaml files. In order to keep them clean and checked in to version control I keep sensitive env variables in a config maps. Problem is adding values env values to deployment.yaml files is pretty painful. This makes it a little less.
placed in yaml.json 😀 what a file name!
{
"env var from configmap": {
"prefix": "env",
"body": [
"- name: $1",
" valueFrom:",
" configMapKeyRef:",
" key: $1",
" name: configmapname"
],
"description": "env varable from config map, remember to replace configmapname with your configmap name"
}
}
Just found out, via tweet, from
the insightful joshdholtz that there is a safer alternative to
git push --force
Time to update my aliases:
alias gs="gst"
-alias gpf="gp --force"
+alias gpf="gp --force-with-lease"
alias gdc="gd --cached"
I use zsh shell’s git plugin that is why you see “gst” for git status
and “gp” for git push
. Highly recommend it
Source:
Recently I’ve started using Notion app for note
taking. There came times when I wanted to write about a specific directory,
but then came the problem of how to link the dic to notion page. How about a
tiny bash script? OSX’s built in open command is capable of opening links so
I copied the link from notion and put in a docs.sh
script. Boom! It opens
the notion page but in the browser not the app 😟.
After some digging I found this
repo for a chrome extension that
opens notion links in the app. Taking a look at the source code it simply
adds a /native
in the url to open in the app. Updated my script and now it
works 😀.
#!/usr/bin/env bash
open https://www.notion.so/native/Custom-Brew-Tap-e6f4faef5130442f94c9b06575806fc0
exit 0
If I continue to do this perhaps I’ll write a small tool to create the script files for me.