Remembering the LAN (2020)
tailscale.com
tailscale.com
The author’s point about so much not being necessary today, while simultaneously having more drudge work is interesting. I’ve often thought the former, but hadn’t connected it to the latter. For example, I commandeered my family’s two PCs (a Celeron 333 MHz and a Pentium III 550 MHz – what a screamer!) at night to run distcc on, so that Gentoo builds would finish in a somewhat reasonable amount of time. This is simply not necessary anymore. Firefox, which used to be an overnight job, now compiles in 10-20 minutes for most modern CPUs.
On the one hand, this is wonderful – faster feedback loops, more time to tinker. On the other hand, getting distcc set up back then was a fairly large undertaking for a kid, and taught you a good deal about a wide range of topics. Also, since the pain level of failure was so high, you were more careful to get it right the first time, lest you awaken to disappointment.
Interestingly, I recall Red Alert 2 only supporting IPX, and that causing tons of trouble for us at one LAN party when we tried to play it. Of course I may be remembering this wrong due to the passage of time and the fact that my technical skills were rudimentary at the time.
RA2 runs on the same engine as Tiberian Sun (with minor modifications)
Tiberian Sun was Westwood's first engine in C++
It was also two years behind schedule and pushed out barely functional after EA bought Westwood out in the late 1990's
While Westwood was busy putting itself back together under EA they spun off "Westwood Pacific" and tasked them to make Red Alert 2 using this same engine
Red Alert 2's engine is the most cantankerous, buggy piece of junk that ran what I would strongly argue was the pinnacle of the RTS genre. Getting it running on modern systems is an exercise in "what directdraw wrapper actually works?" and hoping that the UDP patch doesn't cause random game desyncs, even on a modern LAN
RA2 has some grossly OP units that you can crank out en masse and dominate with. A small army of Apocalypse Tanks is game over for the enemy, unless they’re France and have turtled with a bunch of Grand Cannons.
Or in Yuri’s Revenge, load Battle Fortresses with a Chrono Legionnaire or two, a Sniper (assuming British), and some GIs.
These, and the overall frenetic pace of RA2 makes it more like junk food than the fine dining experience of AOE2. Yes, it’s not the best thing ever, but man is it fun while it lasts.
Also never really warmed up to the bonus "cards".
It puts emphasis on strategy and gives a lot of options on how to approach a match. Micro can make a difference, but it's not make or break like in pretty much every other RTS.
I used to dream that Blizzard would put Jay Wilson (who was the D3 lead while he was with them, but more importantly was the DoW1 lead before that) onto a Warcraft 4. I would've loved to see that. Alas, after D3 had a fairly chilly reception (and Wilson himself sparked outrage through unwise social media posting), Blizzard quietly demoted him (and he eventually left). So it was not to be. But I still wish it had happened.
Definitely had problems with one of the Warcrafts, I assume 1 but maybe 2
IPX is the network layer and SPX was the transport layer on top. IPX can be used directly like UDP or the SPX protocol used when you need a guaranteed in-order byte pipe like TCP. Uses the MAC address as the machine address and was pretty light weight to the point where it out-performed IP in some cases.
As a silly hobby project I want to take a stab at writing a user space IPX/SPX stack on Plan 9 and model it after ip(3). The stack would mount itself after /net providing /net/ipx and /net/spx, then you bind it to one or more Ethernet adapters. Programs wanting to listen or dial on IPX or SPX just put ipx!address!service instead of tcp!address!port for their dial strings. Then you could easily build IPX networks again and even easily tunnel them over whatever using 9P by mounting the stack on other machines.
Their father’s software likely was not HIPAA compliant or safe, just isolated. They speak earlier in the post about it being a permission-less file based database any computer could access, including his personal one. And that any innocuous command could potentially bring the whole thing down.
Certainly looking back with rose colored glasses to the situation. It probably did work great for his father’s needs but “safe and compliant with modern medical data protection laws” is was not.
I do think that a simpler approach to small business software like this example is not a bad goal. This was a great read. Thank you for sharing.
It's like comparing a company in its startup phase to its soulless corporate behemoth phase.
And, it's a tailscale blog so it segues to their business.
But I think the right place to find that same joy in programming today, is by building stuff with embedded systems. You can do a lot of fun stuff as a kid with an arduino, some components, and instructions from the Internet.
'90s Hong Kong! Anyone remember that warez market in Mongkok?
When I went in 1992, it was crazy. CDs didn't have much adoption for computers by then, so the market was still floppies - IIRC HK$10 per disk and another HK$10 for a photocopied manual. They'd take your money and phone up some guy and tell them the four digit code and 10 minutes later someone would hand you a stack of disks. It felt weird that it was so blatant, but the first time I went by myself, I couldn't find it and asked a policeman for directions. He said in English, "Oh, the copied stuff? Over there!" and pointed to it!
That said, I only ever bought 3 disks from there - partly because I didn't have much money, but mostly because I found the programming books downstairs even more interesting. They were translations of all the English programming books, for about HK$30 each. The text may have been all Chinese, but the source code wasn't, so I bought a couple of books just for the diagrams and the source code.
Your 3D printer, assuming it truly doesn't need an Internet connection to function, is an anomaly today. Remotely hosted assets, data & logic have become the norm.
As it happens, I was thinking of whipping up a Rails app to help my wife with a particular task she's got, and it occurred to me I can host it in our basement if I install Tailscale on her phone and computer, and it will just work, particularly if they can get identity integrated beyond joining a tailnet. So maybe the author's point is valid but overstated, and it still exists somewhat, just less often.
Hard disagree. OAuth2 is a neat technology and every personal thunk you run across or find yourself asking "why the heck do I need to do this? why can't I just do x?) trying to implement it is an important part of security and instructive on how to build a secure system where you can only trust components to do a minimal thing. Storing passwords (or really salted password hashes) is similar.
As for LANs, my home LAN is still going strong, no flakey wireless for me. My childhood friends group did stop having in-person LAN parties around 2009; mostly because we all moved to different regions. We still do occasionally set up a VPN to play some old non-internet game but it's mostly over the internet now (with self-hosted voice chat).
OAuth2 and OIDC are fully open specifications: anyone can join a working-group (there's no membership gatekeeping); and they both have plenty of fully open-source implementations. Not like OpenAI at all.
Mail clients that do not go out of their way to support each corporation's unique out of band OAuth2 HTTPS solution are unable to access these oauth2 megacorp email accounts anymore (see gmail, office365, yahoo, etc). OAuth2 has made email servers proprietary. Simply supporting smtp or pop3 or imap is no longer sufficient. Custom HTTPS scripting has to be made for each corp and one corp's scripting won't work for another's login process.
OAuth2 has been the email tower of babel.