openpgp4fpr:E7D07DDE4DF3BB99503C5094F3F37DC5D98BEF21
// Code generated by protoc-gen-go. DO NOT EDIT. | |
// versions: | |
// protoc-gen-go v1.27.1-devel | |
// protoc v3.17.3 | |
// source: foo.proto | |
package foo | |
import ( | |
_ "github.com/envoyproxy/protoc-gen-validate/validate" |
func handleUpload(u io.Reader) (err error) { | |
// capture all bytes from upload | |
b, err := ioutil.ReadAll(u) | |
if err != nil { | |
return | |
} | |
// wrap the bytes in a ReadSeeker | |
r := bytes.NewReader(b) |
BenchmarkMutexCache/10-8 10000000 180 ns/op 0 B/op 0 allocs/op | |
BenchmarkMutexCache/100-8 10000000 187 ns/op 0 B/op 0 allocs/op | |
BenchmarkMutexCache/1000-8 10000000 214 ns/op 0 B/op 0 allocs/op | |
BenchmarkMutexCache/10000-8 10000000 231 ns/op 0 B/op 0 allocs/op | |
BenchmarkMutexCache/100000-8 5000000 254 ns/op 2 B/op 0 allocs/op | |
BenchmarkMutexCache/1000000-8 1000000 1159 ns/op 102 B/op 1 allocs/op | |
BenchmarkMutexCache/10000000-8 1000000 1481 ns/op 184 B/op 2 allocs/op | |
BenchmarkMutexCache/100000000-8 1000000 1655 ns/op 187 B/op 3 allocs/op | |
BenchmarkSyncMapCache/10-8 5000000 221 ns/op 0 B/op 0 allocs/op |
Based on the Tomorrow Night Eighties theme
Paste the following in the Preferences > Sidebar Theme > Custom Theme import/export field:
#2d2d2d,#393939,#6699cc,#FFFFFF,#515151,#cccccc,#99cc99,#f2777a
#!/usr/bin/env bash | |
[ $# -eq 1 ] || (echo "Usage: ${0} PORT" && exit 1) | |
echo "capturing HTTP/2 headers on ${1}" | |
tshark -i lo0 \ | |
-l -Q \ | |
-T fields \ | |
-E aggregator="|" \ | |
-e tcp.port \ |
### Keybase proof | |
I hereby claim: | |
* I am rodaine on github. | |
* I am rodaine (https://keybase.io/rodaine) on keybase. | |
* I have a public key whose fingerprint is E7D0 7DDE 4DF3 BB99 503C 5094 F3F3 7DC5 D98B EF21 | |
To claim this, I am signing this object: |
// RateLimit middleware limits the throughput to h using TickerLimiter | |
// configured with the provided rps and burst. The request will idle | |
// for the passed in wait before cancelling if there is a queue. | |
func RateLimit(rps, burst int, wait time.Duration, h http.HandlerFunc) http.HandlerFunc { | |
l, _ := TickerLimiter(rps, burst) | |
return func(w http.ResponseWriter, r *http.Request) { | |
t := time.NewTimer(wait) | |
select { | |
case <-l: |
HTML5 Canvas based animations reminiscent of the Bezier screensaver from Windows. Essentially, it is a bunch of triangles of random color/opacity whose vertices translate independently. Tweak the values at in the config object at the top of the JS editor to affect the number of triangles, the speed of the animation, and the color pallette used.
Thanks to Paul Irish for his article on requestAnimationFrame (http://www.paulirish.com/2011/requestanimationframe-for-smart-animating/), and Bob Nystrom for his book on Game Programming Patterns (http://gameprogrammingpatterns.com/) which inspired the loop logic for this pen.
A Pen by Chris Roche on CodePen.
<? | |
add_action('init', 'cjr_register_books_cpt'); | |
add_action('admin_menu', 'cjr_add_book_settings'); | |
/** | |
* Registers the Books CPT to WordPress. Must be called in 'init' action hook. | |
*/ | |
function cjr_register_books_cpt() | |
{ |