Tuesday, April 2, 2013

WHY SCREENSAVER???



We always put a really cool images as the screensaver when our pc is not in use..
Why the screen savers are used?
Are they meant for fancy-view?? or something else??

Screensavers were first created to protect a computer monitor from phosphor burn-in. Early monitors had problems with the same image being displayed over and over for long periods of time. The phosphors, used to make the pixels in the display, glow at a constant rate for such a long period of time that they could discolor the glass surface of the monitor. This discoloration could be visible as a faint image overlaying whatever else was shown on the screen. Advances in technology and the creation of energy-saver monitors have virtually eliminated the need for screensavers.

Having said that, most of us still use screensavers. The most common reason is for entertainment, they just look good, however, you can also use a screensaver for security. Some screensavers can be set up with a password so you can walk away from computer and know it is safe.


screensaver is a type of computer program initially designed to prevent phosphor burn-in on CRT and plasma computer monitors by blanking the screen or filling it with moving images or patterns when the computer is not in use. Contemporary screensavers are used primarily for entertainment, security or to display system status information.


Screensaver software can also be used as a rudimentary security measure. Many screensavers can be configured to ask users for a password before permitting the user to resume work. However, a user might be able to circumvent the password by restarting the computer if the computer's owner has set their account to automatically log in upon startup.

FILE SHARING NETWORKS


First off, you are aware that a significant percentage of the content you'd get from any peer to peer network is probably illegal, right? Downloaders who are involved with these various systems are also right in the crosshairs of the Recording Industry Association of America and the Motion Picture Association of America. By percentage, of course, the chances of you getting busted is essentially nil, but "essentially nil" isn't "zero", so beware and go in with your eyes open.

For the rest of this answer, I'm going to turn this answer over to my friend Greg...
The way Peer to Peer works is that people who want a file and people who have a file are all linked up together. Bits and pieces of the file are swapped around until they all have a complete copy.

Let's say that Person A has the whole file, while persons B, C, and D want it. A good P2P system will have person A feeding the first 1/3 of the file to person B, the second 1/3 to person C, and the last 1/3 to person D. Then, while that's happening, persons B, C, and D are feeding each other bits of what they've downloaded from person A.

This speeds up the process, because instead of persons B, C, and D receiving the file at 1/3 the speed that person A can deliver it, they're getting that, plus a portion of the speed each of the other two can deliver the file. So, all things being equal, it can double or triple the download speed for B, C, and D.

If person A goes offline before each of the other three have downloaded their full third of the file, the other three can keep sharing the bits they got until all of them have everything the other does, but until another person with the whole file comes into the network, they'll be stuck.
The whole idea of P2P is that there's never a centralized location for a file. It resides in whole on at least one computer in the sharing network and in whole or in part on all the rest. Then the people who are downloading the file can get pieces of the file from others in the network until each one has a complete copy. The more people in the network and the more people with a complete copy, the faster the sharing goes.

The main difference in the services is how they locate and trade bits of the files.
Kazaa, Limewire, Gnutella, etc... are file sharing networks. Through a series of nodes, you're interconnected to a variety of people sharing a variety of files. You send out a search request along the network and people who have files that meet your search criteria answer back that they have it. Then you pick one of the search results and start getting bits of the file who have some available bandwidth for transferring it to you.

BitTorrent, on the other hand, doesn't create such a broad-based network. It's file-focused. Someone who has a copy of the file creates a tracker and makes it available. Rather than finding that tracker by sending out search requests along a file sharing network, you find it on web sites, via recommendations in chat rooms, in links posted to mailing lists, etc.
Then everyone interested in sharing the file (either providing a copy they already downloaded or getting a copy) can use the tracker to essentially create a network dedicated to sharing just that specific file.

With less popular files or ones where there are lots of trackers splitting the network for them, BitTorrent can be slower than traditional P2P, because you may have fewer people sharing the file via the tracker you're using than you might find on LimeWire or Kazaa. But when you're downloading a popular file via a popular tracker, BitTorrent can blaze.



My fastest P2P download speed ever hit somewhere in the neighborhood of 167 kilobytes a second. My fastest BitTorrent speed was 452 kilobytes per second (though since I was downloading a DVD .iso for a Linux distribution, the download still took close to two hours).
By the way, for Windows, Shareaza is free, spyware free, and supports multiple network protocols, including eMule, Gnutella 1 & 2, and BitTorrent.

Monday, April 1, 2013

TECHNICAL INTERVIEW DEMYSTIFIED-II


In the previous article TECHNICAL INTERVIEW DEMYSTIFIED – I we have discussed about the probable questions from the most important subjects and adding to that, I would now discuss about the other important aspect of technical interview on which you would be quizzed to the extreme (at timesL).
i.e   Projects/Internships & Papers Presented (Optional)
Project is part and parcel of the curriculum for each and every engineering student and the quality of this project shows the student’s experience, expertise and exposure to various technologies and methodologies.
Now when you were asked this question,
Tell me about your projects (or) what are all the projects you have done?
Many wonder where to start, so let me clear your doubts about this here. Now before you answer this question, you should know the following basic things about your project:
  1. Your Project Name (don’t laugh this happened before and I saw people not able to pronounce their project names)
  2. Reason for choosing this project over many other projects present out there, I mean the idea behind this project.
  3.  Technologies used and your role in the project.
  4. Entire project architecture and design (includes UML diagrams and Schema)
  5. You should be able to write part of the code from your project (not certain that you will be asked about this).
  6. Problems faced during the project (if you have done your project, else use the famous words like “faced problem with requirement gathering”, “problem with some part of code which you were not able to do”) and you should also explain about how you have overcome them.
When the interviewer asks about projects , he /she knows that only 1% of the whole engineering students genuinely do the projects as many would only pay money and get the source code, having said that they would only expect you to know the basics of what every project in common has.
So, please make sure that you know the architecture/design of the project and practice well about how to demonstrate your project in an efficient way.
Papers
Not everyone would have presented papers in conferences and symposiums, but if you have done so and kept them on your resume be ready to answer some simple questions on the topics you have presented.
You may be asked to give a shorter version of that presentation which you given previously or you might be asked to assume that there is a slide show of your presentation and give a mock demo(who knows, you might be asked)
Finally, I would say this :
“In this world of uncertainty, nothing is certain and so every interview is unique in its own way and to be through the interview, prepare well for the worst possible scenario and give your best and success would follow”

TECHNICAL INTERVIEW DEMYSTIFIED


In this section we will tell you how easy it is for a fresher to clear a technical interview stated if he follows the basic tips/rules/mantra:
Technical Interview is part of the recruitment process for almost all the companies and this is the second biggest elimination round after the written test.


Well, I will assume here as you are a fresher trying to get into a software company (since most does irrespective of their branch).
Any software firm small or big wants their employees to know the basics of the subjects like,
  1. Programming
  2. software engineering
  3.  operating systems
  4. Databases
  5. Computer Networks.
Having said that they won’t expect you to know every part and parcel of the subjects, rather they would look for someone who at least knows what they are for.
Now if you are asked to write a C-Program which does check whether a given integer/string is a palindrome or not (which is part of lab programs for almost all the universities in the country in the 1st year), he would expect that you will write it easily and if you fail to do so, please don’t expect him to select you.
So what would we suggest is that, you should have basic knowledge on the aforementioned subjects and we will also tell you the areas you should concentrate in each subject.
1. Programming
In any technical interview, it is obvious that you would be asked to write some programs and mostly in C,C++ & Java  .
To be confident at this area, you should know the basic syntax of all these subjects as the semantic or logic remains the same.
Start with C, learn variables, operators, control structures, functions & pointers (the most important stuff), structures and files. Then go for C++ and java, try to understand the differences between all the three precisely.
OOPS is the most important & probable topic, where you might get questions from.
Below is the list of the most frequently asked programs that you must learn to clear this round.
a)      Write a C program to swap two numbers without using a third variable.
b)      Write a C program to check whether the given number or a string is palindrome or not.
c)       Write a C program to create a Pascal triangle.
d)      Write a C program to perform matrix multiplication and addition.
e)      Write a C program which performs bit manipulation (&,|,etc) of a given number.
f)       Also, learn programs which does basic file manipulations (creation, writing data and reading)
We would post some more programs which are important, with the complete code J in a separate section.
2. Software Engineering
This is the most important & also a boring subject, since it is mostly theoretical.
Not many interviewers ask questions on this subject in the technical interview, but it is always better to know the basics and be on the safer side.
Questions in this subject would be basically on the following topics,
a.       Phases of Software Development Life Cycle
b.      Process Models like Waterfall model, agile model etc.
c.       Cyclomatic complexity of a software
d.      Basics of software testing(white box, black box testing)
If you can learn all these, then you could possibly answer all the questions in the interview.
3. Operating Systems
Define operating system?
Could be the first possible question in some technical interview’s and this subject is one of the core subjects of computer science. Students from CS and IT back ground can’t take any excuses for not answering questions in this subject and others may get excuse if you don’t answer.
Now in this subject, you have to know the following things:
a.       The definition of an Operating System, components of an OS(like process management, memory management , etc)
b.      Learn the functionality of all the cpu scheduling algorithms like FCFS,SJF, Round-Robbin , etc.
c.       Learn how process synchronization works, this concept involves semaphore, monitor to achieve process s synchronization.
d.      Learn basic memory management techniques like paging, segmentation etc.
This should do for answering any question in Operating System.
4. Databases
No application works without a database and so it is must for us to know the basics of the data base management system.
Do learn the following things,
a.       Whenever we say DBMS we refer to RDBMS and everything is relational here in this DB. Go through the basics like entities, attributes and relations,ER-models,keys and constraints.
b.      Now learn to implement them with the structured query language shortly called as SQL, learn the basic operations CRUD(create, insert ,update & delete).
These all should do,but also go through transactions which is also an important concept and might be asked in the interview.
5 .Computer Networks
Stand alone systems don’t do any wonders and that is why the systems are connected through a network.
In computer networks all you need to concentrate is on the OSI reference model which covers everything, do try to know what each layer does and know about TCP,IP in particular.
This should do for computer networks
Well I have tried my level best to give you the idea about the questions asked in technical interviews in the best possible scenarios.
Please comment about the quality of the article which will help us to improve the quality of upcoming articles.
Do share if you  like this :)
Read the second part here : TECHNICAL INTERVIEW DEMYSTIFIED-II