bradfitz Profile Banner
Brad Fitzpatrick 🌻 Profile
Brad Fitzpatrick 🌻

@bradfitz

Followers
50K
Following
101K
Media
4K
Statuses
26K

I do computers. Married to @radkat. 3 kids. Xoogler. @golang team '10~'20. Made LiveJournal, memcached. Now @Tailscale. Mostly in bluer skies these days.

Joined January 2007
Don't wanna be here? Send us removal request.
@bradfitz
Brad Fitzpatrick 🌻
3 years
Kid just asked me whether there was a negative zero. I knew this day would come but I wasn't quite ready to have The Talk about IEEE 754 quite yet.
77
687
7K
@bradfitz
Brad Fitzpatrick 🌻
5 years
"An update on bradfitz". After ~12.5 years at Google and ~10 years working on Go, it's time for me to do something new. Tomorrow is my last day at Google. 👋. I'll still be involved with #golang but less, and differently. More:.
178
289
4K
@bradfitz
Brad Fitzpatrick 🌻
4 years
Network interface naming. Linux: "wlan0". macOS: "en1". Windows: "The Broadcom 802.11 Network Adapter provides wireless local area networking.".
30
338
3K
@bradfitz
Brad Fitzpatrick 🌻
7 years
9
27
2K
@bradfitz
Brad Fitzpatrick 🌻
5 years
Handed in my corp devices and badge! Bye, Google!. Officially unemployed.
89
33
2K
@bradfitz
Brad Fitzpatrick 🌻
6 years
I can't keep up with the news lately (and most of it's depressing), but the #HongKong protests seem like the most optimistic thing that's happening in the world lately. We're cheering for you, Hong Kong! 🇭🇰 (well, most of us, except stupid corps and bots).
328
479
2K
@bradfitz
Brad Fitzpatrick 🌻
4 years
Tweet media one
36
123
1K
@bradfitz
Brad Fitzpatrick 🌻
4 years
Very green Tesla.
Tweet media one
16
260
1K
@bradfitz
Brad Fitzpatrick 🌻
5 years
Go 1.15 binary sizes took a welcome turn:. From 8.2M in Go 1.14 to 3.9M !?!?. 👏👏 #golang
Tweet media one
12
261
1K
@bradfitz
Brad Fitzpatrick 🌻
7 years
@ScottBatemanMan @jeremypgordon I see a few dozen emails with your name! Including a few 2000-2003 PayPal receipts. Thanks for supporting LJ!
Tweet media one
8
11
1K
@bradfitz
Brad Fitzpatrick 🌻
4 years
Parse JSON like a Rockstar:.😂.
17
261
1K
@bradfitz
Brad Fitzpatrick 🌻
5 years
Unemployment got boring. I'm joining @Tailscale. More:.
58
51
1K
@bradfitz
Brad Fitzpatrick 🌻
8 years
Hello, world. @radkat and I are proud to introduce Dylan. 👶❤️.Goodbye, sleep.
Tweet media one
Tweet media two
Tweet media three
Tweet media four
117
13
1K
@bradfitz
Brad Fitzpatrick 🌻
3 years
Happy Go 1.18 release day!. Most generic release yet. #golang.
16
96
1K
@bradfitz
Brad Fitzpatrick 🌻
6 years
Today LiveJournal is 20 years old. 🐐🎂🎉 It's a few months older but before that it was a CGI script I copied to friends who ran it on their own servers. Today is domain anniversary. Hosting it for others helped it grow. :).
30
197
937
@bradfitz
Brad Fitzpatrick 🌻
9 years
OpenSSL. Fixing CVE-2016-6307 caused CVE-2016-6309 and CVE-2016-7052? Can't make this up.
6
901
878
@bradfitz
Brad Fitzpatrick 🌻
7 years
Coworker closes laptop lid in sadness and frustration at some code. Coworker 2 asks why he doesn't throw his laptop across the room. "Because I'm afraid I'd then need to upgrade to one with USB-C".
14
135
865
@bradfitz
Brad Fitzpatrick 🌻
5 years
Remember when I quit my well-paying job in January because it was "time for me to do something new"?. I suppose pandemic lockdown childcare is "something new" but this isn't quite what I had in mind; I should've been more specific.
14
21
870
@bradfitz
Brad Fitzpatrick 🌻
4 years
That's a remote upgrade I wouldn't look forward to.
16
121
872
@bradfitz
Brad Fitzpatrick 🌻
6 years
The #golang playground now supports third-party imports, pulling them in via . 🎉. Multi-file support & few other things up next. Report bugs at or here on the tweeters.
19
348
886
@bradfitz
Brad Fitzpatrick 🌻
4 years
When I went to Google in 2007 to learn how the grownups did distributed systems, I searched internal docs for things I'd made and found that YouTube was using Perlbal (LiveJournal's HTTP load balancer) for some stuff at the time. Honored 😜.
@TechEmails
Internal Tech Emails
4 years
YouTube cofounder: "aiming high". February 11, 2005
Tweet media one
30
38
865
@bradfitz
Brad Fitzpatrick 🌻
4 years
Whoa, run Apple II Print Shop in the browser, with a virtual printer that generates a PDF:. OMG so many memories! 😍
Tweet media one
Tweet media two
Tweet media three
28
205
803
@bradfitz
Brad Fitzpatrick 🌻
5 years
I've got a joke about #golang error handling but it's going to take several lines.
22
88
835
@bradfitz
Brad Fitzpatrick 🌻
3 years
oh dear god.
Tweet media one
32
197
775
@bradfitz
Brad Fitzpatrick 🌻
4 years
So, Java got goroutines. What a world!.
25
199
794
@bradfitz
Brad Fitzpatrick 🌻
4 years
Annnnd the #golang proposal to add generics is now accepted: 🎉.
@bradfitz
Brad Fitzpatrick 🌻
4 years
Generics in #golang has moved to "likely accept" phase.
13
188
780
@bradfitz
Brad Fitzpatrick 🌻
4 years
just another day in open source
Tweet media one
15
37
784
@bradfitz
Brad Fitzpatrick 🌻
6 years
How will AWS and GCP respond to this new offering? 🤔☕️☁️
Tweet media one
28
164
770
@bradfitz
Brad Fitzpatrick 🌻
4 years
Tweet media one
8
83
742
@bradfitz
Brad Fitzpatrick 🌻
3 years
Tailscale-for-wasm shipped!. Now you can SSH in your browser to @Tailscale nodes. It runs all of Tailscale+WireGuard+gVisor netstack+SSH client in your browser locally. #WebAssembly.
@mihai
Mihai Parparita
3 years
To make a web SSH client from scratch, you must first create the network stack. It was a lot of fun turning @bradfitz’s @tailscale Wasm prototype into Tailscale SSH Console. We wrote up a bunch of behind the scenes details at
24
127
708
@bradfitz
Brad Fitzpatrick 🌻
6 years
Is there nothing left to do in tech if everybody's working on Dark Mode?.
26
98
683
@bradfitz
Brad Fitzpatrick 🌻
5 years
oh, nice, 50% more fast units
Tweet media one
14
57
683
@bradfitz
Brad Fitzpatrick 🌻
5 years
Turns out Google's internal business card order form only allows a few email address domain names in its <select> drop-down. But that's easy enough to fix by editing the DOM with Chrome DevTools. My parting gift arrived. (I couldn't change the Google to a gopher, though.)
Tweet media one
9
28
691
@bradfitz
Brad Fitzpatrick 🌻
5 years
Somebody just found some old pictures of my 21st birthday party and noted that I stepped away from the party to deal with a LiveJournal thing in the middle. Look at that retro battlestation! And a fax machine?!
Tweet media one
42
9
650
@bradfitz
Brad Fitzpatrick 🌻
6 years
Twice today I've spoken up in meetings and was totally ignored. I guess my idea wasn't even worth a reply? :-/. Five minutes later: oh, right, I forgot I'd muted myself.
10
30
581
@bradfitz
Brad Fitzpatrick 🌻
6 years
Go 1.13 is shaping up to be pretty fun:.- modules.- defer on stack (.- bunch of GC return-memory-to-OS improvements.- bunch of optimizations.- linker memory reductions, some speed.- record version & dep versions in binary.- sync.Pool love.- . #golang
Tweet media one
12
194
573
@bradfitz
Brad Fitzpatrick 🌻
4 years
coworker pointed out he's closer in age to my 4 year old than me 🪦.
15
2
547
@bradfitz
Brad Fitzpatrick 🌻
3 years
Thanks, family. 😂
Tweet media one
12
14
565
@bradfitz
Brad Fitzpatrick 🌻
5 years
40 🎉🎂👴.
50
3
566
@bradfitz
Brad Fitzpatrick 🌻
5 years
115 KiB of our binary is #golang compiler-generated equality funcs for structs used as value types. Make it all go away with this one dirty trick:. Make your struct types not comparable by adding an unnamed 0-sized array of func pointers. Now it can't ==:. _ [0]func(). 🤮 🤷‍♂️
Tweet media one
Tweet media two
19
93
560
@bradfitz
Brad Fitzpatrick 🌻
3 years
more IPv4 plotting. Yellow = AWS.Orange = GCP.Purple = Azure.Brown = DoD / US Govt.Gray = Reserved (e.g. 127.0.0.0/8 in the middle).Blue = you guess
Tweet media one
66
82
545
@bradfitz
Brad Fitzpatrick 🌻
3 years
10 years of my technical writing being critiqued by the Go team and I can still hear Rob et al telling me: "Drop Useful. Useful is subjective. And if it's not useful why would it be here anyway?". java.util.Locale: .
Tweet media one
21
29
535
@bradfitz
Brad Fitzpatrick 🌻
8 years
My regular bartender gave me a haircut in 2013 and I paid in $BTC. Good haircut. (She still has it, now $12,500 or whatever.)
Tweet media one
15
116
550
@bradfitz
Brad Fitzpatrick 🌻
8 years
Dear onesie manufacturers,. Please use alternating colored snaps to prevent off-by-one errors during baby wiggling. All silver doesn't help anybody. Love,.Parents
Tweet media one
33
82
504
@bradfitz
Brad Fitzpatrick 🌻
6 years
@AOC I hope you enjoyed LiveJournal in high school, at least! Keep up the good work. Don't let the haters hate. Signed,.LiveJournal creator & AOC fan,.@bradfitz.
20
16
448
@bradfitz
Brad Fitzpatrick 🌻
5 years
Well, it only took 7 months for Google recruiters to start contacting me. (Then again, they also contact you while you're still employed at the company, so I shouldn't be too surprised.).
20
12
493
@bradfitz
Brad Fitzpatrick 🌻
3 years
useless idea that maybe already exists:. add song metadata in source code comments so each file can have a theme song that starts playing when you open it (e.g. integrate with vscode-spotify or whatever).
40
35
481
@bradfitz
Brad Fitzpatrick 🌻
3 years
We made a thing: Таilscale SSH. We put an SSH server in the @Tailscale tailscaled process that integrates w/ Tailscale auth (authN+authZ) so you don't need SSH keys. And works alongside any existing SSH server on your machine. Props to @maisem_ali for doing the hard parts! 😅.
@Tailscale
Tailscale
3 years
🚀 Say hello to Tailscale SSH — and say goodbye to managing SSH keys, setting up bastion jump boxes, and unnecessarily exposing your private production devices to the open internet.
15
68
484
@bradfitz
Brad Fitzpatrick 🌻
5 years
Inbox zero is for suckers. Just give up. I have.
Tweet media one
54
23
477
@bradfitz
Brad Fitzpatrick 🌻
6 years
Go 1.14 should be great. Much #golang runtime work this cycle. Hope all lands:. * async preemption (.* fast defers (.* scalable timers ( .* new page allocator (.
@bradfitz
Brad Fitzpatrick 🌻
6 years
#golang defer statements got faster in Go 1.13 and got much faster just now, for Go 1.14:. "cmd/compile, cmd/link, runtime: make defers low-cost through inline code and extra funcdata".
7
134
481
@bradfitz
Brad Fitzpatrick 🌻
4 years
Pass-through RJ45 connectors still feel like cheating
Tweet media one
41
21
457
@bradfitz
Brad Fitzpatrick 🌻
8 years
I apologize to any of my twitter followers who are not interested in the union of:.* #golang.* Politics .* Kubernetes .* Seattle, SF.* Bitcoin .* Photos of my cute baby.* Dad jokes.* General snark.* Beer.But thanks for tolerating all the tweetspam!.
30
13
462
@bradfitz
Brad Fitzpatrick 🌻
3 years
Today's my two years at @Tailscale anniversary! 🔐🎉. After about 3,000 commits I'm getting closer to understanding networking. (admittedly a BS metric; nobody will truly understand networking).
7
5
464
@bradfitz
Brad Fitzpatrick 🌻
3 years
damnit, Copilot
Tweet media one
5
25
467
@bradfitz
Brad Fitzpatrick 🌻
7 years
Google's all, "Oh, you're logged into Google so we know who you are and your country and every personal detail of your life and looking at a map of Hawaii, so we'll show you miles not km, but OH MY GOD YOU HAVE A GERMAN IP ADDRESS SO WE'LL USE A COMMA FOR THE DECIMAL POINT!".thx
Tweet media one
13
64
463
@bradfitz
Brad Fitzpatrick 🌻
5 years
Unix: The Rule Of Silence ( . "when a program has nothing surprising, interesting or useful to say, it should say nothing.". Windows:. " OK!"
Tweet media one
17
60
451
@bradfitz
Brad Fitzpatrick 🌻
4 years
Tweet media one
Tweet media two
28
38
456
@bradfitz
Brad Fitzpatrick 🌻
7 years
The number of #golang commits from non-Googlers seems to have overtaken those from Googlers. congrats!. (using go get
Tweet media one
7
87
459
@bradfitz
Brad Fitzpatrick 🌻
4 years
rm -rf
Tweet media one
6
29
469
@bradfitz
Brad Fitzpatrick 🌻
9 years
Dear internet,.Have I ever shown you my LGTM foot pedal?
16
194
442
@bradfitz
Brad Fitzpatrick 🌻
3 years
I'm preparing to do an interview. This applicant has an impressive tenure at their previous job. "Jan 1970 - present · 52 years".
28
13
448
@bradfitz
Brad Fitzpatrick 🌻
6 years
I feel ya, little man.
Tweet media one
Tweet media two
12
18
450
@bradfitz
Brad Fitzpatrick 🌻
6 years
So,.* FB pays teens to track them with app (market research). ~Fine.* Apple doesn't approve said iOS app.* FB says F that, distributes sideloaded corp app.* Apple says F that, blacklists Facebook's corp cert.* FB employees can't check lunch menu etc. Cool.
15
165
424
@bradfitz
Brad Fitzpatrick 🌻
6 years
I wrote a doc:. CRFS: Container Registry Filesystem. "CRFS is a read-only FUSE filesystem that lets you mount a container image, served directly from a container registry (such as , without pulling it all locally first.". Code later.
13
98
447
@bradfitz
Brad Fitzpatrick 🌻
5 years
We just made the first bits of the @Tailscale code public, starting w/ the Linux client + its dependent/common code:. Still lots of rough edges & TODOs everywhere so temper expectations accordingly. We want to hack in open and not wait until it's perfect.
Tweet media one
15
68
443
@bradfitz
Brad Fitzpatrick 🌻
4 years
41 🎂.
38
0
424
@bradfitz
Brad Fitzpatrick 🌻
5 years
I miss Touch ID.
Tweet media one
Tweet media two
19
33
428
@bradfitz
Brad Fitzpatrick 🌻
2 years
@maximilianhils Ooooh, I forgot this behavior in my list!.
14
46
426
@bradfitz
Brad Fitzpatrick 🌻
3 years
My Unix/Linux knowledge is pretty decent in parts & not so in others. Stuff around process groups, sessions/session leaders, controlling terminals, ptys, termcaps, login shells, uid/euid/suid, capabilities. very fuzzy. There a canonical guide/book to all this? Time to learn.
38
29
412
@bradfitz
Brad Fitzpatrick 🌻
4 years
#golang generics FAQ updated
Tweet media one
11
57
420
@bradfitz
Brad Fitzpatrick 🌻
3 years
oh hi, little pumpkin. thanks for cheering me up
Tweet media one
8
21
398
@bradfitz
Brad Fitzpatrick 🌻
5 years
The 3-year-old talking about his little brother who smashed his tower:. "He's just a little boy. He doesn't know what to do. But I'm a big boy and I also don't know what to do.". Deep.
7
27
408
@bradfitz
Brad Fitzpatrick 🌻
3 years
I'm proud to introduce the newest US citizen: @radkat! 🎉🇺🇸🗽🇺🇸🎉. (Old photos, but appropriate!). 😘
Tweet media one
Tweet media two
23
2
398
@bradfitz
Brad Fitzpatrick 🌻
9 years
So, this happened. 💒🍾.Love you, @radkat!.#FitzPek
Tweet media one
42
6
400
@bradfitz
Brad Fitzpatrick 🌻
8 years
Tweet media one
2
49
400
@bradfitz
Brad Fitzpatrick 🌻
6 years
serverless-to-cgi-bin -- A browser extension that replaces occurrences of 'serverless' with 'cgi-bin'.
4
124
379
@bradfitz
Brad Fitzpatrick 🌻
4 years
"hey @nickoneill, what's your wifi?"."We don't have wifi."."What? You don't have wifi?!"."No, we don't have wifi". "Goddamnit, Nick."
Tweet media one
7
27
387
@bradfitz
Brad Fitzpatrick 🌻
4 years
So @Tailscale is now officially free for open source projects & friends/family use cases when using GitHub orgs:. We launched GitHub auth support without clarifying that. Consider it clarified. :).
10
76
383
@bradfitz
Brad Fitzpatrick 🌻
6 years
Hello, Sean! Welcome to the family. LGTM! 👶💓 .😘 @radkat.
Tweet media one
Tweet media two
Tweet media three
Tweet media four
46
2
376
@bradfitz
Brad Fitzpatrick 🌻
4 years
We finished[1] migrating away from git submodules today. go.mod + gohack FTW. (Thanks, @rogpeppe!). [1] nothing is ever finished, but they are deleted.
Tweet media one
9
15
365
@bradfitz
Brad Fitzpatrick 🌻
5 years
When I left Google apparently all my old App Engine and GCP projects were auto-transferred to my team or something, including my very first one when I wanted to run Hello World but it nagged me for a "project ID" (whatever that was!) and I entered:. "your-mom". So Go got that. 😂.
6
15
381
@bradfitz
Brad Fitzpatrick 🌻
8 years
This hose has 6 useful spray patterns and one utterly stupid or broken one. #verticalvideo
26
60
374
@bradfitz
Brad Fitzpatrick 🌻
6 years
@_rsc We can all finally apply for those jobs asking for 10 years of "Golang" experience! 😅.
3
34
369
@bradfitz
Brad Fitzpatrick 🌻
4 years
Good on @AWSOpen for forking ElasticSearch. Sorry Elasticsearch, but if you open source something and then up-open source it, don't be surprised if people carry on using & contributing to the old open source version. Play stupid games, win stupid prizes, etc.
14
49
371
@bradfitz
Brad Fitzpatrick 🌻
11 years
Welcome to Japan. http://t.co/cfaNSBExMD.
Tweet media one
15
521
369
@bradfitz
Brad Fitzpatrick 🌻
5 years
.@radkat is really into custom cakes (like Thomas the Tank Engine for our 2 year old's party) but I'm not into Thomas (as much as Dylan) so she got me a cake shaped like my server rack[0], complete with lights. 😆. [0]
Tweet media one
Tweet media two
Tweet media three
Tweet media four
16
14
366
@bradfitz
Brad Fitzpatrick 🌻
5 years
Thanks to @FiloSottile for sending out to remove hurtful terminology in the #golang tree. Better late than never. (Preemptive: yes, whitelist/blacklist terms aren't racist by etymology. That's not the point. Rather, not perpetuating white=good/black=bad).
17
58
369
@bradfitz
Brad Fitzpatrick 🌻
5 years
me writing Swift
Tweet media one
Tweet media two
4
38
369
@bradfitz
Brad Fitzpatrick 🌻
4 years
1 year at @Tailscale. Whee! 🎢👨‍💻🔗🌐🔐 📈🎉🎂.
7
2
364
@bradfitz
Brad Fitzpatrick 🌻
6 years
Lolz at internet comments saying that Google couldn't have possibly paid "millions" on Go because #golang is so simple. Probably a troll, but my napkin math w/ git log + ~glassdoor salaries puts Google-paid accumulated salaries alone at least $45 million since 2009.
Tweet media one
17
55
357
@bradfitz
Brad Fitzpatrick 🌻
7 years
A good stopping point for going to bed is when you think you know the solution to a problem or at least a good next debugging step. DON'T ACTUALLY TRY IT, though! If you fail, you'll be up longer: either fighting it more, or thinking about it in bed. 💤.
18
71
364
@bradfitz
Brad Fitzpatrick 🌻
6 years
Whoa:. "Run VS Code on a remote server". I haven't been able to fight Emacs+screen+mosh addiction for ~20 years now (well, mosh was recent addition) because I loved being able to move between machines & have my state preserved. I've been waiting for this!.
18
56
369
@bradfitz
Brad Fitzpatrick 🌻
5 years
"logrotate.service: Failed to run 'start' task: No space left on device". You had one job.
6
20
338
@bradfitz
Brad Fitzpatrick 🌻
3 years
The IRS has a new authentication provider: So to pay taxes to the US government I need to use an identity provider with a Montenegro domain. 🙄🤷‍♂️.
23
44
353
@bradfitz
Brad Fitzpatrick 🌻
6 years
If any of y'all would like to experience something, uh, special, then express support for Hong Kong and watch your email and DMs blow up with Chinese bots and nationalists. Wow. Good times.
@bradfitz
Brad Fitzpatrick 🌻
6 years
I can't keep up with the news lately (and most of it's depressing), but the #HongKong protests seem like the most optimistic thing that's happening in the world lately. We're cheering for you, Hong Kong! 🇭🇰 (well, most of us, except stupid corps and bots).
64
118
345
@bradfitz
Brad Fitzpatrick 🌻
7 years
My #homelab write-up is now up:. Questions welcome. I'll reply here & also update the doc. And I'll try to keep it updated over time and flesh it out more with configs, etc.
Tweet media one
Tweet media two
Tweet media three
31
62
353
@bradfitz
Brad Fitzpatrick 🌻
6 years
yeah being an open source maintainer is so rewarding: sigh. #golang.
46
27
347
@bradfitz
Brad Fitzpatrick 🌻
5 years
Week 1 (0.5?) at @Tailscale:. * set up internal Tailscale godoc server (running on Tailscale itself!); memories of Google internal godoc on Borg. * set up many accounts, 2FA, computers (Windows + Linux) . tedious, but necessary. * started prepping for open sourcing stuff 🎉🎉.
7
7
340
@bradfitz
Brad Fitzpatrick 🌻
3 years
Fuck Everything, We're Doing Five Cameras
Tweet media one
36
20
333