Category Archives: Uncategorized

WikiToLearn Conference

I was all set with my backpacks to travel to Jaipur, with my friends. This was my first conference where I am gonna give a talk. Exciting isn’t it? But, I was freaked out inside, as I have never given a talk ever.

Srijan and Chaithanya accompanied me all the way to Jaipur for the conference as both of them had their roles as speakers. The conference was scheduled at L.N.M.I.I.T College, Japiur, hosted by WikiToLearn and KDE Community. We reached Jaipur late at night by 1:30pm and it was freezing. We reached the college around 2:00 and jumped under the quills to get some warmth.

An alarm at 8:00 to get ready for the conference, woke me up. We got ready and by the time we were about to get out, two beautiful girls came to escort us to have breakfast. I never expected that. Advantages of becoming a speaker. Get treated like a VIP : D . Soon after breakfast, I got to meet two of my seniors from college, Tony Thomas and Harish Navnit. We were excited to see after long. I sort of felt being in Amrita for some time.

The Conference began around 11:30 in the morning with Sagar’s talk on KDE Open Source Ecosystem, followed by Riccardo’s Keynote session, which sort of inspired the kids to lean in for the upcoming sessions. I was excited to hear the first lady speaker’s session on Open Source Opportunities, which sort of disappointed me, but who really impressed me with her work. This talk moreover, showed how important personal branding is important, followed up with the GSoC Projects done in WikiToLearn and  KDE by Abhimanyu and Jay.  It was a pretty exciting day for me to get to know the fellow speakers and their journey through open source. Knowing that I still had a few days to go in Jaipur, I tried exploring some parts of the college and understanding the differences there from a South Indian College. Moreover, I made more friends there during the workshop session, which extended teaching them git and running python scripts. The day ended with a song from ruphy. (I have no idea what he sang, but it was really awesome to hear a music in cold around fire).

16174496_379216085776374_389221571008982684_n

The second day of the conference, was even more interesting where I got to meet more students, hear more awesome talks. The session started off with Tony’s session followed by Harish session on Modern day Make File Systems, which was a new topic for me. I was happy to hear my friend Chaitanya’s talk on Connection Rural Women over Internet, as it was quite a very different topic from the others. The next was my session on “Exploring the Engine behind the wiki pages”. Well, I was disappointed after my session, as it did not turn out as I expected. Reading the faces, I felt my topic was way over the head. But, it was to be like that as none of the students had an experience with Open Source or Linux. I am at least happy that a few students came in touch with me to do their first contribution to the community. Amit concluded the talks with WikiData, an excellent area of contribution to Mediawiki codebase, which was introduced to me by Abdealli. Soon after the conference, we speakers left to the workshop to answer the question of students. We kept an anonymous Q/A session and, I could see all those doubts which took me back on flashback when I started off with my contribution. I was happy to see confused minds because only confused minds can question and figure out the answers. Our day ended with meeting Mame Khan, a Rajasthani Folk singer, who came for the Arts Fest in the college. Finally, we managed to get a pic with him too.

16195432_379216025776380_5966322745989977060_n

 

Early in the morning, we were off to explore Jaipur and Agra. Fetching a hot coffee from one of the tourist places, we drove all the way to Agra visiting Fatehpur Sikri and Tajmahal. The way was filled with lots of fun, laughter, freshness, where at the end of the day I had to say bye to Jaminy who left back to her college. We all headed back to Hotel, where again I jump under the quills to get some sleep. I woke with some cracky noise of Chaithanya ringing Srijan’s door and I couldn’t even remember she saying me a bye. By 8:00 am we were off to visit one of the largest forts in India, which took about 100 years to build. With its amazing architecture, from the great Indian brains took me back to my history classes, where my teacher used to say how Amazing our Country was. Indeed it was! With a heavy and tasty dinner from Abhimanyu’s home with all the warmth and love, I left to the airport to get my flight back to Kerala.

Those four day, enriched me with knowledge, gave me new friends to count on to and a family like WikiToLearn to be a part of!

Advertisements

TCP Segment Format

One of the most interesting aspects of TCP is that data get transferred as Segments from the TCP layer. Yeah! I know you will then ask me you told data to get transferred as packets right? How come you say segment now.DThe difference between segment and packet?

Segment = Transport Layer = Transport Header + Data

Packet = IP Header + Transport Layer = IP Header + (Transport Header + Data)

At each layer the data is getting encapsulated!

What is Segments do? What are the different roles Segment has?

The segment can be called as the “Jack of all Trades” messages – they are flexible and serve a variety of purposes. A single field format is used for all segments, with a number of header fields that implement the many functions and features for which TCP is responsible. One of the most notable characteristics of TCP segments is that they are designed to carry both control information and data simultaneously. This reduces the number of segments sent since they can perform more than one function.

What are the functionalities offered by headers? 

In basic these are the functionalities:

  1. Process Addressing
  2. Sliding Window  (Catch me up in the next post to learn about Sliding Window)
  3. Control Bits and Fields
  4. Miscellaneous

Look the Below table for better Understanding.

 

Filed Bytes Purpose
Source Port 2 Specifies the 16-bit source port number
Destination Port 2 Specifies the 16-bit destination port number
Sequence Number 4 Helps in ordering the packets
Acknowledgement Number 4 Helps in establishing the connection
Data Offset 1/2 Specifies the number of 32-bit words of data in the TCP header.
Reserved 3/4 6bits reserved for future
Control Bits 3/4 Explained Below *
Window 2 Indicate the number of octets of data the sender is willing to accept while receiving the ack no.
CheckSum 2 For Integrity
Urgent Pointer 2 Used in conjunction with URG control bit for priority data transfer
Options Variable Generic method to add one or more optional sets of data/
Padding Variable
Data Variable The data to be transferred.

 

Control Bits * : These are the bits set to inform the communication in TCP.

 

Field Bit Purpose
URG 1 When set 1 indicates Priority data transfer.
ACK 1 When set to 1 to the sender is carrying Ack no
PSH 1 Enables the Push feature.
RST 1 The sender has encountered a problem and reset the connection.
SYN 1 The synchronization bit is used to request Sequence numbers and establish a connection.
FIN 1 The Finish Bit is used for closing the connection

Well, this is it with TCP Segment and if you have any queries post here and I would reply.

To see the changes in the code with Segment check my Github!

Sequence Number Synchronization

Hello guys! It took me some time to understand some concepts that why I got delayed with my next post.

Just to note our connection part is not over. I just figured out an important part of connection which is titled as “Sequence Number Synchronization”

I hope all you are aware of the concept of Sequence number else go to the Link.

Consider there are two devices A and B which is trying to establish a connection. We know when they are sending data each data packet would get a packet number/ sequence number. What if both the devices send with the same sequence number. It’s not compatible, right?

To remove that we introduce this new feature. Before A and B sends in data they first make sure that they  exchange the initial sequence number they want to use. It is also called as ISN. But there can also come an issue if segments after the ISN get the same number. For that, we use a counter. ISN is choosen using a clcoked counter that increments every 4 microseconds. The counter is iniatilsed when the TCP is started. A new connection to be estbalish would take in an ISN starting from the last one. Here we won’t have the issue of conflicts as only 4 hours a repition of Sequence numbers can take place and by that time the packets would have been transfered.

Note that both the devices sent to each other their ISN’s.

3-way Handshake

As said in the last post, we would be discussing setting up a client-server connection. But we can setup a connection in different ways. Here we are going to discuss the three-way handshake to setup a connection.

Consider the below diagram where we are having a client and a server and the client is running a browser for instance.

cs

Imagine if the web browser wants to send in some information to the server. Before sending the data we should be establishing a reliable connection between the client and the server.

The client starts to set up a three-way connection to the server by sending the client a SYN packet. The SYN packet basically consists of a sequence number that tells the server on how to connect the client.

cs

The server then sends back in the client a SYN + ACK where ACK denotes the Acknowledgment telling that it has received the request.

ack

The server then client then sends a confirmation acknowledgment noting that it has received the SYN + ACK.

ackr

Hence the connection is established.

We similarly have a closing connection for the three-way handshake which is up to you to find out.

I would be implementing a three-way handshake in the TCP/IP implementation.

To check out the progress of the application click the Link

 

TCP Stack

>Have you ever wonder how the email or message you send reaches the other person?  It’s a simple process basically but to implement is quite difficult.

In my upcoming posts, I would be giving steps to implement a TCP Stack.  For that first, we need to understand the concept on how messages or details get transferred across networks.

There are basically two network models via which we can transfer data:

  1. OSI (Operating Systems Interconnection Model)
  2. TCP/IP (Transfer Control Protocol/ Internet Protocol Model)

OSI basically has seven layers across which the data get transmitted. The seven layers of OSI model are:

  1. Application
  2. Presentation
  3. Session
  4. Transport
  5. Network
  6. Data-Link
  7. Physical

TCP/IP model has four layers which are explained below in detail along with an example how it works:

  1. Application
  2. Transport
  3. Internet
  4. Network access

The Application layer is where user interaction takes place. Application layer makes sure that the data sent in the format which is understandable to the recipient.  For example HTTP, FTP etc.

The Transport layer is where the data is broken down into packets by using the TCP/Transfer Control Protocol. It adds segment number and port number. Port number specifies the port to where data should be transferred and segment number makes sure the broken down packages can be reassembled.

The Internet layer makes sure that it reaches the correct destination. The IP/Internet Protocol adds the sender’s and recipient’s IP address. Here we create the socket. The socket is basically used for establishing connections which include the recipient’s IP address and the port number.

The Network access includes both the Data-Link and the Physical Layer in the OSI model. Data-Link makes sure of transmission through Ethernet for instance. Physical layer makes transmissions through Hardware. The Network access layer adds the MAC address of both the sender and receiver.

Here is an example to show the transmission of the message below:

Good morning Aditi!

Above is the message you have in the Application layer, which gets in the below format. Note that I am using XML format here:

<gospel>Good</gospel><gospel>morning</gospel><gospel>Aditi!</gospel>

Each of them in a gospel tag goes as a separate packet when it enters the Transport Layer.

transportlayer

Here we add the port number as 60 and each of the segment number. Now when it is passed to the IP Layer we have:

internetlayer

We have the IP address of the sender 98.1.232.99 and that of the receiver 102.231.4.189. The socket can be written as 102.231.4.189:60

The Final layer of the Network access Layer would look like:

networkaccess

We have the sender’s MAC address starting with 00 and the receivers starting with 11.

Once the message reaches the receiver there it is unpacked by traveling through the each of the four layers in the reverse order and the segment number makes sure that the packets get arranged in an order.

The next post would be based on setting up a server-client connection to start with the TCP stack!

 

 

 

40 Days in Holy Land

 

I woke up shivering and grabbing a hot loaf of bread given to me by the air- hostess. I was on my way to Israel, for a summer internship. I reached Israel at 4:00 AM i,e Indian time 6:30AM. My eyes rush through the boards which people have. Ah! I saw a lady in a blue top and white pants whose eyes fell upon me. I read the name on the board and there it is, that’s Raquel the lady who came to pick us. Accompanying me was Madhurima, my senior from college. Raquel and Phillipe came to pick us as per instructions of Chetana, a lady from Amma’s Satsang group.

I can still picture me standing in front of the dorms, waiting for the someone whom we don’t know to attend to us so that we get our accommodation. This small girl almost bit taller than me, curled hair small eyes but very cute comes over greets us and hand over us the keys. Introducing to you our Madrichim named Natalli.  I went over to see the rooms. The rooms are quiet good. It was two rooms in one apartment with a kitchen and bathroom and balcony for each room.

By evening we had a small meetup where we got to meet the fellow students from here and there around the world. Obviously, you eyes would just run around and find the Indians first. So did mine. We were all seven together. Three in total from my University and two from TN,  one from Punjab and one from Bengal. Each time I meet an Indian my mind was telling me “Go meet foreigners!” as it was instructed. At first, I refused to hear, but I went to meet some Chinese and Americans.

The next day was orientation and I met our next Madrichim named Omer, tall fair and looked quite aged. His glasses reflected the entire crowd in it. We headed to the University, so as he guided. Then we had refreshments and we settled to meet the rest. Then came up two more Madrichims, Eilon and Orr. Never bothered much as I was more interested in meeting people. There were long talks by the Madrichims and then we headed to grab some food.

After the session, I and Madhu went to for a walk to find the beach but got ourselves ended in some airport. Funny!!! It wasn’t for me I remember walking about 14 km. Nevertheless getting lost was the best part. I would walk around purposefully to get lost. So that I figure the way out. Sometimes, it turned to be a difficulty but it was awesome. Getting lost help you meet new people too, I do remember some named from the list Edna, Dubey, Nooley, Victoria, Arielle, Sam… Long list, but whomever I met said to me how much they liked India.

That night we made Indian food, we got two new friends. Noam and Tomer, they just came in to greet us with a bottle of wine. I later found out that it was the aroma of the Indian spices which made them get to our room. Well back to the topic Wine, me being a Teetotaller, knew all the way that one day I have to try out. But I didn’t want this to be so early. Tomer handed me one glass and I was telling myself “You can do it champ”. I took my first sip, I sit behind analysing the taste. Yak!!! I wanted to spit but I tried to behave normal, I sat down to take two more sips. The third one was quite big, and I went off. My head started spinning twisting and turning. When Noam forwarded me the bottle, I was out. I got more chances to try out all types of wine beer and all. At first, I refused but towards the end, I could drink one whole bottle of beer.

Making friends then became my hobby, but I was sure “just friends”, as I always end up in the wrong company. I remember meeting Lior in a Google Campus Tel-Aviv. He had sparkling blue eyes. Awe!!  I would fall for those eyes. 😛 He is working as a Product Manager in Guardicore and I got to spend a lot of time with him. He was delivering the talk on ” How cool Slack is!”. I remember meeting Constantine who was a very enthusiastic engineer, he got to be our tour guide who made us walk km to eat a falafel. The list never ends, they were the best I could spot.

We had trips organised by the Madrichims to different places and the first one was North trip where we went to Golan Heights, Sea of Galilee. We had a small trekking, that’s when we get closer with our Madrichim. We were on our bus with Eilon and Omer, they both were good. They knew well about the places and thanks to our tour guide Golan, who kept on giving us info about each place we visit. My eyes always run at the sight of playing fun with others and I saw Eilon counting and counting. Reanana our head counsellor joined us for in between as Omer left us as Kai got his leg sprained. That day I found out how much Israelis take care of their place. Imagine you are walking in a forest in India and you see some plastics nearby, what do you being an Indian do? What if you rubber lace just came out of your shoes? Obviously, very few Indians would have the courtesy to put the waste in your bag and drop it in the next dustbin you find. When I saw Eilon keeping the trash in his bag, his words reminded me of my best friend who always puts trash in her bag. Just a small difference, she kept trash in her bag just because she was lazy to walk till the trashcan. Israelis and their love to their country is so great. I wish all Indians were brought up like that. Be it in any place on the world, there is no other country to replace this culture of my nation.

The second trip was to South of Israel to Ben Gurion’s Tomb, Ein Gedi and to the Dead Sea. We visited a Kibbutz and hiked in Ein Gedi, rolling splashing, drowning in water. It was just fabulous, I have no words to describe the trip as my eyes were always busy capturing the beautiful sights of the place and my mind was busy questioning things and capturing moments. I got to float in the dead sea, which was awesome and terrible. I burned my leg when I ran without shoes to the to get a bath. Oh yeah! I forgot. Bichara Eilon, I asked him his maths scores after seeing him count. That’s how I got to make more friends like David, Victor, Tania and all. The trip was more of fun and I haven’t had much of experience in this one. Just memories. I remember the funniest thing, swearing at Karthikay for his photo booming act. I met more nature lovers this time.

I love cooking except that I don’t cook. My Mom normally kicks me out of her kitchen saying I make a mess. Yes, I do, which I realised after getting in Israel. We had to cook our own food. For the first few weeks, readymade foods went but I started missing Indian food badly. I could never think how I would have survived without spices. I had terrible time cooking, but I did learn to cook properly. My only concern is, to wait till it gets cooked. I am so lazy to stand and stir. So I keep it in the high flame so things get undercooked or overcooked, but never cooked perfectly. But I did manage to correct my mistakes and make a good Soya curry which I am so proud off. My testing was done on dal, rajma, aloo gobi. I did succeed finally.  I realised how much I love Spicy food. I miss the Hyderabadi pickle of my roommate and my mom’s dosa and chutney. But now I am back, to fill my tummy with what I love eating.

In fact, I did testing making  food, but I also did testing tasting the food there. I remember on the flight to Israel, they served us with hummus, I tasted it and it felt yak! It was like one tasteless thing, good for nothing. Later then I got taste hummus again, but until I discovered the right place to have it. Thanks to Eilon. He mentioned the shop we went there to have falafel, that’s when I taste good hummus. It was awesome. Falafel is the best food. Now that I am gonna miss it badly too. I wish if there was some Israeli Dhaba in India too… I got to eat Shakshuka which was good too. But the Khabab from Abulafia caught my taste, it was so yummy. Normally, meat is half cooked but this one was awesome. I could not stop eating it even when my stomach says ‘ I am done’.

I completely forgot to mention why I came to Israel. I have been here for a summer course in Cyber Security, which came out to be last priority here. I had two classes one on Islam Politics and terror and second the Cyber one. Let me tell you Islam Politics is a really good subject, not that I was so interested in it from the beginning. Being a backbencher in all classes, I went to experience the front row views, I slept in the first class itself. I felt the classes to be boring from the first day. I skipped more classes than I ever attended. I would have been in front of my counsellor with my MC if this was in India. But then towards the end I started reading stuff, I got interested in Al-Qaeda, ISIS, Iranian Movement, Sunnis and Shias, Al-Nusra, Israel, and Palestinians. But I wanted to see the views of both Muslims and Jews which I never got to. My interest in cryptography got stimulated, as that was the only class in which I listened in Cyberclass. All the rest class I was reading and writing stuff. If you are from India, then you would be so happy that we can use laptops in class as notebooks and cheat-sheets. Such a life!! No wonder I passed the exam somehow. 😛

I did visit other places like Haifa, Jaffa, Shu Carmel. Unfortunately, I couldn’t visit Jerusalem, which I had to extend to my next visit to Israel if ever I get a chance to come.Sitting down to make a long story short is difficult, as I write each line more and more memories come in saying how important they are but if I continue then I better end up writing a book than a blog post.

Few things of my personal interest:

  1. The people are fitness conscious and it’s awesome, which is not very common in south India
  2. They love India and Indians
  3. Eat Falafel like anything, it is the best
  4. Hated traffic rules! In India, you need not wait just walk
  5. Lots of cute babies and doggies 🙂

The lazy me stops me from selecting pics and showing it so here it is in this link. I thank Tony ettan who pushed me so much to apply for this and to all those people who were there to help and support throughout this journey.