Joe Tsai

91 posts

Joe Tsai

Joe Tsai

@_joetsai

Santa Clara, CA เข้าร่วม Kasım 2013
64 กำลังติดตาม277 ผู้ติดตาม
Joe Tsai
Joe Tsai@_joetsai·
@Sean_McDowell @dougbentley A relevant comparison: Was John the Baptist a martyr? He was killed (instigated by Herodias) for calling out Herod's sin of adultery. If yes, then it seems that holding a Christian worldview and being killed for it could fit the definition.
English
0
0
0
9
Sean McDowell
Sean McDowell@Sean_McDowell·
@dougbentley Exactly. I had to read the literature on this in my work on the apostles, and as you indicate, there’s a lot of factors in the definition of martyr.
English
1
0
1
160
Sean McDowell
Sean McDowell@Sean_McDowell·
Was Charlie Kirk a martyr?
English
22
1
11
3.6K
Joe Tsai
Joe Tsai@_joetsai·
@robfig Code generation was explored and shown to be much faster for small programs, but the benefits diminish greatly for large programs. There is value in providing it, but was not deemed an acceptable approach for all cases (esp. large binaries).
English
0
0
1
97
Rob Figueiredo
Rob Figueiredo@robfig·
@_joetsai - hoping to get you to weigh in. Does Google use the official library? How did you think about whether to include support for generated marshaling routines?
English
2
0
0
164
Joe Tsai
Joe Tsai@_joetsai·
@robfig Yes, they use golang/pb2. It provides reflection APIs so that different message representations can interoperate. This allowed for experimentation with different underlying implementations that are faster. Good to see other implementations that are v2-compatible.
English
0
0
0
44
Joe Tsai
Joe Tsai@_joetsai·
@davidcrawshaw I'm surprised that rsync today still does not do parallel compression.
English
1
0
1
0
David Crawshaw
David Crawshaw@davidcrawshaw·
Fun discovery in production today: rsync is (by default) slow over modern ethernet. It only uses a single core and (by default) compresses data, so it uses less than 10% of even a moderate link before maxing out CPU. You get 10x the throughput with scp.
English
4
5
62
0
Joe Tsai
Joe Tsai@_joetsai·
@ablewhiskey @maisem_ali @Tailscale Correct. A key is just an opaque token that gives you authority to perform some action (e.g., authorize a node, call API method, etc.). The /keys endpoint is intended to support all things related to keys, but some functionality is still missing.
English
0
0
0
0
Alexander Wong
Alexander Wong@ablewhiskey·
Would be real nice if the @Tailscale API had an endpoint that would tell you when the API key you’re using is due to expire so clients could help drive necessary renewal processes
English
2
0
2
0
Jan Arens
Jan Arens@th3_noname·
#TailscaleUp Any plans on making it possible to create on-time keys using the tailscale API? That would make it possible to automatically create a VM that joins the network, without worrying about where the key ends up.
English
2
0
0
0
Katie Hockman
Katie Hockman@katie_hockman·
Go native fuzzing is almost ready for beta-use in its development branch! 🎉 Be on the lookout for an upcoming announcement with setup instructions. Are you interested in being an early user? Do you know projects that would be good candidates? golang.org/s/draft-fuzzin… #golang
English
4
115
443
0
Joe Tsai
Joe Tsai@_joetsai·
@mvdan_ I started searching around and found #TOC_3" target="_blank" rel="nofollow noopener">blog.golang.org/11years#TOC_3. Russ mentions hopefully having "beta" support for fuzzing in 1.17.
English
0
0
0
0
Joe Tsai
Joe Tsai@_joetsai·
@kenners @SpaceX Congratulations on your many years there! I still remember when we started around the same time working Iron Maiden and Firestorm in the wee hours of the night.
English
0
0
1
0
Joe Tsai
Joe Tsai@_joetsai·
@_zombiezen_ @dgryski @commaok The Roughtime implementation from @agl__ (#maintaining-a-healthy-software-ecosystem" target="_blank" rel="nofollow noopener">roughtime.googlesource.com/roughtime/+/re…) provides a server that is strict is what it accepts and is liberal in what it provides. It's the complete opposite of "Postel's Law"; perhaps we should call this "Langley's Law"
English
1
0
0
0
Joe Tsai
Joe Tsai@_joetsai·
@jyzg @Jeffinatorator @bradfitz @Tailscale A challenge in Go is that most Go binaries have all their dependencies statically linked in. Thus, disjoints sets of Go binaries each using Brotli are unlikely to dynamically share that dictionary.
English
1
0
1
0
Jyrki Alakuijala 🇺🇦
@_joetsai @Jeffinatorator @bradfitz @Tailscale The beauty of the static dictionary is that it can be shared between threads and even by different applications. That is unlike any other compression resources. If you have a custom environment where you want to save some footprint, you can remove the static dictionary.
English
1
0
0
0
Brad Fitzpatrick 🌻
Brad Fitzpatrick 🌻@bradfitz·
Oh a whim, I decided to try to use Protocol Buffers in @Tailscale for something. Recall that on iOS we currently have ~2.5 MiB of free memory remaining (of 15 total) Just adding a single protobuf message w/ a single boolean field takes 1.2 more MiB! @_joetsai, protolite plz? :)
Brad Fitzpatrick 🌻@bradfitz

Success. (well, good enough for one day. Thanks to @apenwarr for R tips!) Looks like the @Tailscale iOS memory leaks are fixed. Yay autoreleaseblock? Still riding closer to the edge than I'd like. (Wireguard-go probably shouldn't keep multiple per-peer idle goroutines around.)

English
12
3
81
0
Joe Tsai
Joe Tsai@_joetsai·
@Jeffinatorator @bradfitz @Tailscale Thanks for diving into this. There seems to be quite a number of low-hanging fruit of things we can do today like making protowire.ParseError not inlineable.
English
0
0
2
0
Joe Tsai
Joe Tsai@_joetsai·
@Jeffinatorator @bradfitz @Tailscale On the topic of raw descriptors, if we wanted to minimize their footprint, Brotli does amazingly well on them due to its use of a static dictionary. However, Brotli's static dictionary itself incurs a fixed cost of ~120KB.
English
1
0
1
0
Joe Tsai
Joe Tsai@_joetsai·
@Jeffinatorator @bradfitz @Tailscale The raw descriptors take up some, but they are actually far less than people think. For that reason, we stopped compressing them in v1.4 and on since the binary size reduction didn't quite justify the CPU cost of decompressing them.
English
1
0
0
0
Joe Tsai
Joe Tsai@_joetsai·
@bradfitz @Tailscale Heh... Go protobufs have not been optimized at all for the mobile environment. \cc @Damien_Neil I'm curious how much of that cost is initial overhead. What's it look like for a single message with two fields? or two messages?
English
1
0
3
0