Day 13 - Universal Serial Bus (Part 1)

Description

Universal Serial Bus (USB) is a standardized connector that replaced a lot of other older connectors such as PS/2. Game Port and Parallel Port. It provides connection and data transferring, as well as power supply to portable devices.

Version

Different version have different transfer speed. It is easy to determine the version of the USB by looking at the color code on the connecter. Blue color coded USB are usually 3.0 or 3.1 while other colors are usually below 3.0. Also, USB 3.0 or above should have the word SS in front of the logo to represent Super Speed.

Speed

The speed of USB is determined by it's respective versions. There are 4 major versions which is 1.0, 2.0, 3.0 and 3.1.

There are two types of USB version 1.0 which is Low Speed (1.5 Mbit/s) and Full Speed (12 Mbit/s). 2.0 brings High Speed delivering 480 Mbit/s of data transfer. Version 3.0 speed is 10 times faster (5 Gbit/s, SuperSpeed) than version 2.0 and version 3.1 is twice as fast as version 3.0 (10 Gbit/s, SuperSpeed+)

This article is referred from Wikipedia's USB article.

Day 12 - Simplex, Full Duplex and Half Duplex

Description

Simplex means the information is sent one way only, usually from the sender A to receiver B and cannot be switched back. Duplex means the information can be send both way, from A to B or B to A, or both at the same time.

The word simplex might be derived from 'Sim' which means 'Simple' and 'plex' which means 'Part of' or 'Structure'. The word duplex is derived from 'Du' which means 'Duo' and 'plex' which means 'Part of' or 'Structure'.

Simplex

Simplex sends the information one way only and the path is fixed. Examples are TV and radio broadcasting, where the receiver only receive but not send information.

Full Duplex

In full duplex, both parties can communicate simultaneously. Telephone is a type of full duplex communication tool, as both parties can be both sender and receiver (To speak and heard at the same time).

Half Duplex

Half duplex the other hand allows information to flow both way, but not simultaneously, which is, one party is the sender while another must be the receiver. Walkie-talkie is a half duplex communication tool, as a talker will push a button called 'Push-to-talk' to turn off the receiver but turn on the transmitter.

This article is referred from Wikipedia's Simplex communication and Duplex (telecommunications) article.

Day 11 - Modem (Part 2)

Types of modem

There are 4 types of modem, which is Internal modem, External modem, On-board modem and Removable modem.

Internal modem are the modem that is NOT on a motherboard itself, but it is connected to a connector (Usually PCI slot). These modem can be called as network card. External modem are the modem between computer and the Internet. They usually contained in a box and connected using cables, usually serial or USB.

On-board modem is the modem located on motherboard itself. It cannot be removed but can be disabled when needed. Removable modem are wireless network cards connected through USB or older serial ports. It can be removed.


Versions of modem

Modem are classified by the rate of data transfer in a certain amount of time. They also classified by symbol rate (Baud) and connection method. Two main version are Digital Subscriber Line (DSL) and Dial-up.

DSL modem are very common to transfer data using the telephone line. There are a few types of DSL modem, but most of them are Asymmetric Digital Subscriber Line (ADSL). ADSL has different speed for uplink and downlink, that is, download speed is usually faster than upload speed. 

An uncommon modem called Symmetric Digital Subscriber Line (SDSL) allow the speed to be similar on both download and upload. Very highspeed Digital Subscriber Line (VDSL) divides the telephony line and data line into two band, so telephony line won't interfere with data line, thus improving the speed.

Other than DSL, another type of modem called Dial-up is an older way of connecting to the Internet. User are required to use the dial the phone number of an Internet Service Provided (ISP) to connect to the Internet. This kind of connection method is not widely used but it is very common for the 90s as the speed is slower than other connection method.

This article is referred from Wikipedia's Modem article.

Day 10 - Modem (Part 1)

Description

Modem is the short for Modulator and Demodulator. It is a hardware that use to communicate with other distant computers or more commonly used to connect to the Internet nowadays. 2 modems are required to make a connection and each modem can send and receive data.

Modulation and Demodulation

Modulation is an act of encoding the digital data from a computer into analog signal. Demodulation is an act of decoding the analog signal back to digital data.

This article is referred from Wikipedia's Modem article.

Day 9 - Open Systems Interconnection model

Description

Open Systems Interconnection or OSI for short, is a conceptual network model that standardize the communication function in a system. The goal is to intercorporate all communication systems into one model using standard protocol. This model is very similar to the networking model of TCP/IP but the difference here is it has 7 layers instead of 4 in TCP/IP.

Layer 1: Physical Layer

It mostly deal with raw data. The data is transported using electrical impulse, light or radio wave physically. It also define the transmission mode and the use of network topology. Ethernet is one of the physical layer entity.

Layer 2: Data Link Layer

Data are encoded and decoded into bits here. It also contains Media Access Control (MAC) and Logic Link Control (LLC). MAC handles the network access permission while LLC handles the flow control and do error checking. Point-to-Point-Protocol is one of the data link layer entity.

Layer 3: Network Layer

Everything about network are handled here. Packet switching (Switch from a message to several packets), routing of packets and virtual circuit for node to node networking can be found here. Other features such as addressing, error handling and congestion control works together here. Internet Protocol is one of the network layer entity.

Layer 4: Transport Layer

This is the layer that manages where to flow the datagram and avoid possible congestion. It also detect datagram error. Transmission Control Protocol (TCP) is one of the transport layer entity.

Layer 5: Session Layer

This layer manage the connection between application. For example, session layer can establish a
connection if the connection is lost. Remote Procedure Calls (RPC) is one of the session layer entity.

Layer 6: Presentation Layer

Presentation layer translate normal text from application to network format and vice versa. This layer will change the data format and encrypt it. Encryption is one of the presentation layer entity.

Layer 7: Application Layer

This layer can interact with users directly. This layer provides mailing services, file transfer and Internet browsing. File Transfer Protocol (FTP) is one of the application layer entity.


This article is referred from Wikipedia's OSI model article. (With a few sub-articles)

Day 8 - Internet Protocol Suite (TCP/IP)

Description

Internet Protocol Suite, or famously known as TCP/IP, is a model of networking layering consists of 4 layers which is Application layer, Transport layer, Internet layer and Link layer. Each layer is represented with a protocol for data transmission. The most important layer is Transport layer and Internet layer as it consist of both TCP and IP protocol, which ensure data is sent and received successfully.

Application layer

This is the top most layer in Internet Protocol Suite. It is the layer where data were processed to sent and after receiving. Programs and applications can only access and exchange data in this layer. Examples of protocol belonged in this layer are HyperText Transfer Protocol (HTTP), File Transfer Protocol (FTP) and Simple Mail Transfer Protocol (SMTP).

Analogy: This is the place where you send or receive a pascal to or from oversea in post office.

[ Sender's Post Office ] [ Sorting Area ] → [ Sender's country van ] → [ Ships oversea] ↓
[ Receiver's Post Office ] [ Sorting Area ] ← [ Receiver's country van ] ← [ Ships oversea ]

Transport layer

This is the second layer in Internet Protocol Suite. Data from or to Application layer is processed here. Transport layer assign the destination for the data. When transport layer recieved a data, it will transport the data to correct application layer protocol. Examples of transport layer are Transmission Control Protocol (TCP) and User Datagram Protocol (UDP)

Analogy: This is where your pascal will be sorted and organized before shipping into a van to deliver it.

[ Sender's Post Office ] [ Sorting Area ] [ Sender's country van ] → [ Ships oversea] ↓
[ Receiver's Post Office ] [ Sorting Area ] [ Receiver's country van ] ← [ Ships oversea ]

Internet layer

The third layer of Internet Protocol Suite. It routes the data through network to it's destination. It also find for another route when the original route is having problem. Example of this layer is Internet Protocol (IP).

Analogy: This is where a van will deliver your pascal to the dock where ships will deliver the pascal oversea.

[ Sender's Post Office ] → [ Sorting Area ] [ Sender's country van ] [ Ships oversea] ↓
[ Receiver's Post Office ] ← [ Sorting Area ] [ Receiver's country van ] [ Ships oversea ]

Link layer

This is the lowest layer of Internet Protocol Suite. It is the layer where data transmit through the connection physically through wires. Example for this layer is ARP (Address Resolution Protocol) and Ethernet.

Analogy: This is the place where a ship will deliver your pascal oversea to another location.

[ Sender's Post Office ] → [ Sorting Area ] → [ Sender's country van ] [ Ships oversea]
[ Receiver's Post Office ] ← [ Sorting Area ] ← [ Receiver's country van ] [ Ships oversea ]

This article is referred from Wikipedia's Internet protocol suite article. (With a few sub-articles)

Day 7 - Esoteric programming language (esolang)

Description

Esoteric programming language serves little or no purposes for a coder. It is used as a challenge, debugging test, Prove of Concept (PoC) or even as a joke. The creators of esolang usually do not intent the language to be used on mainstream programming. Such language are popular among hackers and hobbyist.

Examples of esolang

Here are some well known esolang with Hello World sample:

Brainfuck:
Very well known esolang, it only uses 8 symbols to represent the code. The word "brain fuck" means the code is too complicated it exceeded one's  limit of understanding.
++++++++++[>+++++++>++++++++++>+++<<<-]>++.>+.+++++++
 ..+++.>++.<<+++++++++++++++.>.+++.------.--------.>+.

Chef:
Another well known esolang. It is a stack based language where program looks like a cooking recipe.
Hello World Souffle.

This recipe prints the immortal words "Hello world!", in a basically brute force way. It also makes a lot of food for one person.

Ingredients.
72 g haricot beans
101 eggs
108 g lard
111 cups oil
32 zucchinis
119 ml water
114 g red salmon
100 g dijon mustard
33 potatoes

Method.
Put potatoes into the mixing bowl. Put dijon mustard into the mixing bowl. Put lard into the mixing bowl. Put red salmon into the mixing bowl. Put oil into the mixing bowl. Put water into the mixing bowl. Put zucchinis into the mixing bowl. Put oil into the mixing bowl. Put lard into the mixing bowl. Put lard into the mixing bowl. Put eggs into the mixing bowl. Put haricot beans into the mixing bowl. Liquefy contents of the mixing bowl. Pour contents of the mixing bowl into the baking dish.

INTERCAL:
Short for Compiler Language With No Pronounceable Acronym, it is possibly the oldest esolang created.
DO ,1 <- #13
PLEASE DO ,1 SUB #1 <- #238
DO ,1 SUB #2 <- #108
DO ,1 SUB #3 <- #112
DO ,1 SUB #4 <- #0
DO ,1 SUB #5 <- #64
DO ,1 SUB #6 <- #194
DO ,1 SUB #7 <- #48
PLEASE DO ,1 SUB #8 <- #22
DO ,1 SUB #9 <- #248
DO ,1 SUB #10 <- #168
DO ,1 SUB #11 <- #24
DO ,1 SUB #12 <- #16
DO ,1 SUB #13 <- #162
PLEASE READ OUT ,1
PLEASE GIVE UP

LOLCODE:
LOLCODE is a language derived from an Internet phenomenon called lolcats.
HAI 1.2
CAN HAS STDIO?
VISIBLE "HAI WORLD!"
KTHXBYE

Piet:
This language uses 20 colours, ordered with 6-steps hue cycles and 3-step brightness cycles plus black and white. The language is named after a Dutch painter Piet Mondrain. 













This article is referred from Wikipedia's Esoteric programming language article.