Hacker News
points by Neywiny 2 days ago | 0 comments
So disappointing to see no direct numeric comparisons with the original.
[–] marcusbasant 2 days ago
(I am the author - posting from an alt here)

It's pretty tedious to compare - Have to run diags, take screenshots, set up watchers on a modern machine, run comparisons on the classic mac hardware, and then transfer those back from the mac to the modern machine (I haven't set up a network share solution for the mac yet, so each transfer is power down and transfer via SD card), run thru agent for validation and feedback, and repeat for each iteration.

I went thru a few rounds of this (about 4 release candidates) before i decided that what I had was Good Enough and published it. I have noticed that Claude tends towards this "circumcizing the moquito" sometimes in the qa/validation phase.

Here's what I was able to measure from the test log data that I did transfer across:

| Measure | MoofTCP | MacTCP 2.1 |

|---|---|---|

| ACK of an echoed keystroke (median) | 2.8 ms | 4.5 ms |

| ACK of an echoed keystroke (worst case) | 16.8 ms | 17.6 ms |

| Delayed-ACK stall on interactive data | none | none |

| Wikipedia Reader, follow a link | 51.7 s | 53.2 s |

| Fetch 10 MiB over TAP | about 47–49 KB/s | about 49 KB/s |

| Advertised TCP window | 8,192 | 4,220 |

| Transmit stalls and retransmissions on the real Mac | 0 | not measured |

[–] MBCook 2 days ago
Do you have a good sense of what alllowed you to improve it so noticeably? Maybe fundamental design errors in the original, more modern algorithms available to you, or knowing where to skip (or remove from the hot path) functionality that goes rarely or totally unused?

Our family Mac was the first machine I loved. Unfortunately I never got to use with so much as a modem, so I have no first hand experience with using MacTCP.

[–] marcusbasant 2 days ago
I can’t pretend to be an expert on the TCP/IP protocol but I asked my agent for its methodology. It says: smarter ACK handling, bigger TCP windows/segments, better retransmission discipline, an ASSM checksum routine, and ditching malloc for fixed memory space were some engineering decisions it made that lead to better performance.
[–] Neywiny 2 days ago
Without seeing the memory saving metric and error bars, these are marginal improvements. Kudos on making a thing but I'm not seeing it. I also don't have a 68k mac though so maybe I don't see this being a big deal.
[–] yjftsjthsd-h 2 days ago
Is not a marginal improvement an improvement worth having?
[–] marcusbasant 2 days ago
I can say as the author, aside from subjectively better feel, the DHCP support and the pretty easy install are nice wins over MacTCP too. And just not relying on something that hasn't been supported for 30-odd years.
[–] yjftsjthsd-h 2 days ago
Yeah, I'd personally be happy about a new implementation even if it didn't really improve anything, just because I think there's value in having an actively-developed version.
[–] Neywiny 2 days ago
I mean I guess but the readme made it sound like this would be a night and day difference. A lot of bashing of the original.
[–] yjftsjthsd-h 2 days ago
? The only reference I see is

> MacTCP is wonderful, but it is old, and on a 4 MB Mac Classic with a SCSI Wi-Fi/Ethernet adapter like BlueSCSI it can be slow to answer, hungry for memory, and awkward to set up.

Which... I don't own a Mac Classic, so I can't speak it its factual accuracy, but that doesn't sound like bashing.

[–] tbyehl 2 days ago
I'll bash it: MacTCP is awful. The first several versions of Open Transport with System 7.5.x were somehow even worse. And MacPPP was an abomination.

I like to show people Hunter Cressall's parody of the Switchers ad campaign to remind/educate them that the Macs of yore were no panacea. It's hilarious and spot-on. https://www.youtube.com/watch?v=rEvYETWVK6M

Source: I accidentally became the other Mac guy at an ISP in-era (1995?).

[–] marcusbasant 2 days ago
I'm not sure that anybody would expect a niche hobby project for rare 40 year old hardware to be "a big deal." Hope you're working on something fun and low-stakes too!
[–] ecliptik 2 days ago
A usb4vc, rgb2hdmi and a tashtalk (for appleshare) can let an agent fully control a classic Macintosh.

It works so well I had Claude make vcctrl[1] with a full set of skills and an MCP server to fully automate deployment and testing. No more sdcard swaps.

1. https://github.com/ecliptik/vcctrl

[–] Moto7451 2 days ago
Given the lack of protected memory and the various toolbox hooks, has anyone made an init to control the system? Back in the Classic Mac lab days we’d puppet an entire system with At Ease over local talk.
[–] marcusbasant 1 day ago
Interesting, I was considering trying to make an Ansible provider/plugin/whatever for System 6/7. Might reduce the back-and-forth with things like Infinite Mac on initial setup.
[–] marcusbasant 1 day ago
This is wild stuff, you should make a youtube demo of this if you haven't.