Skip to content

Instantly share code, notes, and snippets.

View lootek's full-sized avatar

Piotr Lucinski lootek

View GitHub Profile
@lootek
lootek / mem-barrier.go
Created May 2, 2023 08:33
Inspecting go build results in assembly
// go build -o mem-barrier mem-barrier.go
// go build -a -gcflags=-m -o mem-barrier mem-barrier.go
// go tool compile -S mem-barrier.go
// lensm -watch -filter main mem-barrier
// otool -tV mem-barrier
package main
import (
"time"
// go test -bench=. sortalloc_test.go
package main
import (
"sort"
"testing"
)
func BenchmarkSortStrings(b *testing.B) {
@lootek
lootek / Dockerfile
Created September 16, 2021 11:37
Dockerfile with both Ruby and python (hacky way of having multi-base image)
FROM debian:buster
COPY --from=ruby:2.7-buster / /
COPY --from=python:3.9-buster / /
@lootek
lootek / ssh.sh
Created August 25, 2021 14:40
advanced ssh notes
exit # don't run this gist directly
# relay remote unix socket to local unix socket
ssh -v -nNT -L /local/x.sock:/remote/y.sock user@host
# print out vagrant ssh config
vagrant ssh-config
# connect to a vagrant box using plaing ssh
ssh -p <port> -i .vagrant/machines/master/virtualbox/private_key vagrant@127.0.0.1
@lootek
lootek / containerd.sh
Created August 25, 2021 14:30
Switch k8s / kubelet containers runtime to containerd
sudo nano /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
# add:
# Environment="KUBELET_EXTRA_ARGS=--container-runtime=remote --cgroup-driver=systemd --container-runtime-endpoint='unix:///var/run/containerd/containerd.sock' --runtime-request-timeout=5m"
sudo nano /etc/containerd/config.toml
# remove/comment:
# disabled_plugins = ["cri"]
sudo systemctl daemon-reload
for s in docker containerd kubelet; do sudo systemctl restart $s; done
@lootek
lootek / cri-o.sh
Last active August 26, 2021 13:42
Switch k8s / kubelet containers runtime to cri-o
OS=xUbuntu_18.04
VERSION=1.20
sudo sh -c "echo 'deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable/$OS/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable.list"
sudo sh -c "echo 'deb https://download.opensuse.org/repositories/devel:/kubic:/libcontainers:/stable:/cri-o:/$VERSION/$OS/ /' > /etc/apt/sources.list.d/devel:kubic:libcontainers:stable:cri-o:$VERSION.list"
wget -nv https://download.opensuse.org/repositories/devel:kubic:libcontainers:stable/$OS/Release.key -O- | sudo apt-key add -
sudo apt update
sudo apt install -y cri-o cri-tools cri-o-runc
#!/usr/bin/python3
from time import sleep
import Adafruit_DHT
from paho.mqtt import client as mqtt_client
broker = "localhost"
port = 1883
client_id = "ithilien-python-mqtt"
@lootek
lootek / git-aliases.sh
Last active May 7, 2022 10:00
A bunch of git aliases
alias ggl='git log --graph --decorate --branches'
alias gglb='git log --graph --decorate --no-merges master..'
alias ggd='git diff'
alias ggdc='git diff --cached'
alias ggdd='git diff --word-diff'
alias ggdt='git difftool --dir-diff'
alias ggca='git commit -a'
alias ggc='git checkout'
alias ggcb='git checkout -b'
alias ggc-='git checkout -'
@lootek
lootek / gist:e44e6eac425764bf1871df5a9b3b1a90
Created June 15, 2018 08:34
Go compiler install/update oneliners
# From official binary release
v=1.10.3; curl -Sso /tmp/go.tar.gz https://dl.google.com/go/go$v.linux-amd64.tar.gz && cd /tmp && tar -xf go.tar.gz -C /usr/local && rm -fv /tmp/go.tar.gz
# Using gvm (https://github.com/moovweb/gvm)
v=1.10.3; gvm install go$v --prefer-binary --with-build-tools; gvm use go$v --default

Keybase proof

I hereby claim:

  • I am lootek on github.
  • I am lootek (https://keybase.io/lootek) on keybase.
  • I have a public key ASAnMVOtNrrABUPswjYQUc05t2hsTGJx2NX6YB8C2UEnSQo

To claim this, I am signing this object: