Create a tunnel on your local:
$ ssh -f -N -L6379:<your redis node endpoint>:6379 <your EC2 node that you use to connect to redis> -i "key.pem"
Connect to redis exposed on your local:
$ redis-cli -h 127.0.0.1 -p 6379
Create a tunnel on your local:
$ ssh -f -N -L6379:<your redis node endpoint>:6379 <your EC2 node that you use to connect to redis> -i "key.pem"
Connect to redis exposed on your local:
$ redis-cli -h 127.0.0.1 -p 6379
Some vendors require you to call their API via TLS 1.2 and I don't see that much documentation on how to do this.
# Notice the `ssl_version` option, to specify ssl version of the HTTP request
response = HTTParty.get('http://api.stackexchange.com/2.2/questions?site=stackoverflow', ssl_version: :TLSv1_2)
By default, GAE (Google App Engine) supports Python as one of their default run time, which is always free!
We need to run multiple versions of kubectl for compatibility with various clusters.
It's a bit easier to get and use multiple versions of kubectl using Homebrew than it is using Macports.
With brew, it's simple to:
Magic words:
psql -U postgres
Some interesting flags (to see all, use -h
or --help
depending on your psql version):
-E
: will describe the underlaying queries of the \
commands (cool for learning!)-l
: psql will list all databases and then exit (useful if the user you connect with doesn't has a default database, like at AWS RDS)Get a list of currently running Pod names:
$ kubectl get pods -o go-template --template '{{range .items}}{{.metadata.name}}{{"\n"}}{{end}}'
SSH directly into a pod:
$ kubectl exec --namespace -it -- bash
Fix Previous Commits
$ git commit --fixup=8a465186
$ git rebase -i --autosquash 8a465186~1
Cherry Picking
cURL with Basic Authorization:
$ cURL -X POST -H "Authorization: Basic YWxhZGRpbjpvcGVuc2VzYW1l" https://localhost:3000
cURL with username and password (pretty much same with Basic Auth):
$ curl -X POST -H "Content-Type: application/json" \
--user "usernameorclient_id:passwordorclient_secret" \
Find processes listening on a port:
$ lsof -i :3000
Kill process:
$ kill -9
#!/usr/bin/env bash | |
#! This will output info to `users_info.csv` | |
echo "Getting info from Redis. . ." | |
redis-cli ping | |
for i in {1..29885}; do | |
#! as of 2018, we can use this: EMAIL=$(command) instead | |
#! Reference: https://stackoverflow.com/questions/4651437/how-to-set-a-variable-to-the-output-of-a-command-in-bash |