Minimal things to know about map function in Perl

  Perl is such a nice language that even a beginner can write the fully working code by using simpler things available in Perl.  More you know about Perl  more crazy you will be about it. Its very famous for one liner stuffs and even it has many functions which can minimize our code, run time and our work too!

Map function in Perl is a nice example for it. You can replace you whole foreach code with map in a single line.

  • Perl’s  map functions evaluates expression or a set of block for each element of an array and returns another new array.
  • Each array element is get stored in $_ (local lexical), then it evaluates according to expression or block and pass it to new list of arrays.
  • As hash is nothing but an associative array so you can apply map on that also ex:  %hashVal = map  { lc($_)=>$_  }  @array;   (block example ) or %hashval  = map  + ( lc($_)=>$_ ) ,@array;    (expression example)
  • I just found few different way to write same map function: All will do the same thing , Its just use of regular expression and to differentiate block and expression things.
  • # Method 1 @ucnames = map( ( join " ",  map (ucfirst lc , split)  ) ,@names);
    print "\n########## Printing Values of \@ucnames using map Method 1 ############\n";
    print Dumper(@ucnames);
  • #Method 2 @ucnames = map { join " ",  map {ucfirst lc} split  } @names;
    print "\n########## Printing Values of \@ucnames using map Method 2 ############\n";
    print Dumper(@ucnames);
  • #Method 3 @ucnames = map { join " ", map { s/^(.)(.*)$/uc($1) . lc($2)/e; $_ } split } @names;
    print "\n########## Printing Values of \@ucnames using map Method 3 ############\n";
    print Dumper(@ucnames);
  • Another example :
    Suppose we have an array whose elements are double quoted and we need to remove that. map function could be very useful in this case
     my @out = map { s/"//g; $_ } @arr;

Note: Block does not need comma but expression needs coma explicitly see the examples using { block } and (expression). In simple ,it is

  • map { block } @array or
  • map {expression}, @array or
  • map + { block } , @array (will be treated as expression so comm. Is needed after } )or
  • map (expression , @array)

For fully working code on map function please visit this link For more details on map click here

Minimal Introduction to Perl

 Welcome to Perlistan world! I have been using Perl (Perl 5.10 specifically) from last 1 year and I am really fond of this programming language. There are hell lots of features exist for Perl but I have written only few which I felt is important and interesting for beginners.

Introduction
Perl (Practical Extraction & Report Language) is the Swiss Army knife for  scripting languages(rather call it programming language): powerful and adaptable. It was first developed by Larry Wall, a linguist working as a systems administrator for NASA in the late 1980s, as a way to make report processing easier.

Since then, it has moved into a large number of roles: automating system administration, acting as glue between different computer systems; and, of course, being one of the most popular languages for CGI programming on the Web.

Why did Perl become so popular when the Web came along?
There may be at least two most important  reasons:

First, most of what is being done on the Web happens with text, and is best done with a language that's designed for text processing. More importantly, Perl was appreciably better than the alternatives at the time when people needed something to use. C is complex and can produce security problems (especially with untrusted data), Tcl can be awkward and Python didn't really have a foothold.

Second: It also didn't hurt that Perl is a friendly language. It plays well with your personal programming style. The Perl slogan is “There's more than one way to do it,'' The growth of Internet also complemented Perl. The initial attempt at providing dynamic content was through CGI (even now CGI is used extensively), and Perl's remarkable text handling features made it a quick fit. CGI programming is now synonymous with Perl programming.

CPAN – Comprehensive Perl Archive Network, was set up to share Perl code. Perl supports modules and chances are that for 99% of the programming requirements, there is already a tested module in CPAN (for the remaining 1%, write modules and contribute to CPAN!). Using modules really mask the complexities of adhering to pre-defined standards and frees you to concentrate on your tasks – no point in re-inventing the wheel. Now, you have modules which handles graphics, CGI etc… You can also embed Perl code in your C/C++ programs. A very popular embedded Perl architecture is mod_perl for Apache web server.

Lets dive little bit deeper

Data manipulation
Perl can handle strings, dates, binary data, database connectivity, streams, sockets and many more. This ability to manipulate multiple data types help immensely in data conversion (and by the way, it is much faster than PL/SQL!). Perl also has provision for lists (or arrays) and for hashes (associative arrays). Perl also supports references, which are similar to the pointers in C. Lists, hashes and references together make it possible to define and manipulate powerful custom-defined data-types.

Portability Most of the Perl code will run without any change in Unix or Windows or Macintosh. Typical changes you might have to make include specifying file paths and use of low-level OS specific functions.

CGI CGI.pm. Period. Almost all CGI programs written today are using the CGI.pm module from CPAN. Even before this was written, people used to use Perl extensively for CGI programming. CGI.pm made the process streamlined and easy, even for beginners. The graphics library GD is used extensively in producing dynamic web charts. Ever since Kernighan and Ritchie came out with C programming language, people have started learning almost any programming language with the obligatory "Hello World" program. Let us do the same!

Hello World!

Here is the basic perl program that we'll use to get started.

[perl] #! /usr/bin/perl
# prints Hello world.
use strict;
use warnings;
print 'Hello world.';                # Print a message [/perl]

#!  is called sh-bang (she bang 😉 ). Always let it be your first line of code in your program.  Write the location of executable perl here. Always try to write use strict and use warnings in your program. It will minimize error and you will be following standard coding rules !

Comments Perl treats any thing from a hash # to the end of line as a comment. Block comments are not possible. So, if you want to have a block of comments, you must ensure that each line starts with #.

Statements Everything other than comments are Perl statements, which must end with a semicolon, like the last line above. Unlike C, you need not put a wrapping character \ for long statements. A Perl statement always ends with a semicolon.

Running Perl Write a small  program using a text editor, and save it. The first line of the program is a typical shell construct, which will make the shell start the interpreter and feed the remaining lines of the file as an input to the interpreter. After you've entered and saved the program make sure the file is executable by using the command

[perl]
chmod u+x perlfile
[/perl]

at the UNIX prompt, where perlfile  is the filename of the program (of course with .pl or .pm extension mostly). Now, to run the program, just type any of the following at the prompt.

[perl]
perl perlfile
[/perl]

If something goes wrong then you may get error messages, or you may get nothing. You can always run the program with warnings using the command

[perl]
perl -w progname
[/perl]

at the prompt. This will display warnings and other (hopefully) helpful messages before it tries to execute the program. To run the program with a debugger use the command

[perl]
perl -d progname
[/perl]

When the file is executed Perl first compiles it and then executes that compiled version. Unlike many other interpreted languages, Perl scripts are compiled first, helping you to catch most of errors before program actually starts executing. In this context, the -w switch is very helpful. It will warn you about unused variables, suspicious statements etc.

Minimal Introduction to JavaScript variables

JavaScriptJavaScript variables are used to hold values or expressions. A variable name can be as short like  x, or a more descriptive name, like carname.  Declaring variables is an integral part of any programming language. Developers declare variables to reserve address space in the computer's memory so that they can use it further as in fucntion or anywhere down the program. Variable can be Global or lexical. Always remember not to declare the same variable name at global place and if its being used by only one fucntion or only at one place declare it inside that block only.

 

Rules for JavaScript variable names and declaration:

  • Variable names are case sensitive (y and Y are two different variables). It should be followed throughout the code to avoid declaring two different variables with different cases. This also avoids syntax errors when running the code in the user's browser.
  • Always use  camel casing while declaring variable. ex: var alienCoders = "http://www.aliencoders.org"
  • Variable names must begin with a letter or the underscore character. ex: 123goAhead is wron
  • JavaScript variable can be created or declared by using reserved keyword "var". ex: var x=100; var carName="Mercedes Benz";
  • If you redeclare a JavaScript variable, it will not lose its original value unless and until you changed its value. var x=5; var x; After execution of these statements value of x will be still 5 only.
  • JavaScript is smart enough to understand the data type of variable just by its declared value. Ex: var x=5; (datatype is int) var y = "Me"; (string)
  • = is used for assignment and + is used for addition of two numbers or two strings. ex: var x=5; var y = 2+5 ; (o/p will be y =7) var place = "New "+"Delhi"; (o/p will be "New Delhi")

We will post about operators and data types very soon!

Uncategorized

5 Important rules to start with JavaScript

At first sight, JavaScript looks very simple language. But if you don't follow unobtrusive and OO pattern then you will treat it as one of the weird browser languages. But in today's world you can't make good websites without the help of JavaScript. Either you use Dojo, JQuery, ext js , moo tools or any JavaScript based plug-ins , you would require fair knowledge of JavaScript. Apart from keeping in mind while using  namespace, global and local variables. We should follow  these 5 simple rules (in no order and there can be many rules as per the programmer), we can improve JavaScript coding:

1. Do not make any assumptions about JavaScript features

Probably the most important feature of unobtrusive JavaScript is that you stop making assumptions:

  • You don't expect JavaScript to be available but make it a nice-to-have rather than a dependency
  • You don't expect browsers to support certain methods and have the correct properties but  test  them before you access them
  • You don't expect the correct HTML to be at your disposal, but check for it and do nothing when it is not available
  • You expect other scripts to try to interfere with your functionality and keep the scope of your scripts as secure as possible. use local variable and namespace properly

The first thing to consider before you even start planning your script is to look at the HTML code that you are going to enhance with scripting and see what you can use for your own purposes.

 2. Find your hooks and relationships (HTML, the base to build on)

Before you start your script look at the base that you build upon. If the HTML is unstructured , there is hardly any way to create a clever scripting solution

There are several things to consider in your HTML – hooks and relationships

 HTML Hooks

HTML hooks are first and foremost IDs, as these can be accessed with the fastest DOM method – getElementById. These are safe as IDs are unique in a valid HTML document (IE has a bug with name and ID, but good libraries work around that) and easy to test for.

Other hooks are HTML elements which can be read out with getElementsByTagName and CSS classes, which can not be read out with a native DOM method in most browsers (Mozilla will soon have one and Opera 9.5 already does though). However, there are a lot of helper methods that allow for a getElementsByClassName.

 HTML relationships

The other interesting thing about HTML is the relationships of your markup. Questions to ask yourself are:

  • How can I reach this element the easiest and with the least steps traversing the DOM?
  • What element do I need to alter to reach as many child elements that I need to change?
  • What attributes or information does a certain element have that I can use to link to another?

Traversing the DOM is expensive and can be slow, that is why it is a good idea to leave it to a technology that is already in use in browsers.

 3. Leave traversing to the experts (CSS, the faster DOM traveller)

It is pretty interesting that DOM scripting and traversing the DOM with its methods and properties (getElementsByTagName, nextSibling, previousSibling, parentNode and so on) appears as a confusing matter to a lot of people. It is interesting as we already do it with a different technology: CSS.

CSS is a technology that takes a CSS selector and traverses the DOM to access the desired elements and change their visual attributes. A rather complex JavaScript using DOM can be replaced with a single CSS selector:

var n = document.getElementById('nav');
if(n){
var as = n.getElementsByTagName('a');
if(as.length > 0){
for(var i=0;as[i];i++){
as[i].style.color = '#369'; as[i].style.textDecoration = 'none'; }
}
}

/* is the same as */

#nav a{ color:#369; text-decoration:none; }

 4. Understand Events (Event handling to initiate change)

Event handling is the next step to truly unobtrusive JavaScript. The point is not to make everything draggable and clickable or add inline handling. The point is to understand that Event Handling is true separation. We separate HTML, CSS and JavaScript but with Event Handling we go much further.

Elements in the document are there to wait for handlers to listen to a change happening to them. If that happens, the handlers retrieve a magical object (normally as a parameter called e) that tells them what happened to what and what can be done with it.

The really cool thing about most event handling is though that it does not only happen to the element you want to reach but also to all the elements above it in the DOM hierarchy (this does not apply to all events though – focus and blur don't do that). This allows you to assign one single event handler to for example a navigation list and use event handling's methods to reach what element was really involved. This technique is called event delegation and it has several benefits:

  • You only need to test if a single element exists, not each of them
  • You can dynamically add or remove new child elements without having to remove or add new handlers
  • You can react to the same event on different elements

The other thing to remember is that you can stop events from being reported to parent elements and you can override the default action HTML elements like links have. However, sometimes this is not a good idea, as browsers apply them for a reason. An example would be links pointing to in-page targets. Allowing for them to be followed makes sure that users can bookmark the state of your script.

 5. Work for the next developer (Making maintenance easier)

The last step to make your script truly unobtrusive is to give it another go-over when you finished and think about the next developer who has to take over from you once this went into production. Consider the following:

  • Are all the variable and function names logical and easy to understand?
  • Is the code logically structured? Can you "read" it from top to bottom?
  • Are the dependencies obvious?
  • Have you commented areas that might be confusing?

The most important bit is to understand that the HTML and CSS of a document is much more likely to change than the JavaScript (as these make up visual output). Therefore it is a great idea not to have any class and ID names or strings that will be shown to the end user buried somewhere in the code but separate it out into a configuration object instead.

myscript = function(){
   var config = {navigationID:'nav', visibleClass:'show'};
   var nav = document.getElementById(config.navigationID);
   function init(){
      show();
      if(nav.className === config.visibleClass){ reset(); } // do stuff
   }
   function show(){
     var c = nav.className; // do stuff
   }
   function reset(){
   // do stuff
   };
}();

That way maintainers know exactly where to change these without having to alter the rest of your code.

Source: http://icant.co.uk

Installing rTorrent and wTorrent on Open Suse and Red hat

I know u guys are well familliar with various Windows Client like uTorrent, BitComet, Vuze etc etc, Transmission for Mac …And well yaa kTorrent for Linux Distros.

But Do u guys know about one great text based torrent client. rTorrent. This is the most popular torrent client used by hardcore uploaders with Seed Boxes. (More on Seed Boxes later) Just imagine running 100 torrents on a P4 machine with 0% CPU usage. Isnt that awsome?

So lets start the tutorial For running rTorrent you will need a front end else you will need to perform different operations on torrent file using the konsole. There are many front ends available for rTorrent on internet e.g wTorrent, rtGUI, nTorrent etc etc. So How to set up rTorrent with xmlrpc and with wTorrent as front end ? Many other tutorials are ofcourse easily available for other distros like ubuntu and Debian. Here we go

-: Dependencies and pre-requisite:-

First of all we need to install various dependencies

gcc(GNU C Compiler) g++(GNU C++ Compiler) automake libsigc++20-devel libopenssl libopenssl-devel libtool ncurses-devel subversion libcurl libcurl-devel texinfo

for installing all these dependencies you can use

sudo zypper install <packae name>

If u want to search for a specific package and choose then use

sudo zypper se <package name>

This will display a list of names of packages matching your search name. If on any step you find that you are missing something you can always use

cnf <missingfunction>

It will tell whaether it is available on your system or not and what packages are required for that specifically missing e.g Suppose make is missing then use

cnf make

It will tell you either the exact path(if it is installed) or what packages are required for this and will suggest u like try

zypper install thispackage

Get the xmlrpc package from its svn repository, compile, configure and install it. on bash

cd.. svn co xmlrpc-c – Revision 1851: /advanced xmlrpc-c cd xmlrpc-c ./autogen.sh

(If executing ./autogen.sh gives error please check for what reason the error is coming. If its lacking some packages like aclocal not found, make not found, makeinfo not found etc etc, Use cnf functionality and see if you have required packages if you are missing any please install it using zypper.)

./configure –enable-tools –prefix=/usr/local make make install

or u can also run all at once by using

./configure –enable-tools –prefix=/usr/local && make && make install

-: rTorrent compilation :- Download the latest rTorrent packages from Index of /downloads type on bash

cd .. mkdir rtorrent cd rtorrent svn co svn://rakshasa.no/libtorrent/trunk svn up cd trunk cd libtorrent ./autogen.sh ./configure –prefix=/usr/local && make && make install cd ../rtorrent (Change it to rtorrent directory) PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/ ./configure –with-xmlrpc-c && make && make install

After these steps your rtorrent will e ready to run but wait you still need .rtorrent.rc file in your home directory. Contents of my .rtorrent.rc is below.

scgi_port = localhost:5000 # Move completed torrents to /home/rt/torrents/done/ on_finished = move_complete,"execute=mv,-u,$d.get_base_path=,/Maxtor/rtorrent/done/ ;d.set_directory=/Maxtor/rtorrent/done/" # Maximum and minimum number of peers to connect to per torrent. #min_peers = 40 #max_peers = 100 # Same as above but for seeding completed torrents (-1 = same as downloading) #min_peers_seed = 10 #max_peers_seed = 50 # Maximum number of simultanious uploads per torrent. #max_uploads = 15 # Global upload and download rate in KiB. "0" for unlimited. #download_rate = 0 #upload_rate = 0 # Default directory to save the downloaded torrents. directory = /Maxtor/rtorrent/doing # Default session directory. Make sure you don't run multiple instance # of rtorrent using the same session directory. Perhaps using a # relative path? session = /home/deshbandhu/.rtsession # Watch a directory for new torrents, and stop those that have been # deleted. schedule = watch_directory,5,5,load_start=/Maxtor/rtorrent/watch/*.torrent schedule = untied_directory,5,5,stop_untied= # Close torrents when diskspace is low. #schedule = low_diskspace,5,60,close_low_diskspace=100M # Stop torrents when reaching upload ratio in percent, # when also reaching total upload in bytes, or when # reaching final upload ratio in percent. # example: stop at ratio 2.0 with at least 200 MB uploaded, or else ratio 20.0 #schedule = ratio,60,60,"stop_on_ratio=200,200M,2000" # The ip address reported to the tracker. #ip = 127.0.0.1 #ip = rakshasa.no # The ip address the listening socket and outgoing connections is # bound to. #bind = 127.0.0.1 #bind = rakshasa.no # Port range to use for listening. port_range = 45000-50000 # Start opening ports at a random position within the port range. #port_random = no # Check hash for finished torrents. Might be usefull until the bug is # fixed that causes lack of diskspace not to be properly reported. #check_hash = no # Set whetever the client should try to connect to UDP trackers. #use_udp_trackers = yes # Alternative calls to bind and ip that should handle dynamic ip's. #schedule = ip_tick,0,1800,ip=rakshasa #schedule = bind_tick,0,1800,bind=rakshasa # Encryption options, set to none (default) or any combination of the following: # allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext # # The example value allows incoming encrypted connections, starts unencrypted # outgoing connections but retries with encryption if they fail, preferring # plaintext to RC4 encryption after the encrypted handshake # # encryption = allow_incoming,enable_retry,prefer_plaintext # Enable DHT support for trackerless torrents or when all trackers are down. # May be set to "disable" (completely disable DHT), "off" (do not start DHT), # "auto" (start and stop DHT as needed), or "on" (start DHT immediately). # The default is "off". For DHT to work, a session directory must be defined. # # dht = auto # UDP port to use for DHT. # # dht_port = 6881 # Enable peer exchange (for torrents not marked private) # # peer_exchange = yes # # Do not modify the following parameters unless you know what you're doing. # # Hash read-ahead controls how many MB to request the kernel to read # ahead. If the value is too low the disk may not be fully utilized, # while if too high the kernel might not be able to keep the read # pages in memory thus end up trashing. #hash_read_ahead = 10 # Interval between attempts to check the hash, in milliseconds. #hash_interval = 100 # Number of attempts to check the hash while using the mincore status, # before forcing. Overworked systems might need lower values to get a # decent hash checking rate. #hash_max_tries = 10

Change the name of directories as per your choice. Please check that your .rtorrnt.rc file contains

scgi_port = localhost:5000

You can use what ever port you want to use

-:Setting up Webserver for wTorrent with scgi support :-

I will use lampp Get lampp servers and untar them to /opt

wget Download XAMPP from SourceForge.net tar xvfz xampp-linux-1.6.5a.tar.gz -C /opt wget Download XAMPP from SourceForge.net tar xvfz xampp-linux-devel-1.6.5a.tar.gz -C /opt

Now Get SCGI 1.12 Modules from here

http://python.ca/scgi/releases/scgi-1.12.tar.gz

After this do the following cd to the directory where you downloaded this tarball an execute the following.

tar zxfv scgi-1.12.tar.gz cd scgi-1.12 cd apache2 /opt/lampp/bin/apxs -i -c mod_scgi.c

Now we need to edit Apche config file a little so let us go to its directories

cd /opt/lampp/etc vi httpd.conf

Now find the sequence of lines where modules are being loaded Append another load module directive

LoadModule scgi_module modules/mod_scgi.so

After adding this navigate to the end of the file and adding

SCGIMount /RPC2 127.0.0.1:5000

Note that here you have to use the same port as specified in .rtorrent.rc If U have used 5000 as me then use 5000 here else you should use your own specific port.

-: Seting up wTorrent :-

Download latest wTorrent from its svn repository. On bash write

cd /opt/lampp/htdocs svn co svn://wtorrent-project.org/repos/trunk/wtorrent/

Now change the ownership of wtorrent directory by using

chown -R serverusername.servergroupname /opt/lampp/htdocs/

If you are confused with the server user and group then plz do the following On Bash

vi /opt/lampp/etc/httpd.conf

find the server user and group and change the user to your user name (not root) and change the group name to users and then change the permission of wtorrent directory. e.g. Suppose for me

server user = deshbandhu server group= users

then I will use the command

chown -R deshbandhu.users /opt/lampp/htdocs/

Now start lampp

/opt/lampp/lampp start

It ill start Apche with ssl, MySQL, Phpmyadmin by default but if you want to start simply apache

/opt/lampp/lampp startapache

Start rtorrent in its screen

su <username> -c 'screen -d -m rtorrent'

e.g. I use

su deshbandhu -c 'screen -d -m rtorrent'

It will ask for yuor password , enter it . If u suspect that rtorrent is not running check

netstat -lnp |grep 5000

It should return some result else if it does not then open a terminal and simply write

rtorrent

Whoa !!!!! rTorrent and wTorrent is set up now. But U need to create accounts for wtorrent. For this Open mozilla go to

http://localhost/install.php

Configure accounts and users for once. After this step u can delete intall.php from htdocs directory. Now on mozilla

http://localhost/

Enter the user name and password and start using rtorrent and wtorrent. Feedbacks are welcome!!!!

Uncategorized

IT Security Threats for 2011 by McAfee

2011 will be much like 2010 when it comes to IT security threats, only more so.

“We are seeing an escalating threat landscape in 2011,” says Dmitri Alperovitch, threat research vice president at McAfee Labs, which Tuesday issued its annual threat predictions for the coming year.

In an interview with Information Security Media Group, Alperovitch explains the challenges these threat present and how individuals and organizations can address them. The threats McAfee Labs identifies for 2011 are:

5 essential Multimedia players for windows users

Whatever be your profession, it doesn’t matter how busy you are in your life. You will listen songs, watch movies for sure and computer plays an important role for such entertainment stuffs always.
You must be using any one of your favorite Multimedia player to play songs, watch movies, video tutorials, etc. So which player is your favorite one?  Mine is all time favorite KMplayer.
5 Multimedia players that I have are  (Ranks may differ person to person):
1. KMPlayer  

  1. First things its free and plays almost any video formats at its best. Takes very less space and runs audios/videos hassle free.
  2. Keyboard shortcuts make it very easy and comfortable to use. Its very user friendly too.
  3. The KMPlayer is a versatile media player which can cover various types of container format such as VCD, DVD, AVI, MKV, Ogg Theora, OGM, 3GP, MPEG-1/2/4, WMV, RealMedia, and QuickTime among others.
  4. It handles a wide range of subtitles and allows you to capture audio, video, and screenshots in many ways.
  5. Click here to download.   For more details about it, read our previous article on it.

2.   vlc logo VLC Multimedia Player

  1. It is also open source and latest VLC player also plays almost everything. But its not so user friendly like KMPlayer. After using it for few days, you may be habituated for it too.
  2. VLC comes with nearly every codec built in, so no need to update for codecs.
  3. It plays damaged files too! Which means Missing or broken pieces won’t stop VLC to play undamaged part of it.
  4. Its available for all Operating Systems which makes it most popular all over the computer users.
  5. You can download VLC Player from here.

3.  real player logo Real Player

  • a. If you use internet to watch videos, downloads audio/video files from youtube, apniisp etc then You might need Real Player too!
  • b. Very few players supports .rmvb.  It plays .flv, .mpeg, .avi and other various formats too
  • c. Real player is also available in all O.S. flavors and its available for free and for premius use too (paid one)
  • d. You can download videos, share through FB, youtube, twitter and can burn too!
  • e. For more details and to download this player Visit here

4.  wmp logo Windows Media Player

  • a. Most computer users would have windows Operating system by default and it contains WMP already. So people get used of it. WMP 11 is really cool and has really all features that other media players have.
  • b. A tree-style file directory makes it easy to find the music you want quickly, and a simple search box gets you where you want to go immediately.
  • c. A five-star rating system lets you rate your music, then organize it by rating, so it's easy to group your favorite songs
  • d. Download it for free from here

5.  bsplayer logo BS Player/Winamp/Jukebox

  1. I have used winamp, jukebox and BS Player too. BS Player is the newest one and winamp is all time favorite for listening audio songs.
  2. Winamp is available for android too. Its skin, and playing features can attract anyone to have it in their system.
  3. Download Winamp from here
  4. BSPLayer is very light, so don’t take much CPU space, downloads and saves subtitles automatically. Plays high resolution video smoothly. HD Laptop users should have it .
  5. Download BSPlayer from here.
Uncategorized

Top 10 Programming language of year 2010

It is always important for the IT people to know that:

1.       Which language is rising exponentially?

2.       Which language is in high demand?

3.        By having knowledge of which language we can grab more job opportunity?

4.       Which one is the highest paying language in your country?

And many more Just like ever year Tiobe has done complete survey and displayed the result for top 10 programming languages of 2010 and have compared from previous year.  Just have a look over it.

Internet Explorer is found vulnerable again

A vulnerability has been identified in Microsoft Internet Explorer, which could be exploited by remote attackers to take complete control of a vulnerable system. This issue is caused by a use-after-free error within the “mshtml.dll” library when processing a web page referencing a CSS (Cascading Style Sheets) file that includes various “@import” rules, which could allow remote attackers to execute arbitrary code via a specially crafted web page.

Top 5 Browsers of year 2010/2011(predicted)

Browser imageIn internet world, we can’t get any info without web browsers. Isn’t it? Whatever we are looking for over internet, browsers will only display it. Right now you are reading this blog through some browser for sure. You might have used few different browsers and have rated according to your taste (requirements, comfort, efficient, add-ons support etc) . In 2009, Internet Explore was at the top. Mozilla Firefox at second position and Google chrome was at third position.
But in 2010, situation got changed. According to my observation/opinion (after doing some search on google and doing some analysis using Google analytics), browsers rank would be:

  1. Mozilla FirefoxFirefox

    • Well it’s my one of the favorite browsers too! I like its simplicity, customizing options, navigation speed, tabbed browsing (now common to every browser), integrated search engine etc.
    • It has more than 10 thousand active add-ons  which you can customize and enhance your web browsing experience.
    • It supports HTML 5 audio and video too!
    • It’s there by default in Linux Distros.
    • Its features are more useful and powerful but designed in very simple way, which I like in it.
    • Its much much faster now in comparison to version 3. Try to have Firefox v3.6+ and feel the difference
    • Firefox 3.5+ has integrated private browsing too that you can easily enter and leave the private mode, browsing seamlessly in complete stealth mode. I have tried it few times.
    • Lots of documents are there to support its features, where you can get in detail about its features and add-ons
    • Firefox is a FREE to download and most of the  add–ons are also free.
  2. Google Chrome Google chrome

    • If Google has developed something then how we can deny its greatness, name is enough to describe it. It uses complex features but have made it simple (but not so simpler like Firefox, as I felt).
    • It has also lots of updated features that you may need and tools are there.
    • Private more is also there, similar to Firefox. So security is there of course!
    • I liked its drag and drop feature (anywhere you wish)
    • I liked its another  unique tab feature that simplifies your browsing is “related tabs”. When a new tab opened, the new tab is placed next to the originating or parent tab, rather than at the end of your list of tabs. (This is not there in Firefox yet)
    • It uses “sandboxing”, which makes every tab to run independently in the browser. This is great because if a certain application crashes, it will stay isolated to that tab only, it will not affect any other tabs. Different processes run separately in their own tab. This technique helps  computer to stop  one tab from taking control of all others. Once you close a tab, that process is completely terminated.
    • It uses online task manager feature too, which comes handy for internet geeks.
    • Its also very fast and I have both browsers in my system along with other 3 browsers.
  3. Internet Explorer Internet Explorer

    • Although IE 9 is there in market, but still I like IE 7. IE 8 was a big flop, it seems. As most of the computer market has been captured by Microsoft’s Operating System which has Internet Explorer by default. That’s why, it is mostly used for browsing.
    • Its startup time is bit faster but navigation time is little slower than Firefox and Chrome
    • Now newer version is having add-ons, tabbed feature is also there and integrated search window is present too.
    • Internet Explorer 7+ has enhanced security features. It provides security for the entire family and offers extensive parental controls to protect children against web predators and inappropriate content.
  4. Opera opera

    • Another browser that enticed me towards it.  Best thing is you can configure Opera to fit your needs and your style. Arrange panels, toolbars and buttons and choose from several unique skins and various widgets.
    • Its everywhere, talk about any O.S. and mobile phone; it will be there J . Its one of the only browsers that has interactive voice commands. You can navigate the web by talking to the browser, and Opera will even read text to you.
    • Visual tabs, mouse gesture, opera turbo (double your speed in lower connection), Speed dial are some really amazing features in Opera.
    • Its free and more than 150 million are using it. I didn’t like its downloading features as it starts downloading my torrent files too L (not a big issue though)
  5. Safari Safari

    • Earlier when we use to hear this word, we thought that oh its only for Mac users but now not anymore, anyone can use it. Its look and feel is too cool. After all its apple’s product J
    • I like its colored progress bar on the toolbar that shows how fast a page is loading and how close it is to being complete.
    • You may feel tough at first site but its very user friendly like our top rated browsers
    • Its very fast and popular. Still I need to explorer its various features
    • Its secured too!

Other popular browsers are: -> Avant (UI effect is really cool and its user friendly too), ->Maxthon(It uses Internet Explorer engine internally and features lots of add-ons too. Very popular in China as it’s a Chinese product J ) and ->Flock (social networking website, so its popular because of Facebook, twitter and youtube integration)