19 ms·
Porting Tailscale to Plan 9
- deleted 1y ago[deleted]
- deleted 1y ago[deleted]
- mcdow 1y agoRob Pike is in shambles after this devastating betrayal
- pvg 1y agoI'm sure it takes more than that to shamble an Olympic Silver Medal winner in archery.
- rsc 1y agoNot sure what the betrayal is? He contributed a quote for yesterday's post. https://tailscale.com/blog/tailscale-enterprise-plan-9-support https://tailscale.com/blog/tailscale-enterprise-plan-9-suppo...
- renhanxue 1y ago> In 1999, Intel introduced the Pentium III processor with SSE instructions. I kinda expected this paragraph to continue with > This has made a lot of people very angry and been widely regarded as a bad move.
- o11c 1y agoBetter than MMX at least.
- mfro 1y agoRuss Cox is an absolute legend for committing to this joke.
- pbohun 1y agoSomeone needs to convince Russ that it would be hilarious to have a full featured web browser in Plan 9.
- fiddlerwoaroof 1y agoDoesn’t plan9 support frame buffers over 9p or something like that? You could probably write a wrapper that just forwards a Linux browser to a plan9 window
- facile3232 1y agoIt's probably easier to just run a VM directly into a window.
- moody__ 1y agoThis has been done already: https://github.com/aiju/jsdrawterm https://github.com/aiju/jsdrawterm
- samtheprogram 1y agoThis looks like the opposite -- accessing a plan9 system from a web browser?
- moody__ 1y agoYes you're correct, my apologies. There has been work on this going the other way as well: https://github.com/michaelforney/wl9 https://github.com/michaelforney/wl9. But there's still a lot more than can be done. There are vague plans to test the waters implementing something like this in to our vmx(1).
- 1y ago
- kanwisher 1y agowholly cow was not expecting them to patch the plan9 kernel to make this work
- nasretdinov 1y agoWhy not though? Seems like relatively little amount of work was missing since clearly no one seriously done something like this before :)
- candiddevmike 1y ago[flagged]
- linksnapzz 1y agoFunny, I thought it was an interesting exercise.
- ziddoap 1y agoSeems like learning was done and fun was had, alongside some marketing content being produced. In turn, I got some learning done and some entertainment. I think those are all benefits.
- liotier 1y agoAlso, portability is a sign of a rather sane codebase - good vibes for Tailscale !
- packetlost 1y agoI unironically wish there was an enterprise version of Plan 9. I've been writing most of my scripts in `rc` (something my coworkers put up with because we use nix and I can pull it in automatically with dirnev) and it has been great.
- yjftsjthsd-h 1y agoI would worry less about other people being able to run rc scripts and more about them being able to read/edit them.
- packetlost 1y agothey're routinely very short, and the only non-obvious syntax for someone familiar with a C-like language is the ~ command and redirecting to stderr. They're pretty much always easier to read (and write) than bash scripts in general because of how little weird/surprising syntax there is. Not being a derivative of ALGOL has its perks. Most scripts are write-once:read-never, especially if you actually implement -h/--help
- eddythompson80 1y ago> Most scripts are write-once:read-never, especially if you actually implement -h/--help I guess the answer is always “it depends”, but that generally has never been my experience with most things. Are you over-engineering the shit out of every script to the degree the script itself is a Turing complete machine and with enough —-help flags anything is possible? Most 40+ year old Unix tools with a thousand flags have their limits and you have to script around them to achieve things you want. In my experience, eventually a business need will arise that require you to change a script. Are your coworkers comfortable changing these scripts or are you in the mind set of “that’s a simple enough change, I’ll do it”
- packetlost 1y ago> Are you over-engineering the shit out of every script to the degree the script itself is a Turing complete machine and with enough —-help flags anything is possible? No. They're 30 line scripts with 0-5 or so flags. They mostly exist to remove choices from other utilities. Put another way: create named (and namespaced) abstractions by making choices and slapping a name on it. They're functions. > In my experience, eventually a business need will arise that require you to change a script. Are your coworkers comfortable changing these scripts or are you in the mind set of “that’s a simple enough change, I’ll do it” They're small enough that they can be ignored if they don't do exactly what you want. I'm fine changing them, but it's most likely they'd just get rewritten or bitrot after I'm gone.
- 0xbadcafebee 1y agoI like the premise of the joke, but then as the explanation ran on... I suddenly became depressed. So much broken stuff, so much complexity.... to, what, make a network tunnel? If all this extra work was the joke, that would be funny.
- adriangrigore 1y agoWebinar in progress (Google Meet) https://ftp.plan9.ts.net/webinar https://ftp.plan9.ts.net/webinar
- packetlost 1y agoIt just wrapped up, for those who would have otherwise been interested.
- facile3232 1y agoPlan 9 gets tailscale before a browser! Somehow this makes sense
- bradfitz 1y agoHappy to answer any questions! A bunch of us are currently in https://meet.google.com/qre-gydb-mkv https://meet.google.com/qre-gydb-mkv chatting about this. (Edit: the hour is over; we all left) The earlier Apr 1st blog post was https://tailscale.com/blog/tailscale-enterprise-plan-9-support https://tailscale.com/blog/tailscale-enterprise-plan-9-suppo...
- undersuit 1y agoI've never set up a Plan 9 system... does this allow the distributed systems communications to run through my Tailnet?
- bradfitz 1y agoI think so! Caveat is I've never really used Plan 9 outside of single-user VMs.
- MisterTea 1y agoYes, you could do something like keep a small root fs or pack everything into the kernels paqfs to boot into a Tailscale VPN and pull root from another 9 machine on the VPN. Then pull resources in from other machines including non 9 systems. Either way it makes VPN easy between 9 and non 9 machines. Otherwise Plan 9 can do it's own VPN-like over tls or ssh tunnels and bind remote network stacks to a local namespace. But that makes seamless Unix and Windows comms difficult.
- bradfitz 1y ago> Otherwise Plan 9 can do it's own VPN-like over tls or ssh tunnels and bind remote network stacks to a local namespace Note that one of Tailscale's main party tricks is NAT traversal, when both machines are behind different NATs and can't otherwise get a connection open to each other. (And then Tailscale ultimately falls back to a relay server on the internet if it can't get a direct connection for IP packets)
- MisterTea 1y ago
- Gualdrapo 1y agoYet I still wonder how cool things would be if Plan9 was the most popular and used OS
- chaz6 1y agoPlease consider RISC OS next!
- fidotron 1y agoThree button mouse dependent UI solidarity! Golang on RISC OS would be a truly ludicrous porting effort.
- deleted 1y ago[deleted]
- calvinmorrison 1y agoThe 9fans list had this one for April Fools: Given the huge maintenance cost of immature computer architectures such as mips, 386, arm, arm64 and amd64, we decided to put our focus on the more mature and stable achitectures: power64 and itanuim. Therefore, all architectures other than power64 and itanium are thereby frozen, conserved and promoted to end of life.
- chrsw 1y agoMy employer-controlled browser won't let me access that URL. At first it was cert errors and now it's just blocked.
- bradfitz 1y agoWeird. It's just Vercel on AWS. We have no alerts firing about any probers having cert errors or anything. I wonder what your employer/policy doesn't like.
- jen20 1y agoI've found that tailscale.com sometimes gets blocked by overzealous content filters as "VPN software".
- neckro23 1y agoIME some web security gateways block the Tailscale domains entirely, presumably because it's a VPN that can bypass said gateway.
- fultonb 1y agoThis is so cool to see. Plan9 was a wonderful part of my COVID isolation, and I miss playing with it. This might have inspired me to spin up a 9front VM this weekend.
- bradfitz 1y agoNote that the 9front patches to run Tailscale are still in progress. I was just told they'll be ready in a couple weeks. For now only 9legacy (with all the latest changes) works.
- MisterTea 1y ago> This might have inspired me to spin up a 9front VM this weekend. Please do! Just be careful with your sysupdate.
- gbraad 1y agoI do expect tailscale drive shares to use 9P in that case ;-P
- bradfitz 1y agoIndeed. We ran out of time :)
- deleted 1y ago[deleted]
- breckinloggins 1y agoGod I love plan9. Making my own os using many of its principles is a retirement project life goal. EDIt: I reserve the name “chaos10” for this project, since - like SerenityOS - there will be no plan.
- raggi 1y agoIn case y'all missed it in the first post, and you just want to try this out, it's working in this v86 image: https://copy.sh/v86/?profile=custom&m=768&vram=16&hda.url=https://ftp.plan9.ts.net/plan9.img&hda.size=16000000&nojoke=1 https://copy.sh/v86/?profile=custom&m=768&vram=16&hda.url=ht... You can start tailscaled and tailscale inside the VM. It may take a while to come online sometimes due to limited proxy availability. Edit: alt gives you the third button. To start a terminal, hold alt and right click, select new, release alt, and right click drag to size the terminal window.
- stonogo 1y agoSeems like the real story here is that the Plan 9 port of Go is not particularly healthy, and that it's easier to modify an OS kernel than it is to fix Go?
- bradfitz 1y agoThe Plan 9 port of Go _was_ not particularly healthy. It is now. Fixing Go to not special case Plan 9 benefits all platforms--- all operating systems use the same code paths now, making the code simpler.
- pjmlp 1y agoGreat, maybe Inferno as follow up?
- naikrovek 1y agorsc, rob pike, and bradfitz are three people I could talk to for hours, completely wasting their time, especially about Plan9. That OS fascinates me. I remember early in my career when an expert I worked with could sit with me and patiently show me how to do something and let me ask questions for however long it took me to understand well enough what to do and how to swim if I fell in the deep end of whatever they wanted me to do. It was some of the fastest upskilling that I have ever done in my career, like getting a bachelors degree worth of very specific knowledge in three hours. I don’t know C and I don’t know enough about Plan 9 to use it productively for anything, but it has some extremely cool and useful features that I want to know more about and learn how to use, even if it is only so that I can lament the non-existence of those features in the big three operating systems today. If I had the money I would probably pay to get face time with all three of those folks for expanding my Go knowledge and rsc and rob pike for the plan 9 understanding that I have always wanted, but have never been able to give myself.