Join the discussion
Write your take first — we'll ask for email only when you're ready to publish.
- Hacker News
- The USB/Thunderbolt one is a nice catch and good to know if you want to move you data to a new PC. Dell XPS (with soldered SSD) to Framework move just took a few minutes by dd'ing through the created network interfaces (it's different from the tbstream). The limiting factor was the Dell's SSD actually.by Yannik_Sc
- I've been doing this for years between MacBooks with a thunderbolt 4 cable. It's very fast and unlike 10Gbps ethernet, doesn't require a bulky, power-hungry[1] adapter. MacOS also will use thunderbolt automatically for Migration Assistant if available.
[1]Most people don't realise how much power ethernet consumes. Even 100Mbps ethernet consumes about 0.5W per port and it goes up with higher speeds.
by johnwalkr - "I think it's underappreciated for non-internet applications and doesn't even need a local network: point to point wiring is perfectly fine."
In the 1990s I used crossover cable for years with Apple computers that I bought for music production
To keep the disk drives "clean", I never connected these computers to the internet
If I needed to transfer files to or from Apple computers I connected them to a laptop with crossover cable
I grew up using Apple computers that had no internet connection at home and school so this seemed perfectly natural
I used computers running Windows 3.11 that had no internet connection, only LAN
Needless to say, "Big Tech" companies like Apple are not what they used to be
These companies don't really produce anything to be used "offline" anymore. Watching the default network traffic from "Big Tech" marketed computers and software is sad
Not automatically trying to phone home is bad for the "business" of data collection, surveillance and ad services
There used to be a different attitude toward the internet; there was less trust. I can still find traces of this in the archives at textfiles.com
- It would be nice if this article defined a "ethernet patch cable". I think he's just using "patch" as a slang term for a short cable and it actually works with any length of standard cable, but I'm not certain.
Traditionally (pre-2000?), one had to use a special "crossover cable" to do direct connections like this, but apparently modern Gigabit ethernet adapters are able to detect this situation automatically?
by nkurz - Seriously people? HN doesn't know what a patch cable is??by dboreham
- IIRC crossovers are pre-2000, yes. "Fast Ethernet" or 100Base-T adapters usually could talk over straight link.
edit: as for length, it depends. you won't get a gigabit over 150m of crap cat3, but you will get a link, even if it's 10 half-duplex.
by lstodd - The way I learned this, is that patch cables use stranded wires, but ethernet cables use solid wires.by bronlund
- Gigabit Ethernet doesn't need to detect anything because it sends and receive over the 4 pairs simultaneously using echo cancellation.by pezezin
- https://en.wikipedia.org/wiki/Medium-dependent_interface#Aut... is what allowed the switchover to happen automatically, and it got folded into the 1000BASE-T standard. So yes, crossover cables are no longer required because the two Ethernet adapters at either end can negotiate between them to have one of them "flip" the meaning of its Receive (RX) and Transmit (TX) pins.by rmunn
- I remember we played warcraft 2 over ~15m of cat3 cable stretched outside between two flats on 6th floor. Those were the times, lol.by lstodd
- When I did LAN parties we had 10base2 over thin coax. Terminators at each end. Of course it was unstable because people kept disconnecting and everyone lost connection.by sgt
- I remember playing over a 9-pin RS232 null cable - but I guess that is telling about my age :D
Not Warcraft though - some ancient DOS game.
by bronlund - For anyone today who's got copper wire stretched between any buildings, you are in danger and your configuration is quite unwise.
For every standalone building that has a ground, that building also has an electrical potential. This potential is not necessarily the same between two neighboring buildings. When you stretch a copper line between them, you are tempting fate, electrically, not to mention the dangers of lightning strikes and the elements attacking that connection.
It is generally recognized that fiber optics are not only very efficient and durable, but also impervious to electrical troubles of the type that may plague inter-building connections. Simply grab switches or routers that support at least one fiber-optic connection, and link up!
- It seems a strange choice, for the demo and for the script, to manually configure addresses on both ends. If your TCP/IP stack is functioning properly, this will not be necessary. Once DHCP fails, you should get a pair of 169.254.0.0/16 (APIPA) addresses, and then Bob's your uncle.
Configuring all this manually adds extra complexity when it seems that the goal is simply to connect up your cable and let 'er fly.
- You still need to know what the address is.by inigyou
- Or just hostnames (mDNS configured to resolve/advertise on ipv6 link-local addresses)by preisschild
- And if you prefer ipv6 you can as well just ping -6 ff02::1%eth0 (or eno1 or whatever your devices name in the particular subnet is) and receive all fe80 addresses of other hosts in the subnet.
Also, why is he talking about "ethernet"? Its the IP layer, not the ethernet layer...
by ma2kx - Back in my college days, 169.254.x.y addresses were the bane of my existence, because my job was getting students' computers set up with the brand-new Ethernet connection in their dorm room. This usually required a tech to come out to their room and configure Windows 95 properly, with IP and DHCP instead of Novell Netware and IPX (I don't remember why Netware/IPX was the default on so many Windows 95 installs, but that was definitely what I found most often when I went to look at someone's computer that "wasn't connecting to the Internet".)
Occasionally we had someone who knew what they were doing and had their Windows 95 settings set up correctly, and then all we had to do was activate their room's Ethernet port and add their MAC address to the DHCP server's list of authorized MACs. But most often I or one of the other techs had to head down to the person's dorm room and set up their computer's network settings correctly before it would work. Once the 169.254 address was replaced by 192.168, my job was finally done. But there were times when that took some doing.
by rmunn - "Plug two computers into each other with a network cable and staticly configure the IP addresses" should not be a novel or notable enough idea to trend on HN! This is boggling.by theodric
- I thought what made the article special was the use of a "patch" cable but the network cards should be able to negotiate anyway, I was very confused about what was the notable thing.
- I literally had to cross over the cable once. It was some sort of demo and the cross over cable was missing. The local computer stores didn’t have one and under the time pressure … I have used the pocket knife and convert the cable. It was before 2000 so the speed was limited to 10/100 Mbit - ifconfig did’t report errors and demo went smooth.by awruko
- This remind myself the good old 8bit days of using a cross-over RS232 cable to send a file from one computer to another. even at 30bps, it was much more reliable than write my data to a cassette tape on one computer and then reading on the other.by yitchelle
- But did you ever plug one computer's cassette out directly to another computer's cassette in?by inigyou
- Yeah! Werent these also called NULL-modem cables?by thenthenthen
- 232 crossover was still going in the PC era with laplink. Parallel was an option too if I remember.
Used to play Duke Nukem 3D over a null modem serial cable.
In the days of the spectrum where you loaded via an analog audio input from a tape, and saved via the output, you could move from one to another in the same way, skipping the tape.
Apparently this was about 1kbit per second.
by hdgvhicv - I have plugged two ZX Spectrums together and done LOAD "" on one and SAVE "THING" on the other to transfer data.
If you get away from BASIC commands and copy the tape routines up into RAM you can mess with the timing values, and with care you can get it from an average of 1800bps up to around IIRC 12000bps before things really fall apart. Probably with better interfacing you'd get even faster.
With more conservative values, this is how "speedloaders" worked. In the late 80s or early 90s one publisher released games on CD where it would load in the loader at normal rate then ramp up to some unholy speed that CD had the bandwidth and stability for but tape did not.
- I wonder how we managed to invent the Internet before this trick. Next week's front page will be "Amazing trick: connect two wheels with a platform and you can ride instead of walk"
- You can also pipe it through zstd on the fly, for data that compresses well you'll often see 1.5 to 3× the raw throughput, so a gigabit link can effectively move 165–330MB/s.
Receiver: socat -u TCP6-LISTEN:1234,reuseaddr STDOUT | zstd -d -c | tar -xpf - -C /destination
Sender: tar -C /source -cf - directory | zstd -T0 -6 -c | socat -u STDIN 'TCP6:[fd42:dead:beef::2]:1234'
-T0 uses all cores. Bump the level above -6 for more compression, drop it for more speed, but if your CPU can't keep up, high levels will actually slow it down. Already compressed data won't see much benefit.
- If you're using specifically zstd, on the sender side, instead of tweaking the whole tunnel once, you can use --adapt to dynamically adjust to i/o conditions.
- Btw, tar(1) on MacOS shows the file currently being processed when you hit Ctrl-T (i.e. when it receives SIGINFO).
And talking about signals, dd(1) can show the amount of data it has processed as well as the throughput. The signal depends on the implementation(e.g. SIGINFO for MacOS, SIGUSR1 for GNU).
by effdee