Skip to content

Instantly share code, notes, and snippets.

View crazyoptimist's full-sized avatar
🐌
crawling

crazyoptimist crazyoptimist

🐌
crawling
View GitHub Profile
@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 October 31, 2024 19:53
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:

@crazyoptimist
crazyoptimist / vim-install-note.md
Created April 25, 2021 23:45
Install Vim From the Source on Fedora/CentOS

Installing Vim by building from the source needs bunch of dependancies.

Setup essential build environment

yum -y groupinstall "Development Tools"
yum -y install ncurses-devel git-core

Get the source

@crazyoptimist
crazyoptimist / compose.yaml
Last active May 6, 2024 15:52
Redis with Docker Compose
name: redis
services:
redis:
image: redis:7
container_name: redis
command: "redis-server --loglevel warning"
volumes:
- redis_data:/data/
ports:
@crazyoptimist
crazyoptimist / nvm-install.sh
Last active March 28, 2024 07:39
Install the latest version of nvm, node, npm
#!/bin/bash
# Check the latest version of NVM
curl https://github.com/nvm-sh/nvm/releases/latest | cut -d \/ -f 8 | cut -d \" -f 1
# Run the install script
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh | bash
# Paste in this scripts into your .bashrc or .bash_profile
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"
# Install node and npm
@crazyoptimist
crazyoptimist / app.js
Created October 25, 2020 19:20
Concept of Promise in Javascript
const fs = require('fs');
(() => {
return new Promise(async (resolve, reject) => {
try {
let file = fs.readFileSync(`${__dirname}/app.js`)
resolve(file)
} catch (err) {
reject(`Oops! \n ${err}`)
}