Wednesday 6 January 2021

How to get rid of Shortcut Virus?

How to get Rid of shortcut Virus??

How to get rid of Shortcut Virus?

What is a Shortcut Virus?

Shortcut virus is a Type of Trojan or Worm that hides all of our data, and make shortcut of it. This kind of data not corrupt or infect your data only it hide your data which can easily be found by you, but how to get rid of Shortcut virus, because it is a kind of headache. So today first we will discuss how to get rid of shortcut virus if your computer is already infected, and also then we will discuss how to prevent our system so that it cannot come to our system.


How to Get rid of Shortcut Virus if your system is already infected?

in this case any of antivirus software will not work properly so for it you should do all of thing manually, such as by following the steps as below:
  1. Search for "Task manager" in start menu as shown in screen shoot. open it. or simply type     Ctrl + Shift + ESC How to get rid of Shortcut Virus? Step 1
  2.  After opening it go to processes tab in windows 7 or XP. OR in windows 7 later version click on detail apps and then come to background processes.
  3. in it search for wscript.exe.
  4. when you find it so click right click on it a submenu will appear in it click on end process tree.
  5. Then close Task Manager.
  6. Then go to "This PC" in windows 8/8.1/10 or "My Computer" in Windows XP/Vista/7.
  7. Search for file menu at top menu bar. Click on it. a submenu will be appear.
  8. in it click on "change folder and search option". as shown below.
  9. Then do the same as I do in the fig below. click on view and in it click on show hidden folders radio button and then uncheck all checkboxes as shown below:

     


     
  10.  click on apply to all folders and then close it.

  11. Now search for wscript in this pc search box as shown below: 

  12. Try to delete it. but delete will not working as shown below.


  13. There you go you removed shortcut virus. Now download SMADAV Antivirus from there official website. Download Link.

  14. Install it and scan your system.

Note if these steps are not work so:

  1. Try to reinstall windows
  2. Not open any Folder after windows installation
  3. Download Smadav. Install it and Scan your system

How to Get rid of Shortcut Virus if your system is not infected?

  1. Download Smadav Antivirus
  2. Install it.
  3. Deep scan your system
  4. When you plugin a USB Flash Drive/ External Driver First scan it through smadav then open it. 
 




Monday 4 January 2021

Blogger VS WordPress - Which one is best?

WordPress vs Blogger:

"Is Blogger is better than WordPress?"  or  "WordPress is better than Blogger?"  these questions arise in every new blogger's mind that which one is best to start blogging. Today we are going to discuss the cons and pros of both WordPress and blogger and see which one is best to choose for blogging. We will also see why some people love WordPress and other people loves Blogger CMS.


blogger vs wordpress


Why and When Should We Use Blogger?

Blogger (BlogSpot) is one of the best platforms for blogging. We are also using blogger as our CMS. Blogger is completely free you can start your blog with a 0$ cost. Blogger is owned by Google. And Google is now optimizing blogger with the passage of time. Today mostly bloggers are using Blogspot. I have listened from most of my blogger friends that AdSense is also approving Blogspot blogs easily these days even with the *.blogspot.com domain.


blogger vs wordpress


Do we need hosting or a domain for Blogger?

No, you don't need any expensive hosting and domain to start your blog on Blogspot. you can start your blog by purchasing any hosting or domain name. Do you know are also on blogger with free *.blogspot.com domain, Your site should be highly Optimized for Search Engines you will get traffic with free domain also. You can also connect the custom domain with your blogger blog easily if you cannot connect the custom domain with your blog click here

Can we get AdSense approval on Blogger?

As we know every blogger wants to earn from their blog, and AdSense is one of the best platforms to monetize your blog or website. everyone wants to get google AdSense approved on their website. so the question is here that "Can we get AdSense approval with Blogspot blog?" the answer is absolutely "yes". You can easily get AdSense approval on your blog if your blog is highly optimized and AdSense friendly and complying with AdSense policies. If you can't optimize your site for AdSense, our team is here to make your blogger site AdSense friendly just click here.


google adsense for blogspot



Is BlogSpot is best for SEO?

It is true that BlogSpot is not highly optimized for search engines by default, but you can make it search engines friendly by optimizing your blog. We will write another article in the upcoming days and will also add the link here that how You can optimize your blogger blog for search engines to get organic traffic on your blog. If you can't do SEO of your blogger site our team will help you to get your site highly optimized.

blogger blogspot seo


Why and When WE Should Use WordPress CMS?

No doubt that WordPress is the world's most popular platform and best for blogging. WordPress features are great even better than the Blogspot platform, but you will have to invest money to start your blog on WordPress. You will need hosting and domain to start your new blog.

Does WordPress also have the above features?

adsense for wordpress blog



WordPress is straightforward to use, and it is very SEO friendly, you can do SEO will just one plugin. It is also very good to get google AdSense approved on your blog. You can also start your blog on WordPress with little investment.

Conclusion:

Guys, we have discussed in this article about blogger and WordPress in upcoming articles we will also see some advanced tips to start a new blog, keep visiting our blog, We write all about blogging, AdSense, money earning, programming, machines learning, artificial intelligence and many more, Thanks.

Friday 1 January 2021

Building a Switched Based Network

Objectives  

Create a simple network with two PCs using a switch  

Identify the proper cable to connect the PCs to the switch  

Configure workstation IP address information  

Test connectivity using the ping command 

Background  

In this article, you will learn how to connect two computers directly to each other. This is the simplest network you can imagine. The network has two directly computers connected is called peer to peer network. Later on, you will learn that such a simple network is not “according to the definition of a network.” 

switched based networking in networking

 

Equipment/Tools: 

 
Two computers having Windows 7, 8, or 10 and LAN Cards installed one Cross-Over cable with the appropriate length. 
 

Procedure 

 
This lab focuses on the ability to connect two PCs to create a simple switch-based Ethernet LAN using two workstations. A switch is a networking concentration device sometimes referred to as a multiport bridge. Switches are relatively inexpensive and easy to install. When operating in full-duplex mode, they provide dedicated bandwidth to workstations. Switches eliminate collisions by creating microsegments between ports to which the two workstations are attached. They are appropriate for small to large LANs with moderate to heavy traffic. In addition to the physical and data link connections, which are Layers 1 and 2, the computers must also be configured with the correct IP network settings, which is Layer 3, so that they can communicate. Since this lab uses a switch, a basic Category 5/5e UTP straight-through cable is needed to connect each PC to the switch. This is referred to as a patch cable or horizontal cabling, which is used to connect workstations and a typical LAN. Start this lab with the equipment turned off and with cabling disconnected. Work in teams of two with one person per PC. The following  resources will be required:  

Two workstations with an Ethernet 10/100 NIC installed 
Ethernet 10BaseT or Fast Ethernet switch  
Several Ethernet cables, which are straight-through and crossover, to choose from for connecting the two workstations Step 1: 

 Identify the proper Ethernet cable and connect the two PCs to the switch  

a) The connection between the two PCs and the switch will be accomplished using a Category 5 or 5e straight-through patch cable. Locate two cables that are long enough to reach from each PC to the switch. Attach one end to the NIC and the other end to a port on the switch. Be sure to examine the cable ends carefully and select only a straight-through cable.  

b) What kind of cable is required to connect from NIC to switch? straight-through 
c) What is the category rating of the cable? Category 5 or 5e 
d) What is the AWG wire size designation of the cable? 24 AWG 

Step 2: 


 Verify the physical connection  

a) Plug in and turn on the computers. To verify the computer connections, insure that the link lights on both PC NICs and the switch interfaces are lit. Are all link lights lit? Yes 

Step 3: 


 Access the IP settings window 

 Note: Be sure to write down the existing IP settings, so that they can be restored at the end of the lab.

 These include IP address, subnet mask, default gateway, and DNS servers. If the workstation is a DHCP client, it is not necessary to record this information.  
Click on Start > Settings > Control Panel and then click the Network Connection icon.  
Select the Local Area Network Connection and click on Change settings of this connection. 
Select the TCP/IP protocol icon that is associated with the NIC in this PC.  
Click on Properties and click on Use the following IP address. 
See the example below: 

switched based network in networking

4: Configure TCP/IP settings for two PCs 


a) Set the IP Address information for each PC according to the information in the table.  
b) Note that the default gateway IP Address is not required, since these computers are directly connected. The default gateway is only required on local area networks that are connected to a router. 

Computer IP Address Subnet Mask Default Gateway 
PC – A 192.168.1.1 255.255.255.0 Not Required 
PC – B 192.168.1.2 255.255.255.0 Not Required 

Step 5: 


 Access the Command or MS-DOS prompt 

a) Use the Start menu to open the Command Prompt (MS-DOS-like) window: Start > Programs > Accessories > Command Prompt Step 6: 
 Verify that the PCs can communicate 
a) Test connectivity from one PC to the other by pinging the IP Address of the opposite computer. Use the following command at the command prompt.  
C:>ping 192.168.1.1 (or 192.168.1.2) 
b) Look for results similar to those shown below. If not, check the PC connections and TCP/IP settings for both PC. What was the ping result? 
Results could possibly be: Sent=4 Received=3 Lost=1 (this is due to ARP) Any other results probably indicate an error 

command prompt networking

7: Confirm the TCP/IP network settings 

a) Type the ipconfig command from the Command Prompt. Record the results 

b) Answers will vary depending on if Computer A or B is used. Examples for Computer B IP Address: 192.168.1.2, Subnet Mask: 255.255.255.0, Default Gateway: 

Step 8: 

 Restore the PCs to their original IP Settings, disconnect the equipment, and store the cables. 

 

Try It Yourself:

1. Build a switched-based network and verify connections to all the systems using the ping command. 



Doubly Linked List In Data Structures And Algorithms Using C++ .

 Doubly Linked List:

doubly-linked list is a linked data structure that consists of a set of sequentially linked records called nodes. Each node contains two fields, called links, that are references to the previous and to the next node in the sequence of nodes.

 

doubly linked list in data structures and algorithm


 

This is a doubly-linked list program in C++:

 

#include<iostream>

using namespace::std;

 class item{

  public:

   int key;

    float data;

    item* next;

    item* prev;

    item(int k,float d){

     key=k;

     data=d;

     next=NULL;

     prev=NULL;

    }

 void display(){

  cout<<"Key Is : "<<key<<" & Data Is : "<<data<<endl;

 }

 };

 class linkedList{

  private:

   item* tail;

   item* head;

   public:

    linkedList(){

     head=NULL;

     tail=NULL;

    }

      

    void insertAtTail(item* i)

    {

    

      if(head==NULL)

      {

           head=i;

        tail=i;

      }

    else{

       item* curr=head;

       while(curr->next!=NULL)

       {

          curr=curr->next;

       }

     curr->next=i;

     i->prev=curr;

     tail=tail->next;

    }

    }

   void insertAtHead(item* i)

   { 

     if(head==NULL)

     

     {

          head=i;

     }else{

     

         i->next=head;

         head->prev=i;

         head=i;

     }

   }

  void displayList()

  {

       if(head==NULL)

       cout<<"List Is Empty ! "<<endl;

       else{

            item* curr=head;

            cout<<"\t\t*** => Displaying List : "<<endl<<endl;

            while(curr!=NULL)

            {

                 curr->display();

                 curr=curr->next;

      }

    }

  }

 void delAtTail(){

    cout<<"\t\t\t***** After Del At Tail *****"<<endl<<endl;

    item* curr=tail;

    tail=tail->prev;

    tail->next=NULL;

    curr->prev=NULL;

    delete curr;

 }

void delAtHead(){

   cout<<"\t\t\t********** After Delete At Head **********"<<endl<<endl;

 item* curr=head;

 head=head->next;

 head->prev=NULL;

 delete curr;

}

   void displayFromHead(){

    if(head==tail)

    {

        cout<<"List is empty !"<<endl;

    }else{

           cout<<"\t\t\t**********  Displaying From Head To Tail **********"<<endl<<endl;

          item* curr=head;

          while(curr!=NULL)

          {

               curr->display();

               curr=curr->next;

    }

         }

   }

    void displayFromTail(){

     if(head==tail)

    {

        cout<<"List is empty !"<<endl;

    }else{

           cout<<"\t\t\t********** Displaying From Tail To Head **********"<<endl<<endl;

                    item* curr=tail;

     while(curr!=NULL)

     {

        curr->display();

        curr=curr->prev;

     }

    }

         } 



 };

 int main()

 {

     linkedList *list=new linkedList();

     list->insertAtTail(new item(3,4.5));

     list->insertAtTail(new item(1,2.3));

     list->insertAtTail(new item(4,5.6));

     list->insertAtTail(new item(2,3.4));

       list->displayList();

    list->delAtTail();

     list->displayList();

     list->delAtHead();

     list->displayList();

     list->displayFromHead();

       list->displayFromTail();

    list->displayList(); 

 }

AVL Tree Complete Code | Insert ,Balance,Rotations,Deletion,Display Functions.

 

What is the AVL tree? 



AVL tree is a self-balancing Binary Search Tree (BST) where the 

difference between heights of left and right subtrees cannot be more

 then one for all nodes. An Example Tree is an AVL Tree.


avl tree



C++ Example Of AVL Tree ....



#include<iostream>
using namespace::std;

class avl_node{
 public:
  int data;
  avl_node* left;
  avl_node* right;
  avl_node(){
   data=0;
   left=NULL;
   right=NULL;
  }
 void setData(int a)
 {
    this->data=a;
 }
 int getData()
 {
  return data;
 }
 void setLeft(avl_node* nextPointer)
 {
   this->left=nextPointer;
 }
 avl_node* getLeft()
 {
   return left;
 }
 void setRight(avl_node* nextPointer)
 {
  this->right=nextPointer;
 }
 avl_node* getRight()
 {
   return right;
 }
 bool isLeaf(int value)
 {
  if(this->left==NULL&&this->right==NULL)
  {
   return true;
  }
  else{
   return false;
  }
 }
};


class avlTree{
    public:
  avl_node *root;
  int height(avl_node*);
  int diff(avl_node*);
  avl_node *rr_rotation(avl_node*);
  avl_node *ll_rotation(avl_node*);
  avl_node *lr_rotation(avl_node*);
  avl_node *rl_rotation(avl_node*);

  avl_node * balance(avl_node*);
  avl_node* insert(avl_node*,int);
  avl_node* getSuccessor(avl_node*);
     deleteNode(int);
  void inorder(avl_node*);
  void postorder(avl_node*);
  void preorder(avl_node*);
  avlTree()
  {
     root=NULL;
  }
 
 };
 int avlTree::height(avl_node *temp)
 {
   int h=0;
   if(temp!=NULL)
   {
     int l_height=height(temp->left);
     int r_height=height(temp->right);
     int max_height=max(l_height,r_height);
     h=max_height+1;
   }
    return h;
 }
 int avlTree::diff(avl_node * temp)
 {
   int l_height=height(temp->left);
   int r_height=height(temp->right);
   int b_factor=l_height-r_height;
   return b_factor;
 }
 avl_node* avlTree::ll_rotation(avl_node * parent)
{
  avl_node* temp;
 temp=parent->left;
 parent->left=temp->right;
 temp->right=parent;
 return temp;
   }
 avl_node* avlTree::rr_rotation(avl_node * parent)
{
  avl_node* temp;
 temp=parent->right;
 parent->right=temp->left;
 temp->left=parent;
 return temp;
   }
avl_node *avlTree::lr_rotation(avl_node *parent)
{
  avl_node *temp;
  temp=parent->left;
  parent->left=rr_rotation(temp);
  return ll_rotation(parent);
}
 avl_node* avlTree::rl_rotation(avl_node *parent)
 {
    avl_node* temp;
    temp=parent->right;
    parent->right=ll_rotation(temp);
    return rr_rotation(parent);
 }

  avl_node* avlTree::balance(avl_node *temp)
  {
   int bal_factor=diff(temp);
   if(bal_factor>1)
   {
    if(diff(temp->left)>0)
    temp=ll_rotation(temp);
    else
    temp=lr_rotation(temp);
   
   }
   else if(bal_factor<-1)
   {
     if(diff(temp->right)>0)
     temp=rl_rotation(temp);
     else
      temp=rr_rotation(temp);
   }
   return temp;
  }
   avl_node* avlTree::insert(avl_node *root,int value)
   {
     if(root==NULL)
     {
       root=new avl_node;
       root->data=value;
       root->left=NULL;
       root->right=NULL;
       return root;
     }
   else if(value<root->data)
   {
       root->left=insert(root->left,value);
       root=balance(root);
   }
   else if(value>=root->data)
   {
      root->right=insert(root->right,value);
      root=balance(root);
   }
 }
 void avlTree::inorder(avl_node *tree)
 {
   if(tree==NULL)
   return;
   inorder(tree->left);
   cout<<" "<<tree->data;
   inorder(tree->right);
 }
 void avlTree::postorder(avl_node *tree)
 {
   if(tree==NULL)
   return;
   inorder(tree->left);
   inorder(tree->right);
   cout<<" "<<tree->data;
 }
  void avlTree::preorder(avl_node *tree)
 {
   if(tree==NULL)
   return;
    cout<<" "<<tree->data;
   inorder(tree->left);
   inorder(tree->right);
 }
 avlTree::deleteNode(int r)
{
  avl_node* curr=root;
  avl_node* currP;
  bool goLeft=false;
  while(curr!=NULL)
  {
  
      if(curr->data==r){
       break;
   }
   else if(curr->data>r)
      {
       currP=curr;
     curr=curr->left;
        goLeft=true;
   }
   else if(curr->data<r)
   {
    currP=curr;
     curr=curr->right;
     goLeft=false;
   }
  }
  if(curr==NULL)
  {
     cout<<"Node Not Found !"<<endl;
     return 0;
  }
  if(curr->left==NULL&&curr->right==NULL)
  {
   cout<<"Case 1 ."<<endl;
   cout<<endl<<"Node With Value "<<r<<" Deleted !"<<endl;
     currP->left=currP->right=NULL;
     delete curr;
     root=balance(root);
  }
  else if(curr->right==NULL&&curr->left!=NULL)
  {
      cout<<"Case 2 ."<<endl;
      cout<<endl<<"Node With Value "<<r<<" Deleted !"<<endl;
      if(!goLeft)
      currP->right=curr->left;
      else
      currP->left=curr->left;
      curr->left=NULL;
      delete curr;
      root=balance(root);
    
  }
   else if(curr->right!=NULL&&curr->left==NULL)
  {
      cout<<"Case 3 ."<<endl;
      cout<<endl<<"Node With Value "<<r<<" Deleted !"<<endl;
      if(goLeft)
      currP->left=curr->right;
      else
      currP->left=curr->right;
   curr->right=NULL;
      delete curr;
      root=balance(root);
    
  }
       else {
               cout<<"Case 4 ."<<endl;
      cout<<endl<<"Node With Value "<<r<<" Deleted !"<<endl;
             avl_node* successor = getSuccessor(curr);
             if(curr == root){
                root = successor;
             }

             if(goLeft){
                currP->left = successor;
             }else{
               currP->right = successor;
             }

             successor->left= curr->left;
             delete curr;
             root=balance(root);
         }
     
        }
   

avl_node* avlTree::getSuccessor(avl_node *delNode){

    avl_node* successorP = delNode;
    avl_node* curr = delNode->right;
    avl_node* successor = curr;
      while(curr->left != NULL){
        successorP = curr;
        curr = curr->left;
        successor = curr;
      }
      if(successor != delNode->right){
        successorP->left = successor->right;
        successor->right = delNode->right;
      }
      return successor;
}

 int main()
 {
    int choice,item;
    avlTree avl;
    while(1)
    {
        cout<<"\n-----------------------"<<endl;
        cout<<"AVL Tree Implementation|"<<endl;
        cout<<"-----------------------"<<endl;
        cout<<"1. Insert Element Into The Tree "<<endl;
        cout<<"2. Inorder Traversal"<<endl;
        cout<<"3. Preorder Traversal "<<endl;
           cout<<"4. Postorder Traversal"<<endl;
           cout<<"5. Display Root "<<endl;
     cout<<"6. Delete Node "<<endl;
     cout<<"7. Exit"<<endl;
           cout<<"Enter Your Choice :";
              cin>>choice;
              switch(choice)
              {
                case 1:
                 cout<<endl<<"Enter Value To Be Inserted : ";
                 cin>>item;
                 avl.root=avl.insert(avl.root,item);
                 break;
   case 2:
      cout<<endl<<"Inorder Traversal :"<<endl;
      avl.inorder(avl.root);
      cout<<endl;
      break;
   case 3:
      cout<<endl<<"Preorder Traversal :"<<endl;
      avl.preorder(avl.root);
      cout<<endl;
      break;
   case 4:
      cout<<endl<<"PostOrder Traversal :"<<endl;
      avl.postorder(avl.root);
      cout<<endl;
      break;
   case 5:
        cout<<endl<<"Displaying Root : "<<avl.root->data;
        break;
   case 6:
          int r;
         cout<<endl<<"Enter Id Of Node To Delete : ";
         cin>>r;
         avl.deleteNode(r);
         break;
   case 7:
         break;
   default:
      cout<<endl<<"Wrong Choice "<<endl;
     }
  }
  return 0;
}


avl tree