Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
bradfitz
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
21 ms
·
241.
▲
by
bradfitz
6y ago
Go in practice doesn't actually use the code cited. Most of the math/bits package is recognized by the compiler and intrinsified down into 1 or a few CPU instructions (not function calls) on almost all architectures. In a git chec
242.
▲
by
bradfitz
6y ago
Whoops, I just fixed that typo too. (not yet deployed)
243.
▲
by
bradfitz
6y ago
Yeah, that would be the obvious representation if we were willing to go to 32 bytes. (on 64-bit) But paying 8x memory cost for IPv4 and 2x for IPv6 was a bit hard to swallow. Especially considering how rare IPv6+zones are. And we didn'
244.
▲
by
bradfitz
6y ago
That's only used for the IPv6 scopes and it's amortized over all parses to effectively zero. Only allocates once per unique new scope name seen. I could clarify in the post.
245.
▲
by
bradfitz
6y ago
You can. But an IPv6 address won't fit in that.
246.
▲
by
bradfitz
6y ago
> How the heck does one even turn an IPv4 address into 28-56 bytes? It's covered in the blog post.
247.
▲
by
bradfitz
6y ago
> Cool! One thing that confused me, though, is why they used the inet.af import path. I get that it looks cool, but it'd be better if they just used tailscale.com for everything. Why would it be better to use tailscale.com? It has n
248.
▲
by
bradfitz
6y ago
Hah, no... It was closer to a person week of time total. It had its origins in 2019 but we didn't work on this solid for a year and a half.
249.
▲
by
bradfitz
6y ago
If I'm going to give Apple $1,000, I better get a monitor stand out of it at least!
250.
▲
by
bradfitz
6y ago
I was in Iowa visiting my grandparents when RAGBRAI came through their town one year: Oyens, Iowa. Population 94. https://www.google.com/maps/place/Oyens,+IA/@42.8198478,-96.... Marne looks huge compared to O
251.
▲
by
bradfitz
6y ago
I'd answer questions but I'm not sure where to start. I think we're pretty well aware of the pros and cons of all the options and between the team members designing this we have pretty good experience with all of them. But it
252.
▲
by
bradfitz
6y ago
Kubernetes support is a top Tailscale request and the community's starting to do it on their own (a bit, in less than ideal ways sometimes) so soon enough here we'll have to end our little Kubernetes vacation and get back into it
253.
▲
by
bradfitz
6y ago
Well, we literally named and pushed that publicly minutes before today's blog post.
254.
▲
by
bradfitz
6y ago
We have a lot of Kubernetes experience on the team. Multiple of us run Kubernetes clusters in our home labs (mine: https://github.com/bradfitz/homelab ), and one of us used to be on the Google GKE team as an SRE, and is
255.
▲
by
bradfitz
6y ago
We don't use Kubernetes (or even Docker) currently.
256.
▲
by
bradfitz
6y ago
Empirically, the former. We've since hired many employees who just learned about our database today from this blog post but had been happily testing against it on their laptops for months. 3-4 of us know about it, and that's suffi
257.
▲
by
bradfitz
6y ago
Yeah, I guess we could've laid that out earlier: * our data is tiny and fits in RAM * our data changes often * we want to eventually get to an HA setup (3-5 etcd nodes now, a handful of backend server instances later) * we want to be a
258.
▲
by
bradfitz
6y ago
Maybe "obvious" was the wrong word there. What we meant to say was that would be the typical route people would go, doing the common, well-known, risk-averse thing.
259.
▲
by
bradfitz
6y ago
Sorry, I should've just said tests. Our tests overall are a mix of unit tests and integration tests and all sizes in between, depending on what they want to test.
260.
▲
by
bradfitz
6y ago
Yeah, I think it was zstd. But the bigger problem was the curve. Doing something O(N*M) where N (file size) and M (writes per second) were both growing was not a winning strategy, compression or not.
261.
▲
by
bradfitz
6y ago
Running all of our control server tests (including integration tests) right now takes 8 seconds, and we're not even incredibly happy with that. There's no reason it should even be half that. So it's not really in our patience
262.
▲
by
bradfitz
6y ago
Yes, we're going to be moving to 2+ control servers for HA + blue/green reasons pretty soon here.
263.
▲
by
bradfitz
6y ago
Whoa, we hadn't seen that! At first glance it indeed appears to be perhaps exactly identical to what we did.
264.
▲
by
bradfitz
6y ago
Keep reading!
265.
▲
by
bradfitz
6y ago
So then every engineer needs to install & maintain a database on their machines. (Hope they install the right version!) I mean, that's what my old company did pre-Docker. It works, but it's tedious.
266.
▲
by
bradfitz
6y ago
It's not difficult. We've done it before and have code for it. See the article.
267.
▲
by
bradfitz
6y ago
> What if you used one of the managed RDBMS services offered by the big cloud providers? We could (and likely would, despite the costs) but that doesn't address our testing requirements. The control plane is on AWS. We use 4 or 5 di
268.
▲
by
bradfitz
6y ago
Not a typo. See why we're holding it all in RAM? But writing out 150MB many times per second isn't super nice when both 150MB and the number of times per second are both growing.
269.
▲
by
bradfitz
6y ago
Docker itself doesn't add much latency. It just makes getting MySQL and PostgreSQL easier. If anything, it helps with dependencies. The database server startup still isn't great, though.
270.
▲
by
bradfitz
6y ago
Well, we have exactly 1 client (our 1 control server process). So architecturally it's: 3 or 5 etcd (forget what we last deployed) <--> 1 control process <--> every Tailscale client in the world The "Future" secti
More ›