Friday, October 16, 2009
Reading and Writing a pointer of continously memory to the file in C
FILE * hFile;
//************************
char *_fileName;
_fileName = getenv("USER");
char buffer[200];
struct timeval tv;
time_t curtime;
gettimeofday(&tv, NULL);
curtime=tv.tv_sec;
strftime(buffer,30,"%Y%m%d_%H%M",localtime(&curtime));
//"%m-%d-%Y %T"
strcat(_fileName,"_");
strcat(_fileName,buffer);
strcat(_fileName,".bak");
//*******************************
hFile = fopen( _fileName, "w");
if (hFile == NULL){
// Error, file not found
printf("*** Failed to open the file ***\n");
return FAILED;
}//end of if
else{
// Process & close file
int nWritten = fwrite(allocatedMem, sizeof(unsigned char), (200*sizeof(SmsDB))+((75)*sizeof(unsigned char))+((200*3)*sizeof(dBlock)), hFile);
printf("*** Taking backup ***\n");
fclose(hFile);
}//end of else
return SUCCESS;
}//end of backItUp()
int _readItUp(){
FILE * hFile;
hFile = fopen( ___fileName, "r");
if (hFile == NULL){
// Error, file not found
printf("*** Failed to open the file ***\n");
return FAILED;
}//end of if
else{
// Process & close file
int nRead = fread(allocatedMem, sizeof(unsigned char), (200*sizeof(SmsDB))+((75)*sizeof(unsigned char))+((200*3)*sizeof(dBlock)), hFile);
fclose(hFile);
}//end of else
return SUCCESS;
}//end of _readItUp()
CTRL+D and CTRL+L signal handling
Code:
#include
int main()
{
char c;
printf("Write: ");
scanf("%c", &c);
if(c == 0x0C) printf("ctrl+L was entered\n");
return 1;
}
#include
int main()
{
char c;
printf("Write: ");
scanf("%c", &c);
if(c == 0x04) printf("ctrl+D was entered\n");
return 1;
}
ASCII Character Chart with Decimal, Binary and Hexadecimal Conversions
Character Name | Char | Code | Decimal | Binary | Hex |
Null | NUL | Ctrl @ | 0 | 00000000 | 00 |
Start of Heading | SOH | Ctrl A | 1 | 00000001 | 01 |
Start of Text | STX | Ctrl B | 2 | 00000010 | 02 |
End of Text | ETX | Ctrl C | 3 | 00000011 | 03 |
End of Transmit | EOT | Ctrl D | 4 | 00000100 | 04 |
Enquiry | ENQ | Ctrl E | 5 | 00000101 | 05 |
Acknowledge | ACK | Ctrl F | 6 | 00000110 | 06 |
Bell | BEL | Ctrl G | 7 | 00000111 | 07 |
Back Space | BS | Ctrl H | 8 | 00001000 | 08 |
Horizontal Tab | TAB | Ctrl I | 9 | 00001001 | 09 |
Line Feed | LF | Ctrl J | 10 | 00001010 | 0A |
Vertical Tab | VT | Ctrl K | 11 | 00001011 | 0B |
Form Feed | FF | Ctrl L | 12 | 00001100 | 0C |
Carriage Return | CR | Ctrl M | 13 | 00001101 | 0D |
Shift Out | SO | Ctrl N | 14 | 00001110 | 0E |
Shift In | SI | Ctrl O | 15 | 00001111 | 0F |
Data Line Escape | DLE | Ctrl P | 16 | 00010000 | 10 |
Device Control 1 | DC1 | Ctrl Q | 17 | 00010001 | 11 |
Device Control 2 | DC2 | Ctrl R | 18 | 00010010 | 12 |
Device Control 3 | DC3 | Ctrl S | 19 | 00010011 | 13 |
Device Control 4 | DC4 | Ctrl T | 20 | 00010100 | 14 |
Negative Acknowledge | NAK | Ctrl U | 21 | 00010101 | 15 |
Synchronous Idle | SYN | Ctrl V | 22 | 00010110 | 16 |
End of Transmit Block | ETB | Ctrl W | 23 | 00010111 | 17 |
Cancel | CAN | Ctrl X | 24 | 00011000 | 18 |
End of Medium | EM | Ctrl Y | 25 | 00011001 | 19 |
Substitute | SUB | Ctrl Z | 26 | 00011010 | 1A |
Escape | ESC | Ctrl [ | 27 | 00011011 | 1B |
File Separator | FS | Ctrl \ | 28 | 00011100 | 1C |
Group Separator | GS | Ctrl ] | 29 | 00011101 | 1D |
Record Separator | RS | Ctrl ^ | 30 | 00011110 | 1E |
Unit Separator | US | Ctrl _ | 31 | 00011111 | 1F |
Space | 32 | 00100000 | 20 | ||
Exclamation Point | ! | Shift 1 | 33 | 00100001 | 21 |
Double Quote | " | Shift ‘ | 34 | 00100010 | 22 |
Pound/Number Sign | # | Shift 3 | 35 | 00100011 | 23 |
Dollar Sign | $ | Shift 4 | 36 | 00100100 | 24 |
Percent Sign | % | Shift 5 | 37 | 00100101 | 25 |
Ampersand | & | Shift 7 | 38 | 00100110 | 26 |
Single Quote | ‘ | ‘ | 39 | 00100111 | 27 |
Left Parenthesis | ( | Shift 9 | 40 | 00101000 | 28 |
Right Parenthesis | ) | Shift 0 | 41 | 00101001 | 29 |
Asterisk | * | Shift 8 | 42 | 00101010 | 2A |
Plus Sign | + | Shift = | 43 | 00101011 | 2B |
Comma | , | , | 44 | 00101100 | 2C |
Hyphen / Minus Sign | - | - | 45 | 00101101 | 2D |
Period | . | . | 46 | 00101110 | 2E |
Forward Slash | / | / | 47 | 00101111 | 2F |
Zero Digit | 0 | 0 | 48 | 00110000 | 30 |
One Digit | 1 | 1 | 49 | 00110001 | 31 |
Two Digit | 2 | 2 | 50 | 00110010 | 32 |
Three Digit | 3 | 3 | 51 | 00110011 | 33 |
Four Digit | 4 | 4 | 52 | 00110100 | 34 |
Five Digit | 5 | 5 | 53 | 00110101 | 35 |
Six Digit | 6 | 6 | 54 | 00110110 | 36 |
Seven Digit | 7 | 7 | 55 | 00110111 | 37 |
Eight Digit | 8 | 8 | 56 | 00111000 | 38 |
Nine Digit | 9 | 9 | 57 | 00111001 | 39 |
Colon | : | Shift ; | 58 | 00111010 | 3A |
Semicolon | ; | ; | 59 | 00111011 | 3B |
Less-Than Sign | < | Shift , | 60 | 00111100 | 3C |
Equals Sign | = | = | 61 | 00111101 | 3D |
Greater-Than Sign | > | Shift . | 62 | 00111110 | 3E |
Question Mark | ? | Shift / | 63 | 00111111 | 3F |
At Sign | @ | Shift 2 | 64 | 01000000 | 40 |
Capital A | A | Shift A | 65 | 01000001 | 41 |
Capital B | B | Shift B | 66 | 01000010 | 42 |
Capital C | C | Shift C | 67 | 01000011 | 43 |
Capital D | D | Shift D | 68 | 01000100 | 44 |
Capital E | E | Shift E | 69 | 01000101 | 45 |
Capital F | F | Shift F | 70 | 01000110 | 46 |
Capital G | G | Shift G | 71 | 01000111 | 47 |
Capital H | H | Shift H | 72 | 01001000 | 48 |
Capital I | I | Shift I | 73 | 01001001 | 49 |
Capital J | J | Shift J | 74 | 01001010 | 4A |
Capital K | K | Shift K | 75 | 01001011 | 4B |
Capital L | L | Shift L | 76 | 01001100 | 4C |
Capital M | M | Shift M | 77 | 01001101 | 4D |
Capital N | N | Shift N | 78 | 01001110 | 4E |
Capital O | O | Shift O | 79 | 01001111 | 4F |
Capital P | P | Shift P | 80 | 01010000 | 50 |
Capital Q | Q | Shift Q | 81 | 01010001 | 51 |
Capital R | R | Shift R | 82 | 01010010 | 52 |
Capital S | S | Shift S | 83 | 01010011 | 53 |
Capital T | T | Shift T | 84 | 01010100 | 54 |
Capital U | U | Shift U | 85 | 01010101 | 55 |
Capital V | V | Shift V | 86 | 01010110 | 56 |
Capital W | W | Shift W | 87 | 01010111 | 57 |
Capital X | X | Shift X | 88 | 01011000 | 58 |
Capital Y | Y | Shift Y | 89 | 01011001 | 59 |
Capital Z | Z | Shift Z | 90 | 01011010 | 5A |
Left Bracket | [ | [ | 91 | 01011011 | 5B |
Backward Slash | \ | \ | 92 | 01011100 | 5C |
Right Bracket | ] | ] | 93 | 01011101 | 5D |
Caret | ^ | Shift 6 | 94 | 01011110 | 5E |
Underscore | _ | Shift - | 95 | 01011111 | 5F |
Back Quote | ` | ` | 96 | 01100000 | 60 |
Lower-case A | a | A | 97 | 01100001 | 61 |
Lower-case B | b | B | 98 | 01100010 | 62 |
Lower-case C | c | C | 99 | 01100011 | 63 |
Lower-case D | d | D | 100 | 01100100 | 64 |
Lower-case E | e | E | 101 | 01100101 | 65 |
Lower-case F | f | F | 102 | 01100110 | 66 |
Lower-case G | g | G | 103 | 01100111 | 67 |
Lower-case H | h | H | 104 | 01101000 | 68 |
Lower-case I | I | I | 105 | 01101001 | 69 |
Lower-case J | j | J | 106 | 01101010 | 6A |
Lower-case K | k | K | 107 | 01101011 | 6B |
Lower-case L | l | L | 108 | 01101100 | 6C |
Lower-case M | m | M | 109 | 01101101 | 6D |
Lower-case N | n | N | 110 | 01101110 | 6E |
Lower-case O | o | O | 111 | 01101111 | 6F |
Lower-case P | p | P | 112 | 01110000 | 70 |
Lower-case Q | q | Q | 113 | 01110001 | 71 |
Lower-case R | r | R | 114 | 01110010 | 72 |
Lower-case S | s | S | 115 | 01110011 | 73 |
Lower-case T | t | T | 116 | 01110100 | 74 |
Lower-case U | u | U | 117 | 01110101 | 75 |
Lower-case V | v | V | 118 | 01110110 | 76 |
Lower-case W | w | W | 119 | 01110111 | 77 |
Lower-case X | x | X | 120 | 01111000 | 78 |
Lower-case Y | y | Y | 121 | 01111001 | 79 |
Lower-case Z | z | Z | 122 | 01111010 | 7A |
Left Brace | { | Shift [ | 123 | 01111011 | 7B |
Vertical Bar | | | Shift \ | 124 | 01111100 | 7C |
Right Brace | } | Shift ] | 125 | 01111101 | 7D |
Tilde | ~ | Shift ` | 126 | 01111110 | 7E |
Delta | D | 127 | 01111111 | 7F |
Wednesday, October 14, 2009
Printing char value in binary mode at C programing language
printf("%c%c%c%c%c%c%c%c",
(bitMap[i]&0x80)?'1':'0',
(bitMap[i]&0x40)?'1':'0',
(bitMap[i]&0x20)?'1':'0',
(bitMap[i]&0x10)?'1':'0',
(bitMap[i]&0x08)?'1':'0',
(bitMap[i]&0x04)?'1':'0',
(bitMap[i]&0x02)?'1':'0',
(bitMap[i]&0x01)?'1':'0');
Monday, October 12, 2009
VHDL Operators
abs absolute value, abs numeric, result numeric
not complement, not logic or boolean, result same
* multiplication, numeric * numeric, result numeric
/ division, numeric / numeric, result numeric
mod modulo, integer mod integer, result integer
rem remainder, integer rem integer, result integer
+ unary plus, + numeric, result numeric
- unary minus, - numeric, result numeric
+ addition, numeric + numeric, result numeric
- subtraction, numeric - numeric, result numeric
& concatenation, array or element & array or element,
result array
sll shift left logical, logical array sll integer, result same
srl shift right logical, logical array srl integer, result same
sla shift left arithmetic, logical array sla integer, result same
sra shift right arithmetic, logical array sra integer, result same
rol rotate left, logical array rol integer, result same
ror rotate right, logical array ror integer, result same
= test for equality, result is boolean
/= test for inequality, result is boolean
< test for less than, result is boolean
<= test for less than or equal, result is boolean
> test for greater than, result is boolean
>= test for greater than or equal, result is boolean
and logical and, logical array or boolean, result is same
or logical or, logical array or boolean, result is same
nand logical complement of and, logical array or boolean, result is same
nor logical complement of or, logical array or boolean, result is same
xor logical exclusive or, logical array or boolean, result is same
xnor logical complement of exclusive or, logical array or boolean, result is same
Source
Sunday, October 11, 2009
Keyboard shortcuts for Copy, Cut and Paste
Cut keyboard shortcut : Ctrl + x
Paste keyboard shortcut : Ctrl + v
you have to hold Ctrl keyboard and then press the following key ...
Thursday, October 08, 2009
Find Your Mac OS X Version
- From the Apple menu, select About This Mac.
- The version number will appear in the window.

Source for both picture & text(http://www.cmu.edu)
Wednesday, September 30, 2009
chmod Recursive permission change (i.e. in the directory and its sub-directories)
chmod -R 777 (folder name)
in case you got the error that you do not have permission, you have to login as root(su command and then password)at Ubuntu run :
sudo chmod -R 777 (folder name)
Tuesday, September 29, 2009
compiling and installing software from Source Code
Typically applications you must compile from source will come as a ".tar.gz", ".tar.bz2", or ".zip" file.
You'll probably want to operate from inside your home directory. If your user is (for example) username, your home directory will be /home/username/. For the rest of this section we will assume you have downloaded your zip file to /home/username/src. If you do not have a src directory, you can create it with the following "mkdir" (make directory) command:
mkdir /home/username/src/
Change to the /home/username/src/ directory with the "cd" (change directory) command like so:
cd /home/username/src/
ls
We now need to unzip the zipped file, this is done differently depending on the file extension.
for files ending in .tar.gz, use:
tar -zxvf
for files ending in .tar.bz2, use:
tar -jxvf
unzip
ls
cd
This is where things will differ. Some packages will have an INSTALL or README file which will contain installation instructions. use "ls" to see if the software has an install or readme file. If it does have one, you can use the "more" command to read it, like so:
more INSTALL
- Configure the installation
- Compile the software
- Install the binaries
The pre-installation configuration is done by executing ./configure:
./configure
The next stage is to compile the software, this is done using "make". When you run "make" it will read the instructions in the Makefile and build the application binaries.
make
The final stage is to install these binaries, ie, copy them to a more permanent location. Typically only the "root" user can do this, so you will need to swich to the root user with the "su" command:
su
make install
Remember that if you have any problems, please post in the most relevant section of the forums. - When posting, remember to include as much info as possible, including all output and error messages.
SOURCE
Special characters, Java ...
/********************************************
*********************************************
********** Special Char check ***************
*********************************************
********************************************/
public void checkSpecialChar(String aText){
Char character = aText.charAt(0);
if (character == '<') {
System.out.println(aText);
}
else if (character == '>') {
System.out.println(aText);
}
else if (character == '&') {
System.out.println(aText);
}
else if (character == '\"') {
System.out.println(aText);
}
else if (character == '\t') {
System.out.println(aText);
}
else if (character == '!') {
System.out.println(aText);
}
else if (character == '#') {
System.out.println(aText);
}
else if (character == '$') {
System.out.println(aText);
}
else if (character == '%') {
System.out.println(aText);
}
else if (character == '\'') {
System.out.println(aText);
}
else if (character == '(') {
System.out.println(aText);
}
else if (character == ')') {
System.out.println(aText);
}
else if (character == '*') {
System.out.println(aText);
}
else if (character == '+') {
System.out.println(aText);
}
else if (character == ',') {
System.out.println(aText);
}
else if (character == '-') {
System.out.println(aText);
}
else if (character == '.') {
System.out.println(aText);
}
else if (character == '/') {
System.out.println(aText);
}
else if (character == ':') {
System.out.println(aText);
}
else if (character == ';') {
System.out.println(aText);
}
else if (character == '=') {
System.out.println(aText);
}
else if (character == '?') {
System.out.println(aText);
}
else if (character == '@') {
System.out.println(aText);
}
else if (character == '[') {
System.out.println(aText);
}
else if (character == '\\') {
System.out.println(aText);
}
else if (character == ']') {
System.out.println(aText);
}
else if (character == '^') {
System.out.println(aText);
}
else if (character == '_') {
System.out.println(aText);
}
else if (character == '`') {
System.out.println(aText);
}
else if (character == '{') {
System.out.println(aText);
}
else if (character == '|') {
System.out.println(aText);
}
else if (character == '}') {
System.out.println(aText);
}
else if (character == '~') {
System.out.println(aText);
}
else {
//the char is not a special one
//add it to the result as is
System.out.println(aText);
}
}//end of checkSpecialChar(String )
/********************************************
*********************************************
******* End of Special Char check **********
*********************************************
********************************************/
Edited from this source
You dont need to boot to check your eamil, FAST LINUX
The objective is not to replace the main operating system, which in most cases is still Microsoft Windows, but to enable users to perform common tasks, such as checking email, browsing the Internet, or making a VoIP call immediately after turning on the computer, without the painful process of waiting for the regular OS to be fully up and running.
ASUS has been adopting Splashtop early on and includes it now on most of its motherboards. It is incorporated in the flash memory firmware. Besides the Linux kernel, this includes drivers, networking tools, and various frequently used applications.
Saturday, September 26, 2009
RAR @ Fedora ...
By default, Rar is not available in Fedora 10. If all you need to do is extract files from a Rar archive, unrar from RPM Fusion's YUM repositories will work. If you need to create Rar archives, then you will have to download and install the complete Rar package from DAG. The instructions below show you how.
Only Need to Extract Files?
First, install RPM Fusion's free and nonfree YUM repositories. For detailed information about installing RPM Fusion, see: http://rpmfusion.org/Configuration
su -c "rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm"
su -c "rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm"
Next, install the unrar packages from RPMFusion's nonfree repository.
su -c "yum install unrar"
Done! You now have unrar in /usr/bin/unrar. This binary can only extract files from Rar archives. Use this command to see all available options:
/usr/bin/unrar -?
Need to Create Rar Archives?
First, download the source RPM from DAG: http://dag.wieers.com/rpm/packages/rar
wget -c http://dag.wieers.com/rpm/packages/rar/rar-3.5.1-1.rf.src.rpm
Now, install the source RPM. This will create a $HOME/rpmbuild tree. Please note that you do not need to be root.
rpm -iv rar-3.5.1-1.rf.src.rpm
Next, build a binary package in $HOME/rpmbuild. Again, no need to be root.
rpmbuild -bb ~/rpmbuild/SPECS/rar.spec
Finally, install the built RPM as root:
su -c "rpm -Uvh $HOME/rpmbuild/RPMS/$(arch)/rar-3.5.1-1.rf.x86_64.rpm"
Done! You now have rar in /usr/bin/rar. This binary can build and extract Rar files. Use this command to see all available options:
/usr/bin/rar -?
Thursday, September 24, 2009
Flash Fix @ Ubuntu ...
sudo apt-get remove swfdec-mozilla
sudo apt-get remove mozilla-plugin-gnash
sudo apt-get remove adobe-flashplugin
sudo apt-get remove flashplugin-nonfree
Nevertheless, I believe your problems is due to conflicting plugins. So before trying to remove all flash plugins, try this(IT WORKED FOR ME):
sudo apt-get remove swfdec-mozilla
sudo apt-get remove mozilla-plugin-gnash
sudo apt-get remove adobe-flashplugin
sudo apt-get remove flashplugin-nonfree
sudo apt-get install flashplugin-nonfree
You can also try to improve your flash experience using my tutorial Firefox optimization and troubleshooting thread.
Source : Ubuntu Forums
Wednesday, September 23, 2009
List of installed programs or packages on Ubuntu
$ dpkg -l
$ dpkg -l | less
$ dpkg -l | grep nano
See also
$ ls -l /usr/bin | less
$ man dpkg