Sunday 24 June 2018

The Rope Anatomy Analogy

My time in the Republic of Singapore Navy brought me into contact with rope. Lots of rope. Miles and miles of rope. So today, I wanna talk about... yep, you guessed it. Rope.

A rope looks like just some long thick string you use to tie stuff. But it's actually a work of physics. Let's take a look at how a typical three-strand rope is constructed.

Firstly, we have fibers. They could be hemp, manila or even hair. Each bunch of fibers is twisted in a clockwise direction to form a rope yarn.

Now, a group of rope yarns are twisted together in an anti-clockwise direction to form a strand. Got that so far?

When you have three strands, put them together and twist them in a clockwise direction. This forms your basic rope.

Taken from
http://www.boatsafe.com/marlinespike/rope.htm


What's with all that clockwise and anti-clockwise stuff, you may ask. Well, when you twist something in any direction, its natural instinct is to twist back into its original shape. This means that if a bunch of fibers was twisted in a clockwise direction to form a rope yarn and made to stay that way, there would be potential energy locked within that rope yarn just waiting to un-twist back the way it was. If a bunch of these yarns were then twisted in an anti-clockwise direction into a strand, the different directional forces would counteract each other. Now you add one more layer of opposing force on top of this - twisting the strands clockwise into a rope - and this is where the strength of a rope comes from.

The Web Development Analogy

A web application goes through layering as well. Different components such as session management, security protocols, database connections and so on, make up the core of the application. On top of those, another layer is built. This is the DOM, and the user interface. These layers interact with each other, turning the web application into a strong sturdy piece of engineering - just like the humble rope.

Nope, a web application isn't simply just a web application. Even if you didn't have to deal with all the infrastructure and scaffolding; even if you simply coded features, that doesn't mean those layers aren't there. That is precisely why it's often not enough for a developer to know how to code either in the back-end or in the front-end. Developers have to understand how the different layers interact with and complement each other; how every layer affects the layer preceding it and following it. Because, similar to how a rope gets its strength from the opposing tensions generated by its different layers, that is how a web application gets its strength.

Where there's life, there's rope!
T___T

No comments:

Post a Comment