Best Rejection!!

I started applying yesterday evening for summer internships in foreign universities. Among 7 rejection letters, this one was the best that arrived within 2 hours of mailing…

Dear Ujjwal Kumar

First, I would like to thank you for your most interesting application for a Summer Internship. Your CV is impressive, and I am sure that you would perform extremely well. Unfortunately, this year I only have funds for two internships, and these have already been assigned. So, and even though your application is indeed most interesting, and it would surely be great working with you, the two internships I will host this year have already been filled. In 2010 I will again be offering summer internships. Should you or some of your friends / colleagues at IIT still be interested in a summer internship in 2010, I will then be most willing to consider your applications next year.

I wish you the best for the second semester, and I hope that you find a summer internship for this summer.

Best Regards

XXX

configuring network in kubuntu intrepid

I don’t know why kubuntu/ubuntu has made it so difficult to configure network running with a proxy server.. When it happened on my pc, I thought, I must have mistaken somewhere during the installation.. but, the same thing happens in my friends’ computers too.. so, its nothing more than a bug, and this post will be very useful for those who don’t want to waste 6 hours at a stretch to figure out the correct network configuration..

The gui network doesn’t work, I don’t know why.. so, we shall be using the console way..

  1. cd /etc/network/
  2. sudo kate interfaces .. note that, kate is the text editor in KDE.. if u don’t have kate installed, use any other text editor like gedit..
  3. provide ur password..
  4. add the following lines of code in ‘interfaces’

auto lo
iface lo inet loopback

iface eth0 inet static
address 10.111.4.114
netmask 255.255.255.0
gateway 10.111.4.2

auto eth0

Note that the first 2 lines r for the local addresses.. and, initially, as with me, u will find only the first two lines.. add the next 4 lines, with ur IP in address, subnet mask in netmast and default gateway in gateway..

by now, u r almost half way done.. only the nameservers need to be configured…

now, check out ur network status by going to /etc/init.d

code: cd /etc/init.d/

now start the networking service with the super user privileges:

sudo ./networking start

u will get an error message like, can’t find resolv.conf .. it is the configuration file which stores ur nameserver settings.. if u don’t get any error messages, u can check if ur network is working by pinging to some address like :

ping 10.111.4.60

if u get replies, ur network has been configured, else, u will have to add the nameserver settings in resolv.conf (if u earlier got a message like resolv.conf not found..).. the procedure for this is:

cd /etc

sudo kate resolv.conf

now, add any no. of nameservers in the following format:

nameserver 144.16.192.2
nameserver 144.16.192.55

All the configuration finished, u now have to start the networking service by going to /etc/init.d/

code: cd /etc/init.d/

sudo ./networking start

Finally, u can check ur network by pinging to any IP .. Congrats!!

If u have proxy servers, u can configure them in console by setting the $http_proxy environmental variable..

code: export http_proxy = http://144.16.192.245:8080

where 144.16.192.245 is the host and 8080 is the port ..

:) :) :)

Installing intex usb pc camera/vimicro zc0301H in ubuntu

Its really a very difficult job to install your webcam especially when its not officially provided by the kernel itself..

This tutorial is all about installing webcam drivers that do not get installed automatically on plugging the webcam.. if the driver gets installed automatically, then its ur day, else u may have to struggle for days to find a suitable driver..

To begin with, u must get the gspca module installed with ur kernel.. Its reported that from Ubuntu Hardy (8.04), gspca driver is installed in the kernel by default.. else, u can follow a tutorial here .. the original gspca module can be found here .. to check if ur gspca is installed correcly or not, install a package called ekiga with the synaptic package manager (or apt-get).. in that, u can find ur cam working after going/skipping the registration process.. but, at this stage, u may not be able to use cam at other places like skype or kopete.. :( to check, u can also check “dmesg” in console to see if the cam is detected after the cam is plugged..

again for some this process works, but if u r as unlucky as me, it wont work for u.. so, u will have to follow some additional steps:

  1. install easycam2 .. a very good tutorial can be found here ..
  2. open easycam and u will see that it has started downloading the correct driver.. good for u.. make sure the cam was plugged in while the driver gets downloaded and installed..
  3. after the driver is installed, plug out the cam, and restart the computer.. make sure that the cam is not connected while the computer boots up..
  4. once the bootup is complete, install a cam viewing software like cheese (very easy through synaptic package manager) .. this step could have been done earlier..
  5. plug in the cam.. u will find that cheese opens up automatically, and u can see ur pic.. :)

But, the bad thing is, u may not see the cam working again after a reboot (which is the case with me) :( .. as, with every boot, default cam modules are loaded and easycam drivers are not loaded (I think so).. there is a trick for that.. u can plug out ur cam every time u shut down ur machine.. and plugin only after the computer is booted completely, in which, the easy cam drivers get a preference :)

What if u have booted up, and don’t want to restart the computer to see the cam working.. there is a trick to make the cam working without a reboot!! the trick is to restart the gspca modules, so that the easycam drivers are picked up by the cam :) ..

To restart the cam modules, follow these steps:

  1. sudo modprobe -r zc0301
  2. sudo modprobe -r gspca
  3. sudo modprobe gspca

The first 2 steps are to stop the modules: zc0301 and gspca.. and the last one is to start the gspca module :)

Do post comment if that solves ur problem .. or even adds to ur problem :P .. it took me 6 days to figure this thing out in ubuntu hardy :)

Killing unresponsive programs in Debian

Unresponsive process management is a common problem for windows users switching to linux, as here there is nothing like ctrl+alt+delete..

But, there are other cool things you can do in linux, which is otherwise not possible in windows. Analogous to windows’ “end process”, in linux, we have “kill process”..

To Kill a process, u can simply open console, and type

kill <pid>

where pid is the process ID.. to get the process ID list of all processes, type

ps ax

in the console..

This command gives u the list of all the processes, which may be very long, and fill up the whole screen.. but, if u wish to know the pid of a specific process, use a filter called grep to filter the output from “ps ax”

code: ps ax | grep skype

where skype is the process of which u want to know the procees id (pid) ..

once u get the pid, type

kill 84001

where 84001 is the process id of the process.. u can check by doing “ps ax | grep skype” again to check if the process is killed.. in some cases, if the program is unresponsive, and doesn’t get killed.. in such a case, u can use a parameter called -9 to terminate the program..

code: kill -9 84001

still, there can be a situation, when the entire o/s gets unresponsive, and u don’t get an option to even open the console.. in that case, switch to the text only console mode by pressing:

ctrl + alt +F2

There kill the unresponsive programs using kill <pid> or kill -9 <pid> and then switch back to the desktop environment by pressing:

ctrl + alt + F7

there can be one more situation, in which, u don’t know which process has got unresponsive, and the whole o/s gets unstable.. in that case, save ur work and force logout by pressing:

ctrl + alt + backspace

note that, in case of forcing logout, u may loose ur work.. so, save all ur important data and sessions..

Thats All!!!

*This procedure is tested on debian based ubuntu hardy, gutsy and intrepid…

The Divine Algorithm

We can create worlds out of CAD.. Even the GOD does so.. I wonder if there is SOMEBODY who has a VERY DYNAMIC SOFTWARE with perfect blends, textures and curves.. & we r all programmed by him involoving matrix multiplications, complex calculations & a lot more things which only HE understands..

The part of HIS program which we understand, we call it SCIENCE..

& the one which is beyond the scope of SCIENCE, it is called RELIGION..

MAN=(UNDERSTOOD PROGRAM)?GOD:MAN;

The Divine Plan

A common feedback from most of my friends was,’ you do not write readable blogs’.. This one is a readable post, but I am afraid, not the easiest one to understand..

History of the whole world has been the history of a few hundred people who had faith in themselves..

Things that I thought impossible were only a bit more difficult than the possible ones..

For me, technology is not a bottleneck, but innovation is..

Human Brain is a technology that was developed by God long ago.. Look, first he released a beta version, then release candidates (rc’s) and then finally a full version of Human Brain, completely free to all humans, compatibility issues with other species..

Human beings can never create an intelligence matching their own, for simply the reason that, men can never equal the technology that god has polished over time..

Human Brain has got immense capabilities, something beyond the imagination of Human Brain itself.. I have played symphonies of Beethoven, given finest of speeches, created the best of compositions in dreams, waking up just to wonder how could it be me? Not the person in the dream, but the one who fabricated it.. It is true that many of my innovations were seeded in dreams.. It is also true that I have fixed lots of bugs in dreams.. All forms of training involve nothing but the training of the Brain..

A thought that struck my mind all of a sudden in the NCC camp, puzzles me still now.. Our body is something over which, definitely, we have got all the rights.. Still, we can control only some of its actions.. A boy gets a moustache at 15, his body produces the necessary hormones, its his Brain that stimulates the pituitary.. Why can’t he reverse it, if he doesn’t need a moustache? Its really weird to talk about, but, if a person can control his Brain, he can very well change the body characteristics, the genes itself, and thereby all his character traits.. In other words, he won’t be any different from, what we call, a Superman….

The greatest genius of modern times is Einstein, and is known to use only 5% of his Brain.. It were the ancient Indians who could use it to the fullest..

God had always feared his own downfall.. Look at His Plan, he gradually commented out the method in Human Brain to control itself in successive versions .. Still, some pirated copies of the original version are left  :P ..

For me, when it comes to innovation, I keep quiet, persuade my Brain (His technology), requesting it to deliver something..

Human Brain is obviously, a complex piece of code..

Synchronisation of code with Subversion and Netbeans

For the synchronization of code, you must be having an online repository or an offline one, on your intranet.. A very good example of online repository is assembla. You need to invite all the members of the project to this online repository..

now, I am giving u a short tutorial on how to configure assembla and svn with Netbeans..

  1. install netbeans 6.1.
  2. install collabnet subversion.. here you will be asked to register..
  3. open netbeans, open the versioning menu, click subversion, and then checkout..
  4. enter the home folder of the collabnet subversion.. it should be somthing like this.. D:\Program Files\CollabNet Subversion ..
  5. Restart Netbeans..
  6. again click on checkout, enter the url of your repository, it can be found here found at assembla home>Project Name>Trac/SVN>SVN url, and, your assembla username and password..
  7. then, browse the repository folder for Project Folder.. make sure that the scan for netbeans projects after checkout has been checked.. click on the open project which comes after checking out..

now, you will find that, a project has been created.. this is the project which all the team members will be using at the same time.. Team members will be editing it at their pcs and then uploading it to the repository..

Steps to follow, while adding the source code for the first time:

  1. Create a project in your netbeans.
  2. Configure the collabnet subversion as told above.
  3. Select the project in the projects tab.
  4. Click Versioning>Subversion>Import to repository.
  5. Provide the necessary settings, such as url, username and password.

Lets know about some svn commands (which can be found after right clicking the project>subversion..

Important Commands:

Show Changes: This command shows the changes between the code thats there in the repo, and that at your pc.. There can be 7 types of changes, locally new, locally modified, locally deleted, remotely new, remotely modified, and remotely deleted.. One special kind of Change can be local conflict.. This happens when 2 members edit one piece of code at the same time differently.. One example can be, if I edit ideas_controller.rb to something, and Amit edits it to something else, and then, I commit my code.. when I submit, there was no error.. but as soon as amit commits the code, an error creeps out, showing that Amit has been using an older version of the code.. this is called local conflict.. now, at this point of time, Amit has to resolve this conflict (it has to be manual, it can’t be computerized) .. One of the healthy practices is to have a look at the remotely changed files, and perform actions accordingly, like if a new migration is run, you must migrate your database to the current version (this you will come to know once u get acquainted with rails) …

Update: It updates the code at the pc, to the code at the repository.. Note that, locally modified changes can’t be updated..

Commit: It submits the code at ur PC to the code at repository.. Its important to commit only those file, which you have changed.. Files like, development logs, and PC specific settings (database configuration) and all, should be excluded from commit.. This can be achieved by Clicking commit, and selecting ‘exclude from commit’ in the Commit action..

Other Commands:

Diff: It shows the actual difference between the code at the repository and the code on ur pc..

Search History: It shows the actual history of a file, i.e, who has modified the file at what place..

It would be good, if youhave a look over here, how subversion works, and its file sharing operations..

You people must get acquainted with these tools, as these are inseparable from any kind of software development..

Getting Started with Rails

Ya.. most of the things in life suffer from this trauma.. How to get started??
For getting started, first of all, visit the Rails Website.

The best way to learn new thing is to google about them… at the same time, I would link u with some of the online resources.. Its important to follow these steps in the order I have listed below..

  1. Google and know abt the advantages and disadvantages of rails… (duration: 1 day)
  2. Download this book.. Read the introduction and then straightaway go to Part 3, i.e. the Rails Framework.. Clear the concepts of Active Support, Active Records, Migrations and Action Controllers as these will be needed at every step of development.. I am afraid that the book is obsolete for rails 2.10, still, it will help a lot in building concepts of rails (a newer beta book is released, but, I couldn’t get it anywhere online :( ).. (duration: 1 day).
  3. Now, after getting the basics, build an application on rails, and keep checking the book to clarify ur concepts.. here’s a tutorial that would help u.. (duration: 2 days).
  4. Now, its time to learn some web 2.0 stuff… know more abt the rjs templates and its usage with ajax… (duration: 2 days).
  5. ts time to use some pre-developed code.. there r 2 types of pre-developed codes – one is ruby gems, which is similar to java Packages.. u will find it in netbeans, tools, ruby gems.. the second one is rails plugin.. u will have to add repository of a plugin after right clicking a project in netbeans, and then, the project will automatically download the sources (so, no more hassle of reference problems).. (duration: 1 day).

So, in a weeks time, you will get some idea how rails applications work.. I have built a rails application for my company.. have a look..

In the meanwhile, u can refer to RailsCasts for its outstanding effort in promoting rails by sharing some of the best video tutorials..

U might also face problem, which editor to use.. I have experimented with a lot of editors and IDEs.. The Best one is Netbeans.. to get acquainted with Netbeans and rails , check out these tutorials..

Flash Vs JavaScript

These are the latest Client Side Web technologies, and have got a huge potential of growth, in the coming years..
People get confused, which one to use for their business, Flash, or JavaScript (JS).. Flash has got a wide range of animation effects and a very good Object Oriented Code Base: ActiontScript.. Theoretically, JavaScript can perform all the effects that a flash animation can..The advantage with JavaScript is, its enabled in the web browsers.. and the Disadvantage with Flash is, availability.. Systems like 64 bit linux, do no have flash support at all.. On the other hand, Flash can readily render some of the best effects with minimal piece of code.. and, JavaScript has a lot of Cross Browser compatibility issues (IE sucks).. Text and images in flash can’t be selected, and therefore, can’t be copied.. Also, it takes a long time for a Flash website to download, in a dial-up connection.. The greatest disadvantage with flash is that, the content can’t be indexed, so, content can’t be crawled by search engines..

Still, very big companies like YouTube depend entirely on flash.. And JavaScript is something, without which, no Industry can survive..
The Battle Continues..
Here, I am linking the best flash websites that took me almost 2 hours for compilation:
http://www.2advanced.com/
http://www.dontclick.it/
http://www.heavy.com/
http://www.imaginationcubed.com/
http://www.sukiland.com/
http://www.vodafonemayfly.co.uk/
http://www.mutabor.de/
http://www.typorganism.com/
http://www.bowwowlondon.com/main.html
http://lab.mathieu-badimon.com/
http://www.wddg.com/
http://www.designlicks.com/flash/index.php
http://www.onyro.com/
http://agencynet.com/

for some free flash templates u can always have a look on these websites.. These are really helpful while developing a new website, or even while learning Flash+ActionScript in depth..
http://www.flashvillage.com/
http://www.flashmo.com/home

Also, I would like to point out, what are the possibilities with JavaScript (check these cool demos):
http://dojotoolkit.org/demos
http://github.com/madrobby/scriptaculous/wikis/combination-effects-demo
http://mootools.net/

Lastly, I would like to link up a website which has got a very good collection of JS libraries..
http://javascriptlibraries.com/

The Best Flash Websites

These are some of the best flash websites that I have compiled after almost 2 hours of surfing… Plz have a look at each of them, as each of them have something to deliver.. :)

http://www.2advanced.com/
http://www.dontclick.it/
http://www.heavy.com/
http://www.imaginationcubed.com/
http://www.sukiland.com/
http://www.vodafonemayfly.co.uk/
http://www.mutabor.de/
http://www.typorganism.com/
http://www.bowwowlondon.com/main.html
http://lab.mathieu-badimon.com/
http://www.wddg.com/
http://www.designlicks.com/flash/index.php
http://www.onyro.com/
http://agencynet.com/