Chris: Hello, friends, and welcome back to your weekly Linux talk show. My name is Chris.
Wes: My name is Wes.
Brent: And my name is Brent.
Chris: Well, hello, gentlemen. Coming up on the show today, Linux is saying goodbye to AppleTalk.
Chris: So naturally, we're bringing it back. We're going to build a tiny retro LAN
Chris: with Mac OS 8, Linux, Netatalk, no TCP IP.
Chris: And we'll tell you about a surprisingly hard part that we ran into.
Chris: Then we're going to round out the show with some great boosts,
Chris: some picks, and a lot more. So before we get there, let's say time-appropriate
Chris: greetings to our virtual lug. Hello, Mumble Room. Hello, guys.
Mumble: Hey, Chris. Hey, my son. Hello, Brent.
Chris: Hi. Good crew in there today. Hi. And the hell up there in the quiet listening,
Chris: too. Hello, everybody, live over at jblive.tv.
Chris: Nice to have you on board. And good morning to our friends over at Defined Networking.
Chris: Go to defined.net slash unplugged. You know, this week, we're remembering a
Chris: time when networking felt local and understandable.
Chris: And that's why I like Manage Nebula from Define Networking. It's a decentralized
Chris: VPN built on the open source Nebula platform that was originally developed to
Chris: connect all of Slack's global infrastructure securely and safely.
Chris: What's also great about Nebula is you can run your own lightweight lighthouse,
Chris: your own nodes. You control the visibility and connectivity.
Chris: You have that under your power. It's fast. It's encrypted. It's resilient.
Chris: And it's great for connectivity for a home lab all the way up to global enterprises.
Chris: So start with 100 hosts for free. No credit card required.
Chris: Defined.net slash unplugged. Go over there.
Chris: Check it out. Support the show at defined.net slash unplugged.
Chris: A quick spot of housekeeping. Wes, you wanted to remind us about NixVegas coming up around the corner.
Wes: Yeah, that's right. NixVegas, a great conference I had the privilege of speaking at last year.
Wes: If you don't remember, it's a sub-conference at DEF CON.
Wes: So it's a ton of fun, lots of security, hackers, and with the efforts of the
Wes: SoCal NixOS user group and Distractions, Inc., there's now a bunch of Nix nerds there, too.
Wes: So the CFP is still open for a week and three days until the 16th,
Wes: or I think it ends maybe the midnight on the 15th.
Wes: And they're doing something kind of interesting this year that not only can
Wes: you do like a call for papers style submission to do a talk,
Wes: but they're also doing something where they want you to submit.
Wes: Like if you don't want to do a whole public speaking thing, they're going to
Wes: have a space for people to show off projects instead of giving presentations.
Wes: So if you have a cool Nix-related thing you want to demo at a con,
Wes: they'll have space, maybe infrastructure, and so you can kind of have more casual
Wes: conversations, demo that without having to go through the rigmarole of doing a public talk.
Wes: So I just think that's great, and it's super good time, very clever nerds doing
Wes: the intersection of security.
Wes: And as we know, Nix makes a great foundation for that.
Wes: And if you're curious, they do have a little sneak peek of some of the talks
Wes: they've already accepted, and we'll have that linked in the show notes.
Chris: All right so time is running out though if you want to get in on that goodness
Chris: you got like a limited window of time you can still register.
Wes: And go but if you do submit a cfp and get accepted they do cover the defcon badge which is great.
Chris: Sweet sweet links in the show notes for that as we do,
Chris: So we wanted to say goodbye to Apple Talk properly. You know,
Chris: it was released in 1985 as the primary protocol used by Apple devices,
Chris: all the way up pretty solidly into the 90s.
Chris: And it was dropped officially in Snow Leopard when they just sort of switched all in on TCP IP.
Chris: Now, we recently covered that it's going to be removed from the Linux kernel
Chris: in Linux 7.2, the next major release.
Wes: I think you're underselling this. You know, you're just coming in here matter-of-factly,
Wes: you know, just doing our serious news business. We talked about how it was going
Wes: to be removed from the kernel as if it hasn't been something of a small existential
Wes: crisis for you since we talked about that.
Chris: It's true. That's fair. It's true. I was trying to keep the emotion out of it
Chris: because, you know, I'm upset about this.
Brent: You made swag just to, like, put your tears all over them.
Chris: I know. Well, here's the irony of it, too. And this is why it hurts.
Chris: Right. Is and I hope today we will make the case why Apple talk was perhaps
Chris: one of the greatest protocols of all time. I'm going to try to make the case today. We'll see.
Chris: But what hurts about it is I know it was ironically removed from the kernel,
Chris: because it started getting more attention.
Chris: Okay? That's just a little bit of salt in the wound, boys.
Wes: It turns out the LLMs, they really like it. They were checking it out.
Wes: And now we're following it.
Chris: So on June 16th, I went into the Linux kernel mailing list, and you can find
Chris: this email here. I'll have it linked.
Chris: AppleTalk has been removed from Mac OS 10.6 since Snow Leopard in 2009.
Chris: We just recently got a burst of AI-generated fixes for the protocol,
Chris: which nobody's reviewing.
Chris: Let AppleTalk follow the AX25 and ham radio out of the Linux tree.
Chris: We'll maintain code at, and they link it to an orphan.
Wes: That is cool. I didn't know that existed until this happened.
Wes: There is this Linux NetDev mod orphan repo you can get for this stuff, but.
Chris: That's legit cool. That's legit cool. I want to take us back in time,
Chris: though, because you guys, I mean, I think everybody's just rolling their eyes
Chris: at this, but there could have been a world where AppleTalk took off.
Chris: See, it arrived early on when there was not a standard. People were not using
Chris: TCP IP. That wasn't the obvious choice.
Chris: Everybody, every major vendor had their own local LAN network standard.
Chris: Microsoft had NetBui, NetWare had IPX, and Apple had AppleTalk,
Chris: and there were others as well.
Chris: And, you know, in the fringes, the weirdos were using something called TCP, but we'll get to that.
Wes: I mean, you hadn't even standardized on like what you were doing at the physical
Wes: layer yet, right? I mean, Ethernet, token ring, other options.
Chris: Which was one of the great things about AppleTalk is it had real flexibility.
Chris: It could do local talk, Ethernet, token ring, whatever the sort of the flavor
Chris: du jour of networking was.
Chris: AppleTalk probably worked with it, even down to just computers connected directly to each other.
Chris: It was beyond what most people could do. But what you have to appreciate is
Chris: AppleTalk had dynamic addressing, DHCP essentially,
Chris: and had name discovery, DNS essentially, built in on day one.
Chris: Name resolution, auto discovery. So you could go out and get yourself a tiny little beige Mac.
Chris: You could drop it down on the network, plug it in, and it would start seeing
Chris: the other Mac. And then you plug in the next one and it sees the other Mac.
Brent: That's a strange concept. Right?
Chris: Right.
Chris: Now, I mean, Wes, I know we're kind of jumping around here, but you were looking
Chris: at some of the protocol stuff here. I mean, it's genuinely impressive, right?
Wes: Yeah, it is pretty great. So you mentioned local talk, which was basically they
Wes: hadn't really planned when they were doing like the first Macintosh for networking
Wes: to necessarily be a part. And they were already kind of overdone on how many
Wes: chips they could fit on the board and the expense and all of that.
Wes: And so they had a serial bus and they're like, well, we're just going to turn
Wes: that into, you know, a physical layer for networking and implement packet collision
Wes: in user space, essentially.
Wes: in the software that we run it on and just make it work.
Wes: And then later that had to get ported over to things like EtherTalk or TokenTalk
Wes: so that you could have flexible physical layers, which, yeah,
Wes: that already is huge, right? Which kind of helped us that we did bridge into
Wes: Ethernet winning the world.
Wes: But then above that, yeah, so they've got, well, they've got a lot of interesting
Wes: stuff, but the main one you're talking about is NBP, which is the name-binding
Wes: protocol, which is the big one.
Chris: For the 80s, 85, 87, 88, like this was huge.
Wes: Yep. Distributed, no central authority. It provides a way basically to have
Wes: a nice name, a human readable name.
Wes: And what they were early on is this idea that we've slowly gotten to and the
Wes: TCP IP did not come with, which is like, don't use the address,
Wes: right? The address is like a temporary thing, right? You're sending the letter to me.
Wes: Okay, you might need the address of the house I'm renting right now,
Wes: but that's going to change. And the same idea is here.
Wes: So like you want to talk to the same printer on, you know, the third,
Wes: the third floor office printer. But if we go redo the underlying networking,
Wes: that shouldn't have to be a big deal.
Chris: Yeah.
Wes: And then already they also had this hilarious protocol called AARP.
Wes: Oh, yeah. It's not the, you know, American Association of Retired Persons or
Wes: whatever the correct abbreviation is.
Wes: It's the Apple Talk Address Resolution Protocol.
Wes: And this is because like they did. So you have DDP, which is kind of sort of,
Wes: you can imagine, it's like the, it's sort of the IP equivalent in this.
Wes: So you have whatever you're doing at the physical layer.
Wes: And then on top of that rides DDP, which is sort of the thing that actually has the address.
Wes: which is like three little components one of that's a socket one of that's a
Wes: local address and once they got routing which they didn't have originally they
Wes: added like a global thing that's
Wes: sort of like the router number so you can have separate sub networks,
Wes: but you need a way if you have this apple layer address how do you get the like
Wes: ethernet address or whatever on the physical media that's where aarp comes in
Wes: so like already and they had this concept where you could go from a human-friendly
Wes: name of your printer and then you distribute it without a centralized server
Wes: you ask the network hey what's the you know the apple address of this so you
Wes: get that back then and of course you this all gets cash too,
Wes: and then from that you go hey how do i find that on this like ethernet network
Wes: that i'm actually on and you get that back and then you can open a ddp,
Wes: um which is datagram delivery protocol which is kind of like you can imagine
Wes: at udp on ip but you don't even need a separate thing because it was just built
Wes: into how it worked and then you can send basic unreliable networking and then on top of that,
Wes: they kind of they kind of went a fascinating path because instead of starting
Wes: with like TCP has these full like you know the SYNXN stuff and the bidirectional
Wes: setup and all the things that come with TCP.
Wes: They started with just little transactions. So they have ATP,
Wes: which is AppleTalk Transaction Protocol, which is just request and response.
Wes: It's almost like an RPC thing. So it wasn't meant to be this open-ended,
Wes: long-living connection.
Wes: It limits, like it only allows up to eight request packets, which is kind of fascinating.
Wes: And then only later, after it was sort of proven out, because this was really
Wes: early, right? Networking was still becoming like a thing consumers even did or had access to.
Wes: later on they added the apple talk data stream protocol which is basically the tcp equivalent
Wes: it's reliable ordered bi-directional byte stream but it kind of has some of
Wes: their own twists it has symmetric teardown it has a notion of an out of band
Wes: attention message so if you need to send some urgent
Wes: message but you don't want it to be stuck in the queue behind whatever you've
Wes: already sent it has an idea for that.
Chris: Yeah you could do that for like server shutdown alerts.
Wes: Exactly and they have a way to say like oh i you know just i need to shut this
Wes: down early so reject everything that's going to come after this.
Wes: Kind of fascinating. It's like a whole parallel stack of things.
Wes: And that's before you even get to the application layer where you might build
Wes: something like an AppleTalk filing server with the AFP, the AppleTalk filing protocol.
Chris: Where they would take advantage of some of the built-in protocol stuff like,
Chris: we're shutting down the server for 10 minutes. So back in the day,
Chris: you would alert the network before the services went unavailable because that
Chris: was just built into AppleTalk. And then they built in a way to display the message into macOS.
Wes: They also had an interesting concept, which we don't really need to get into
Wes: for today too much, but of zones which kind of went along with these names and
Wes: zones are fascinating because instead of like usually when we do something like
Wes: vlans or we think about network segments
Wes: it's at least somewhat related to the physical layer or however it's like you
Wes: know worked out and the actual the cabling of it or where the switch is involved,
Wes: but zones were meant to be social like zones are not connected,
Wes: in the first version they were but in the second version they like sort of totally
Wes: decoupled from the actual networking side of it and so they're really more meant
Wes: for the human layers of how you want to associate these names
Wes: and then all of the infrastructure on the apple talk side figured out how to
Wes: map the zones across different routers and all of that under the hood
Wes: so they were really ahead in multiple ways i.
Chris: Think it was like more complex than say like even work groups were in windows.
Brent: Yeah i think i have a question at this point in the show um why did we get rid of this.
Chris: It sounds freaking great how cool is the decentralized like name discovery stuff. I know. I know.
Brent: Now I understand your existential crisis.
Chris: It was it was so simple. And imagine the type of customers out there like schools
Chris: and offices where they they they're
Chris: not really even intending to build a network because like Wes said.
Chris: The consumer didn't even know what a network was, but they knew that they wanted
Chris: to share a printer, right? That was sort of their level.
Chris: And so offices and schools, governments, like they were buying these computers
Chris: and they still weren't understanding the benefits of networking.
Chris: So they would have them and they wouldn't even necessarily connect them.
Chris: And so companies like Apple and others had to put together essentially presentations
Chris: and sales pitches to try to convince corporate America why they wanted computer networking.
Clips: So what does it look like what's what look like the network well you can't see
Clips: it's not a thing it's a system okay so when did we get the system put in you
Clips: mean when did we get the computers put in,
Clips: what do you mean well that's when the system began and we've been adding to it ever since.
Chris: You just put a computer in and it'll add to it um and like we said most systems
Chris: back then not using TCP IP, each vendor had their own networking solution.
Chris: And even people that were considered computer experts at the time,
Chris: they needed their heads to kind of wrap, they needed to wrap their heads around it. This is a clip.
Chris: I think it's from 1987 from the Computer Chronicles.
Clips: To make it as similar to using local resources as you can. Chris,
Clips: excuse me, describe the configuration we have here before you get going.
Clips: What we have is a Macintosh 2 workstation, the color monitor here.
Clips: This is connected to the file server over the network.
Clips: The next is a Macintosh 2 that is actually functioning as the file server.
Clips: It's running the Apple Share software, and you can see on its screen that it
Clips: has a server status display.
Clips: The next is the LaserWriter Plus printer, and then in front of Andrew is a Macintosh
Clips: SE workstation, which is also connected to the file server. Okay,
Clips: now show us how it all works. Okay.
Clips: The local hard disk is represented by this icon.
Clips: And when we open that up, we can see folders or the equivalent of subdirectories
Clips: that are stored locally on this Macintosh 2. Each one of those little cards
Clips: is a subdirectory. That's right.
Clips: And if we open that up, we can see whether... Well, that one's empty.
Clips: Okay. We can see the programs or documents that are stored inside. And those are files.
Clips: Those are icons for files. And we could have additional folders stored within that.
Clips: Now, when we open up the file server volume, you'll notice that the remote information,
Clips: the representation of that, is nearly identical to the local information.
Clips: And in fact, we work with it in just the same way. Now, Chris,
Clips: one of those folders is gray.
Clips: That's right. Some folder, in the Macintosh, there's a metaphor for resources
Clips: that you don't have access to are grayed out. For example, if we go up into
Clips: this menu, you'll see that some of the selections are grayed because we can't
Clips: use those at this time. There's nothing in the trash, so we can't empty that.
Clips: The same way, a folder that we can't have access to is grayed,
Clips: and when we try to open it, indeed, we get a message that says we don't have access.
Clips: And you don't have access to that because? Because the owner,
Clips: who has control over giving access to other users, has kept that private.
Clips: In fact, this is a special kind of folder.
Clips: This is what we call a drop folder. I can make changes to that folder,
Clips: but I can't see what's inside. This is sort of like analogous to the mailbox that's on the corner.
Clips: You can go and put things in, but you can't see what's inside there.
Clips: And it might be useful for if you were doing status reports or performance reviews,
Clips: you can submit those and no one but the manager has access to them.
Chris: Oh, I see. Oh, interesting, he says. And those are folders? Oh,
Chris: OK. So this is very early.
Chris: Immediately when Linux came on the scene, it was such a unique beast in this
Chris: paradigm because Linux had no vendor affiliation.
Chris: If you built support for Linux, it would work. So you started to see different
Chris: protocols start to be built for
Chris: Linux and it could speak all of one server could talk to the NetWare box.
Chris: The Windows systems with Samba and the Apple systems with Netatalk and Appletalk.
Chris: One system could do all of it. And it was such a powerful thing early in the early days with Linux.
Chris: But we didn't start there. Initially, before Linux just came around and did
Chris: this, entire companies existed just to solve the cross-networking protocol issue
Chris: that Linux would just come in and do natively.
Chris: There were entire businesses, multiple of them, that were selling hardware and
Chris: software trying to solve this multi-protocol world.
Clips: When the accounting firm of Arthur Young & Company decided to install an integrated
Clips: network, it was faced with some special problems.
Clips: At the San Jose, California branch, incompatible hardware is divided into different
Clips: parallel networks on three floors of offices.
Clips: On the eighth floor, Macintoshes are everywhere. But on the lower floors,
Clips: IBM compatibles have the upper hand.
Clips: Today, the company is testing a new gateway that allows any user to communicate
Clips: with any part of the network.
Clips: What we're really addressing here is the ability to take an existing network,
Clips: that was designed exclusively for a single environment, DOS in this case,
Clips: and gatewaying that to the Macintosh world.
Clips: What we're able to do is we have to dedicate a machine that is a gateway.
Clips: it's a DOS box it has an ARCNET card in it it has an AppleTalk card in it talks
Clips: to both networks and the bottom line is it is,
Clips: for all intents and purposes, seamless, because any file that's published over
Clips: NetBIOS is available to whoever has access to it,
Clips: is also available to anybody on the Macintosh side through that gateway machine.
Clips: 3Com file servers presently link different machines and different networks over the telephone lines.
Clips: While the so-called interbridge talks to all the networks, the decision to keep
Clips: different machines led to frustrations and delays.
Clips: I guess the biggest problem was just coming to terms with the true capabilities
Clips: of the network, not pushing the network beyond what it was expected to do.
Clips: The problem used to be things like corrupted data and file allocation tables
Clips: that go out of whack and things like that.
Clips: But, you know, the problems we face now are just spending a lot of time trying
Clips: something that was never intended to work.
Clips: And you get to the end, and the bottom line is it doesn't work,
Clips: and you've just spent a lot of time trying it.
Clips: So I think it's to the point now where it's not causing the users problems.
Clips: It's causing the people who are trying to push the technology problems.
Clips: The Mac to IBM gateway is not yet perfected. It took several tries to transfer
Clips: a file for this demonstration.
Clips: But its appeal is undeniable. Through the Interbridge, a user can retrieve a
Clips: formatted document, send a memo, or electronic mail literally to anywhere on the network.
Clips: At Arthur Young, Macintoshes outnumber IBMs, still an unusual sight in the business world.
Clips: It's common to see accountants lugging Macs back into their offices from field
Clips: trips to clients' offices.
Clips: And in spite of some persistent bugs in the Mac to IBM network,
Clips: the company plans to expand its system to provide network access from remote
Clips: locations and a wide area network to link offices around the world.
Chris: All right. So that just really brings me back. At the end there,
Chris: there's a gal. She's carrying a giant bag with a Mac in there, all the wires.
Wes: I think that really, I mean, it kind of hits on what they were designing for, right?
Wes: Like people were doing that. Some businesses were just adopting,
Wes: you know, computers of this size and scale. So some people needed to bring it
Wes: with them, maybe to the job site or plug into an existing network and have it just work.
Chris: There was no Wi-Fi.
Wes: Right. And there might not really be a dedicated IT person there.
Wes: So that's where a lot of the Apple talk design comes in is where they needed
Wes: it to be sort of decentralized so that it could be self-discoverable.
Wes: Now, the downside is, of course, there's not really any security built in.
Wes: And it comes like they sort of assume smaller networks. So a lot of this is
Wes: broadcast based over that local network.
Chris: But and you didn't have a lot of network performance back then.
Chris: So, yeah, yeah, yeah. But there were some upsides.
Chris: although what i find to be fascinating about the story um and really linux was
Chris: the great unifier so it didn't matter we're going to get more into our experiments here,
Chris: on the little land that we built and all of that but if you dig around in the
Chris: late 80s there was some writing on the wall,
Chris: there would be slowly and then suddenly this new open standard that only weirdos
Chris: were using at the time, something called TCPIP.
Clips: ...in Palo Alto, where Wendy Woods reports.
Clips: Stanford University has one of the largest campus computer networks in the country.
Clips: Some 1,300 computers, ranging from Macintoshes, sophisticated workstations,
Clips: and PCs, to Vaxes, Microvaxes, and IBM mainframes, all talk to each other via the Ethernet network.
Clips: In various closets across the campus, you can see the gateways and repeaters,
Clips: in lay terms, the traffic hops that make the system work across the vast distances required.
Clips: This impressive network even spreads into the dormitories, where students have
Clips: access to bulletin boards, job banks, even the full bibliographic holdings of
Clips: the Stanford University library system.
Clips: They can do assigned courses in programming, even send mail to their instructors
Clips: or anyone else on campus.
Clips: Networking director Bill Yunt says tying all these diverse systems together
Clips: with Macintoshes came with a few tradeoffs.
Clips: The way we've chosen to do that is by writing software that runs in a compatible
Clips: fashion with the other machines on the network that share the protocol family called TCPIP.
Clips: And allow a Macintosh to sit on an AppleTalk network and be connected through
Clips: the AppleTalk network to our Ethernets so that they look to the rest of the
Clips: network as though they're physically connected.
Clips: connected to the Ethernet. Macintoshes are slow and have only single-tasking
Clips: operating systems, but students love them.
Clips: They're easy to operate and good teaching machines.
Clips: The most common way Macs are used is in classrooms. In small,
Clips: local area networks such as this interactive classroom, the Macintoshes share
Clips: software programs stored in a designated file server.
Clips: What's on the instructor's machine can be viewed on all the students' Macintoshes,
Clips: or his Macintosh can be used to view what's running on individual students' computers.
Clips: So far, French history and computer literacy have been taught this way.
Clips: Linking all computers on campuses is an increasing phenomenon throughout the
Clips: nation's top universities.
Clips: MIT and Carnegie Mellon are two other outstanding examples, but the people here
Clips: say they're ahead of the rest because they've found a way to make their network
Clips: useful, with top researchers and freshman students alike.
Clips: At Stanford University, for the Computer Chronicles, I'm Wendy Woods.
Brent: Well, I think you boys have been playing with Apple Talk. I mean,
Brent: you can't just talk about it for half an episode and then not have some kind
Brent: of crazy experiment going on. So what the heck did you build this week?
Chris: Well, you know, it all came from we got to send this thing off properly,
Chris: but nothing on Linux uses Apple Talk anymore. I mean, there's Netatalk.
Chris: There's Netatalk, right? That is legitimately a use.
Chris: It's an open source, essentially, file server. that acts as an Apple file server
Chris: to other Apple Macs. And you can talk to a Linux box over that.
Chris: It's been around since the 90s.
Wes: GPL too.
Chris: It's great.
Chris: I have it installed on my machine right now just for today's episode,
Chris: and it's probably been a decade since I set it up.
Wes: You can tell when it's from because it's 91.9% C and 3.6% Perl.
Chris: Yep. And it comes with two daemons. The ATOC-D handles the user-level AppleTalk
Chris: networking management on the server, so that does routing stuff,
Chris: node assignment, zone backup. You need something on the network kind of doing
Chris: this for what we wanted to do.
Chris: That's the piece that helps Mac clients when they go into, like,
Chris: Chooser or something. That helps them, like, discover everything.
Chris: And this server can kind of do that for us. So I got that all running and set
Chris: up. But I'll tell you why in a minute.
Chris: And I also worked on a couple of projects.
Chris: I know, Wes, you swore up to, like, way too late, not just enjoying fireworks,
Chris: but also building projects to try to put together a little, you know,
Chris: demonstration of using AppleTalk on Linux.
Chris: And then for fun, why not work on maybe a classic Mac as well,
Chris: right? Just to kind of make it all come together.
Wes: Yeah, we might have gotten distracted on the classic Mac side.
Chris: Yeah, let's talk about that for a
Chris: minute. So I built a little app called Chooser, which is up on my GitHub.
Chris: And it is a TUI client for Linux that browses Apple file shares. And it talks Apple talk.
Chris: And so I got my Linux box and a Mac OS 8.1 VM talking, running under Baskill 2. Yeah.
Chris: Yeah, it was great, dude.
Brent: What?
Chris: I was emulating a Quadra-class 68K Mac, 608040, 32 megabytes of RAM, because why not?
Brent: This is so ridiculous.
Chris: I got it working with my Ethernet, so it had bridge-style LAN access.
Chris: So I actually had an old Mac with Ethernet.
Chris: It's crazy how fast it is, right? I've never used this operating system on a machine like this.
Chris: I mean, this is not a very fast machine, but compared to old Macs,
Chris: it boots in like three seconds.
Chris: Oh, wow.
Wes: It's like XFCE, it's like that, but squared.
Chris: Crazy, crazy. So I got the Linux host using Netatalk, which then I shared out
Chris: a directory, an AFP file share.
Chris: And then from Mac OS 8.1, I used chooser to talk to that. And I could also use
Chris: my chooser on the Linux side, little TUI.
Chris: And once I had a volume on Linux that I could connect to from the classic Mac,
Chris: I realized the main thing holding Mac OS 8.1 is it comes with like Netscape
Chris: 3, Netscape Navigator 3.
Chris: And I was like, well, I can't use that to download stuff. But I could on my
Chris: Linux desktop. So I went and downloaded a bunch of classic games.
Chris: And I put them in the share. And I thought, all right, now I've got a nice,
Chris: easy way to move my games between my Linux box and my Mac.
Chris: But time has moved on, my friends. And what we forget is that classic Macs,
Chris: they didn't use file extensions.
Chris: They had, every file had a delta fork and a resource fork and a finder metadata type.
Wes: Because I ran into this too. Boy.
Chris: Creator codes and all. Oh! So you can't just like move files because the Mac
Chris: doesn't know what the file is.
Chris: It doesn't do anything with a .bin or a .zip or a .sit.
Wes: Oh, .sits.
Chris: Oh. So, like, you can't just copy and move them.
Chris: So I went through all this trouble of getting file sharing working for Bubkis
Chris: because the real move was to download image versions of them and mount them
Chris: into my VM and install them that way.
Chris: And then later on, I got an app called Disk Copy, which supposedly can mount
Chris: these directly inside macOS.
Wes: You know what I was having work was, because I was using, I think I did use
Wes: Nettock a bit, but I also,
Wes: your chooser was built on TailTalk, which is a modern async user-spaced AppleTalk
Wes: stack in Rust that we were playing with. Yeah, so you can build a bunch of stuff on there.
Wes: And it also comes with like a little demo AFP server. So I was getting that
Wes: going too. And I was noticing...
Wes: It seemed to work better. I was able to, I couldn't copy, but I could run.
Wes: And so like once I had gone through the dance of getting the correct version,
Wes: most modern version of stuff at Expander going, right? Like I was then able
Wes: to install stuff that way.
Chris: Yes. Yeah, I had to start with like version three and then go to version five
Chris: for some reason. There was a bit of a journey.
Chris: But everything installs so flipping fast, it doesn't matter.
Chris: It just, it's bonkers how fast everything is. And once you have this unlock,
Chris: there is a absolute massive library out there on Internet Archive.
Chris: We'll link to one in the show notes and others of Mac apps, classic retro Mac
Chris: app games. So we'll talk more about that, I suppose, later.
Chris: But at one point I had the Knicks station, the Knicks book and fake Mac all talking to each other.
Chris: all there's also apple talk had this concept of ping back in the day go figure
Chris: and they could all ping each other and all discover each other all use their
Chris: actual names they were all using real names,
Chris: i mean the hardest bit is what's available on linux today pretty much only works
Chris: in kind of a limited capacity you kind of have everything has to be on the same network segment,
Chris: ideally like not even across different switches and things like that but if
Chris: you meet these little requirements, you can essentially, with what we have today, with the,
Chris: with like the chooser TUI app I created, or just what's available with the work
Chris: in progress demo app that comes with that project Wes was talking about,
Chris: you can create a local LAN that doesn't use TCP IP and start immediately chatting
Chris: amongst yourselves and moving files between them.
Chris: Now, it's not really very good because it's not designed to move large files around.
Chris: But it's incredible how it's still available today. Something from 1985.
Wes: And it still works.
Chris: Still available today. And it still works.
Wes: I think there's something so, like, we just live in a world where,
Wes: like, it's so obvious, so much of the stack, right? Like, HTTPS,
Wes: and there's so many layers down from that that's all decided essentially for
Wes: us just by what everyone else is doing.
Wes: And so the idea that you can have this whole, like, it's the same wires,
Wes: but there's a whole parallel thing going on of what's inside them.
Wes: and at the same time from linux like there's libraries now right that you can
Wes: you can play with that you can read it tcp dump i had that going as i was debugging
Wes: a bunch of this and like it just shows you exactly it's nice simple packets
Wes: the protocol is easy to see what's happening,
Wes: um so it's kind of a great little play box to learn more about networking because
Wes: it is kind of relatively it's both different enough to to make you think and
Wes: simple enough to be able to wrap your head around.
Chris: So you and I both built a couple of, like, MVP demo kind of apps.
Chris: Mine is Chooser, you know, to browse the AppleTalk network and stuff like that. A little TUI.
Chris: It works surprisingly well. It has to be a little hacky with some packet capture,
Chris: to get everything. So you do have to have, like, sudo access to run that.
Wes: And that's true for a lot of this stuff. Or you can, if you set,
Wes: like, raw packet as a capability on the binary, you can do it that way, too.
Chris: Okay. Yeah, so that's good, too. You can do that. It's not a beautiful app,
Chris: but the TUI works and it gets the job done.
Chris: But I'd love to hear what you were up late building with.
Wes: Well, I went down a rabbit hole and I didn't really finish everything.
Wes: My first example was, so a big motivation for a lot of this stuff from the Apple
Wes: side was for printers, right? And so that's where you actually wanted,
Wes: they wanted a way to be able to connect printers, share printer.
Wes: And so as part of Apple Talk, there's the printer access protocol, which is PAP.
Wes: And of course, under the hood, it uses a bunch of the other Apple Talk stuff
Wes: to actually send the data to the printer and that kind of stuff.
Wes: But it participates in the name binding protocol and all of that.
Wes: So if you have a printer on your network, it's kind of like we're used to these
Wes: days, but it worked very well back then.
Wes: You do a query via broadcast to say, show me all the printers that look like
Wes: this on the network, or you could filter by zone or whatever.
Wes: And then they send you your info back and you can configure them and connect.
Wes: So I made a little demo that you could run on the Linux side with GoScript and stuff.
Wes: It wasn't perfect, but at least the data capture worked, is you could go get
Wes: something like KidPix going, do some art in your old Apple Mac,
Wes: and then hit print to your AppleTalk printer,
Wes: and then have this Rust app actually take that and then save that as a file on Linux.
Wes: Obviously, you could copy it out, but I thought it would be kind of fun if you
Wes: could just print it right out of the VM.
Chris: That's actually a great use because Kid Picks is fun to play around with.
Wes: And there's a lot of fun stuff you can do, like art tools, right?
Wes: Like a lot of these Macs were kind of some of the early areas where a lot of
Wes: digital arts were being explored. So there's a ton of software for it,
Wes: even old video stuff. But yeah, so that worked.
Wes: Some nuances in getting exactly the right protocol stuff working,
Wes: which is where I got TCP dump involved.
Wes: Because the printing would work, but exactly making it so that the printer,
Wes: app and the queue and stuff, which, gosh, do you think of how far ahead they
Wes: were from windows already in this stuff even in this world it's just wild yeah
Wes: to make it kind of happy with like that it successfully printed and didn't think
Wes: i it needed to be canceled took a lot longer than i thought,
Wes: but where i really got off the rails is i discovered that there is something
Wes: called retro 68 a gcc based cross compiler for classic 68k and power pc macintoshes,
Wes: and in their readme i noticed uh using retro 68 with nix so you can just do
Wes: nix develop and point it at their github and after you know a few minutes tens
Wes: of minutes compiling you get,
Wes: a build environment that you can build stuff that runs in the old bank.
Chris: No
Brent: It is insane.
Chris: You are kidding me.
Wes: Nope so then you could you could build that you get a dot bin out i put that
Wes: on my afp share booted up the,
Wes: you know basilisk going and then you run the dot bin and that extracts and then
Wes: it's kind of hacky you had to like go out in the file explorer app and like
Wes: go one layer back and open the folder again and then i would see the actual
Wes: sort of executable resource there listed but then,
Wes: i could run that and i got as far as like you would actually open up an app that didn't crash or,
Wes: freeze the whole operating system.
Wes: It would show text. It had a little, some debug information.
Wes: My hope was, and it would be fun to finish, my hope was I could build
Wes: like a two-part thing over AppleTalk that would let you have an MCP system on
Wes: your host that could then like take screenshots or control stuff inside the Mac.
Brent: Dude, you're time traveling.
Chris: Well done.
Wes: The hardest part was, and this is where I got more into the AppleTalk side,
Wes: is it ended up that I was running an 8.1 system.
Chris: Yeah.
Wes: And it started having OpenTransport, which is where they were merging TCP.
Wes: It's like one system that could do both TCP IP and all the AppleTalk stuff.
Chris: But I believe if you install OpenTransport, AppleTalk is disabled.
Wes: You can have it do both. I think that might be the default. So there's just
Wes: some nuances, and maybe I have an easier time on 7. I might try that.
Wes: Just because I was having the bot try to help me, and it was essentially trying
Wes: to figure out, like, what is the right old Mac assembly traps?
Wes: Like, oh, do I use the legacy API for doing the Apple Talk? So we were trying
Wes: a little bit on serial. That might also work. But I wanted it.
Wes: We got it as far as registering a name. But it wasn't quite as far as having
Wes: it successfully receive a command over Apple Talk. But that'd be the next step.
Chris: Wow. That's fun. We really should give a shout out to, how did you say it?
Chris: Is it Basilisk? How do you say it?
Wes: Yeah, Basilisk.
Chris: Basilisk 2. Probably people are aware of it. But it's still out there.
Chris: It's a great project to emulate old Mac OS 8 and 7 era Macintoshes.
Chris: And the reality is there is so much good software and the firmware and the ROM
Chris: files, they're all online. You can get access to everything you need to set
Chris: up a really fun retro computing environment. Sometimes the sound's a little
Chris: off. You might have to experiment with different ROMs.
Chris: And you can absolutely share files between your Linux box and this thing just
Chris: using Netatalk and Chooser. Or you can also just mount things directly in there.
Chris: There's other options, too.
Wes: For getting things in there. I did found for more things to explore.
Wes: There's something called Global Talk. And this person has the best domain name
Wes: ever. It's markintosh.com slash globaltalk.html.
Wes: Global Talk is the nickname we've given to the practice of using an ancient
Wes: Apple internet router software package. to bridge your local Apple Talk network
Wes: to the global network of the internet and other people's vintage computers and printers.
Wes: While nothing is stopping you from doing this all year, usage primarily spikes
Wes: in March for Marchintosh. Ah, that's what it is. It's Marchintosh.
Chris: That makes more sense.
Wes: Amazing. This lets you and other Global Talk participants share files over Apple
Wes: Share and print to each other's Apple Talk-enabled printers.
Chris: Wow.
Wes: Yeah.
Chris: Is it 100% safe and secure? Actually, no.
Wes: Probably not the only way to participate in this is to share your ip address
Wes: on a spreadsheet and open a port for your router to allow these,
Wes: so as part of that i found there's a couple pieces of software but one of one
Wes: of them is what's called j router which is a homegrown alternative implementation
Wes: of apple internet router 3.0 and so in the first local talk era era,
Wes: apple talk was only local but then they added these internet routers and so
Wes: they changed like they added another segment onto like the three segment
Wes: protocol address that was like a global number so you could then have routing
Wes: between these different networks and so you needed some sort of router software to do that
Wes: and so in theory and we didn't quite get this far in theory i think we could
Wes: have this j router going maybe on a mesh network or something and then.
Chris: I was thinking yep.
Wes: Be able to bridge our local apple talk environments and that's apparently what people are doing in.
Brent: Wow.
Wes: Yeah.
Chris: Brent set a reminder.
Brent: So, yeah. March is the time to do that, really.
Chris: Yeah, you're going to be cold inside.
Brent: Yeah, but I get the feeling we're
Brent: going to be doing this next episode with your energy around all this.
Chris: It was a lot of fun. I did not expect the nostalgia hit as hard when you fire
Chris: up some of those old games.
Brent: The real question, though, Chris, is are you feeling better about Apple Talk
Brent: being pulled out of the kernel?
Chris: Not really, no. I mean, I get it. I absolutely, rationally, I get it.
Chris: But I don't know if I could properly put you in the headspace of late 90s, early aughts.
Chris: We've kind of come to this collision point where we have a lot of TCP IP.
Chris: The internet is a thing. But we still have this legacy of the Macintoshes are on this network.
Chris: The Windows boxes are on this network. And we had this division that was still
Chris: persistent. the mainframes and whatever the older hardware was,
Chris: was on a separate network.
Chris: And see, I'm old enough to remember too, like we were still transitioning away from Token Ring.
Chris: And to have something like Linux that came in and could be Samba and Netatalk
Chris: at the same time, it was like having a superpower. Like it made my career for a little while.
Chris: Like it was such a big deal.
Chris: So like that part of me is really sad to see it go because it means it's one
Chris: less thing Linux does, but it's just not a thing people need anymore and I get
Chris: it and we have so much new stuff to build and put in there.
Brent: Maybe they can add it into the kernel in March and then just take it out.
Chris: In May well the good news is there's a lot of people out there won't be running
Chris: 7.2 for a long time so they still got it.
Wes: Long live 6.18.
Chris: That's right.
Brent: Look at this. We got a little piece of news this week, a little piece of feedback, actually.
Brent: And we'll see if it's on topic. I'm not sure we'll get into it here. OK, here we go.
Brent: Good Lord, man. Apple Talks sucked back in the day and still sucks.
Brent: In any event, just use an older kernel.
Brent: They are not purging it out of the existing kernels that support it.
Brent: classic Mac is awesome till the lack of protected memory trashes your app or
Brent: triggers a beach ball of death.
Chris: Yeah, that is true. Or back then it was an hour glass of death.
Wes: It is nice having it in an emulator that you can just restart pretty easily.
Chris: Yes.
Wes: Especially as I was getting seg faults and trying to call fake memory addresses in assembly.
Chris: Now in defense, Ian, you sent this email before we did this episode.
Chris: I'd like to know if we changed your mind at all.
Chris: I think if you think of it at the time, you know, the late 80s,
Chris: it was actually quite impressive.
Chris: By the time we were using it, you know, in schools and stuff,
Chris: if you're around my age, it was getting to the point where it was frustrating.
Chris: There was already IP was coming along and all that kind of stuff.
Chris: But, you know, at the time, I think, I don't know, I'd like to know if we changed your mind at least.
Wes: And I mean, we do have the modern legacy, which we didn't mention.
Wes: But, you know, we got things like MDNS and Bonjour out of basically these ideas
Wes: or at least the best surviving remnants of it.
Chris: I'm glad you mentioned that. I meant to bring that up, right?
Chris: Like those were trying to reimplement things that just came native to Apple Talk.
Wes: The whole zero-conf idea, really.
Chris: And for better or worse, right? Like sometimes when you do a packet capture,
Chris: it's gross to see all those broadcasts on the network. You're like,
Chris: oh, come on, Apple. Don't look at those.
Chris: Come on, just look it up. But yeah, it makes it easy for the end user,
Chris: and it works pretty well for a homeland. So that's why I like it. All right.
Chris: Let's do some boost, boys, and we're going to start with a baller booster,
Chris: and it is a baller indeed.
Chris: Lutris Oppie? You think I got that right?
Wes: No, but that's- Lucitropy.
Chris: Oh, that's way better. That's way better than what I came up with.
Chris: All right. So, Lucup, Lucup.
Wes: I don't know if you got it once.
Brent: Yeah.
Chris: Lucy comes in with a baller boost of 345,678,000.
Brent: Satoshis. What?
Chris: Yep. Yep. That's right. Ah! Oh! Ha ha!
Chris: Long-time listener, first-time booster came across Bramble on Hacker News,
Chris: local password manager with cross-device sync.
Chris: It is Rust with a cryptographic core. You can find it on GitHub.
Chris: We'll put a link in the show notes.
Chris: I'd like to see what you think. Bramble, huh, boys?
Chris: Sounds like we have a contender for the list here.
Brent: Gpl3 it says bramble a password manager that keeps your secrets on your own
Brent: devices i like that no account no server holding your vault no company to get
Brent: breached and leak everything for you you hold the vault you hold the password and that is all.
Wes: What's kind of impressive here is they already seem to have browser extensions
Wes: i guess the firefox one's pending approval but in progress you can get it uh
Wes: an ios app and an android app which is kind of some of the harder holes to fill
Wes: when you make yourself a new password platform.
Chris: Screenshots look good, too.
Brent: Yeah.
Chris: Oh, it looks good.
Brent: Gotta say, yeah. KeyPass looks a little old compared to this. This looks good.
Chris: Well, yeah. Yeah. Well, the flip side is Bitward and keeps moving where the
Chris: fill button is on me just as I finally learn it. So, you know.
Brent: That's a security bug.
Wes: Would it work better on Hyperland?
Chris: I can confirm it does not.
Wes: Oh, well, our buddy, our pal producer, Jeff Boosin, with a big old row of McDuck's.
Wes: I think the Steam machine is not, quote-unquote, overpriced. It's too expensive.
Wes: The closest pre-built computers that come close to its performance and size
Wes: would need the AMD AI Max APU.
Wes: Those start around $1,500, and they fall short in GPU spec.
Wes: Give them some time, and their custom hardware will shine. Or do it yourself.
Chris: I think PJ is saying let them cook.
Wes: Yeah, I think he is.
Chris: Let them cook. Yeah. All right. I say good on you, PJ. Thank you for boosting
Chris: in. And I think you're right.
Chris: It's not that it's overpriced. And unfortunately, we may discover that it just
Chris: becomes the new norm. And we'll just adjust to it like we do gas prices, I suppose.
Brent: There's a boost here. A row of ducks from Brent's Tabs.
Chris: Oh, it gets me every time.
Brent: This came from our Web Boost page. Thank you very much. It says,
Brent: would Brent consider exporting his tab count as a Prometheus metric the audience could graph into?
Chris: That's a fun idea. That's a fun idea.
Brent: I would highly consider this. I might be ashamed at some point,
Brent: but that would be fun to graph. It's like a shame graph, basically.
Chris: Don't worry because if we get that going for you I may just reveal how many
Chris: files and the age of the files in my downloads folder I think people may be shocked,
Chris: we'll see AR buddy adversary 17 is here with 8143 satoshers,
Chris: adversaries writes Chris send me a link to your stream deck holder you want
Chris: I'll print it for you oh really Oh my gosh, that'd be great.
Chris: He says, yeah, regarding 3D printing, nice printers can cost a bit,
Chris: but they produce quality parts. The parts in my printer are ironically printed by my printer.
Chris: Persia uses their own printers to print the parts they make their printers out
Chris: of. The Core 1 printer parts are printed on Core 1s. Yeah, Alex tells me about that.
Brent: But how do you get the first printer, then? How do you get the first?
Chris: Well, you get a little kit, right? But then the cool thing is you can literally
Chris: print some of the upgrades down the road and stuff.
Brent: So great.
Wes: It was handed to us from the old Wandsprint.
Chris: Adversaries, right, so I also just want to say I love the web boost option.
Chris: I've been repeatedly punting the Albie extension to set up on my self-hosted
Chris: LND node every time I try to figure it out. I run into a problem,
Chris: and I say, I'll get back to it later.
Chris: So I just haven't been able to boost outside of using Fountain.
Chris: Well, I'm glad you like it.
Brent: We built it for you.
Chris: We love it.
Wes: Gene Bean, a boost in with 8,888 sats.
Wes: Chris, have you seen the Y-Can Pro for OBD2 to Home Assistant? Looks to be about $89.
Chris: You know, we've been kind of talking about this off-air a little bit.
Chris: And it's, yeah, a little meat pie, and it sits there and just runs all the time.
Chris: I think that is in my future.
Wes: Maybe in all of our futures. And then we also got from our buddy Gene a little Gentoo defense here.
Wes: You know, Gene writes, you can make that stripped down kernel for your no GUI
Wes: system pretty easily in Gen 2. Just saying.
Wes: Gene's not wrong. Gene's rarely wrong, I would say.
Chris: Yeah, I'd say he's got a pretty good batting average.
Brent: Is this his way to get me to try Gen 2 finally?
Chris: I mean, you might love it. That's the funny thing. I had to.
Wes: I think you need to.
Chris: I think you might actually love it.
Brent: Really?
Chris: I do. I do.
Brent: I think you're on Gene's team on this one.
Wes: You know, it's probably a great Hyperland experience.
Chris: Let me ask you something, Brent. If you could, would you love to live in like
Chris: your own bespoke hand-built cabin or log cabin or something like that that you
Chris: had all the time and resources in the world to build?
Wes: Oh, yeah.
Brent: Oh, definitely.
Chris: Right? Isn't that kind of what Gentoo is? You build it just the way you live.
Brent: Oh, I see what you're saying.
Chris: A realistic time frame. You know, I'm just saying. Just putting that in there.
Brent: What kind of time frame are we talking about? Because I might consider this.
Wes: You know how.
Chris: You like.
Wes: Distracting projects from your other projects.
Chris: Yeah you know how you love time holes that just totally distract you i call it.
Brent: Productive productivity thank you productive procrastination thank you very much.
Chris: With with that kind of spin you could be a politician.
Brent: Well faraday fedora is not a politician but they did send in a row of ducks,
Brent: Oh, hell no. MeshTastic is not dead in the Pacific Northwest.
Brent: Most of us just moved off long fast. Vancouver Island had a closer to 300 node mesh with medium slow.
Brent: But both mesh core and meshtastic are not a good use case for a sensor on your property.
Brent: Laura is still a good option, but you do need the whole mesh.
Chris: I would love you to expand on that, Faraday. Because I think I jive what you're
Chris: saying. It's like those are more for messaging, but the idea of low,
Chris: like 900 megahertz or whatever it is.
Wes: Yeah, you could have a LoRa mesh of your own.
Chris: Yeah.
Wes: You just need enough to make sure you maintain the coverage, I guess.
Chris: It could use AppleTalk. How do you get it to work with Home Assistant?
Chris: You probably could. You probably could. Wouldn't that be awesome?
Brent: Well, that's next week's project. There you go.
Wes: You know, NQTT might work great over ATP, you know. I'm just saying.
Brent: Good.
Chris: Dude, they're all very, very, very, very old. So they just might all work great together.
Wes: Chris P. boosts in with $12,345.
Wes: First time Web Booster, long time listener. Discover JB with the RMS last 200th episode in 2012.
Brent: Wow.
Chris: Oh my goodness.
Brent: Classic.
Chris: Yeah. Yeah. That was a long time ago. That episode, I think,
Chris: is not only like one of the standard episodes, but for me, I believe,
Chris: I think, I found out about it either the night before or the morning of it. It was pretty close.
Chris: It was like we just managed to, Brian just managed to barely schedule RMS.
Chris: And then I think, too, we had to kind of come up with a way to do the phone.
Chris: We might have used Skype or something.
Wes: Oh, sure. Yeah, of course.
Chris: He wouldn't use any proprietary technology.
Wes: He has limits on what he would use. Yeah.
Chris: But he was fine with the phone system?
Brent: Hmm.
Wes: I do like this summary.
Wes: Chris B. saying to himself, well, they have opinions and they know they're Linux.
Wes: I'll give them a chance. And still listening.
Chris: Hey, I love it.
Wes: Thank you. By the way, no time to try NixOS, but being French,
Wes: I should find some, as it could be our future with the Sovereign OS stuff.
Wes: Not sure it'll make it to production, but unlike the Munich failed migration
Wes: in France, we have the Gendarmerie Nationale.
Wes: There we go. And the success, successfully migrated to their version of Ubuntu.
Wes: So that is a pretty good, that's pretty good grounds for success. I like that.
Chris: And they've all, he's also mentioned, they've already done the Open Office and
Chris: Thunderbird and stuff like that. So that seems like positive vibes.
Wes: Yeah, if you hear more, if it does, be our correspondent if you would.
Wes: Please do boost back in. Thank you for boosting and for the longtime support.
Chris: And well done perfectly sequencing your individual boost to get to a Spaceballs
Chris: boost. Very impressive.
Chris: All right. I'll take whomever whiz. Also coming in with 2,222 stats.
Chris: That's a row of duckaroos.
Chris: I'm building new skills for my agent, but I could use more examples for inspiration.
Chris: Would you consider sharing some MD files or wrapper scripts?
Chris: I'd love to see community repo or wiki for this kind of thing.
Chris: I also love to see the writing to manage multiple agents on the same.
Wes: A wiring, I think.
Chris: Oh, okay. Thank you.
Chris: Okay, I think we need more streams, boys.
Wes: I think we might have a stream.
Brent: We need a quicker stream. That's very true.
Chris: Maybe one of the outputs of the stream could be some stuff published on a repo
Chris: or something. Think about it. Thank you, whomever.
Brent: I think I can give an example of a skill that I made this week as just a little example.
Brent: There was a function I was repeating because I guess my NextCloud notes sync
Brent: kept failing for I don't know what reason. And so I kept getting like versions of files and stuff.
Brent: And so all I did was I kept like three times in one day. I wanted to compare
Brent: different versions of the identical file.
Brent: So I used, I don't know, the NextCloud API or something to like go fetch those
Brent: versions, just compare them and then merge all the stuff that didn't sing properly.
Brent: And I was like, well, I'm going to be doing this a couple of times or like maybe
Brent: in the future it'll fail again.
Brent: And just make a skill out of it because we just, I don't know,
Brent: I spent 20 minutes figuring out exactly how to do it. Just remember that and
Brent: then I'll just call it whenever I need it. So little things like that is a good way to write skills.
Wes: So skills to unbreak your Nextcloud server.
Brent: Yeah, that's a good place to start.
Chris: I don't think I've told my Nextcloud story where it almost ate some of my most
Chris: precious data in the world.
Brent: Delicious.
Chris: Total bug in Nextcloud. If people are interested, boost it. Otherwise,
Chris: I hate to talk bad about the project because I love it so much.
Chris: but man oh man it basically disqualified itself from me ever using it in production oh no,
Chris: it was it was worst case absolutely worst case so it's there's that but i'm
Chris: yeah all right well we'll come we'll follow back with you whomever maybe with
Chris: a clanker stream well all right who takes mg.
Brent: There's another clanker boost here from mg 5 000 sats,
Brent: Hey, what models are you using for the various Hermes functions and for coding?
Brent: I think Chris talked about Minimax for the primary model, but what about Wes?
Brent: And what about Vision or Summary or Titles?
Chris: Yeah, Wes.
Wes: Yeah, Titles.
Chris: Yeah. Yeah. What do you use? Because I use Minimax M3 primarily with a little
Chris: small codec subscription on the side to sort of supplement things here and there
Chris: that need to build out for them.
Chris: So that's, mine's very basic, very boring, but Wes, you're always experimenting.
Chris: I know sometimes you're even renting GPUs directly and.
Wes: Yeah, I kind of tend to bounce around because I'll, I'll use stuff that is new
Wes: on OpenRounder just to try it out or, you know, use stuff that's free or
Wes: limited time offer, not necessarily for like production or like consistent backend
Wes: stuff, but definitely for, you know,
Wes: trying out for coding or random agentics tasks that I'm right there so I can
Wes: kind of evaluate them. So I do tend to use a fair amount of DeepSeq.
Wes: That's been a good one. Mimo's pretty good. I was trying one called Orenth recently,
Wes: which is one that I had to self-host, which is kind of neat.
Wes: So it kind of depends on whatever is that. Quinn also, both API and self-host, has been very good too.
Wes: Kind of depends on, are you aiming for more tool calling stuff or are you doing
Wes: more like active dev work? you might pick, you know, different flavors.
Chris: Or image generation is a different thing too.
Wes: Totally, yeah. Or, yeah, do you want, like, I like Memo because it does have multimodal support.
Wes: There's some interesting ones from Gemma these days with that too.
Wes: So if you do want stuff that's optimized for, like, operating a browser or,
Wes: you know, being able to quickly paste an image and have it do something with
Wes: that, it kind of changes the mix too.
Chris: MG, if you're not already, get in one of our clanker chat rooms,
Chris: Matrix or Telegram. It's a great question for that room in there, I think.
Chris: I'll take this next one. Donnie comes in with another baller boost for the show,
Chris: gentlemen, $200 in Fiat Bun coupons.
Brent: That's like fashionable fiat.
Chris: That is fantastic. Hi, all. I wanted to boost episode 644, the People's File
Chris: System, for a while, but I never got around to setting up a wallet.
Chris: I found myself maintaining a project that he calls HD Idol almost by accident.
Chris: That interview inspired me to test code that manipulates hardware. Thank you.
Brent: Nice.
Chris: Well, Donnie, thank you for that great boost. That's really awesome.
Chris: So HD Idol, huh? I feel like I already can kind of tell what it does.
Wes: Gpl3 yeah.
Chris: Hard disk idle spin down utility boys.
Wes: It's a re-implementation of christian moeller's hd idle yeah utility for spinning
Wes: down external disks after a period of idle time since most external ide disk
Wes: closures don't support setting the ide idle timer a program like this could
Wes: be required to spin down disks automatically.
Chris: Freaking great if you've got like external usb spinning rust and stuff.
Wes: Wow that's great i could have used this maybe.
Brent: Like 10 years ago.
Wes: I bet.
Chris: I could use it today.
Wes: I love the idea that a nerdy interview about bcashfs with kent and some of his
Wes: yeah brain smarts on file system then inspired someone who then started maintaining
Wes: something that is useful to everyone and,
Wes: and also just as my own personal love of testing strategies and stuff which,
Wes: hardware testing is especially hard so great,
Wes: thank you for thank you for this thank you for sharing all this good stuff.
Chris: Yeah i appreciate you sending some of that value back donnie and we'll put a
Chris: link to it in the show notes so other folks can check it out.
Wes: Leaky canoe comes in with $10 of fiat.
Wes: Even though I'm a member, here's some V4V.
Chris: Aw, thank you.
Wes: After listening to the Forescan Adventures, I bought an OBD2 USB adapter.
Brent: Nice.
Wes: Wow, what an excellent new tool for my toolbox when paired with some local AI.
Brent: Yes.
Chris: Isn't it amazing? It's a new age of home repairs, buddy. It's a new age.
Chris: That's great. Thank you, Leaky.
Brent: And also, the adventure's not over. More to come on that, I'm sure.
Chris: Mm-hmm.
Brent: We do have some free members boosts here. First one from Anonymous.
Chris: Oh, yeah.
Brent: A massive appreciation to Brent for his mention of Ngram in the member's bootleg
Brent: last week. I've spent the better part of two days trying to implement other
Brent: memory tools for my coding agents across providers in OpenCode and Codex.
Brent: Ngram is in Nix and syncs secrets across hosts in my Nebula Mesh. Massive love.
Chris: That's so great.
Brent: That's great to hear.
Chris: It sounds like Ngram is a hit. Yeah, we were looking at it afterwards.
Chris: It looks pretty good, too.
Chris: He also mentions Distributed Llama, which I think we've been poking at a little
Chris: bit behind the scenes. That's pretty cool.
Chris: We should probably link to that. And he says, did you guys completely ignore
Chris: 44? I've been using it for a few months after it came out, and since swapping
Chris: away from Nix and setting up Determinant Nix, I've had a great time.
Chris: The KD Plasma Edition is really nice, and it worked great for development.
Chris: Yes, but there's a reason.
Chris: We were at Linux Fest, and then by the time we were done with everything we
Chris: had lined up on the schedule it just didn't seem like it made sense anymore
Chris: but it hurt it hurt it hurt and then i wasn't sure like,
Chris: you know can we pick it up two months later,
Chris: you know so i think i feel like we just got to do a really good job with 45
Chris: it was that it was no mention or commentary or anything it was just the scheduling worked out where,
Chris: we had a window for fedora content wise the release didn't make that window
Chris: and then we were up against like hard stuff we had fest.
Wes: And then we had i I think we had an interview for the Ubuntu side with John,
Wes: if I recall. Yeah, there was just too much going on.
Chris: We had to get back and get to that interview. And then, yeah,
Chris: there was some Summit stuff in there as well. It was crazy. So that was really a miss.
Wes: I do really like, though, Anonymous here points out.
Wes: They link to museumofmodernart.org, which every once in a while,
Wes: a computer can be a museum or at least a museum piece. And do you know what it happens to be?
Chris: A Mac?
Wes: A Macintosh classic desktop.
Brent: That's cool.
Brent: It is beautiful, you know, I have to say, in an old kind of yellowing way.
Wes: Gift of the Peter Norton Family Foundation. I just love that idea.
Chris: Thank you very much. Appreciate that, Anonymous. Marcel sent in a free member
Chris: boost for 3D printing. I got two Vorons.
Chris: It's not a company. It's a self-assembled, and it's from an open source community
Chris: that designs in the open.
Chris: They can 100% their stuff for the car. Just don't use PLA plastic.
Chris: I made a custom phone mount. I printed an ASA. Still fine a year later.
Wes: Ooh.
Chris: Yeah, that's great. Okay, Marcel. I like that. And I can use it in the RV too.
Chris: Eric, the magician comes in with a free member boost. Following up on Nebula
Chris: and DNS, it was the wife who didn't want it on all the time.
Chris: I tried Nebula in December, and I tried it again this week. I was asking,
Chris: like, why are you turning off your wife network?
Chris: But it is actually working better now. I got...
Chris: Blaming the wife. I got caught with Nebula V2 Scheme, and the mobile didn't support it at the time.
Chris: But the mobile client supports DNS now. Yes, the mobile client's got a nice refresh in early 2026.
Chris: It's very true. Good. I really appreciate the follow-up, Eric.
Chris: Thank you very much. We tease, but we do appreciate it.
Wes: King Arthur member, Boo Sin, I think you were asking about other podcasts who do live things.
Wes: And so Vance Crow does live podcasts occasionally, as does the board game company
Wes: Stonemaier, who makes wingspan oh wingspan's a fun game and other games yeah cool,
Wes: thank you king arthur great to see other live folks doing stuff especially in
Wes: the podcast space specifically.
Brent: Peg dot came in with a members boost says uh here are my download sat stats
Brent: for my downloads folder the the home folder itself started as arch linux around
Brent: spring 2019 and got migrated to kashi a few months ago,
Brent: download folder the number of items 2,871,
Brent: And here's a du-h command to figure out the size. 102 gigs.
Wes: Oh!
Chris: Oh!
Wes: Those, that's the 2,000 files are pulling their weight.
Chris: I wonder how much of that old stuff you need. You know? Like how much of that from, you know?
Brent: If you're archival in your disposition, then all of it.
Chris: Should I reveal my details or should we wait one more week? I kind of,
Chris: I feel like I've been teasing it out too much.
Wes: You have been.
Chris: So I'm going to tell you. I'm looking at it right now. So the size is not that impressive.
Chris: 54 gigs. I think that's pretty reasonable for a downloads folder.
Chris: It's pretty reasonable.
Brent: No, it's not.
Chris: What? Really? 54 gigs?
Brent: Mine was like 10 megs or something.
Wes: Really?
Brent: Uh-huh.
Chris: That's so weird with your tab hygiene and all of that.
Brent: Yeah.
Wes: You don't have any ISO files.
Brent: I'm perfect, just not in all ways.
Wes: You don't have a VM disk image. Mr.
Chris: Videos Unless I run out of storage I mostly don't manage my downloads folder
Chris: until the machine dies and this machine just won't die It's 62.9.
Brent: Megs and it's got 49 files in it.
Wes: Not even 100 megs?
Chris: I feel like the amount of files is one thing, and I do have a lot of those,
Chris: but I don't need a break about that.
Wes: You're saying you're storing more data in your tabs? That's why I need all the
Wes: RAM. In your tabs than you have in your downloads?
Brent: Oh, definitely.
Chris: Rent.
Chris: Here's what I'm proud of, boys. My oldest file is from, in my downloads folder, November 6th, 1996.
Brent: Yeah, that wasn't true last week.
Chris: My next December 24th, 1996, and then I have a couple files from 2000,
Chris: 2004, and then mostly it gets pretty busy around 2016, and then it's just a
Chris: lot of files from there. But it's only 54 gigs.
Chris: So I got files going back to 1996 in the old download drive.
Wes: I wonder if we have similar files because I have two 1996 files as well.
Chris: I know what files they might be.
Brent: You guys have been around for a bit.
Chris: Hey, you can call us seasoned, okay?
Brent: They're text files, right? They're just, you can use them on anything.
Chris: Right. Let's wrap it up. Thank you, everybody who supported the show.
Chris: Thank you, too, to the SAT streamers.
Chris: 18 of you streamed SATs as you just listened to the episode,
Chris: and collectively, you stacked a real handsome 63,014 SATs. That ain't too bad at all.
Chris: I think that's pretty darn good. So thank you for streaming those SATs.
Chris: When you bring it together with our Fiat Fund coupons converted to sats at the
Chris: current market value, we had a really great episode this week.
Chris: And it means so much. The show, I can't believe we're still going.
Chris: I mean, we're going into July. And we don't have, the only primary sponsor we have is Nebula.
Chris: The other sponsors are temporary. You know, it's just different.
Chris: It's different. I don't need to go into details. But we just wouldn't be here
Chris: without the support. I cannot tell you how much it matters. Thank you,
Chris: everybody who supported the show.
Chris: We stacked a grand total of 809,307 Satoshis. Absolutely incredible.
Wes: Amazing.
Chris: It's across 30 people. Tens of thousands of people will listen to this episode.
Chris: 30 people and our members are making it possible. LinuxUnplugged.com membership
Chris: to put your support on Autopilot or boost the show at boost.jupyterbroadcasting.com
Chris: or use something like the Fountain app. Makes it real easy.
Chris: Cast-O-Matic is great on iOS as well and connects with your Albi Hub.
Chris: Thank you everybody who supported the show this week and kept us going.
Chris: We really appreciate it. And for you and everybody else as a little treat, we got some picks.
Chris: If you will allow, we are going to start with a couple of retro Mac picks.
Chris: If you want to go get a VM set up, we got some suggestions for you.
Chris: And we've been having some fun. There's a lot we could have picked.
Chris: I'm going to tell you that.
Wes: A lot.
Chris: We tried to narrow it down for you all. A couple of must-haves.
Chris: Wes, why don't you start with one of your favorites?
Wes: Yeah. I mean, as a kid, this just was blowing my mind. It's Morph.
Wes: um griffin morph no less which was one of the first commercial quote-unquote
Wes: morphing programs available for this era of computers um you essentially,
Wes: You're given a UI where you can kind of put dots on two images,
Wes: and then you move the dots so they sort of match up so they both are on a nose, say.
Wes: And then it generates a transition effect from one image to the other,
Wes: and then you can export that as a movie. Quick time, no less.
Chris: That's pretty good. It's impressive.
Wes: Yeah, so that was one of the demos it came with, where it's morphing like a
Wes: bear into a lion, and vice versa.
Chris: Yeah, yeah.
Wes: That's pretty fun. It did also give me a chance to really deal with resource
Wes: forks, because, boy, howdy, did the early QuickTime videos really use that stuff.
Wes: So, like, it's part of the data, like, the move atom is in one side and then
Wes: the mdata stuff is in the other part of the file.
Wes: And then what you can do is if you get QuickTime for that era,
Wes: you can open up the export from Morph and then you can save it as a consolidated
Wes: file that can open on non-Macs and then that saves it as the correct version
Wes: that none of it's in the resource fuck and then you can just copy it to your AFP share.
Chris: All right. There you go.
Wes: So Morph is there. That's legitimate software from the old days.
Wes: I cheated a little bit here because this was one of my ideas.
Wes: And then I realized someone had already done it way, way better.
Wes: It's called Legacy AI. Legacy AI allows older Apple computers to interact with
Wes: AI services like OpenAI's ChatGPT.
Wes: Legacy AI works across 15 different Mac systems from System 7 to 1011 El Capitan.
Chris: What? Somebody wrote classic Mac apps to talk to LLMs?
Wes: Yep.
Chris: How is this a thing?
Wes: Yep. Now, I didn't get the networking going because I think it needs TCP.
Chris: Yeah, well, I got that going. I could try this.
Wes: Yeah. Get to it. And the Manticore folks, they also have a few old Mac apps,
Wes: including one that's just like a nice-looking weather thing,
Wes: weather bot. But, yeah, so you can run your own proxy.
Wes: Essentially, you run a proxy to do the HTTPS stuff.
Wes: They provide one as well, I think. And then it has image generation with Dolly
Wes: in there. And you get a little LM.
Chris: You know, if somebody could write a modern web browser for Mac OS,
Chris: we could almost do a challenge.
Chris: It'd be stupid, but we could almost do a challenge. That's crazy. Wow.
Wes: Okay.
Chris: I did not expect that. I did not expect that.
Brent: I'm like speechless on this one.
Chris: I am too. I did not expect that.
Wes: And it looks so nice. They really leaned into the look of that era app and the toolkit.
Chris: All right. Well, I want to tell you about a little nostalgia that I got going,
Chris: and I'll link to this in the show notes. You don't even have to set up a VM
Chris: to try it because the Internet Archive will run a VM in the web browser.
Chris: It's an app called Dark Castle, a 1986 computer game for the Mac published by
Chris: Silicon Beach Software, and then it was ported to other platforms later on.
Chris: It's a platformer, a side-by-scrolling platformer, where a hero named Duncan,
Chris: tries to make his way through an evil castle where there's a black knight and
Chris: objects and bats he has to dodge and mice and rats and occasional puzzles.
Chris: And as a young lad, I spent an enormous amount of time playing this game.
Chris: It's very simple by today's standards, but it's actually, in my opinion,
Chris: still holds up, still makes for a bit of a challenge, especially using the controls under a VM.
Wes: So Dark Castle.
Chris: Yeah, 1986. And you can play it right on archive.org or you can download the
Chris: image file and then mount it as a CD-ROM and install it on your VM.
Brent: Wow.
Chris: I loved it, and it was really great to revisit that. Another game that I was
Chris: surprised was so much fun to revisit is a 1987 hit called Crystal Quest,
Chris: a mouse-driven game where the player controls a little circular spaceship and
Chris: you got to shoot around the screen, collect crystals, blow up UFOs,
Chris: and then, you know, go through tiny little obstacles.
Chris: And it's funny how hard it is actually to control this game.
Chris: I spent a lot of time dying, but you can play Crystal Quest again on archive.org or on the Mac VM.
Chris: And relive the classic sounds.
Clips: Oh!
Wes: That stupid gate on the bottom, their portal or whatever.
Chris: I know.
Wes: The sharp edges, you gotta be right in the middle.
Chris: And those weird noises that it makes. I mean, the games, they're definitely of an era.
Wes: Crystal Quest is such a classic.
Chris: There's so many on archive.org and other places, but Crystal Quest and Dark
Chris: Castle were some of my favorites, so we'll link to those in the show notes.
Chris: But we do have some gosh darn Linux picks, don't we?
Wes: At least one. Yeah, just one. And this is actually a sneaky piece of feedback.
Wes: So listener Alex wrote in, I'm the author of GoToTV, which Wes gave a nice shout out in episode 516.
Wes: And a couple of months ago, I created MCP Beam. I've been listening to the podcast
Wes: for a while, and you often talk about your media setup, so I thought you might like it.
Wes: It lets you control Chromecast and DLNA receivers through an MCP-compatible agent.
Wes: For example, you can tell your agent, play a random video from my library on the living room TV.
Wes: Nice. Seek to 50%. Pause playback. It supports video, audio, and images.
Wes: It takes me about an hour to get to work, and Linux Unplugged fits perfectly
Wes: into that commute. Thanks for keeping me company along the way.
Brent: Aw.
Chris: That is so cool. MCPBeam, mostly written in 99.6% Go.
Chris: And what a cool idea. And then you just get this set up in OpenCode.
Chris: You open up OpenCode and just tell it to play the file.
Wes: I will definitely give this a try. I've been using the CAT, C-A-T-T tool a fair
Wes: amount to control my Chromecast. But this would just kind of skip one step, which sounds great.
Chris: Now, eventually I'll get all of you boys deeply indoctrinated into the school of Home Assistant.
Chris: But until then, it's all very useful.
Chris: It's all very useful, but Home Assistant can control it all.
Chris: Also, another shout-out to GoToTV, which is a fantastic app.
Chris: A little cast media files to your smart TVs or Chromecast devices.
Chris: A little for Linux. So we'll link to that, too, because that was very solid.
Chris: That was good. Well, there you have it.
Chris: It was nice to say goodbye to Apple Talk and go down memory lane one time for a little while.
Chris: And at least remember, in a way, how awful networking used to be and how good
Chris: it is now and how transparent TCPIP is now and how transparent it is to just
Chris: talk between machines and systems and route out to the internet.
Wes: And that we live in a world where you don't need an interbridge to have two
Wes: totally different proprietary things, be able to talk to each other with another
Wes: proprietary middleman in the middle.
Wes: Well, you do in some worlds, but you don't in the topics we cover on this show.
Chris: Wouldn't mind getting my hands on a 3Com InterBridge and setting up a little
Chris: 3Com InterBridge network or something.
Chris: That'd be stupid. My kind of thing. You know, my kind of thing.
Wes: Yeah, I mean, maybe once we're sponsored by Novell Network.
Chris: Yeah, that'll come along any time now. We're big IPX guys. So,
Chris: Wes, before we get out of here, you know, there's additional data,
Chris: you might say. You could say rich details around the show in multiple different
Chris: ways. Could you tell people about it?
Wes: Yeah, well, if you open up an AppleTalk bidirectional connection to our RSS
Wes: server and you set up your Mac to be able to handle JSON files correctly,
Wes: you will be able to have access to our cloud chapters, yeah,
Wes: which are timestamps into our podcasts that tell you when we talk about stuff at the segment level.
Wes: But if you need more granularity and your system has enough RAM,
Wes: you can even get an SRT or VTT file for subtitles.
Chris: Oh, and don't forget that macOS 8.1 installation media comes with a free trial of AOL.
Chris: You can get online and it's keyword LUP-LUG to join our mumble room,
Chris: which gets together every Sunday at 10 a.m. Pacific.
Chris: JBLive.tv is where to watch it, Sunday, 10 a.m. Pacific, 1 p.m.
Chris: Eastern, jupiterbroadcasting.com slash calendar for your local time.
Chris: Yeah, we got show notes. Yeah, we got links.
Chris: Whichever you want, what's we talked about and all of that over at linuxunplugged.com slash 674.
Chris: There's also some great shows over at jupiterbroadcasting.com. Go check those out.
Chris: And why not check out the back catalog while you're over there?
Chris: And then join us on a Sunday.
Chris: Make it a Tuesday on a Sunday. Get yourself in the right headspace.
Chris: That way, Monday feels like a Wednesday.
Wes: And then go check our calendar again, because you never know when there might
Wes: be a sneaky clanker stream coming up.
Chris: Clanker. All right, everybody. Thanks so much for joining us on this week's
Chris: episode of Your Unplugged Program.
Chris: And we'll see you right back here next Sunday. Thank you.
Wes: Thank you. Bye, Drew.