Hacker News new | past | comments | ask | show | jobs | submit login
IP over Spaghetti (2019) (github.com/peterheinrich)
195 points by elisaado on Dec 23, 2023 | hide | past | favorite | 61 comments



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...


Another tip: if the box rattles, throw it away!


Might also help to use Tomato [0].

[0] https://en.m.wikipedia.org/wiki/Tomato_(firmware)



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.


Impressive! But I'm contractually obligated to point out that "spaghetti" is plural and "spaghettis" is not a thing.


Actually it’s not spaghetti unless it comes from the spaghetti region of France.


According to who? Many companies outside of this region sell products called "spaghetti" and I didn't find any info suggesting the name had been reserved somehow.


Switzerland actually - https://youtu.be/8scpGwbvxvI


Probably on the border shared with Italy.


Giusto! And "spaghetto" is not really a thing either but I love saying it when I mean a singular "noodle"


"Spaghetto" is completely a real thing, in Italian at least!

"Uno spaghetto" (one), "due spaghetti" (two) and so on...


If there were a girl spaghetta, what would the plural be?


spaghette, like "le nostre pizze" is the plural of "la nostra pizza" (our pizza):

https://www.google.com/maps/place/Campana+d'Oro/@46.064371,1...


Similar to lasagna vs lasagne except the former incorrect version is used in most English speaking countries.


Certo, ma intendevo che la gente di solito non usa quella parola lol

or at least not to my knowledge! I'm not Italian


Yes it is a real thing.


I believe the plural is spaghettipodes


My money is on spaghettii


That's two, and three are spaghetiii. Careful with counting one more, that'll be spaghettiv, of course.


Spaghettx is also the gender non-binary usage. Which makes this counting system slightly problematic.


Five is right out.


This is dangerously close to the octopi/octopodes/octopuses debate.


For the curious: https://en.m.wiktionary.org/wiki/spaghetti

I had a chuckle when I read the plural “spaghetties”.


It sounds funnier, though


Silly hobbitses and their spaghettises, we hates them


In ADOM you could wish for "seven league bootses" if you wanted to get multiple pairs.


spaghetti noodle might do as a singular?

or strand?


Submit a PR then?


Glad to see this is open sauce.


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


Looks like a deconstructed optocoupler while also using an optocoupler.

This is one of these rare instances where you can have hardware recursion.


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.


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


This really needs to be part of the it’s not stupid if it works thread.


With a ping of 60,000 milliseconds and a 0.00004 Mbit/s data rate, I question the use of the term "works".


Works on my plate.


WOMP


A noodlie appendage to the internet?


Just a suggestion, but when speaking of Him, you should probably capitalize Noodly Appendage… I mean, you’re not wrong, but it’s better ;)


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.


Was the code spaghetti? Guess it might be copy pasta. Actually I think he used his noodle to come up with this.


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?


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/...


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?).


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.


Oops, I dropped my packets.


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".


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).


This made me wonder how well spaghetti transmits sound waves, and if higher speeds could be obtained by that means.


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.


I would have liked to know a bit more: How does it work and how many bits / second?


Why? Because why not!


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.


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


Well since according to that old ad pasta grows on trees it'll be a really cheap networking media.


We've been asking for sauce


I wonder what the bandwidth of tin cans and string is


Now do it with cooked spaghetti


Packet ravioli


Surely with an adapter this setup could indeed support 802.3 Ravioli.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: