Skip to content

Instantly share code, notes, and snippets.

@fumin
fumin / bashrc
Last active November 25, 2023 23:34
bashrc
export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin
export PATH=/usr/local/ffmpeg-6.1-amd64-static:$PATH
alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'
open() {
nautilus $1 &
}
@fumin
fumin / mat_pretty_printer.py
Created April 10, 2022 13:58
pretty printer for opencv Mat
numpy_code = """
# -*- coding: utf-8 -*-
# Copyright (c) 2014, Almar Klein and Wade Brainerd
# tinynumpy is distributed under the terms of the MIT License.
#
# Original code by Wade Brainerd (https://github.com/wadetb/tinyndarray)
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
@fumin
fumin / dynamodb_invalid_utf8.go
Created April 14, 2017 18:48
Demonstration that DynamoDB automatically collates String fields, which is undesirable.
package main
import (
"flag"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/credentials"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/dynamodb"
"github.com/pkg/errors"
@fumin
fumin / background.sh
Created November 22, 2015 19:59
script to restart all background processes including dynamodb, sqs, redis, and elasticsearch
#!/bin/sh
function killport {
while true; do
PID=$(lsof -i TCP:$1 | grep LISTEN | awk '{print $2}')
exec 3>&2 # 3 is now a copy of 2
exec 2> /dev/null # 2 now points to /dev/null
kill $PID
kill -0 $PID
@fumin
fumin / concat.go
Last active August 29, 2015 14:05
A command to truncate and then concatenate Google Cloud Storage files
package main
import (
"bytes"
"flag"
"fmt"
"os"
"os/exec"
"strings"
)
@fumin
fumin / present.go
Created July 5, 2014 04:09
Example of using the present package
package main
import (
"bytes"
"html/template"
"net/http"
"code.google.com/p/go.tools/present"
)
@fumin
fumin / selfreproducing.go
Created April 7, 2014 19:19
self-reproducing program in Go
package main
import "fmt"
func main() {
m := `package main
import "fmt"
@fumin
fumin / floating_point_experiment.m
Created February 24, 2014 16:15
OpenGL floating point texture experiment
void floatTextureExperiment
{
GLenum err = 0;
GLuint texture1;
glGenTextures(1, &texture1);
glActiveTexture(GL_TEXTURE1);
glBindTexture(GL_TEXTURE_2D, texture1);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP_TO_EDGE);
@fumin
fumin / profile.rb
Last active August 29, 2015 13:56
redis key distribution profiling script
# profile.rb - A script that analyzes the memory usage of a redis instance from it's "dump.rdb"
#
# To run this script, edit the key_groups variable in the stats method, and then run
# `ruby profile.rb dump.rdb` in the command line.
# Running this script will:
# * Dump the contents of the input rdb file in CSV format to "/tmp/memory.csv"
# * Load the contents of "/tmp/memory.csv" to the table "mem" in the "redis_mem" database
# * Print the stats of each key group to STDOUT
#
# Dependencies:
@fumin
fumin / haproxy.cfg
Last active September 18, 2020 23:53
Haproxy config file for SSL and basic authentication
# Haproxy config file for SSL and basic authentication
#
# Since ssl is needed, we need to use
# `make TARGET=linux26 USE_OPENSSL=1 ADDLIB=-lz` to install haproxy.
# Also, haproxy version must be haproxy-1.5-dev19 or above.
#
# An example curl command that queryies pic-collage.com/api/collages/feed is
# `curl -k -v -u 'collages:password' 'https://ec2-ip.compute-1.amazonaws.com/api/collages/feed'`
userlist collages_dyno