Almighty linked lists

As the time for placements has finally come, I am trying to train myself for the lame questions that companies usually ask instead of asking things related to the real talent.

I am a bit (a bit????) paranoid about pointers, linked lists and stuff that involves pointers. I couldn’t really keep up with the data structures because I learnt to use this WONDERFUL language called python. I was not a bond in C/C++ but my skill level was good enough to write basic codes. Though I didn’t submit all my programming assignments, I used to write C/C++ codes for fun especially during third and fourth semester when I was awesomely obsessed with Object Oriented Programming and classes in c++. But I never used pointers even in that period. After fourth sem, I completely switched to python quitting c/c++ totally. I have been doing fun things like my Google Summer of Code, IntelligentMirror, Youtube Caching and other private stuff in python since almost one and a half year. Python is a real handy language when you want developΒ  projects quickly.

Anyway, I thought I’ll give c/pointers another shot. I picked up EssentialC, Pointers And Memory and LinkedListBasics from Stanford CS Library. Read first two of them from start to end without missing a single word. Read 5-6 pages from Linked List Basics and then thought of coding a very basic linked list with few operations. But unfortunately couldn’t do so even after fighting for one hour. Fifty percent of the time, i was fixing my code because I wrote the damn thing in python style formatting, forgot to declare variables before using them and blah blah… In the meantime Pankaj pinged for the BC session. When I told him the same thing, he said he implemented linked list few days back using arrays … OMG!! pretty easy. huh!! After we returned from canteen, I gave it one more shot. BINGO!!! I did it this time πŸ™‚ I finally wrote some code in C for linked list which finally worked πŸ˜€

Loving pointers a bit and looking for exploring more.

 

Post and Comment of the century

I was trying to sleep and somebody woke me up. I tried controlling myself, but almost shouted at him. Was retrying to sleep since last one hour, but failed miserably as usual. Woke up. Started browsing the regular sites and happened to check comments on my life blog. And saw a back link. Visited and read this awesome post by Sanrag Sood. I never read such stuff in my life. I am sure the guy is crazy/mad/whatever. Its a must read thing. For me its a post of century kinda thing.

Also, I was browsing comments on IIIT Post the other day and read this awesome comment by a guy named “very”. This comment is also a must read kinda stuff for IIITians. For me its a comment of the century.

 

My blog is famous now

Its a stark truth that everyone in this blogosphere lives just for the hits, comments and money if applicable he/she receives. And if you are blogger and you are not able to fetch any of these, then I would say you are not doing your work properly. I have seen people doing all kinds of tricks from poking their friends to visit their blog to registering their blogs on random publishing sites to get some traffic. People die to get traffic and I am not an exception. As recently my linux blog has been receiving a lot of traffic which may be because of the following reasons

  1. From Google (people looking for howtos).
  2. From planet fedora as my blog is listed there.
  3. Because of the improvements in page rank.
  4. Because of my recent plugin development for squid, i.e. youtube_cache and intelligentmirror.
  5. Because people are dying to use linux πŸ˜›
  6. Because of the aging factor.

Anyway I thought I’ll publish some results.

I have been receiving 800 Pageviews daily on an average. Alexa says my blog’s rank in 3 lakh.

1. Google Analytics stats for the last week

Google Analytics stats for fedora.co.in

Click for a clear view.

2. Alexa traffic stats for the last week , also available here in detail.

Alexa Stats for fedora.co.in

3. I recently activated the who is online plugin on Linux blog which shows how many users are currently online. Normally 5-15 users are online but I was surprised when it reached 38 users.

Guests on fedora.co.in

Click for a clear view.

4. This site says that my blog is worth US$4300.

PS : I think a blogger would know more SEO techniquest than a IE student πŸ˜›

 

Exams are here

The first mid sem exams has already started. I have only two mid sems this time. Looking at the blogroll one can easily guess IIITians have finally got something to do. The oldest post on front page is 3 days old. Preparing for exams is a good thing but final year students don’t have enough of them. So where are these guyz???

This time I am bit nervous about mid sems. Feeling like I never took a test and this will be the first time experience πŸ™ BTW I have got a major break through in my quest for caching the internet. Will share it soon. It’ll improve the caching efficiency of my GSOC project IntelligentMirror by almost 300%. This caching thing is not permitting me to prepare for exams.

Hail open source!!!

PS : This was a total random post. Wrote is just like that 😐

 

Passed GSoC

I have passed my final evaluations for my Google Summer of Code’08 project IntelligentMirror. It was fun and excitement developing the squid plugin. The best thing was I didn’t have to move to a different place or go office for working. Work at home, do what you always wanted to do (open source stuff), talk with people with similar interests(fedora people), get nice payments and have your first project released in open source domain πŸ™‚ That was GSoC.

Another post coming up with detailed GSoC experience πŸ™‚

Have fun,

General Bordeaux πŸ˜€

 

Three days with Fluctuating Internet

We had three days with totally fluctuating internet. The fluctuation was almost like a sine wave. Nobody could really figure out what went wrong and where the problem was.

NOTE : This post is not just another ‘masalla’ post. I am writing down the actual experience I had.

DAY 1 : August 26

All this started on August 26th sometime in the early morning hours when browsing speeds and the bandwidth usage touched the lowest levels in the last month. As I keep monitoring the bandwidth usage (bandwidth monitoring and download progress bars appeal me somehow for certain unknown reasons. I keep looking at progress bars when I download something. I just get lostΒ  in kind of dreamworld while looking at them.), I was surprised to see the low usage because everyone was in the campus and usage should touch the peak levels. It returned to normal after a short period of time and browsing was normal. But this pattern kept repeating itself. I went to attend the class. I returned at 11:30AM and rushed to server room to checkout whats going on. By that time server room was swamped by the phone calls from different research centers.

Nobody was actually able to figure out what was going on. All that we knew was that there was heavy broadcast from a segment on the network. We suspected it as the same problem which we faced last week. But isolating the problematic area is heck of a job and nobody was ready to check the network devices at the leaf level because of following reasons (1) It’ll take almost a day to check individual NIC in all the labs, (2) There is no security that problem will be resolved.

We took a tough decision of shutting down the network in entire problematic segment. This worked and network was fine. No fluctuations. But it proved out to be a wrong decision. We didn’t inform the people in the affected network (which unfortunately consisted of major research centers at IIIT i.e. CVIT, CDE, CVEST, LTRC (temp) etc.) and immediately we had to face the phone calls from HODs. One thing that I learnt from this situation is that Internet connectivity is equally important for everyone at IIIT including faculty members. Though we keep blaming students for being addicted to internet. Internet here is not an addiction, its a need. We had to re-up the network. And the rest of the network started fluctuating again. Everybody left for lunch.

As the time passed, the frustration among the users grew and everybody was almost shouting. Everybody wanted to know why its was taking so long to solve this problem. After lunch one of the admins went to the problematic area and started debugging at the individual switch level. But he faced a real tough time as most of the switches at leaf level are unmanageable (you can’t see any error reports unless you plug into individual switch). And we have a lot of switches (by a lot I mean a real lot of switches). And the switches are cascaded in such a dangerous manner that isolating a problem becomes way difficult. By evening that day we could isolate two research labs and three other segments which were generating heavy broadcast. We shut them off and everybody left for the day. There was a kind of blackout in those segments. No internet, no LAN.

During the night, I kept monitoring the network. A lot of people pinged and complained about the DNS resolution problem. Web pages were loading at a high speed but the name resolution was taking a lot of time. I tried looking at the logs and the traffic. Everything was fine except that the nameserver was swamped by the mail servers for name resolution. I tried a few hacks but nothing worked.

DAY 2 : August 27

I didn’t have any class that day. Admin XYZ called me at around 10:30AM and requested to come to server room if possible. I was sleeping and I hardly wake up at that time. But I didn’t want to miss the opportunity. Got up quickly and rushed to server room wasting as least time as possible. I was in server room at 11:00AM.

Admins suspected some problem with proxy as the fluctuation persisted even after cutting off the problematic areas. By the time I reached server, admins switched over to the stand by proxy machine. And to get started from Zero, entire network except the main building was shut down. We waited for almost half an hour. Everything worked absolutely fine. No fluctuations at all. So, main building is fine.

At around 11:40AM, network was restored in all the hostels. We waited for another half an hour. No fluctuation yet. But hell lot of phone calls sensitizing the situation. Everybody including seniors members rushing to server room. We suspected some attacks from hostels on the server in labs. But we were wrong. The problem is in the library building. But where?

Till lunch time, no network in areas except main building and hostels. As the time passed, the issue became more and more serious. It became difficult to answer phone calls from senior members as the word “Heavy Broadcast” now became irritating for them. They were listening to this since last two days.Β  But nobody actually knew the exact answer. The origin of the broadcast was still not known.

Admin XYZ rushed to the library switch. Now XYZ was in live contact with admin PQR in server room and restoring the network in research centers one by one. Restore network in one research center, wait for half an hour. If no fluctuation, proceed otherwise revert back. Using this technique (this was the only solution), we restored network in all the centers except two. Connections to these centers also cascade to other areas. Complete outage in the two research centers. Everybody left for the day, leaving the two research centers in dark.

Network stabilized a bit. And fluctuation was not frequent (almost none). I monitored the network up to 2AM. Didn’t sleep because had a class at 8:30AM.

DAY 3 : August 28

I had a class up to 10AM. Rushed directly to server room after the class. We already narrowed down to a smaller region. Now the problem was smaller and there were lesser number of people after us. Admin ABC with a student was sent down to inspect individual switches. Thats the problem with unmanageable switches. You have to go and check each and every switch for any error messages. Anyway we kept narrowing down the problematic area till lunch. I left for lunch and returned to my room as I didn’t sleep during previous night. I don’t know what happened in the afternoon. I missed that πŸ™ At 6:30PM, I called admin XYZ and asked about the status. He informed that the problem has been isolated. Only two very small labs were left.

Three days and problem was still there. People were really out of control. Anyway network worked perfectly in other areas except those two labs. The good thing was that these labs were at the leaf level and they were not cascading connections further.

DAY 4 : August 29

I had a lab from 10AM-11AM. But it went up to 11:45AM. By the time, I reached server room, the problem was already resolved. Everyone was connected and no more complaints. Rawat sir updated me with a few decisions which are beyond the scope of this post. The problem was the routing queries from one of the ISPs connected to those labs at leaf level.

It really took almost four days to debug this problem. Debugging a network, especially debugging a network which is randomly cascaded, has more than one entry points, has no perimeter and has a lot of unmanageable switch is a real challenge.

Anyways it was again a learning experience for me. I used to blame people for not able to solve the network problems quickly. I just realized that its very easy to blame.

PS : Longest post on the occasion of bloggers’ day πŸ™‚

 

Freaking 50 hours

All this started after returning from dinner at around 8:00PM on August 19.

August 19 – 08:30PM – 10:30PM : Slept.

I woke up at 10:30PM and started browsing random stuff. Gave a finishing touch to GSoC project – IntelligentMirror and announced the release for testing.

August 19 – 10:30PM – 12:30PM : Browsing + Blogging + Browsing.

After that its time for some refreshments.

August 20 – 12:30PM – 02:00AM : Snacks + Toasts.

Then started the same old thing. Browsing. Why the heck we have to browse all the stuff in this world which has no meaning 😐 Also, I had to prepare for my presentation about SMTP protocol in Topics of Information Security class. So, downloaded all the RFCs (thats what we do all the time. download all the academic stuff and feel good about it. Who has time to open and read them πŸ˜› ). Read a bit of stuff from the RFCs.

August 20 – 02:00AM – 07:00AM : Browsing + Reading RFCs + Browsing.

If you are up till 7AM, breakfast is worth a try. Had a breakfast which was good eventually.

August 20 – 07:30AM – 08:00AM : Breakfast.

After that, I though I would go to bed and will sleep for sometime. But then Internet is a real devil which will not let you sleep. Started browsing again and checking everyone’s status message. Reading blogs and some more blah blah. For god sake, don’t put links like this in your status messages.

August 20 – 08:30AM – 12:30PM : Browsing + Fantastic Contraption + Browsing

If you are up till 12:30PM, its good to have lunch before you go to bed πŸ˜€

August 20 – 12:30PM – 01:30PM : Lunch.

After lunch, I was desperate to sleep. But then I had this class called “Music Appreciation” at 5PM. I was afraid of losing an attendance and didn’t sleep. I read RFCs in the meantime. No browsing this time πŸ˜€

August 20 – 02:00PM – 04:30PM : Reading RFCs. No bc.

At around 4:45PM we rushed to coffee shop and then to class. After reaching the class, we realized that prof will not turn up and class stands canceled.

August 20 – 04:30PM – 05:20PM : Coffee shop + Class.

While returning from class, I just wanted to visit server room to see whats going on (actually the network was fluctuating really badly and just wanted to know what exactly is going on. I am a student sysadmin, so kinda concerned about these issues). But I came to know, some serious problem has occurred due to real heavy broadcast from few research labs. Sysadmins were zeroing on the problem. I suddenly forgot about sleeping and all. There may not be a better opportunity to learn how to configure a switch and how to debug a network problem. I was lost somewhere in the switches and servers and I realized it was 7:00 by the time admins sorted out the problem.

August 20 – 05:30PM – 07:00PM : Server room (real good experience. Learnt a bit about how to configure switches πŸ˜€ )

By the time, I left server room it was almost 7:30PM. So just rushed to Yuktahaar to have food. Had some good food. Yuktahaar is probably the only mess in the campus where you can actually eat something.

August 20 – 07:30PM – 08:00PM : Dinner.

As I had to give the presentation on SMTP the next morning, thought of reading some more stuff quickly. Read up to 9:00PM. At this time, I was *REAL* desperate to go to bed. But at about 9:19PM, Himank called up and told about bloggers meet. I was like WTF. Well I wanted to attend the meeting and rushed to main building. Meeting went upto 10:30PM. The meeting was real fun and it was a good experience to meet all the bloggers from my batch. We decided few things to promote blogging in IIIT. Find the details in the link in next line.

August 20 – 08:30PM – 10:30PM : Reading RFCs + Bloggers Meet.

After returning from the meeting, I though of finishing the RFCs and preparing the presentation. But RFCs was a lot more than I assumed, so reading went upto 1:30AM. Prepared the presentation.

August 20 – 10:30PM – 01:30AM : Reading RFCs + Preparing presentation.

I was about to sleep and suddenly Rishabh appeared and now there is something with proxy πŸ™ We discussed about the proxy and other misconfigurations for almost 1 hour.

August 21 – 01:30AM – 02:30AM : Discussion about proxy.

I went to bed at 2:30AM. Felt a bit relaxed. But couldn’t sleep. Why?? I was feeling hungry πŸ™ Get up at 2:45AM and rushed to Deepak’s room for having some snacks.

August 21 – 02:30AM – 03:00AM : Snacks + Toasts.

I was in my room at 3:00AM trying to analyze the situation. “If I go to bed now, I’ll not be able to wake up for 8:30AM class and the whole idea of preparing the presentation will be wasted. Should I sleep or not??” Went to bed but got up again in 15 minutes thinking that its impossible to wake up for the class(lack of confidence??). Browsed stuff for sometime and then had a look at the servers. And this time mailman was not working on the students server. Mails to students mailing list was not being delivered. Tried to debug that for almost 2 hours, but all in vain. Monitored servers for sometime and some more browsing. Please forgive me for sending all the test mails πŸ™‚

August 21 – 03:00AM – 06:30AM : Mailman debugging + Server monitoring + Browsing.

By 6:30AM, I was like “I’ll die if I don’t sleep. But if I sleep, I’ll miss the class. WTF :(( “. I finally decided to sleep. But scheduled alarms at full volume on my computer. Scheduled high beat songs(shell scripting rocks πŸ˜€ ). And decided to sleep on the chair itself as its difficult to get out of bed.

August 21 – 06:30AM – 07:45AM : Sleeping (on chair πŸ™ )

Woke up at 7:45AM and rushed to mess at around 8:00AM.

August 21 – 08:00AM – 08:20AM : Breakfast. OBH mess serves the worst breakfast you can have. They server chowmin in breakfast. I AM NOT KIDDING.

Now starts the actual hectic session. Continuous class upto 1:00PM. whoaaaa!!!!!

August 21 – 08:30AM – 10:00AM : Topics of Information Security Class.

August 21 – 10:00AM – 11:30AM : Systems and Network Security Class.

August 21 – 11:30AM – 01:00PM : Numerical Analysis. This class may be suicidal if you haven’t slept for almost 36hours. Caution next time.

Time for lunch.

August 21 – 01:00PM – 01:30PM : Lunch @ Yuktahaar.

I would have gone to room for sleeping now. But mailman is still not working and students are missing their mails πŸ™ Went back to server room. Did ad-hoc management to bypass mailman for temporary mail delivery. Fixed few other things.

August 21 – 01:30PM – 03:30PM : Server room.

Now we had a Infrastructure team meeting at 3:30PM. Was good. Discussed about a lot of issues and how do we replace old infrastructure in a systematic manner.

August 21 – 03:30PM – 04:30PM : Infrastructure Team Meeting.

As its almost 5PM again, time for three hours long “Music Appreciation” class.

August 21 – 04:30PM – 07:00PM : Coffee shop + Music Appreciation class.

Enough is enough. I *MUST* sleep now. Returned to room quickly ignoring the dinner and went to bed thinking that I’ll sleep for at least 14-16 hours (normally I sleep for 12-14hours at a stretch). But who knew that its not possible. I wake up at 12:30.

August 21 – 07:30PM – 12:30AM : Sleeping (in bed πŸ˜› )

Woke up at 12:30AM. And Internet is here again. Browsing. Browsing. Browsing. Browsing. Browsing. And blogging. BTW, a newer version of youtube cache is available now.

August 22 – 12:30AM – 01:30AM : Browsing + Blogging.

Was feeling real hungary. Rushed to Deepak’s room for snacks and toasts.

August 22 – 01:30AM – 02:30AM : Snacks + Toasts.

Browsing again. And I have been writing this god damn post since half an hour. Its almost 3:30AM now and I am thinking of going to bed again. Hopefully I’ll sleep well this time πŸ˜€

August 22 – 02:30AM – 03:30AM : Blogging.

Previous two days was really hectic. No? Well, I can’t really take more than that. I think my biological clocks are out of synch. Need a break.

PS1 : Change your status messages frequently. Don’t bore me.

PS2 : Need to blog more frequently. Have a lot of stuff to blog about. This sem is real happening.

PS3 : Have two courses on security this sem. Wish me luck πŸ˜€

 

Whats keeping me busy lately

Previous week was a bit more busier than I actually expected. I wonder why I have to attend a lot of meetings. There were 3-4 of them last week.

Constant complaints about wireless are killing and sometime frustrating. As rishabh pionted out “Become a sysAdmin at IIIT” as a never do thing. I don’t agree completely. But sometimes you get frustrated enough by the complaints and incompetence of your colleagues to say that. Keeping that apart, being a sysAdmin is real fun. You get to play with most critical servers at the place. You learn things that you will never learn in a course or project. (I wonder what we actually learn in a course πŸ˜› One thing I can immediately point out is the attendence management.)

Apart from above, I have been working on IntelligentMirror, my GSOC project and its sister project Youtube Caching using squid. I have achieved 100% youtube caching without altering the refresh patterns in squid. That means your squid will not malfunction and will cache youtube videos successfully and in a browsable fashion πŸ™‚ Going to release version 0.2 very soon. Working on caching Google and metacafe videos as well.

And last but not the least, sleep time has increased from 6-8 hrs to 12-16 hrs/day πŸ˜›

PS1 : This is the funniest post, I have ever seen. A must see for MS by research people πŸ˜›

PS2 : Also maruti has posted some nice crap πŸ˜›

 

Sudden affinity for conferences

I never liked to attend any conferences irrespective of the theme and goal of the conference for the past three years. But after attending two-three conferences in recent months and coming across new people with matching interests, I am suddenly looking forward to attend any open source/linux/entrepreneurship conference in hyderabad or nearby cities. BTW, are you planning to attend Eclipse Demo Camp 2008 – Ganymede Edition in Hyderabad on 25th June?

 

IRC is addictive, I am hooked

I have been spending time on IRC since a few months ( 8-9 months) now. For those who don’t know what IRC is, check wiki. This is also a kinda social network but a bit different. This is more or less like yahoo chat rooms. Freenode is one of the most famous networks on IRC. Here I am talking about the techie part of it. Almost every open source project has a development and support channel on Freenode.

I came across IRC in my first summer vacations. Back then, I used to hang out in #fedora (anything prefixed with a # denotes a channel … like a chat room) as a newbie to see what people talk about. And used to ask any questions that came my way. BTW, I use Xchat as an IRC client. I started answering to people’s questions as I gathered experience and expertise. The regular journey with IRC started in 6th sem. I came in contact with a lot of people via IRC. I came across Seth Vidal on #yum. And we discussed a lot about local yum mirror management. IntelligentMirror is an outcome of the discussions that went on for almost two months in #yum.

My activity slowed down on IRC after I got busy with projects. After the GSOC result announcement, Ajay Kumar, a GSOC participant from India, created a channel (##gsoc-india) for selected Indians for GSOC’08. I am a regular in that channel now. There are a lot of people from all over the country, from different streams (CS, ECE, Civil etc..), from different institutes (IITs, DCE, DU, NITs, IIIT, PEC etc..) and from different places πŸ™‚ I have got a lot of new friends. We have a lot of fun doing bc, sometimes discussing issues of national interest πŸ˜› and sometimes projects if time allows πŸ˜› Its really addictive and I tend to respond to every single message.

BTW, it may interest you to know that India is #2 in accepted students for GSOC after US. And next time we’ll probably beat them.

PS1 : Fedora 9 is out. Bandwidth sucking big time even in vacations πŸ™ It’ll take almost 15 hours for Fedora 9 to be in. I am eager to check it out.

PS2 : Getting a lot of ideas to post about.

PS3 : We are hoping have a meetup for GSOC participants at Google Delhi and Bangalore Office. It would be REAL fun if it happens πŸ™‚

PS4 : This is probably the best blog post I have ever seen.