Skip to content

Instantly share code, notes, and snippets.

@vizee
vizee / drawtext.cs
Created July 16, 2017 05:39
排版文字生成透明 png
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Drawing.Imaging;
using System.IO;
namespace drawtext
{
class Program
@vizee
vizee / mtrnd.go
Created July 29, 2017 08:12
go thread-safe rand
package mtrnd
import (
"math/rand"
"sync"
"time"
"github.com/vizee/asm/hack"
)
@vizee
vizee / gensyscall.go
Created August 12, 2017 18:01
generate linux amd64 syscall
package main
import (
"flag"
"fmt"
"go/ast"
"go/parser"
"go/token"
"html/template"
"io/ioutil"
@vizee
vizee / emailnotifier.go
Created October 1, 2017 03:18
smtp tls connection
package emailnotifier
import (
"crypto/tls"
"fmt"
"net"
"net/smtp"
"strings"
"sync"
)
@vizee
vizee / lgb.sh
Created October 13, 2017 16:58
linux go build
#!/bin/bash
set -e
hook=
if [ "$1" == "-c" ]; then
hook=$2
shift 2
fi
@vizee
vizee / enable-bbr.sh
Last active May 18, 2018 17:42
setup ss
if [ -z `lsmod | grep bbr` ]; then
modprobe tcp_bbr
echo "tcp_bbr" >> /etc/modules-load.d/modules.conf
fi
if [ -z `sysctl net.ipv4.tcp_congestion_control | grep bbr` ]; then
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p
fi
@vizee
vizee / xxtea.go
Last active May 28, 2018 07:49
xxtea
package xxtea
import (
"unsafe"
)
const _DELTA = 0x9e3779b9
func EncryptBytes(m []byte, k *[4]uint32) {
if len(m) < 8 {
@vizee
vizee / dupfile.go
Created September 17, 2018 17:13
find duplicated file
package main
import (
"crypto/md5"
"crypto/sha1"
"crypto/sha256"
"encoding/hex"
"flag"
"fmt"
"io/ioutil"
@vizee
vizee / appime.c
Last active October 9, 2020 10:50
hook Apps key to switch IME
/*
gcc -std=c99 -O3 -Wall -Werror \
-DUNICODE \
-o $@ $^ \
-lkernel32 -luser32 \
-Wl,--subsystem,windows,--gc-sections,--strip-all
*/
#include <windows.h>
#define WM_USER_SWITCH_IME (WM_USER + 1)
@vizee
vizee / treap.go
Created December 5, 2019 10:06
treap
package treap
type node struct {
key int
prior int
left *node
right *node
}
func zig(p *node) *node {