Skip to content

Instantly share code, notes, and snippets.

View helinwang's full-sized avatar

Helin Wang helinwang

  • Bay Area
View GitHub Profile
@helinwang
helinwang / .pre-commit-config.yaml
Created March 2, 2018 22:29
PaddlePaddle EDL .pre-commit-config.yaml
- repo: https://github.com/dnephin/pre-commit-golang
sha: e4693a4c282b4fc878eda172a929f7a6508e7d16
hooks:
- id: go-fmt
files: \.go$
- id: go-lint
files: \.go$
exclude: (.*\/client\/.*\.go|.*\generated\.deepcopy\.go)$
- repo: local
@helinwang
helinwang / .travis.yml
Created March 2, 2018 22:31
PaddlePaddle EDL .travis.yml file
matrix:
include:
- language: go
go: 1.8.x
sudo: required
install:
- go get -u github.com/golang/lint/golint
- curl https://glide.sh/get | bash
- sudo pip install pre-commit
script:
@helinwang
helinwang / log15.diff
Last active March 11, 2018 05:51
Improve golang log15 library
diff --git a/format.go b/format.go
index bce4914..fb40b9d 100644
--- a/format.go
+++ b/format.go
@@ -12,8 +12,8 @@ import (
)
const (
- timeFormat = "2006-01-02T15:04:05-0700"
- termTimeFormat = "01-02|15:04:05"
@helinwang
helinwang / queue.go
Last active July 21, 2018 18:06
Simple queue implementation
package types
// Note: this queue does not shrink the underlying buffer.
type queue struct {
buf [][4]int // change to the element data type that you need
head int
tail int
}
func (q *queue) extend(need int) {
@helinwang
helinwang / heap.go
Created July 19, 2018 04:57
a heap implementation in Go
package types
// Heap is a max heap
type Heap struct {
buf []int
}
func (h *Heap) Peak() int {
return h.buf[0]
}
@helinwang
helinwang / unraid_mount.md
Last active February 17, 2024 16:07
Unraid: mount a unraid share using the unraid mount tag in Ubuntu

Mounting the shared path You can mount the shared folder using

mount -t 9p -o trans=virtio [mount tag] [mount point] -oversion=9p2000.L

mount tag: As specified in Qemu commandline. mount point: Path to mount point. trans: Transport method (here virtio for using 9P over virtio) version: Protocol version. By default it is 9p2000.u . Other options that can be used include:

@helinwang
helinwang / upload.py
Last active December 18, 2018 16:31
Upload large file to dropbox using Python
import sys
import dropbox
path = sys.argv[1]
dbx = dropbox.Dropbox(AUTH_TOKEN, timeout=6000) # set the timeout best for you
with open(path, 'rb') as f:
data = f.read()
dbx.files_upload(
data, DROPBOX_FOLDER_NAME, dropbox.files.WriteMode.overwrite,
mute=True)
@helinwang
helinwang / click.js
Created January 4, 2019 00:36
Batch delete Weibo posts
setInterval(() => {
document.querySelector('a[action-type="feed_list_delete"]').click()
document.querySelector('a[action-type="ok"]').click()
}, 500)
@helinwang
helinwang / init.el
Last active November 3, 2020 04:31
My Rust emacs configuration
;; Make sure to install rust-analyzer binary, otherwise lsp-mode
;; default to using rls instead of rust-analyzer.
(setq gnutls-algorithm-priority "NORMAL:-VERS-TLS1.3")
(require 'package)
(let* ((no-ssl (and (memq system-type '(windows-nt ms-dos))
(not (gnutls-available-p))))
(proto (if no-ssl "http" "https")))
(when no-ssl
@helinwang
helinwang / mac_malware_auto_start.txt
Last active April 18, 2019 06:11
Places that mac malware could hide (auto start)
/Library/StartUpItems
/Library/LaunchAgents
/Library/LaunchDaemons
/System/Library/LaunchDaemons
/System/Library/LaunchAgents
/Users/$USER/Library/LaunchAgents
/Library/PrivilegedHelperTools
and "system preferences" -> login items
"keychain access": unkown certificates (except the ones in "System Roots")