Skip to content

Instantly share code, notes, and snippets.

View SkamDart's full-sized avatar
👻
Too Spooky

Cameron SkamDart

👻
Too Spooky
View GitHub Profile
@SkamDart
SkamDart / latency.txt
Created March 9, 2019 08:10 — forked from jboner/latency.txt
Latency Numbers Every Programmer Should Know
Latency Comparison Numbers (~2012)
----------------------------------
L1 cache reference 0.5 ns
Branch mispredict 5 ns
L2 cache reference 7 ns 14x L1 cache
Mutex lock/unlock 25 ns
Main memory reference 100 ns 20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy 3,000 ns 3 us
Send 1K bytes over 1 Gbps network 10,000 ns 10 us
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD
package main
import (
"fmt"
"log"
"sync"
"time"
)
type Item struct {
@SkamDart
SkamDart / message_passing.py
Last active March 26, 2019 20:42
ThreadPoolExecutor message passing example
"""Small example of message passing using concurrent.futures.ThreadPoolExecutor"""
import logging
from concurrent.futures import ThreadPoolExecutor
from queue import (
Empty as ThreadSafeQueueEmpty,
Queue as ThreadSafeQueue
)
from time import sleep
logging.basicConfig(level=logging.INFO)
@SkamDart
SkamDart / redis_ping.sh
Created March 29, 2019 18:48
ping redis using netcat
# apt install netcat
REDIS_HOST='localhost'
REDIS_PORT=6379
echo PING | nc $REDIS_HOST $REDIS_PORT
@SkamDart
SkamDart / prof.py
Created April 16, 2019 03:41
Beginner Python CProfile Usage
"""Example usage for cprofile
pip install gprof2dot
"""
import cProfile
import pstats
import StringIO
pr = cProfile.Profile()
@SkamDart
SkamDart / uninstall-haskell-osx.sh
Created May 5, 2019 04:23 — forked from gatlin/uninstall-haskell-osx.sh
Uninstall Haskell from Mac OS X
#!/bin/bash
# source: http://www.haskell.org/pipermail/haskell-cafe/2011-March/090170.html
sudo rm -rf /Library/Frameworks/GHC.framework
sudo rm -rf /Library/Frameworks/HaskellPlatform.framework
sudo rm -rf /Library/Haskell
rm -rf .cabal
rm -rf .ghc
rm -rf ~/Library/Haskell
#!/usr/bin/env python3
import json
import pdb
import sys
def main():
filename = argv[0]
key = argv[1]
/*This is the sample program to notify us for the file creation and file deletion takes place in “/tmp” directory*/
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <sys/types.h>
#include <linux/inotify.h>
#define EVENT_SIZE ( sizeof (struct inotify_event) )
#define EVENT_BUF_LEN ( 1024 * ( EVENT_SIZE + 16 ) )
@SkamDart
SkamDart / gist:b914402efd16e62694ae1df97449a17e
Created November 23, 2021 02:32
Nix flakes build all outputs
nix flake show --json | jq '[leaf_paths as $path | select(getpath($path) == "derivation") | {"key": $path | join(".") | sub(".type";""), "value": getpath($path)}] | from_entries | keys|.[]' -cr | xargs -I{} nix build .#{}
@SkamDart
SkamDart / caches.nix
Created July 9, 2022 22:41
nix caches
binaryCaches = [
"https://hydra.iohk.io"
"https://cache.nixos.org/"
];
binaryCachePublicKeys = [
"hydra.iohk.io:f/Ea+s+dFdN+3Y/G+FDgSq+a5NEWhJGzdjvKNGv0/EQ="
"cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY="
];