News for hackers. Stuff that matters.

bradfitz

Re:Tailscale SSH: Investigation and remediation update on Tuesday October 27, 2026 @08:56PM (#50268045)
(Tailscalar)

FWIW you can rebuild tailscaled to omit all the optional stuff:

https://github.com/tailscale/tailscale/tree/main/feature#mod...

e.g.

  % go run ./cmd/featuretags --min
  ts_omit_ace,ts_omit_acme,ts_omit_advertiseexitnode,ts_omit_advertiseroutes,ts_omit_androidbin,ts_omit_androiddns,ts_omit_appconnectors,ts_omit_aws,ts_omit_bakedroots,ts_omit_bird,ts_omit_c2n,ts_omit_cachenetmap,ts_omit_captiveportal,ts_omit_capture,ts_omit_cliconndiag,ts_omit_clientmetrics,ts_omit_clientupdate,ts_omit_cloud,ts_omit_colorable,ts_omit_completion,ts_omit_completion_scripts,ts_omit_conn25,ts_omit_connreject,ts_omit_dbus,ts_omit_debug,ts_omit_debugeventbus,ts_omit_debugportmapper,ts_omit_desktop_sessions,ts_omit_dns,ts_omit_dnsresolvecache,ts_omit_doctor,ts_omit_drive,ts_omit_exitnodehealth,ts_omit_favorites,ts_omit_flashappliance,ts_omit_gro,ts_omit_health,ts_omit_hujsonconf,ts_omit_identityfederation,ts_omit_ipnbus,ts_omit_iptables,ts_omit_kube,ts_omit_linkspeed,ts_omit_linuxdnsfight,ts_omit_listenrawdisco,ts_omit_logtail,ts_omit_nattraversal,ts_omit_netlog,ts_omit_netstack,ts_omit_networkmanager,ts_omit_oauthkey,ts_omit_osrouter,ts_omit_outboundproxy,ts_omit_peerapiclient,ts_omit_peerapiserver,ts_omit_portlist,ts_omit_portmapper,ts_omit_posture,ts_omit_qrcodes,ts_omit_relayserver,ts_omit_remoteconfig,ts_omit_resolved,ts_omit_routecheck,ts_omit_runtimemetrics,ts_omit_sdnotify,ts_omit_serve,ts_omit_serviceclientprefs,ts_omit_ssh,ts_omit_synology,ts_omit_syslog,ts_omit_syspolicy,ts_omit_systray,ts_omit_taildrop,ts_omit_tailnetlock,ts_omit_tap,ts_omit_tpm,ts_omit_tundevstats,ts_omit_udptransport,ts_omit_unixsocketidentity,ts_omit_useexitnode,ts_omit_useproxy,ts_omit_usermetrics,ts_omit_useroutes,ts_omit_wakeonlan,ts_omit_webbrowser,ts_omit_webclient
Re:Windows 11½ on Monday September 28, 2026 @02:22PM (#49882229)
This is not realistic; the start menu opens way too quickly.
Re:JetKVM Mini on Sunday September 13, 2026 @10:19AM (#49684305)
They started off as a Kickstarter thing and had stock issues in previous rounds too.
I heard that the reason the major car companies started to sour on CarPlay was because Apple started to get increasingly needy with their data collection requirements (as of CarPlay Ultra) and the car companies weren't comfortable (or legally able) to give Apple that much canbus/telemetry data. And I guess Apple was pushing CarPlay Ultra as the only option without classic less-data-snoopy CarPlay?
Last I checked, VPN network extensions wouldn't run in the simulator.
Re:Tailcat – Like netcat, but over Tailscale’s data plane on Wednesday August 26, 2026 @04:45PM (#49455652)
Yes, it's been our CEO Avery's position for ~6.5 years now that we should run DERP servers on the internet for the public good. (rate-limited)

But these are a separate fleet (https://tailcat.dev/derpmap.json) separate from our usual ones, and not using "tailscale.com" in DNS or SNI anywhere.

Re:Tailcat – Like netcat, but over Tailscale’s data plane on Wednesday August 26, 2026 @04:18PM (#49455269)
One fun use case: a coworker just whipped up this Minecraft mod using tailcat as its transport: https://github.com/tailscale/tailcat-for-minecraft

(just a cute demo, not intended for release or ongoing maintenance)

Re:Tailcat – Like netcat, but over Tailscale’s data plane on Wednesday August 26, 2026 @03:38PM (#49454656)
There's an example in the README how to do exactly that :)
Re:Tailcat – Like netcat, but over Tailscale’s data plane on Wednesday August 26, 2026 @03:33PM (#49454580)
It's not our standard dev environment but some of us use Nix. We don't really use Docker much, though. Mostly just "go test" etc.
Re:Tailcat – Like netcat, but over Tailscale’s data plane on Wednesday August 26, 2026 @03:00PM (#49454074)
Same.

But Tailscale keeps sucking me in with new stuff to do. :(

Re:Tailcat – Like netcat, but over Tailscale’s data plane on Wednesday August 26, 2026 @02:34PM (#49453701)
(Author here)

WireGuard doesn't do NAT traversal. That's the main thing this adds. And this also adds a CLI tool + library to do streams over WireGuard w/o installing kernel routings, requiring root, etc.

Re:Tailcat – Like netcat, but over Tailscale’s data plane on Wednesday August 26, 2026 @02:31PM (#49453657)
(Author here)

There's no vendor lock-in here and no payment or account required. If Tailscale as a company fails, tailcat keeps working if you run your own DERP server. It's just open source code, not a hosted service.

Re:Tailcat – Like netcat, but over Tailscale’s data plane on Wednesday August 26, 2026 @02:29PM (#49453634)
(Author here)

The DERP server is already open source and tailcat can use any DERP server you run: https://github.com/tailscale/tailscale/tree/main/cmd/derper#...

We just provide some default ones (https://tailcat.dev/derpmap.json) to get started if you're not bandwidth-sensitive. But you don't have to use them.

Update: I added more explicit docs about this to https://github.com/tailscale/tailcat#bring-your-own-derp-rel...

Oh? I thought we added that option on iOS recently. I'll go check.
Re:Why do we assume everyone should be working? on Monday August 10, 2026 @02:02AM (#49239748)
> utilizing a resource to it’s fullest at all times is not a given

Typos like this (it's instead of possessive its) used to be bother me but now it's a hint that it might be human-authored, which is quaint, so it's stopped bothering me as much.

Re:Go 1.27 Interactive Tour on Saturday August 01, 2026 @10:43PM (#49140560)
No, that's not accurate. The same core people were involved.
Re:Go 1.27 Interactive Tour on Saturday August 01, 2026 @10:43PM (#49140558)
(I was on the Go team for ages)

Seriously, that's all it was. Just Ian alone proposed and rejected a half dozen of his own different approaches to generics. Finally a language + implementation plan came together that people all liked.

Nobody was ever opposed to generics that I saw.

Re:Google kills Earth AI generator after one day on Saturday August 01, 2026 @09:38AM (#49134332)
Well now I want to see the images that got this taken down.
This post inspired me to have Claude port my 30 year old high school German Java applet game to Javascript, complete with a faked git history:

https://github.com/bradfitz/koffer#der-verloren-koffe

Play online at https://bradfitz.github.io/koffer/js/

So neat seeing ~30 year old code come back alive.

Re:We scaled PgBouncer to 4x throughput on Saturday July 11, 2026 @11:32PM (#48878029)
Yeah, I remember writing epoll libraries for Perl (https://metacpan.org/pod/Sys::Syscall, first out 2005-08-01) doing raw system calls because libc on the distros of the time (at least Debian) didn't have epoll support yet.

So in 2005 I didn't expect Postgres to do super well here, but it's 21 years later and we're still pgbouncin'. It's just kinda sad.

Re:We scaled PgBouncer to 4x throughput on Saturday July 11, 2026 @08:50PM (#48877280)
In other words, it's still super heavy if it's forking a process per connection.

I find it ridiculous that PgBouncer even needs to exist. Postgres should be doing this.

Re:We scaled PgBouncer to 4x throughput on Saturday July 11, 2026 @04:41PM (#48875651)
I'm 46 now. I remember being shocked at Postgres's heavy connection model when I was 23.

I gather things haven't improved since?

Re:Hunting a 16-year-old SQLite WAL bug with TLA+ on Friday July 03, 2026 @10:46PM (#48782221)
We found it at Tailscale and bought an enterprise support contract from SQLite to debug it for us. Worth every penny.

We should probably blog about it.

Re:Fox to Buy Roku Streaming Service in $22B Deal on Monday June 15, 2026 @02:33PM (#48545245)
2008? I had the Roku HD1000 [1]. :)

My email search:

"Welcome to the "Roku-tech" mailing list" ... "Tue, Dec 2, 2003, 10:48 AM"

Not sure how I ended up on the mailing list a month before their product was released. There must've been buzz about it for a few months before release.

[1] https://photos.app.goo.gl/bMGBqm4mTmfUNJG39

Re:Understanding Singleflight in Go on Monday May 18, 2026 @08:52PM (#48187913)
I wrote that library originally for dl.google.com: https://go.dev/talks/2013/oscon-dl.slide#1

I then open sourced it in Jan 2013 in what was then named Camlistore (now Perkeep) in https://github.com/perkeep/perkeep/commit/6f9f0bdda9c9c1f147... d

And later I put it in https://pkg.go.dev/github.com/golang/groupcache/singleflight (groupcache was written for dl.google.com)

And a private copy in Go's net package in Jun 2013: https://github.com/golang/go/commit/61d3b2db6292581fc07a3767...

It later moved to golang.org/x/net, and later to the Go standard library (well, internal: https://pkg.go.dev/internal/singleflight)

We now even have a copy with generics in Tailscale's tree at https://pkg.go.dev/tailscale.com/util/singleflight

So many variants of that code :)

IIRC, that's only for Linux guests that can nest. macOS can only one level deep. That is: you can't have a macOS guest (running on the Apple hardware host) make its own macOS guest.
Re:Americans are destroying Flock surveillance cameras on Monday February 23, 2026 @02:54PM (#47127823)
Oh no.
Re:Windows Notepad App Remote Code Execution Vulnerability on Wednesday February 11, 2026 @09:21AM (#46975269)
I can’t tell you how relieving it is to hear somebody else complain about this. This has been my pet peeve for ages.
Re:Show HN: A 45x45 Connections Puzzle To Commemorate 2025=45*45 on Wednesday December 31, 2025 @08:03PM (#46450136)
Well, this has sucked up a couple days of my free time so far... :)

Older »