Skip to content

Instantly share code, notes, and snippets.

View crazyoptimist's full-sized avatar
🐌
crawling

crazyoptimist crazyoptimist

🐌
crawling
View GitHub Profile
@crazyoptimist
crazyoptimist / pointers.go
Created November 2, 2022 21:18
Pointer in Go (Checkout this gist whenever you forget the concept of pointers in Go)
package main
import "fmt"
func main() {
i, j := 42, 2701
fmt.Println(i, j)
fmt.Println(&i, &j)
// you can read "&i" as "address of i"
@crazyoptimist
crazyoptimist / bat-install.sh
Created October 6, 2022 17:24
bat is written in rust, is an excellent alternative to cat
#!/bin/bash
curl -s https://api.github.com/repos/sharkdp/bat/releases/latest \
| grep -v ".sha256" \
| grep browser_download_url
curl -SL https://github.com/sharkdp/bat/releases/download/v0.22.1/bat_0.22.1_amd64.deb -o bat.deb
sudo dpkg -i bat.deb
rm bat.deb
@crazyoptimist
crazyoptimist / pyenv-install.sh
Last active April 9, 2024 10:30
Install pyenv on Ubuntu/Debian
#!/bin/bash
# Install dependencies for pyenv(because pyenv compiles python from the source)
## Debian / Ubuntu
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python3-openssl
## Fedora
# sudo yum install gcc zlib-devel bzip2 bzip2-devel readline-devel sqlite sqlite-devel openssl-devel xz xz-devel libffi-devel
@crazyoptimist
crazyoptimist / compose.yaml
Last active April 10, 2024 00:53
RabbitMQ with Docker Compose
name: rabbitmq
services:
rabbitmq:
image: rabbitmq:3-management
container_name: rabbitondocker
ports:
- 5672:5672
- 15672:15672
environment:
@crazyoptimist
crazyoptimist / debounce.ts
Created July 5, 2022 16:38
Debounce Wrapper in Typescript
export function debounce<T extends unknown[], U>(
callback: (...args: T) => U,
wait: number,
): (...args: T) => void {
let timer: NodeJS.Timeout | undefined = undefined
return (...args: T): void => {
if (timer) {
clearTimeout(timer)
}
@crazyoptimist
crazyoptimist / install-kubeadmin.sh
Created April 22, 2022 22:32
Install kubeadmin on debian based OS
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
sudo curl -fsSLo /usr/share/keyrings/kubernetes-archive-keyring.gpg https://packages.cloud.google.com/apt/doc/apt-key.gpg
echo "deb [signed-by=/usr/share/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
@crazyoptimist
crazyoptimist / install-containerd.sh
Last active April 22, 2022 22:09
Install containerd on debian based OS
cat <<EOF | sudo tee /etc/modules-load.d/containerd.conf
overlay
br_netfilter
EOF
sudo modprobe overlay
sudo modprobe br_netfilter
# Setup required sysctl params, these persist across reboots.
cat <<EOF | sudo tee /etc/sysctl.d/99-kubernetes-cri.conf
@crazyoptimist
crazyoptimist / serve.go
Created September 14, 2021 20:05 — forked from paulmach/serve.go
Simple Static File Server in Go
/*
Serve is a very simple static file server in go
Usage:
-p="8100": port to serve on
-d=".": the directory of static files to host
Navigating to http://localhost:8100 will display the index.html or directory
listing file.
*/
package main
@crazyoptimist
crazyoptimist / linux-cheatsheet.md
Last active April 8, 2024 00:49
crazyoptimist's linux cheatsheet

Run the previous command as root

sudo !!

Reverse search command history

<Ctrl+r>

@crazyoptimist
crazyoptimist / keybase.md
Last active January 19, 2024 18:23
Identify myself

Keybase proof

I hereby claim:

  • I am crazyoptimist on github.
  • I am crazyoptimist (https://keybase.io/crazyoptimist) on keybase.
  • I have a public key ASAhECPtn-axR1XmbtP2Tvjlpe7x_UHOenDNdDxXSEJ2Swo

To claim this, I am signing this object: