Thursday, June 18, 2009

Reversing a string, without additional memory

#include

int main()
{
char ch;
int i, j;
char s[10];
gets(s);
//count string length
for(j = 0; s[j] != '\0'; j++);
--j;
// now j has string lentgth

for(i = 0; i < j; i++)
{
*(s+j) = *(s+i)+*(s+j);
*(s+i) = *(s+j)-*(s+i);
*(s+j) = *(s+j)-*(s+i);
--j;
}

printf("Reversed: %s", s);
return 0;
}


So the sample output can be,
$ ./a.out
sample
elpmas

Cheers.

Monday, May 25, 2009

about:config in mozilla

Hi all.

Have you ever tried the typing url "about:config" in your Mozilla firefox browser?
Don't wait. Try it in the next tab now.
Here you can change all the hidden preferences.

If you are confused or don't know how to edit the values, you can get more details on that from this page.
http://kb.mozillazine.org/Firefox_:_FAQs_:_About:config_Entries

Tuesday, May 19, 2009

Printing a pyramid pattern using C

#include
int main()
{
int m , r=4,i,j,k,l,star_pos;
//for creating m rows
for(i=0;i
{
//inside a row now
star_pos=(r-i)-1; //set initial position
for(j=0;j<=r+i;j++)
{
//print star on a condition
//printf("\n Debug: star_pos=%d",star_pos);
if(j==star_pos)
{
printf("*");
star_pos = star_pos + 2;
}
//print space by default.
else
printf(" ");
}
printf("\n");
}
printf("\nBye");
}

Thursday, April 2, 2009

Issues with Shell prompt

Hi folks,

Yesterday I was working with a Solaris OS.
Since I use Linux, I felt difficult to use the shell with Sun OS.
  • BackSpace was not working
  • When I press TAB auto complete was not working.
I went mad, and got highly irritated. Soon Google helped me.

It is simple:
  • Type "bash" in your command prompt.
  • Then you will get a new prompt, where all these things works.
OR
  • Contact your administrator to check which Shell is installed in the OS.
I think this details helped you.
Leave your queries here.

Tuesday, March 31, 2009

Command: date

Hi folks,

yourprompt$ date
will display your current date.

But how we can format the output?
Like I need the output as 21st Jan, 2009.
So there is a technique for that.
yourprompt$ date '+FORMAT'

Note: You can replace the FORMAT with the following characters.

%%
a literal %
%a
locale's abbreviated weekday name (Sun..Sat)
%A
locale's full weekday name, variable length (Sunday..Saturday)
%b
locale's abbreviated month name (Jan..Dec)
%B
locale's full month name, variable length (January..December)
%c
locale's date and time (Sat Nov 04 12:02:33 EST 1989)
%C
century (year divided by 100 and truncated to an integer) [00-99]
%d
day of month (01..31)
%D
date (mm/dd/yy)
%e
day of month, blank padded ( 1..31)
%F
same as %Y-%m-%d
%g
the 2-digit year corresponding to the %V week number
%G
the 4-digit year corresponding to the %V week number
%h
same as %b
%H
hour (00..23)
%I
hour (01..12)
%j
day of year (001..366)
%k
hour ( 0..23)
%l
hour ( 1..12)
%m
month (01..12)
%M
minute (00..59)
%n
a newline
%N
nanoseconds (000000000..999999999)
%p
locale's upper case AM or PM indicator (blank in many locales)
%P
locale's lower case am or pm indicator (blank in many locales)
%r
time, 12-hour (hh:mm:ss [AP]M)
%R
time, 24-hour (hh:mm)
%s
seconds since `00:00:00 1970-01-01 UTC' (a GNU extension)
%S
second (00..60); the 60 is necessary to accommodate a leap second
%t
a horizontal tab
%T
time, 24-hour (hh:mm:ss)
%u
day of week (1..7); 1 represents Monday
%U
week number of year with Sunday as first day of week (00..53)
%V
week number of year with Monday as first day of week (01..53)
%w
day of week (0..6); 0 represents Sunday
%W
week number of year with Monday as first day of week (00..53)
%x
locale's date representation (mm/dd/yy)
%X
locale's time representation (%H:%M:%S)
%y
last two digits of year (00..99)
%Y
year (1970...)
%z
RFC-822 style numeric timezone (-0500) (a nonstandard extension)
%Z
time zone (e.g., EDT), or nothing if no time zone is determinable


For example:

yourprompt$ date '+%d/%m/%y'
will display 21/01/2009

Leave queries if you have any.

Friday, March 6, 2009

Why Linux?

Hi Guys,

I was reading a very useful book, that is Linux Starter Pack.
Their introduction is:

"New to the wonderful world of Linux? Looking for an easy way to get started? Download our complete 130-page guide and get to grips with the OS in hours rather than weeks or months. We show you how to install Linux onto your PC, navigate around the desktop, master the most popular Linux programs and fix any problems that may arise."

Great! Quite interesting,right? So as the book is. Those who are planning for a migration and those who migrated and are still newbies can find it very useful.
The following are few things which clarifies a person who wants a migration but not able to do it by hearing few rumors.
  1. Linux is free!
  2. Linux looks and works a lot like Windows.
  3. Linux has lots of software ready for you to try.
  4. Linux is secure by default
  5. Linux is smart by default
  6. Linux looks great

Download the pdf version here.


Also if you are choosing Ubuntu, from a myriad of Linux Distros, as I am using that :), you may find this pocket reference as very useful again. It contains all the howto(s) with Ubuntu.
Downloading it here. Ubuntu Pocket Reference.

Monday, February 23, 2009

grep,egrep and fgrep

Grep provides two kinds of variant ( egrep(grep -E) and fgrep(grep -F)).

Egrep or grep –E is called extended regular expression based pattern matching.

You can use the following regular expression format.
^, $, \, [], [^], ., *


More information is available in man page for grep.