Skip to content

Instantly share code, notes, and snippets.

View santisbon's full-sized avatar

Armando C. Santisbon santisbon

View GitHub Profile
@santisbon
santisbon / kubedf
Last active March 16, 2023 15:45 — forked from redmcg/kubedf
Bash script to show k8s PVC usage #k8s #kubernetes
#!/usr/bin/env bash
NODESAPI=/api/v1/nodes
function getNodes() {
kubectl get --raw $NODESAPI | jq -r '.items[].metadata.name'
}
function getPVCs() {
jq -s '[flatten | .[].pods[].volume[]? | select(has("pvcRef")) | '\
@santisbon
santisbon / emojos.sh
Last active March 16, 2023 15:47
Grab a list of emojos (custom emoji) supported by a Mastodon instance. Sort it, and remove patterns you're not interested in. #mastodon #emoji
# Use your instance domain
DOMAIN=hachyderm.io
EXCLUDE="blob|yeen|another|yetanother"
# Create the script file
cat << EOF > ~/emojos.sh
curl 'https://emojos.in/${DOMAIN}' -o emojos.htm
# Case-insensitive, print only the match rather than the entire line. Sort. Deduplicate. Redirect to file.
grep -io ':[a-zA-Z0-9]*_*[a-zA-Z0-9]*:' emojos.htm | sort | uniq -d > emojos.txt
# Filter out patterns (case-insensitive delete)
@santisbon
santisbon / k8s-deployment.sh
Last active March 16, 2023 15:47
k8s deployment example #kubernetes #k8s
cat <<EOF | kubectl create -f -
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels:
app: nginx
spec:
replicas: 2
selector:
@santisbon
santisbon / Markdown tips.md
Last active March 16, 2023 15:49
Tips for working with #markdown files.

Markdown cheat sheet

Create a Table of Contents

Download the tool to generate a table of contents.

Add an image to Github gist

git clone https://gist.github.com/<hash>.git # with https
git clone git@gist.github.com:.git # or with ssh
@santisbon
santisbon / LinuxUtilities.md
Last active March 16, 2023 15:49
#Linux utilities on #Windows.

Using Linux utilities on Windows

If you use a Windows computer at work you may feel that you're missing out on some really useful functionality that you're used to having on a UNIX system. Or perhaps you've always used Windows and have struggled with messy workarounds for something that would be easier with Linux commands.

If you're on an older version of Windows that doesn't have the Windows Subsystem for Linux (WSL) or you don't want to install a Linux distribution on your machine, you can still use Linux utilities to quickly get things done. At the end we'll see some notes about doing the same thing on WSL.

This brief guide will help you with an example of a common task: finding out which files have been modified on your computer (or a remote server) within a specified time frame.

First you'll need to install Cygwin. This program will let you use tools similar to a Linux distribution on Windows. At some point during

@santisbon
santisbon / Search my gists.md
Last active April 22, 2024 14:15
How to #search gists

Enter this in the search box along with your search terms:

Get all gists from the user santisbon.
user:santisbon

Find all gists with a .yml extension.
extension:yml

Find all gists with HTML files.
language:html

@santisbon
santisbon / Good taste.md
Last active July 13, 2023 15:16
What makes good taste? #linux #linus #torvalds

On Good Taste

Linus Torvalds in an interview talked about the idea of good taste in code or what I like to call elegance. As one might expect from two slides meant to make a point during a talk, he omits a lot of details to keep it short and simple. This post digs into the specifics of his example (deleting an element from a list) and adds another example (inserting an element in a list) including working code.

Example from Linus

This is an example of removing an element from a singly-linked list. It's one of the first data structures you learn about when you start learning about computer science and programming. The reason it doesn't show particularly good taste is because we have that condition at the end where we take a different action depending on whether the element we want to remove is at the beginning of the list or somewhere in the middle.

![Bad taste](http://

@santisbon
santisbon / Update-branch.md
Last active March 21, 2024 15:50
Deploying from #Git branches adds flexibility. Bring your feature branch up to date with master and deploy it to make sure everything works. If everything looks good the branch can be merged. Otherwise, you can deploy your master branch to return production to its stable state.

Updating a feature branch

First we'll update your local master branch. Go to your local project and check out the branch you want to merge into (your local master branch)

$ git checkout master

Fetch the remote, bringing the branches and their commits from the remote repository. You can use the -p, --prune option to delete any remote-tracking references that no longer exist in the remote. Commits to master will be stored in a local branch, remotes/origin/master.

@santisbon
santisbon / Basic-merge-conflict.md
Last active March 16, 2023 15:54
#Git #merge #conflict

Basic merge conflict

Go to your local project and fetch the remote, bringing the branches and their commits from the remote repository. You can use the -p, --prune option to delete any remote-tracking references that no longer exist in the remote. Commits will be stored in a local branch, remote_name/branch_name

$ git fetch <remote_name>

Check out the branch you want to merge into e.g. master

$ git checkout <base_branch>
@santisbon
santisbon / Sync-a-Fork.md
Last active March 16, 2023 15:54
#git #fork

Sync a Fork

Add a reference to the original repo

List the remote for your fork

$ git remote -v

Add a new remote "upstream" that will be synced with the fork