Brad Fitzpatrick ๐ŸŒป Profile Banner
Brad Fitzpatrick ๐ŸŒป Profile
Brad Fitzpatrick ๐ŸŒป

@bradfitz

52,677
Followers
1,368
Following
3,620
Media
26,383
Statuses

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

Seattle, WA // Bainbridge
Joined January 2007
Don't wanna be here? Send us removal request.
@bradfitz
Brad Fitzpatrick ๐ŸŒป
2 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.
95
781
7K
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 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:
198
302
4K
@bradfitz
Brad Fitzpatrick ๐ŸŒป
3 years
Network interface naming Linux: "wlan0" macOS: "en1" Windows: "The Broadcom 802.11 Network Adapter provides wireless local area networking."
34
360
3K
@bradfitz
Brad Fitzpatrick ๐ŸŒป
6 years
14
30
2K
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 years
Handed in my corp devices and badge! Bye, Google! Officially unemployed.
98
34
2K
@bradfitz
Brad Fitzpatrick ๐ŸŒป
5 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)
338
495
2K
@bradfitz
Brad Fitzpatrick ๐ŸŒป
3 years
Tweet media one
36
137
2K
@bradfitz
Brad Fitzpatrick ๐ŸŒป
3 years
Very green Tesla.
Tweet media one
16
270
1K
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 years
Go 1.15 binary sizes took a welcome turn: From 8.2M in Go 1.14 to 3.9M !?!? ๐Ÿ‘๐Ÿ‘ #golang
Tweet media one
14
269
1K
@bradfitz
Brad Fitzpatrick ๐ŸŒป
6 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
9
12
1K
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 years
Unemployment got boring. I'm joining @Tailscale . More:
63
53
1K
@bradfitz
Brad Fitzpatrick ๐ŸŒป
7 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
128
13
1K
@bradfitz
Brad Fitzpatrick ๐ŸŒป
2 years
Happy Go 1.18 release day! Most generic release yet. #golang
17
106
1K
@bradfitz
Brad Fitzpatrick ๐ŸŒป
5 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. :)
34
225
1K
@bradfitz
Brad Fitzpatrick ๐ŸŒป
8 years
OpenSSL. Fixing CVE-2016-6307 caused CVE-2016-6309 and CVE-2016-7052? Can't make this up.
7
978
956
@bradfitz
Brad Fitzpatrick ๐ŸŒป
6 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"
16
140
935
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 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.
22
24
941
@bradfitz
Brad Fitzpatrick ๐ŸŒป
3 years
That's a remote upgrade I wouldn't look forward to.
18
133
925
@bradfitz
Brad Fitzpatrick ๐ŸŒป
5 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.
20
366
929
@bradfitz
Brad Fitzpatrick ๐ŸŒป
3 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
3 years
YouTube cofounder: "aiming high" February 11, 2005
Tweet media one
31
123
2K
33
46
921
@bradfitz
Brad Fitzpatrick ๐ŸŒป
3 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
31
241
901
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 years
I've got a joke about #golang error handling but it's going to take several lines.
26
94
897
@bradfitz
Brad Fitzpatrick ๐ŸŒป
2 years
oh dear god
Tweet media one
37
216
855
@bradfitz
Brad Fitzpatrick ๐ŸŒป
3 years
So, Java got goroutines. What a world!
25
215
838
@bradfitz
Brad Fitzpatrick ๐ŸŒป
3 years
just another day in open source
Tweet media one
17
38
829
@bradfitz
Brad Fitzpatrick ๐ŸŒป
5 years
How will AWS and GCP respond to this new offering? ๐Ÿค”โ˜•๏ธโ˜๏ธ
Tweet media one
29
169
822
@bradfitz
Brad Fitzpatrick ๐ŸŒป
3 years
Tweet media one
12
90
814
@bradfitz
Brad Fitzpatrick ๐ŸŒป
2 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
2 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 .
9
48
305
27
134
750
@bradfitz
Brad Fitzpatrick ๐ŸŒป
5 years
Is there nothing left to do in tech if everybody's working on Dark Mode?
31
105
734
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 years
oh, nice, 50% more fast units
Tweet media one
15
59
739
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 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
10
28
727
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 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
43
11
694
@bradfitz
Brad Fitzpatrick ๐ŸŒป
5 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
31
627
@bradfitz
Brad Fitzpatrick ๐ŸŒป
5 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
14
207
602
@bradfitz
Brad Fitzpatrick ๐ŸŒป
3 years
coworker pointed out he's closer in age to my 4 year old than me ๐Ÿชฆ
19
2
612
@bradfitz
Brad Fitzpatrick ๐ŸŒป
2 years
Thanks, family. ๐Ÿ˜‚
Tweet media one
12
15
609
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 years
40 ๐ŸŽ‰๐ŸŽ‚๐Ÿ‘ด
52
3
601
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 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
20
97
593
@bradfitz
Brad Fitzpatrick ๐ŸŒป
2 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
71
92
588
@bradfitz
Brad Fitzpatrick ๐ŸŒป
7 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
17
123
582
@bradfitz
Brad Fitzpatrick ๐ŸŒป
2 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
31
588
@bradfitz
Brad Fitzpatrick ๐ŸŒป
7 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
40
87
550
@bradfitz
Brad Fitzpatrick ๐ŸŒป
5 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 .
22
18
506
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 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.)
22
12
528
@bradfitz
Brad Fitzpatrick ๐ŸŒป
2 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)
50
39
524
@bradfitz
Brad Fitzpatrick ๐ŸŒป
2 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
2 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.
30
208
908
17
72
524
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 years
Inbox zero is for suckers. Just give up. I have.
Tweet media one
62
24
509
@bradfitz
Brad Fitzpatrick ๐ŸŒป
5 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 ๐ŸŒป
5 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"
9
92
297
7
147
510
@bradfitz
Brad Fitzpatrick ๐ŸŒป
3 years
Pass-through RJ45 connectors still feel like cheating
Tweet media one
43
24
502
@bradfitz
Brad Fitzpatrick ๐ŸŒป
7 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!
34
13
492
@bradfitz
Brad Fitzpatrick ๐ŸŒป
2 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)
9
5
504
@bradfitz
Brad Fitzpatrick ๐ŸŒป
6 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
14
69
493
@bradfitz
Brad Fitzpatrick ๐ŸŒป
2 years
damnit, Copilot
Tweet media one
5
26
501
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 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
18
65
490
@bradfitz
Brad Fitzpatrick ๐ŸŒป
6 years
The number of #golang commits from non-Googlers seems to have overtaken those from Googlers... congrats! (using go get )
Tweet media one
7
94
488
@bradfitz
Brad Fitzpatrick ๐ŸŒป
3 years
Tweet media one
Tweet media two
28
41
491
@bradfitz
Brad Fitzpatrick ๐ŸŒป
3 years
rm -rf
Tweet media one
6
30
488
@bradfitz
Brad Fitzpatrick ๐ŸŒป
8 years
Dear internet, Have I ever shown you my LGTM foot pedal?
19
214
480
@bradfitz
Brad Fitzpatrick ๐ŸŒป
2 years
I'm preparing to do an interview. This applicant has an impressive tenure at their previous job... "Jan 1970 - present ยท 52 years"
29
14
486
@bradfitz
Brad Fitzpatrick ๐ŸŒป
5 years
I feel ya, little man.
Tweet media one
Tweet media two
13
18
477
@bradfitz
Brad Fitzpatrick ๐ŸŒป
5 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.
18
190
469
@bradfitz
Brad Fitzpatrick ๐ŸŒป
5 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
101
474
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 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
16
73
467
@bradfitz
Brad Fitzpatrick ๐ŸŒป
3 years
41 ๐ŸŽ‚
38
0
460
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 years
I miss Touch ID.
Tweet media one
Tweet media two
21
34
458
@bradfitz
Brad Fitzpatrick ๐ŸŒป
2 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.
43
29
445
@bradfitz
Brad Fitzpatrick ๐ŸŒป
3 years
#golang generics FAQ updated
Tweet media one
13
58
448
@bradfitz
Brad Fitzpatrick ๐ŸŒป
2 years
oh hi, little pumpkin thanks for cheering me up
Tweet media one
8
24
442
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 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.
8
28
434
@bradfitz
Brad Fitzpatrick ๐ŸŒป
2 years
I'm proud to introduce the newest US citizen: @radkat ! ๐ŸŽ‰๐Ÿ‡บ๐Ÿ‡ธ๐Ÿ—ฝ๐Ÿ‡บ๐Ÿ‡ธ๐ŸŽ‰ (Old photos, but appropriate!) ๐Ÿ˜˜
Tweet media one
Tweet media two
24
2
434
@bradfitz
Brad Fitzpatrick ๐ŸŒป
8 years
So, this happened. ๐Ÿ’’๐Ÿพ Love you, @radkat ! #FitzPek
Tweet media one
44
6
421
@bradfitz
Brad Fitzpatrick ๐ŸŒป
7 years
Tweet media one
2
52
427
@bradfitz
Brad Fitzpatrick ๐ŸŒป
3 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
36
417
@bradfitz
Brad Fitzpatrick ๐ŸŒป
5 years
Hello, Sean! Welcome to the family. LGTM! ๐Ÿ‘ถ๐Ÿ’“ ๐Ÿ˜˜ @radkat .
Tweet media one
Tweet media two
Tweet media three
Tweet media four
51
2
402
@bradfitz
Brad Fitzpatrick ๐ŸŒป
3 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. :)
12
80
409
@bradfitz
Brad Fitzpatrick ๐ŸŒป
3 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
10
18
406
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 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
18
404
@bradfitz
Brad Fitzpatrick ๐ŸŒป
5 years
@_rsc We can all finally apply for those jobs asking for 10 years of "Golang" experience! ๐Ÿ˜…
3
34
400
@bradfitz
Brad Fitzpatrick ๐ŸŒป
7 years
This hose has 6 useful spray patterns and one utterly stupid or broken one. #verticalvideo
29
67
402
@bradfitz
Brad Fitzpatrick ๐ŸŒป
10 years
Welcome to Japan... http://t.co/cfaNSBExMD
Tweet media one
16
525
377
@bradfitz
Brad Fitzpatrick ๐ŸŒป
3 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.
16
56
398
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 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
18
17
398
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 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)
18
62
396
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 years
me writing Swift
Tweet media one
Tweet media two
6
40
389
@bradfitz
Brad Fitzpatrick ๐ŸŒป
3 years
1 year at @Tailscale . Whee! ๐ŸŽข๐Ÿ‘จโ€๐Ÿ’ป๐Ÿ”—๐ŸŒ๐Ÿ” ๐Ÿ“ˆ๐ŸŽ‰๐ŸŽ‚
8
2
391
@bradfitz
Brad Fitzpatrick ๐ŸŒป
5 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
58
388
@bradfitz
Brad Fitzpatrick ๐ŸŒป
6 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. ๐Ÿ’ค
19
76
383
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 years
"logrotate.service: Failed to run 'start' task: No space left on device" You had one job.
7
20
380
@bradfitz
Brad Fitzpatrick ๐ŸŒป
5 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
57
381
@bradfitz
Brad Fitzpatrick ๐ŸŒป
2 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. ๐Ÿ™„๐Ÿคทโ€โ™‚๏ธ
31
47
382
@bradfitz
Brad Fitzpatrick ๐ŸŒป
5 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 ๐ŸŒป
5 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)
338
495
2K
67
125
364
@bradfitz
Brad Fitzpatrick ๐ŸŒป
6 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
33
66
375
@bradfitz
Brad Fitzpatrick ๐ŸŒป
5 years
yeah being an open source maintainer is so rewarding: sigh. #golang
53
27
374
@bradfitz
Brad Fitzpatrick ๐ŸŒป
4 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 ๐ŸŽ‰๐ŸŽ‰
8
7
369
@bradfitz
Brad Fitzpatrick ๐ŸŒป
2 years
Fuck Everything, We're Doing Five Cameras
Tweet media one
38
25
367