61 comments

[ 3.4 ms ] story [ 193 ms ] thread
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 ;)
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.
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 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.

Packet ravioli
Surely with an adapter this setup could indeed support 802.3 Ravioli.
Impressive! But I'm contractually obligated to point out that "spaghetti" is plural and "spaghettis" is not a thing.
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.
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...

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

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

Similar to lasagna vs lasagne except the former incorrect version is used in most English speaking countries.
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.
Five is right out.
Spaghettx is also the gender non-binary usage. Which makes this counting system slightly problematic.
This is dangerously close to the octopi/octopodes/octopuses debate.
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.
spaghetti noodle might do as a singular?

or strand?

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

Was the code spaghetti? Guess it might be copy pasta. Actually I think he used his noodle to come up with this.
Glad to see this is open sauce.
I wonder what the bandwidth of tin cans and string is
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 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.
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?).

I would have liked to know a bit more: How does it work and how many bits / second?
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).
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 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'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.