How To Block Facebook in IPv4

Block Facebook IPv4 By Naim Hashmi                                                                                                                               

127.0.0.1   www.facebook.com
127.0.0.1   facebook.com
127.0.0.1   login.facebook.com
127.0.0.1   www.login.facebook.com
127.0.0.1   fbcdn.net
127.0.0.1   www.fbcdn.net
127.0.0.1   fbcdn.com
127.0.0.1   www.fbcdn.com
127.0.0.1   static.ak.fbcdn.net
127.0.0.1   static.ak.connect.facebook.com
127.0.0.1   connect.facebook.net
127.0.0.1   www.connect.facebook.net
127.0.0.1   apps.facebook.com

How To Block Facebook Hosts File

How To Block Facebook in IPv4 By Naim Hashmi

127.0.0.1   www.facebook.com
127.0.0.1   facebook.com
127.0.0.1   login.facebook.com
127.0.0.1   www.login.facebook.com
127.0.0.1   fbcdn.net
127.0.0.1   www.fbcdn.net
127.0.0.1   fbcdn.com
127.0.0.1   www.fbcdn.com
127.0.0.1   static.ak.fbcdn.net
127.0.0.1   static.ak.connect.facebook.com
127.0.0.1   connect.facebook.net
127.0.0.1   www.connect.facebook.net
127.0.0.1   apps.facebook.com

 How To Block Facebook in IPv6 By Naim Hashmi

fe80::1%lo0 facebook.com
fe80::1%lo0 login.facebook.com
fe80::1%lo0 www.login.facebook.com
fe80::1%lo0 fbcdn.net
fe80::1%lo0 www.fbcdn.net
fe80::1%lo0 fbcdn.com
fe80::1%lo0 www.fbcdn.com
fe80::1%lo0 static.ak.fbcdn.net
fe80::1%lo0 static.ak.connect.facebook.com
fe80::1%lo0 connect.facebook.net
fe80::1%lo0 www.connect.facebook.net
fe80::1%lo0 apps.facebook.com

essays in english

Tag: teacher, Discipline, teach, characterstics of teacher, my

 Favourite Teacher

Points to be remebered in mind while writing essay:
·         Who is your best teacher?(Name)
·         How does he dress ?
·         What are his good characterstics?
·         Which subject does he teach you?
·         How does he teach?
·         What are his methods of teaching and treating students?
·         Is he disciplined?
·         Does he have any ideals?
·         What are your feelings for him?

Essay: My Favourite Teacher

If you visit my school, you will find a humble personality with a gentle smile on his face and spects on his eyes. He is Mr. Anderson, my best teacher. He always wears his favorite white t-shirt and blue jeans. His clothes are always clean and neatly ironed.
Though he is very simple, he is intelligent. He teaches us English, the language which dances on the tip of his tongue. He teaches us with almost devotion. He tells us many antonyms, synonyms, proverbs and idioms which add to the treasure of our vocabulary. It's becoming rich day-by-day. Anderson Sir is a born teacher. He is very good at teaching and experienced at managing the class. The method he uses to teach is developed by his own. We are never mere listeners during his period. 
 
 
Search topics:
My Best Teacher essay writing
my best teacher essay for kids
essay on my parents my best teacher
my best teacher essay in urdu
short essay on my best teacher
my best teacher essay in hindi
my best friend essay
my favourite teacher essay
my best teacher poem
my favourite teacher essay
my favourite teacher essay for kids
my favourite teacher paragraph
my favourite teacher college essays
my favourite teacher essay pdf
my favourite teacher essay in hindi
my favourite teacher essay in marathi
my favourite teacher essay in marathi language
my favourite teacher essay hindi language
 
 

How to fix Mineshafter "Login Failed" message

To fix this error, do the following:


1.) Make sure that you have a GMail account.
2.) Make a Minecraft account using the GMail and activate it.
3.) Log into http://Mineshafter.appspot.com/ using your GMail.
4.) Hover your cursor over your username and click "Settings".
5.) Next to "connected username" click "change".
6.) Enter your new minecraft username and password.
7.) click "Connect".
8.) It should show your username next to "Connected Usernames".
9.) Set a skin if you like.
10.) Make a new folder somewhere on your computer so that it is easily accesible.
11.) download this http://adf.ly/1744604/minecraft and put it into the folder.
12.) download this http://adf.ly/1744604/mineshafter and put it into the folder as well.
13.) if you are on windows then download this http://adf.ly/1744604/minshafterstarter and put it in the   folder then run it.
14.) Log in.
15>) Enjoy!

IBM Thinkpad Video Driver Download For Free

IBM Thinkpad Video Driver Download For Free

Video driver (ATI Radeon, FireGL Series) for Windows 2000/XP - ThinkPad A31, A31p, R40, R40e, R50, R50p, R51 (1829, 1830, 1831, 1836), T30, T40, T40p, T41, T41p, T42, T42p, X31, X32
NameOperating SystemVersionReleasedAdd to
download list
Download
now
Display driver (ATI Radeon, FireGL)
1rd637ww.exe
31.36 MB
Windows 2000,
Windows XP
8.133.2.1.1.1-070206a19 Sep 2007
README for Display driver (ATI Radeon, FireGL)
1rd637ww.txt
16.79 KB
Windows 2000,
Windows XP
8.133.2.1.1.1-070206a19 Sep 2007
This package provides the display driver for Microsoft Windows 2000 and Microsoft Windows XP users.

This package enables or updates the display function of the following ThinkPad systems:
- ThinkPad A31, A31p
- ThinkPad R40, R40e
- ThinkPad R50, R50p
- ThinkPad R51 (Machine Type 1829, 1830, 1831, and 1836) (*1)
- ThinkPad T30, T40, T40p, T41, T41p, T42, T42p
- ThinkPad X31, X32

Notes:
- (*1) Machine Type 2883, 2887, 2888, 2889, 2894 and 2895 of ThinkPad R51 family are not supported.
- This program is language independent and can be used with any language system.
Additional information
Presentation Director allows you to create and edit display schemes that configure display device settings and system settings such as resolution screen savers and Power Management shut off timers.
Contents
Summary of changes
Installation instructions
Determining which version is installed


Summary of changes
Version 8.133.2.1.1.1-070206a-043154C
Driver version in Windows Device Manager
6.14.10.6547 Windows XP
6.14.10.6547 Windows 2000
  • (New) The external monitor resolution can be set to 1400x1050 without panning. -(Fix) Lowering the LCD refresh rate in battery mode causes the jitter on the LCD intermittently.
Click here for a complete list of changes fixed by this driver update.
Installation instructions
Note: Uninstall the ATI display driver before installing new drivers. See uninstallation instructions section below.
  1. Start Windows 2000 and XP and logon with administrative privileges.
  2. Extract the drivers to the hard drive.
  3. Click Start and then click Run.
  4. In the Run dialog window, type C:\DRIVERS\WIN\DISPLAY\SETUP.EXE to install the video driver. Click OK to start the installation process. If you extracted the files to a different location, specify that location instead.
  5. When the Welcome window appears, click Next.
  6. At the Software License Agreement screen, if you agree, click Yes.
  7. At the Setup Complete screen, select Yes, I want to restart my computer now.
  8. Click Finish, then reboot the system. 
Uninstallation instructions
  1. Start Windows 2000/XP and logon with administrative privileges.
  2. Click Control Panel.
  3. Double-click Add or Remove Programs.
  4. Select ATI - Software Uninstall Utility then click Change/Remove button.
  5. Click OK to continue to remove ATI related software.
  6. Click Yes to restart Windows.
Unattended install
Note: This is for system administrators' use only.
  1. Start Windows 2000 and XP and logon with administrative privileges.
  2. Extract this package onto the hard drive.
  3. Click Start then click Run.
  4. Type C:\DRIVERS\WIN\DISPLAY\SETUP.EXE /K -SMS and click OK.

Determining which version is installed
Windows XP
  1. Start Windows XP.
  2. Click Start and then click Control Panel.
  3. Click Appearance and Themes.
  4. Click Display.
  5. Select Settings.
  6. Click Advanced.
  7. Select Options. The version number is located in the Version Information field.
Windows 2000
  1. Click Start, select Settings, and then click Control Panel.
  2. Double-click the Display icon.
  3. Select the Settings tab.
  4. Click the Advance button.
  5. Select the Option tab. The Product Version contains the version information.

Key Benefits & Features of VPN Servers

Key Benefits & Features: 

Increase your online security

A VPN encrypts your internet traffic and stops hackers and eavesdroppers from intercepting your internet traffic (especially useful when connected to insecure networks such as public WiFi hotspots).
Anonymous internet identity

Once connected to a VPN server your online identity will be masked behind one of our anonymous IP addresses.

Government level security

The encryption standards we use are trusted by governments world-wide.
Bypass censorship

Say goodbye to internet limitations such as blocked websites, blocked ports and traffic shaping.
Works with all applications
Unlike a web proxy, a VPN will automatically work with all applications on your computer as a VPN tunnels your entire internet connection.
Virtually reside in another country
Change your online identity to appear as if you are currently in another country.
Easy to use
No technical experience is required to connect to VPN servers due to easy to provide software; simply enter your username and password and click connect!

Transform.cpp: implementation of the Transform class C++

// Transform.cpp: implementation of the Transform class.


#include "Transform.h"
#include <iostream>

//Please implement the following functions:

// Helper rotation function.
mat3 Transform::rotate(const float degrees, const vec3& axis) {
  mat3 alongMat = mat3(
 axis.x*axis.x, axis.x*axis.y, axis.x*axis.z,
 axis.x*axis.y, axis.y*axis.y, axis.y*axis.z,
 axis.x*axis.z, axis.y*axis.z, axis.z*axis.z
  );
  mat3 perpMat = mat3(
 0, axis.z, -axis.y,
 -axis.z, 0 , axis.x,
 axis.y, -axis.x, 0
  );
  return cos(glm::radians(degrees))*mat3(1.0) + (1-cos(glm::radians(degrees)))*alongMat + sin(glm::radians(degrees))*perpMat;
}

// Transforms the camera left around the "crystal ball" interface
void Transform::left(float degrees, vec3& eye, vec3& up) {
eye = eye * rotate(degrees, up);
up = up * rotate(degrees, up);
}

// Transforms the camera up around the "crystal ball" interface
void Transform::up(float degrees, vec3& eye, vec3& up) {
vec3 pivot = glm::normalize(glm::cross(up, eye));
eye = eye * rotate(degrees, pivot);
up = up * rotate(degrees, pivot);
}

// Your implementation of the glm::lookAt matrix
mat4 Transform::lookAt(vec3 eye, vec3 up) {
vec3 a = eye/*-vec3(4.0,5.1,3.2)*/;
vec3 b = up;
// eye = glm::normalize(eye);
vec3 w = a/glm::length(a);
vec3 u = glm::cross(b,w)/glm::length(glm::cross(b,w));
vec3 v = glm::cross(w,u);
mat4 M = mat4(
vec4(u.x,v.x,w.x,0),
vec4(u.y,v.y,w.y,0),
vec4(u.z,v.z,w.z,0),
vec4(
-u.x*eye.x-u.y*eye.y-u.z*eye.z,
-v.x*eye.x-v.y*eye.y-v.z*eye.z,
-w.x*eye.x-w.y*eye.y-w.z*eye.z,
1
)
);

  return M;
}

Transform::Transform()
{

}

Transform::~Transform()
{

}

C++ Sudoku Dancing Links Implementation

C++ Sudoku Dancing Links Implementation Program By Naim Hashmi


//Naim Hashmi, 2014
#include <iostream>
#include <vector>
#include <cstdlib>
#include <ctime>

using namespace std;

class Sudoku{
  private: // Dancing Links toroidal structures
    class header;
    class node{
    public:
      int row;
      node * up, * down, * left, * right;
      header * head;
    };
    class header : public node{
    public:
      int size;
      bool visible;
      header * left, * right;
    };
    int u, u2, u3, rowsNumber, columnsNumber, solutionsNumber, maxSolutionsNumber;
    header * root;
    vector<header> columns;
    vector<vector<node> > rows;
    vector<int> solutions;
   
public:
  Sudoku(int dimension) :
  u(dimension),
  u2(u*u),
  u3(u2*u2),
  rowsNumber(u3*u2),
  rows(rowsNumber, vector<node>(4, node())),
  columnsNumber(u3*4+1),
  columns(columnsNumber, header()),
  solutions(u3, 0)
  { // create the 729x324 matrix
    root = &(columns[u3*4]);
    for (int i = 0; i < columnsNumber; i++) {
      columns[i].up = &(columns[i]);
      columns[i].down = &(columns[i]);
      columns[i].left = &(columns[(i+columnsNumber-1)%columnsNumber]);
      columns[i].right = &(columns[(i+1)%columnsNumber]);
      columns[i].visible = true;
      columns[i].size = 0;
    }
    for (int i = 0; i < rowsNumber; i++) {
      int r = i/(u3), c = i%u3/u2, p = i%u2;
      for (int j = 0; j < 4; j++) {
int columnIndex;
// http://www.stolaf.edu/people/hansonr/sudoku/exactcover.htm
switch (j){
 case 0: // cell constraints
columnIndex = u3*j + r*u2+c;
break;
 case 1: //row constraints
columnIndex = u3*j + r*u2+p;
break;
 case 2: //column constraints
     columnIndex = u3*j + c*u2+p;
     break;
 case 3: //block constraints
     columnIndex = u3*j + (r/u*u+c/u)*u2+p;
     break;
}
rows[i][j].row = i;
rows[i][j].left = &(rows[i][(j+3)%4]);
rows[i][j].right = &(rows[i][(j+1)%4]);
rows[i][j].down = rows[i][j].head = &(columns[columnIndex]);
rows[i][j].up = columns[columnIndex].up;

columns[columnIndex].up->down = columns[columnIndex].up = &(rows[i][j]);
columns[columnIndex].size++;
      }
    }
  };
 
  void print(int * s){
    for (int i=0; i<u3; i++){
      if (i!=0 && i%(u*u2)==0){
cout << "\n";
for (int j=0; j<u; j++){
 for (int k=0; k<u*2+2*((j==0 || j==u-1) ? 1 : 2); k++) cout << "-";
 if (j!=u-1) cout << "+";
}
      }
      if      (i%u2==0) cout << "\n";
      else if (i%u==0) cout << "  \u007C  ";
     
      cout << s[i]  << " ";
    }
    cout << "\n";
  }
 
  int solver(int * grid, int max=1, bool fill=true){
    int i = 0;
    solutionsNumber = 0;
    maxSolutionsNumber = max;
    for (int j = 0; j<u3; j++){
      if (grid[j]) {
int rowIndex = j*u2+grid[j]-1;
if (rows[rowIndex][0].head->visible==false ||
 rows[rowIndex][1].head->visible==false ||
 rows[rowIndex][2].head->visible==false ||
 rows[rowIndex][3].head->visible==false) {
 return -1; // unvalid puzzle
 break;
 }
 for (int k = 0; k<4; k++)
   cover(rows[rowIndex][k].head);
 solutions[i++] = rowIndex;
      }
    }
    backtrack(i);
    if (solutionsNumber==0) return 0;
    if (fill)
      for (int j=0; j<u3; j++)
grid[solutions[j]/u2] = solutions[j]%u2+1;
   
    for (int j=i-1; j>=0; j--)
      for (int k=3; k>=0; k--)
uncover(rows[solutions[j]][k].head);
      return solutionsNumber;
  }
 
  int generator (int * grid, int numbers=-1, int limit=1000, int randomness = 100){
    for (int i=0; i<u3; i++)
      grid[i] = 0;
    solver(grid);
   
    srand((unsigned)time(0));
    for (int i=0; i<randomness; i++){
      int box = rand()%3, begin = rand()%3, end = rand()%3;
      if (rand()%2==0){
for (int j=0; j<u2; j++){
 int beginIndex = box*u2*u+begin*u2+j,
     endIndex = box*u2*u+end*u2+j;
 int t = grid[endIndex];
 grid[endIndex] = grid[beginIndex];
 grid[beginIndex] = t;
}
      }else{
for (int j=0; j<u2; j++){
 int beginIndex = box*u+j*u2+begin,
     endIndex = box*u+j*u2+end;
 int t = grid[endIndex];
 grid[endIndex] = grid[beginIndex];
 grid[beginIndex] = t;
}
      }  
    }
   
    if (numbers==-1) numbers = u3-u3/3;
    for (int i=0; i<numbers; i++){
      int t, r, c=0;
      do{
if (c!=0) grid[r] = t;
r = rand()%u3;
t = grid[r];
grid[r] = 0;
if (++c>limit) break;
      }while(solver(grid, 2, false)!=1);
    }
  }
 
private:
  void cover(header *column){ // cover a column and its nodes' rows
  column->visible = false;
  column->right->left = column->left;
  column->left->right = column->right;
  for (node *i = column->down; i!=column; i=i->down){
    for (node *j = i->right; j!=i; j=j->right) {
      j->down->up = j->up;
      j->up->down = j->down;
      j->head->size--;
    }
  }
  }
 
  void uncover(header *column){ // uncover a column and its nodes' rows
  column->visible = true;
  for (node *i = column->up; i!=column; i=i->up){
    for (node *j = i->left; j!=i; j=j->left) {
      j->head->size++;
      j->up->down = j;
      j->down->up = j;
    }
  }
    column->left->right = column;
  column->right->left = column;
  }
 
  void backtrack(int i){
    if (root->right == root) {
      solutionsNumber++;
      return;
    }
    header * column, * choosen = root->right;
  for (column = root->right; column!=root; column=column->right) {
    if (column->size < choosen->size)
      choosen = column;
    if (choosen->size==0) return;
  }
    cover(choosen);
    for (node *row = choosen->down; row!=choosen && solutionsNumber<maxSolutionsNumber; row=row->down) {
      if (solutionsNumber==0)
solutions[i] = row->row;
      for (node *j = row->right; j!=row; j=j->right)
cover(j->head);
      backtrack(i + 1);
      for (node *j = row->left; j!=row; j=j->left)
uncover(j->head);
    }
    uncover(choosen);
   
  }
 
};


int main(){
  int empty[81] = {
    0, 0, 0, 0,  0, 0,  0, 0, 0,
    0, 0, 0, 0,  0, 0,  0, 0, 0,
    0, 0, 0, 0,  0, 0,  0, 0, 0,
    0, 0, 0, 0,  0, 0,  0, 0, 0,
   
    0, 0, 0, 0,  0, 0,  0, 0, 0,
    0, 0, 0, 0,  0, 0,  0, 0, 0,
   
    0, 0, 0,  0, 0, 0,  0, 0, 0,
    0, 0, 0,  0, 0, 0,  0, 0, 0,
    0, 0, 0,  0, 0, 0,  0, 0, 0,
  };
  int minusthree[81] = {
    0, 0, 0,  0, 0, 0,  0, 0, 0,
    0, 2, 3,  0, 0, 0,  7, 8, 0,
    1, 0, 0,  4, 0, 6,  0, 0, 9,
   
    9, 0, 0,  0, 5, 0,  0, 0, 4,
    2, 0, 0,  0, 0, 0,  0, 0, 8,
    0, 1, 0,  0, 0, 0,  0, 3, 0,
   
    0, 0, 8,  0, 0, 0,  3, 0, 0,
    0, 0, 0,  2, 0, 9,  0, 0, 0,
    0, 0, 0,  0, 1, 0,  0, 0, 0
  };
  int heart[81] = {
    8, 7, 2,  0, 0, 9,  0, 0, 0,
    0, 0, 0,  0, 3, 0,  4, 0, 0,
    0, 0, 0,  0, 0, 1,  2, 0, 8,
   
    0, 0, 9,  0, 0, 0,  0, 8, 0,
    3, 0, 7,  0, 0, 0,  6, 0, 5,
    0, 2, 0,  0, 0, 0,  1, 0, 0,
   
    1, 0, 8,  2, 0, 0,  0, 0, 0,
    0, 0, 5,  0, 9, 0,  0, 0, 0,
    0, 0, 0,  1, 0, 0,  9, 5, 3
  };
 
  clock_t begin, end;
 
  begin = clock();
  Sudoku sudoku(3);
 
  cout << "Sudoku.solver\n";
  sudoku.print(heart);
  begin = clock();
  cout << "Working.." << "\n";
  int solutions = sudoku.solver(heart, 2);
  end = clock();
  sudoku.print(heart);
  cout << solutions
       << " solutions. Solved in " << ((double)(end - begin)*1000)/CLOCKS_PER_SEC << "\n";
 
 
  cout << "\n\nSudoku.generator\n";
  int mysudoku[81];
  begin = clock();
  cout << "Working.." << "\n";
  sudoku.generator(mysudoku);
  end = clock();
  sudoku.print(mysudoku);
  cout << "Generated in " << ((double)(end - begin)*1000)/CLOCKS_PER_SEC << "\n";
 
  begin = clock();
  cout << "Working.." << "\n";
  sudoku.solver(mysudoku);
  end = clock();
  sudoku.print(mysudoku);
  cout << solutions
       << " solutions. Solved in " << ((double)(end - begin)*1000)/CLOCKS_PER_SEC << "\n";
}

Circular Buffer Generic Implementation in C#

Circular Buffer Generic Implementation in C# By Naim Hashmi


using System;

/*  Circular Buffer Generic Implementation
    *  By Naim Hashmi
    *
    *   Fast and Lightweight, Generic Circular Buffer Implementation, supports for bidirectional rotations
    *   Free to use or modify! Just keep me on the comments!
    */


/// <summary>
/// Used to store a Circular Buffer of objects with a particular size, that rotates when an item is added to the collection.
/// </summary>
class CircularBuffer<T>
{
    /// <summary>
    /// Creates a new Circular Buffer with the specified Capacity
    /// </summary>
    /// <param name="capacity">Total elements that can be stored inside the buffer before it starts discarding items</param>
    public CircularBuffer(int capacity)
    {
        plainBuffer = new T[capacity];
        _startIndex = 0;
    }

    private T[] plainBuffer;
    private int _startIndex; // Stores the start of the Circular Buffer

    /// <summary>
    /// Stores the current Capacity of this Buffer
    /// </summary>
    public int Capacity
    {
        get { return plainBuffer.Length; }
    }

    /// <summary>
    /// Returns the item that is stored on the specified Index inside the Circular Buffer
    /// </summary>
    /// <param name="index">Index of the Item to be returned</param>
    /// <returns>The object value stored on the specified index</returns>
    public T ElementAt(int index)
    {
        if ((index >= plainBuffer.Length) || (index < 0))
            throw new IndexOutOfRangeException();

        index += _startIndex;

        if (index >= plainBuffer.Length)
            index -= plainBuffer.Length;

        return plainBuffer[index];
    }

    /// <summary>
    /// Returns an array with the full content of the actual Circular Buffer
    /// </summary>
    /// <returns></returns>
    public T[] ToArray()
    {
        int i;
        T[] output = new T[plainBuffer.Length];

        for (i = 0; i < plainBuffer.Length; i++)
        {
            output[i] = ElementAt(i);
        }

        return output;
    }

    /// <summary>
    /// Inserts a new item inside the Circular Buffer and rotates the entire structure by one step forwards
    /// </summary>
    /// <param name="newItem">New item to be inserted into the Circular Buffer</param>
    public void Insert(T newItem)
    {
        if (_startIndex == 0)
            _startIndex = plainBuffer.Length - 1;
        else
            _startIndex--;

        plainBuffer[_startIndex] = newItem;
    }

    /// <summary>
    /// Inserts a new item inside the Circular Buffer and rotates the entire structure by one step backwards
    /// </summary>
    /// <param name="newItem">New item to be inserted into the Circular Buffer</param>
    public void InsertBackwards(T newItem)
    {
        plainBuffer[_startIndex] = newItem;

        if (_startIndex == plainBuffer.Length - 1)
            _startIndex = 0;
        else
            _startIndex++;
    }
}

Ontrack EasyRecovery Enterprise 11.0.1.0 (x86x64) Software Advantages

Ontrack EasyRecovery Software Advantages:

Network support for recovering remote systems (Enterprise Edition)
Hardware RAID and software RAID recovery, including stripe sets and mirrored drives (Enterprise Edition)
Recovers data from disk image files (Encase E01,RAW, AFF and Winhex) (Enterprise and Professional Editions)
Easy-to-use with a fully automated wizard that walks the user through the program
Data protection through standard write system API, which minimizes the chance of disk corruption
Recovers data from FAT12, FAT16, FAT32, NTFS and NTFS 5 file systems
Recovers data from HFS/HFS+, HFS+, HFSX and HFS Wrapper file systems
Recovers from an emptied recycle bin, command line and from within System Explorer
size limitations associated with DOS-based programs
Formatted drive recovery
Lost partition recovery
Recovers files based on a unique signature allowing for recovery from RAW data
Recovers from all types of digital media, HDD/SSD drives, flash memory devices, external USB media and all other types of removable media
Allows for the preview of files before recovery
Supports SATA/IDE/SCSI
Supports CD/DVD media recovery (ISO9660/UDF combined with ISO9660) and Oracle® Linux media (Ext2/3)
Allows the user to view a selected e-mail database, and shows both existing and deleted e-mails for printing or saving to a hard disk (Advanced tools)
View the selected disk in a hex editor and search manually for data. Choose this option to view the selected disk contents by the help of a hex viewer. It allows you to search the disk by hex patterns (Advanced tools)
Gives the user a graphical representation of the selected disk, including bad blocks, used blocks and free blocks. Displays the hard disk S.M.A.R.T. attributes, which allows the user to monitor the drive parameters, such as disk temperature, power-on hours, error rates, etc. This allows the user to monitor the health of the storage system and any pending failures (Advanced tools)
Restore any disk image file back to the selected disk (Advanced tools)
Copy the selected disk to another disk (Advanced tools)
Allows for archive media to rewrite and verify data blocks. Hard disk drives are designed to be used regularly, not stored on a shelf for months or years. The magnetic strength of the digital bits recorded on a drive slowly decays when that drive is disconnected from a computer. After many months, this effect can cause data files to fade, sometimes becoming unreadable (Advanced tools)
OS : Microsoft Windows® 95, Microsoft Windows® 98, Microsoft Windows® NT, Microsoft Windows® ME, Microsoft Windows® 2000, Microsoft Windows® XP, Microsoft Windows® Vista , Microsoft Windows® 2003, Microsoft Windows® 7/Windows 8 all versions of Microsoft Windows® Server
Language : Multilingual

How to recover Git objects damaged by hard disk failure

error: .git/objects/pack/pack-6863e0a0e4b4ded6090fac5d12eba6ca7346b19c.pack SHA1 checksum mismatch
error: index CRC mismatch for object 6c8cae4994b5ec7891ccb1527d30634997a978ee from .git/objects/pack/pack-6863e0a0e4b4ded6090fac5d12eba6ca7346b19c.pack at offset 97824129
error: inflate: data stream error (invalid code lengths set)
error: cannot unpack 6c8cae4994b5ec7891ccb1527d30634997a978ee from .git/objects/pack/pack-6863e0a0e4b4ded6090fac5d12eba6ca7346b19c.pack at offset 97824129
error: inflate: data stream error (invalid stored block lengths)
error: failed to read object 0dcf6723cc69cc7f91d4a7432d0f1a1f05e77eaa at offset 276988017 from .git/objects/pack/pack-6863e0a0e4b4ded6090fac5d12eba6ca7346b19c.pack
fatal: object 0dcf6723cc69cc7f91d4a7432d0f1a1f05e77eaa is corrupted

mv .git/objects/pack/* <somewhere>
for i in <somewhere>/*.pack; do
  git unpack-objects -r < $i
done
rm <somewhere>/*

git cat-file -t 6c8cae4994b5ec7891ccb1527d30634997a978ee

# Unpack last non-corrupted pack
$ mv .git/objects/pack .git/objects/pack.old
$ git unpack-objects -r < .git/objects/pack.old/pack-012066c998b2d171913aeb5bf0719fd4655fa7d0.pack
$ git log
fatal: bad object HEAD
$ cat .git/HEAD
ref: refs/heads/master
$ ls .git/refs/heads/
$ cat .git/packed-refs
# pack-refs with: peeled
aa268a069add6d71e162c4e2455c1b690079c8c1 refs/heads/master
$ git fsck --full
error: HEAD: invalid sha1 pointer aa268a069add6d71e162c4e2455c1b690079c8c1
error: refs/heads/master does not point to a valid object!
missing blob 75405ef0e6f66e48c1ff836786ff110efa33a919
missing blob 27c4611ffbc3c32712a395910a96052a3de67c9b
dangling tree 30473f109d87f4bcde612a2b9a204c3e322cb0dc
# Copy HEAD object from backup of repository
$ cp repobackup/.git/objects/aa/268a069add6d71e162c4e2455c1b690079c8c1 .git/objects/aa
# Now copy all missing objects from backup of repository and run "git fsck --full" afterwards
# Repeat until git fsck --full only reports dangling objects
# Now garbage collect repo
$ git gc
warning: reflog of 'HEAD' references pruned commits
warning: reflog of 'refs/heads/master' references pruned commits
Counting objects: 3992, done.
Delta compression using 2 threads.
fatal: object bf1c4953c0ea4a045bf0975a916b53d247e7ca94 inconsistent object length (6093 vs 415232)
error: failed to run repack
# Check reflogs...
$ git reflog
# ...then clean
$ git reflog expire --expire=0 --all
# Now garbage collect again
$ git gc      
Counting objects: 3992, done.
Delta compression using 2 threads.
Compressing objects: 100% (3970/3970), done.
Writing objects: 100% (3992/3992), done.
Total 3992 (delta 2060), reused 0 (delta 0)
Removing duplicate objects: 100% (256/256), done.
# Done!

Factors Makes ON Page Optimization better ?

In On Page Optimization there are some important factors like

1.                   Title TagThe <titletag is required in all HTML documents and it defines the title of the  document.
2.                   Meta tag : Meta elements are tags used in HTML or XHTML documents to provide structured    metadata about a Web page.
3.                   Keyword : Keyword research is one of the most important, valuable, and high return activities in the search marketing field.
4.                   Sitemapsite map (or sitemap) is a list of pages of a web site accessible to crawlers or       users. 
5.                   Images   : An image (from Latin: imago) is an artifact that depicts or records visual perception.

6.                   Internal linkingInternal Links are hyperlinks that point at (target) the same domain as the       domain that the link exists on (source).

            7.          Bread crumb  : A Web site navigation technique. Bread crumbs typically appear horizontally           near the top of a Web page, providing links back to each previous page

What is White Hat Seo ? It's techniques ?

White hat seo is a technique in which we used fresh,good contents in our site.Never used any kind of duplicate contents in it.It is the best method to get high ranking on the Search Engine..

                                         White hat techniques
·                     Quality contents
·                     Titles and Meta data
·                     Keyword research and Effective keyword use
·                     Quality inbound links


Note:- Best technique for SEO.

What is Black hat and it's techniques ?

Black hat seo is technique in which we use duplicate issues like content,photos, video,hidden links,keyword stuffing doorway pages and many other.It is not good for our site because when Google starts its crawling it considered the site is full of duplicate issues and he penalized the site minimum +30 Google page ranking

                                           Black hat techniques
·                     hidden link
·                     keyword stuffing
·                     doorway pages
·                     incorrect keyword 
·                     link farming 
·                     mirror side

Note:- For Best seo this technique is not good avoid this technique.

Factors makes Off Page Optimization better ?

In Off Page Optimization there are some important factors like


1.                   Directory Submission 
2.                   Artical Submission
3.                   Press Release
4.                   Blog Writing/posting/creation
5.                   Classified Submission

6.                   Social  Media

What is keyword density ? in SEO

Keyword density make your content stand out in crowd. 
Search Engine Optimization (SEO)


        Here is important formula of keyword density 

                                            =        _      Total no of keyword                x  100
                                                      Total no of words in your artical


Search Engine Optimization (SEO)

My SEO interview questions and answers ?

What you know about SEO ?

Ans.It is process of getting traffic from free and paid listing on the search engine like.
·                     google
·                     yahoo

·                     bing

How to get top position in SEO ?

Ans. With the help of two factors we get top position in Search Engine
A) ON PAGE OPTIMIZATION
B)OFF PAGE OPTIMIZATION

What do you know about ON Page Optimization ?

Ans. Where we need to work on On page of our site and we can make changes on title tag, meta tag,site structure and site content, links and keyword.And On page optimization we need to work also on logical factors.

What do you know about Off Page Optimization ?

Ans.Off page optimization means we can work on important factors like directory submission,link building,social media and fresh content.And Off page optimization we don't need to work on logical abilities.

Do you know about latest update in SEO ?

Ans.Yes Sir i know about latest updates in SEO
1) Panda
2) penguin  

What is the latest  Panda update ?                                                               

Ans. The Panda  is for improve the search result in Google.The latest panda version is 2.5.3 . All the focus was transformed on the user and now quality content , proper design, proper speed, proper use of images and videos, content to ad  ratio all mattered more after the Panda update.

Pages