Friday, August 17, 2012

Geekspeak

Because I still can't make up my mind about things that are happening lately, I'll try and rationalize it the best way I can, the only way I know how - through Computer Science. Mehe. Warning: Heavy dose of Internet protocols and Assembly Language ahead. Please brace yourself.

First, let's define some terms:
* TCP (Transfer Control Protocol)
 - Connection-Oriented : Before you can send any data, you have to establish a connection with the receiver of the data. You must make sure that the idea gets across. You maintain that connection until all the data has been sent (or you try your best to do so). You don't leave someone hanging. You don't send them mixed signals then leave the message decoding all to the receiver without even finishing what you started. It's shameful, disgusting, and very, very disappointing.
- Reliable : If the message does not get across, this protocol ensures the delivery of lost packets of data. It does not leave the receiver hanging. It makes sure that the message arrives whole and is understood clearly by the receiver of the data. It does not overlook lost packets even if the gist of the message was already received because it acknowledges the vitality of each and every packet.
- Flow Control : You do not overwhelm the receiver with your data. You do not give her more than she can handle. Buffers, after all, are not infinite. Data packets should be sent in a rate at which the receiver can process it. Give her time to understand where the data fits and what message is slowly being formed. You cannot give her everything in one sending of information and expect her to understand the message right away (and in the way you want it to be understood.)
- Congestion Control : You do not congest the network by hogging all the bandwidth. The transfer to the receiver has limited bandwidth to spare between you and other people who are trying to connect to her. And this makes no sense at all.

* UDP (User Datagram Protocol)
 - this protocol is mostly used for applications which can accommodate data loss. It is unreliable because it only gives it best effort in getting the data across. The message may be incomplete, or corrupted, or misunderstood by the receiver. Yes, the message hits you fast, god, so fast, but you aren't really sure that the message you received is the whole story, if it's all there is to know, if there are no loopholes, no buts, no ifs, no conditions. But there's no way to know, because the connection had already closed. UDP, I forgot to mention, does not need any continuing connection to get the data sent. It will send you messages without warning, without foretelling, and leaves you grasping for more. Okay, so it doesn't. But you, you, you do. Darling, do you.

* Assembly Language
 - the language of the Central Processing Unit. The most crude, the easiest to understand by the processor. Although humans will have a hard time deciphering it, the thing that's inside the machine, the one that's beating, it knows you're talking to it. It knows you're doing something with him, and he is yet to find out if he likes it or not. To the clock frequency, it carries out line by line of code, man-made instructions to follow religiously. But what if the instruction's too complex and would take too many clock pulses to finish? Does the thing that's beating give up? Or does it keep on, persevering, and eventually finishing (not in ideal time) the task?
- you store the data in registers because here, it is accessed faster than in memory. Oh boy, do the registers hold the data. Why can't it let go that easily of the data it holds? Simple. Because it can be easily replaced. Harsh truth, but yes, if the data in the register does not serve its purpose anymore, it is replaced, and gone forever for all humanity cares.

----------------------------------------------------------------------------------------------------------------------------------------

I don't know what I'm saying, what I said, what I'm doing, what I did, what I'm feeling and what I felt. All I know is, I'm on this roller coaster ride that goes up and down, but the promise of coming up again is enough to hold on to when the ride hits rock bottom. I don't know what or who I want. I don't even know when to want things to happen or if I want them to happen at all. I don't know how to tell you all this, all I know is how to keep typing. I don't know who you are, what your plan is, but I think I like it so far. I don't know what your purpose is, for coming into my life, but I think I wanna keep you for long. And I don't know who I'm talking about. I don't know how many people I refer to in just one phrase. I don't know.

All I know is, I gotta go sleep. Yes, sleep. It helps.

PS: Sorry if this is a long post. Got no one to talk to, no one to understand, I'm afraid.

No comments: