[HN Gopher] IP over Spaghetti (2019)
       ___________________________________________________________________
        
       IP over Spaghetti (2019)
        
       Author : elisaado
       Score  : 184 points
       Date   : 2023-12-22 10:56 UTC (2 days ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | brudgers wrote:
       | A noodlie appendage to the internet?
        
         | BirAdam wrote:
         | Just a suggestion, but when speaking of Him, you should
         | probably capitalize Noodly Appendage... I mean, you're not
         | wrong, but it's better ;)
        
       | pantantrant wrote:
       | Oops, I dropped my packets.
        
       | blueflow wrote:
       | Previously: ADSL over wet thread
       | https://hackaday.com/2017/12/14/adsl-robustness-verified-by-...
        
       | BadBadJellyBean wrote:
       | Why? Because why not!
        
         | samschooler wrote:
         | Expanded internet access. Most homes in Sicily as well as
         | around Naples, Italy are still wired using mainly spaghetti and
         | in some cases linguine, as was standard until 1956.
        
           | _joel wrote:
           | It's a bad situation with over farming in some areas since
           | the 50's[1], I'm glad to see the spaghetti reserves are
           | returning.
           | 
           | https://www.youtube.com/watch?v=tVo_wkxH9dU
        
         | sprior wrote:
         | Well since according to that old ad pasta grows on trees it'll
         | be a really cheap networking media.
        
         | dvh wrote:
         | We've been asking for sauce
        
       | fellerts wrote:
       | I recently did something similar - tunneled IP over an RF
       | protocol that was definitely not designed for such nonsense, and
       | was convinced that PPP would be a much more appropriate link
       | protocol. It even handles IP address assignment and encryption
       | out of the box.
       | 
       | Was SLIP chosen for its simplicity here? Genuinely curious.
        
       | NoToP wrote:
       | Packet ravioli
        
         | accrual wrote:
         | Surely with an adapter this setup could indeed support 802.3
         | Ravioli.
        
       | ggambetta wrote:
       | Impressive! But I'm contractually obligated to point out that
       | "spaghetti" is plural and "spaghettis" is not a thing.
        
         | quasarj wrote:
         | It sounds funnier, though
        
           | ggambetta wrote:
           | Silly hobbitses and their spaghettises, we hates them
        
             | thriftwy wrote:
             | In ADOM you could wish for "seven league bootses" if you
             | wanted to get multiple pairs.
        
         | airstrike wrote:
         | Giusto! And "spaghetto" is not really a thing either but I love
         | saying it when I mean a singular "noodle"
        
           | reddalo wrote:
           | "Spaghetto" is completely a real thing, in Italian at least!
           | 
           | "Uno spaghetto" (one), "due spaghetti" (two) and so on...
        
             | airstrike wrote:
             | Certo, ma intendevo che la gente di solito non usa quella
             | parola lol
             | 
             | or at least not to my knowledge! I'm not Italian
        
             | kazinator wrote:
             | If there were a girl spaghetta, what would the plural be?
        
               | airstrike wrote:
               | spaghette, like "le nostre pizze" is the plural of "la
               | nostra pizza" (our pizza):
               | 
               | https://www.google.com/maps/place/Campana+d'Oro/@46.06437
               | 1,1...
        
             | dizhn wrote:
             | Similar to lasagna vs lasagne except the former incorrect
             | version is used in most English speaking countries.
        
           | sunnybeetroot wrote:
           | Yes it is a real thing.
        
         | dclowd9901 wrote:
         | I believe the plural is spaghettipodes
        
           | airstrike wrote:
           | My money is on spaghettii
        
             | Cockbrand wrote:
             | That's two, and three are spaghetiii. Careful with counting
             | one more, that'll be spaghettiv, of course.
        
               | sneak wrote:
               | Five is right out.
        
               | drooby wrote:
               | Spaghettx is also the gender non-binary usage. Which
               | makes this counting system slightly problematic.
        
           | lostlogin wrote:
           | This is dangerously close to the octopi/octopodes/octopuses
           | debate.
        
         | asylteltine wrote:
         | Actually it's not spaghetti unless it comes from the spaghetti
         | region of France.
        
           | jagged-chisel wrote:
           | Probably on the border shared with Italy.
        
           | bpye wrote:
           | Switzerland actually - https://youtu.be/8scpGwbvxvI
        
         | quickthrower2 wrote:
         | spaghetti noodle might do as a singular?
         | 
         | or strand?
        
         | thewarpaint wrote:
         | For the curious: https://en.m.wiktionary.org/wiki/spaghetti
         | 
         | I had a chuckle when I read the plural "spaghetties".
        
         | nosrepa wrote:
         | Submit a PR then?
        
       | wiredfool wrote:
       | This really needs to be part of the it's not stupid if it works
       | thread.
        
         | londons_explore wrote:
         | With a ping of 60,000 milliseconds and a 0.00004 Mbit/s data
         | rate, I question the use of the term "works".
        
           | wiredfool wrote:
           | Works on my plate.
        
       | heads wrote:
       | Each packet is a whole meal -- usually 1500 bites!
       | 
       | Also, if you find plain spaghetti too bland then bites 12 through
       | 15 give you the sauce address.
       | 
       | https://upload.wikimedia.org/wikipedia/commons/6/60/IPv4_Pac...
        
         | xattt wrote:
         | Another tip: if the box rattles, throw it away!
        
           | hunter2_ wrote:
           | Might also help to use Tomato [0].
           | 
           | [0] https://en.m.wikipedia.org/wiki/Tomato_(firmware)
        
       | nicexe wrote:
       | Looks like a deconstructed optocoupler while also using an
       | optocoupler.
       | 
       | This is one of these rare instances where you can have hardware
       | recursion.
        
         | seiferteric wrote:
         | Took me a bit to see what it was actually doing. In the doc
         | folder it has some pictures. It appears to be sort of a linear
         | actuator that pushes the spaghetti forward or backward, which
         | makes/breaks the light path in the optical sensor on the other
         | side.
        
           | yonatan8070 wrote:
           | Oh
           | 
           | I didn't read beyond the README and I thought it's using the
           | sphagetti as a fiber optic cable with an LED on one side and
           | a photoresistor on the other
        
       | winwang wrote:
       | Time for SSH over airgap ;)
       | 
       | "Channel Capacity of Short-Range Ultrasonic Communications in
       | Air" https://ieeexplore.ieee.org/document/8089735
       | 
       | https://en.wikipedia.org/wiki/Air-gap_malware
        
       | quickthrower2 wrote:
       | Was the code spaghetti? Guess it might be copy pasta. Actually I
       | think he used his noodle to come up with this.
        
       | eszed wrote:
       | Glad to see this is open sauce.
        
       | eternityforest wrote:
       | I wonder what the bandwidth of tin cans and string is
        
       | ubutler wrote:
       | Would someone mind explaining, for people who aren't familiar
       | with electrical engineering and/or physics, is it actually
       | possible to transmit information over spaghetti or this is just a
       | very elaborate April-but-not-in-April fools joke?
        
         | mod50ack wrote:
         | It is actually possible. It is possible to transmit information
         | by moving a thing (which is sensed by the optical sensor, as
         | shown here). So we can transmit information by moving
         | spaghetti. It is not a particularly efficient method, though.
        
         | LukeShu wrote:
         | It's both. Obviously, it's a silly April-but-not-in-April fools
         | joke; but it also seems that it would work (but not be
         | practical).
         | 
         | The spaghetti is just a stick. At one end a relay[1] wiggles
         | the strand of spaghetti to transmit information. At the other
         | end an optical sensor[2] sees the tip of the strand of
         | spaghetti wiggling and receives that information. There's such
         | a setup going in each direction[3] so that each side can
         | receive and transmit.
         | 
         | [1]:
         | https://github.com/peterheinrich/InternetOverSpaghetti/blob/...
         | (the strand of spaghetti that stick going off the screen to the
         | right)
         | 
         | [2]:
         | https://github.com/peterheinrich/InternetOverSpaghetti/blob/...
         | 
         | [3]:
         | https://github.com/peterheinrich/InternetOverSpaghetti/blob/...
        
         | ikari_pl wrote:
         | When I saw the title, and the picture, my thought chain was
         | going fast!
         | 
         | * Is it electrical? No, impossible, dry spaghetti is not a good
         | conductor
         | 
         | * Is it optical? It could make sense, maybe spaghetti behaves
         | like an optic fiber, trapping the reflections inside?
         | 
         | * Oh my god, it's mechanical!
         | 
         | So what happens here is, there's a relay (electromechanical
         | device) modified to be able to poke a metal rod when a signal
         | is applied.
         | 
         | This rod pokes the spaghetti.
         | 
         | The receiving end watches the end of the spaghetti for movement
         | - with an optical sensor. When it moves back, more light will
         | get through the sensor, than when spaghetti is in the way. So
         | the bits are represented by physical movement back and forth of
         | the spaghetti noodle (is noodle a correct term here?).
        
       | gwbas1c wrote:
       | I would have liked to know a bit more: How does it work and how
       | many bits / second?
        
       | vincent-manis wrote:
       | This is brilliant! I would be interested in reading an analysis
       | of IP performance in this kind of pasta-net versus using homing
       | pigeons (RFC 1149/2549).
        
       | jurgenaut23 wrote:
       | I can't help to wonder how the bitrate would vary with how cooked
       | they are. Finally one way to settle the debate about what's
       | really "al dente".
        
       | userbinator wrote:
       | This made me wonder how well spaghetti transmits sound waves, and
       | if higher speeds could be obtained by that means.
        
         | ikari_pl wrote:
         | While solids are transmitting sound waves much _faster_ than
         | air, spaghetti is also very prone to mechanical destruction. A
         | dense metal rod would do better, but at the cost of requiring
         | more actuation force.
        
       | lambdaone wrote:
       | I'm not sure why the ping time is ~60 seconds.
       | 
       | Reading the Arduino firmware suggests a data rate of 40 bits/s on
       | the actual spaghetti strand.
       | 
       | Allowing for a start and stop bit, that's 4 bytes/second. Given a
       | typical ping packet length of 56 bytes, and a negligble SLIP
       | encapsulation overhead, I'd expect the outbound ping request
       | would take 14 seconds to transmit, and the ping reply would take
       | another 14 seconds after that, making 28 seconds in total (plus
       | the processing latency, which should be negligible). The only way
       | I can see it taking twice that time would be if the ping packets
       | had truly unfortunate content of bytes that SLIP would need to
       | escape into byte pairs, which seems unlikely.
       | 
       | I'm surprised the author didn't go for direct transmission of a
       | 9600 baud signal; it wouldn't be too hard to use a DIY voice coil
       | actuator to drive sound waves down the spaghetti at that
       | frequency, and not too much DSP processing to amplify and clean
       | up the measured movement at the optical sensor into a clean
       | digital signal.
        
       ___________________________________________________________________
       (page generated 2023-12-24 23:02 UTC)