Validate a Server can be an important task when you are going to install a commercial applications with license only for specified servers. To validate a server we have to identify unique attributes related to servers. We can find unique attributes for a server both from software and hardware levels. Hardware level validation can be more reliable than software level since software level data can be easily fraudulently changed than the hardaware level data. But your selection may dependent on your requirements.
With this post I am describing how you can validate a server with hardware information. Simply you can access to Systems' hardware informations. As an example in Linux operating systems you can execute "dmidecode" and get the system information list (you can implement an application to execute those command programmatically using any programming language).
Then you can identify unique data elements related to a server like Serial Key, UUID, MAC etc.
You have to do a strign manipulation and retrive the those required values from the System information list.
Then for the best security we can encrypt that value and also create a hash value from it. Now, we have a pre created and authenticated hash value. When ever we need to validate the server, what we have to do is dynamically create the hash value and compare with our stored pre-validated hash value.
If the two hashes are equal then the server validation is passed. If not server validation is false.
Sunday, August 24, 2014
Thursday, July 3, 2014
How to update a table when there is a Foreign Key Constraint
When there is a foriegn key constraint, tables cannot be updated easily in MySQL. A solution for that is disable the foreign key constraint option in the particular MySQL server and do the update. Finally we can enable the foreign key constraint in the particular MySQL server. An important thing to remember is when you disable the foreign key constarint in the server, it affects to each and every table in the MySQL server.
//Disable the foreign key constraint option SET FOREIGN_KEY_CHECKS=0 //Enable the foreign key constraint option SET FOREIGN_KEY_CHECKS=1 //Check the state of the foreign key option in the MySQL server //0 means Disabled, 1 means Enabled SELECT @@FOREIGN_KEY_CHECKS
Saturday, May 10, 2014
How to copy a file from a remote server via SSH using commands
Terminal Syntax
Example Command
scp user_name_of_remote_server@IP_of_remote_server:absolute_location_of_the_file_to_copy absolute_path_to_directory_to_where_to_copy
Example Command
scp root@xxx.xxx.xxx.xxx:/root/Desktop/LOGSERVEER/backup_final/file_to_be_copy.txt /home/directory_where_to_copy
Saturday, April 26, 2014
Shell script to record linux top to a text file continuously after a given time
We can record the whole top or a specific process with a process ID or process name. You can customize this code with existing shell commands related to linux shell command options relate with top "top".
Refer to http://linux.about.com/od/commands/l/blcmdl1_top.htm
Replace
[1] with the name of the process.
[2] with the name of the text file where the output is need to be recorded.
If you need to track the process just with the process id use below script.
Replace
[3] with the id of the process.
To start this batch process via shell type
Replace
[1] with the name of the process.
[2] with the name of the text file where the output is need to be recorded.
while [ 1 ] do
top -n 1 -p $(pidof firefox[1]) -b >> topoutput.txt[2] sleep 0.1 done If you need to track the process just with the process id use below script.
Replace
[3] with the id of the process.
while [ 1 ] do
top -n 1 -p 2304[3] -b >> topoutput.txt[2] sleep 0.1 done
Write above codes with your favourite text editor and save it with .shTo start this batch process via shell type
bash <file name of the shell script>.sh
Tuesday, April 22, 2014
How to convert tuple to list in Erlang
Just use the
Example :-
tuple_to_list() Example :-
tuple_to_list({udara,sisila,praveena,akila})
Saturday, April 5, 2014
Simple check box list in Android
From this post I am going to describe a simple way to design a custom check box list for an Android application. I have presented
- AllergyFood.java- Which is the activity that included the check box list
- allergy_food.xml- Which is the layout file for check box list
- strings.xml- Which is the resource file that used for extract the values for the check box list.
What I am doing here is cerating a custom check box list with the values from the string.xml. Then let the user to put checks for their prefered values. Finally all the selected values will be stored in a string array by a button click event.
- User interface is looks like below image.
- strings.xml file is included below string array.
<string-array name="allergy_foods">
<item>Peanut</item>
<item>Tree Nut</item>
<item >Milk</item>
<item>Egg</item>
<item>Soy</item>
<item >Wheat</item>
<item>Fish</item>
<item>Shell Fish</item>
<item >Tomato</item>
<item >Strawberry</item>
</string-array> - allergy_food.xml Layout file for check box list
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="332dp"
android:layout_weight="3.38" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Next Step" />AllergyFood.java Activity file that is included the check box list layout
import android.app.ListActivity;import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListAdapter;
import android.widget.ListView;import android.content.Intent; public class AllergyFood extends ListActivity{String checkedValues=""; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.allergy_food);
setListAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice,getResources().getStringArray(R.array.allergy_foods)));
Button nextStep=(Button) findViewById(R.id.button1); final ListView listView1=(ListView) findViewById(android.R.id.list);
listView1.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); listView1.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3){
int counter=0;
checkedValues="";
while(listView1.getCheckedItemPositions().size()>counter){ if(listView1.getCheckedItemPositions().valueAt(counter)==true) { checkedValues=checkedValues+"|"+listView1.getItemAtPosition(counter);
}
counter++;
}
}
});}
Sunday, March 30, 2014
A method to sort an primitive type array to descending order in JAVA
public void sortDescending(double[]numbers){
System.out.println("Array values in descending order ......");
Double[] objDouble=new Double[11]; // Double object array initialization
for(int counter=0;counter<11;counter++){
objDouble[counter]=Double.valueOf(numbers[counter]); // Converts the primitive type values of the primitive array into object type and assigning to the Double object array
}
Arrays.sort(objDouble,Collections.reverseOrder()); //Sort the Double object array
for(Double nums:objDouble){
System.out.println(nums);
}
}
Subscribe to:
Posts (Atom)