Skip to content

Instantly share code, notes, and snippets.

View komuw's full-sized avatar

Komu Wairagu komuw

View GitHub Profile
@komuw
komuw / cert-manager.yaml
Created September 16, 2021 07:40
create a golang k8(kubernetes) struct from yaml file
# gotten from; https://github.com/jetstack/cert-manager/releases/download/v1.3.3/cert-manager.yamlhttps://github.com/jetstack/cert-manager/releases/download/v1.3.3/cert-manager.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app: cert-manager
app.kubernetes.io/component: controller
app.kubernetes.io/instance: cert-manager
app.kubernetes.io/name: cert-manager
name: cert-manager
@komuw
komuw / three_sigma_sampling.py
Last active December 4, 2020 10:18
In a normal distribution, 99.7% of the values are not anomalous. Which means you can throw away 99.7% without losing context. This is useful in sampling.
def sample_anomalous(samples):
"""
Sampling:
- Central limit theorem(Alan Turing)
- 3-sigma rule: In a normal distribution, 99.7% of the values are not anomalous.
Which means you can throw away 99.7% without losing context.
- You may also use 2-sigma(95%) or 1-sigma(68%)
see:
1. https://youtu.be/inrqE0Grgk0?t=26080 (Emmanuel T Odeke)
2. https://en.wikipedia.org/wiki/68%E2%80%9395%E2%80%9399.7_rule
@komuw
komuw / variable_shadowing_race.go
Created November 5, 2020 13:24
Golang variable shadowing can mask race conditions
package main
import "time"
type cool struct{}
func (c *cool) add() error {
return nil
}
@komuw
komuw / complex_types.go
Last active October 29, 2020 13:29
pointer receiver versus value receiver benchmarks
package main
import (
"fmt"
"math"
"testing"
)
/* ---------- package ---------- */
type h struct {
@komuw
komuw / fdatasync_vs_fsync.go
Last active July 7, 2021 15:32
Benchmark fdatasync vs fsync
package main
import (
"log"
"math/rand"
"os"
"syscall"
"testing"
"time"
@komuw
komuw / panic_handler.go
Last active December 16, 2020 16:58
global panic handler in Go
package main
import "fmt"
// Usage:
//
// func main() {
// defer panicHandler()
// }
//
@komuw
komuw / go_errors_with_stacktrace.go
Created November 9, 2019 15:36
Golang errors with stack traces
package main
import (
"fmt"
"runtime"
"strconv"
"strings"
)
/*
@komuw
komuw / BreachHandler.py
Last active August 24, 2019 21:50
create a breach handler for python's standard logging library
import time
import logging
import collections
# Inspired by; https://tersesystems.com/blog/2019/07/28/triggering-diagnostic-logging-on-exception/
# Also see; https://docs.python.org/3.6/library/logging.handlers.html#logging.handlers.MemoryHandler
# Also see; https://github.com/komuw/naz/blob/e0666550396400f86b9a547932bb9075c520a5d9/naz/log.py#L159-L230
class BreachHandler(logging.StreamHandler):
"""
Log handler that buffers logs in an in-memory ring buffer until a trigger.
@komuw
komuw / instance_creator.py
Last active June 19, 2019 15:02
python create a new class instance inside same class
import copy
# see: https://stackoverflow.com/questions/13260557/create-new-class-instance-from-class-method
class Animal(object):
request_id = "Original_Animal"
def reproduce(self):
"""
gives birth to new instances of Animal