Tuesday, June 23, 2009

Towards an Eco-Friendly Website



As you all might be knowing, I already am kind of busy with my personal life because of the unexpected things happening in my life... like engagement, marriage for examples LOL I am finding it a little bit hard to find time these days amidst my MBA exams as well. Anyways, I just wanted to let you all know that I am in the process of creating a Eco-Friendly website that creates awareness about our Environment and Green Revolution. I have not yet decided whether I should be having it as a Website or a Blog. It however is going to take one full solid month for me to establish that site. I am also in the process of finding some eco-friendly affiliate programs. Let me know if you know any such genuine programs. That is all for now...Till then take care, friends!

CharacterHunter - A blog that’s continuously searching for character design on the streets of Tokyo . This site inspires me a lot and I believe it would inspire anyone who is into vector design. This blog is written in French about the Japanese design. This site shows how mascot design can traverse language and cultural differences.

A few resources which I found to be very useful for those interested in Cartoon Graphics (widely called as ToonGFX). I am not a pro artist however I can draw to a decent extent J I am learning how to draw and digitalize a mascot. I find these resources to be a lot helpful. I thought it would help you as well if you are into Mascot, Toon designing or even animation.

Here you go…

GoAnimate is a website where you can create your own animations.
Maryland Comic Book Initiative
Periodic Table of ComicBooks
Make a Witty Comic Strip online
Make Believe Comic Strip
Create a Comic Strip online
The How to Draw Site
ToonDoo is devoted to creating a unique array of free and customizable online games of educational value for children of all abilities.
Comics @ Mainada : create a comic strip online
Comic Strip Generator
ChatFu: Cartoonify (And Save) Your IM Chats
Comic Life (commercial product) gives you a super-quick and easy way to create astounding comics, beautiful picture albums and enticing instruction booklets to name a few of the many possibilities.
Comic Creator : Online Interactive Tool
Flipstick Cartoons : Make your own
Comic Creator
Examples of storyboards
Cartooning Tutorial
Step-By-Step Cartoons
Tips, tutorials, and other advice for artists
How to Plot and Draw a Comic Page
Cartooning - Jeff Smith's Drawing Board
Drawing Cartoons, Comics and Animation
Learn How To Draw Cartoons
Draw a Cartoon Online with Uncle Fred
The Making of a Cartoon

Wednesday, June 17, 2009

SEO Certification

SEO Certification is nothing but a MYTH! Oh NO!! I am not cursing; I am just saying the fact!image

It has been almost 2 to 3 complete years since I started learning and practicing the SEO Techniques. I can really not say that I am a pro in it, however I can make a site rank in the top 10 search list for any given keyword. I also know the tricks to improve a site’s Google Page Rank (I personally don’t care the Google PR for it solely does not guarantee the quality of a site). I also had a decent amount understanding on the concepts like Indexing, Ranking, Traffic, Keyword research, HTML Tags ( META , H1, B, etc), robot.txt files, building links and what not! I guess I have touched the base on almost all the topics on SEO. This is what made me think why not take a SEO certification. This will add credit to my freelancer resume and I can get more customers to gain more jobs.

A quick search on SEO Certification turned out these results

SEO Certification

SEO Consultants

School of SEO International

SEO Training Course

It then got me thinking, there a plenty out there. Which one to choose?

I ran through the programs they had. It was all like testing what I already knew and did not seem to give me anything new out of the training or the certification either. A little more search gave me Bruce Clay’s SEO Training which I found to be relatively useful.

I do not want to ramble on any further rather I will give you the conclusion:

  1. There is NO single accredited vendor for SEO Certification
  2. There however are few of the well recognized (recognized online) people conducting SEO Classes and certifications. These might help you learn something out of the session along with a certificate which I am not really sure worth it, if you can not demonstrate your capabilities.
  3. There is NO client/customer at any of the free lancing websites, asking you for a SEO Certification. All they want is the work to be done. 
  4. SEO Certification is not like a RHCE or CISSP, upon completion of which you can be at least 80 percent assured of getting a job with regard to the other non-certified competitors.
  5. The person hiring SEO Consultants or SEO Specialists online via any freelancing website are themselves technically challenged. Such people will never demand a certificate but the outcome – getting their site(s) top the search engine list.

After through analysis, I consider SEO Certification is a myth. If you can perform well, keep track of your achievements viz. how many sites have you optimized, how many sites have you increased the PR for, etc. If possible get some written testimonials from your customers/clients. If you have done a great job, anyone would be more than happy to give you a note of appreciation J

For the beginners, please get yourself a copy of Aaron Wall’s SEO Book. That is how I got mine started off. I then have read a lot of random books through years starting from some white papers including Search Engine Optimization for Dummies, Search Engine Optimization: An Hour a Day, Professional Search Engine Optimization with PHP, Web Analytics: An Hour a Day, Landing Page Optimization, etc.

Many people ask me to write an article on How to make money out of a website. I sure will but SEO is what you need to know on the first hand. Once you have done the SEO Magic and started getting decent traffic, ask your self the same question. You would have started earning dollars before could find an answers for it J

Happy SEO-ing!

Preface

Last Sunday I met an interesting person who is supposedly my relative. He works as an Interviewer and a Technical Analyst as well. I was a lot more interested when he told me that his field of interest is also C/UNIX. We spoke for a while about general things and this is something I grabbed from him during the short convo. I am hoping to interact a lot more with him in the near future J it’s very hard to find people who really “LOVE” the technology and are passionate about C or UNIX. I know people who do hundreds and thousand lines of coding even without knowing the basic mechanism of how something work “internally”. Well… as I always say, “We need not know everything; just know things in detail”.

Disclaimer

This is a bit lengthier. Read it when you are relatively free.

Finally, here it is…The Simple Question

The moment I ask anyone what is the different between a Structure and a Union in C, they immediately pop up one of the below answers,

“I think Structure is memory waste while Union saves memory”

“Oh, that’s simple! In Union only one item can be accessed while in Structure all the items have their own individual memory”

“Hmmm, the size of a Union will be the size of the biggest variable”

None of those answers were wrong. Now, let me ask you something more…

Consider 5 variables with the below sizes:

Var1 – 2
Var2 – 4
Var3 – 2
Var4 – 1
Var5 – 8

As per the above definitions, each and every Variable in the structure has its own independent memory locations. So,

Size of Structure = Var1 + Var2 + Var3 + Var4 + Var5 = 17

Var1 | Var2 | Var3 | Var4 | Var5 |

If it were a Union , then it will look like below, assuming that Var5 is the biggest variable (in terms of size)

|----------------Var5------------|

Size of this Union = Size of the biggest variable = Var5 = 8.

This is how it gets tricky

Now, how the other variables are accommodated? We say that at any point of time only one variable can be retrieved from the Union . What will happen to the existing var5 if a new value is assigned to a variable, say Var4? How will this single memory segment of size 8 be made available for rest of the variables as well?

Various irrelevant answers

You will be surprised to read… these are some of the REAL answers which I got from experienced people (especially in C).

Answer 1:

“I think Var1 will be stored first. It is just of size 2. Then Var2 is just 4 so it will also be stored, Var3 is 2 and the Var4 is just 1. But…. But…. The fifth variable var5 is too big to fit in there…I think…. Well… It’s something… ”

Answer2:

I think that is the functionality of Union . It will take care of it all by itself

Answer3:

X: I think C Compiler handles it or something to do with the Computer memory management?

Y: Say what? Computer memory management????

X: No... I meant the Compiler Memory Management… May be…

There really were many other such ridiculous answers. I am not humiliating anyone here. I myself was like this during my early days. However, once you get a hold and start working in C, should we not be taking some pain to know its mechanism? We sure should!

So how does Union work?

This is where people go wrong! Just knowing the definition will NOT do. Know its mechanism and that is what the Interviewer is expecting from you! Also, to explain these basic stuff you don not need a C Bible or Dennis Ritchie. All you need is a C Compiler. Trust me, most of the basic things can be learnt only by experiencing – not only in the Programming world but also in the real world! Go for it! Experience it! Enlighten yourself! The below short & simple program will make you understand how Union really differs from the Structures.

% cat structunion.c
#include <stdio.h>
#include <stdlib.h>
typedef union
{
int Wind_Chill;
char Heat_Index;
} Condition;
typedef struct
{
float temp;
Condition feels_like;
} Temperature;

void main()
{
Temperature *tmp;
tmp = (Temperature *)malloc(sizeof(Temperature));
printf("\nAddress of Temperature = %u", tmp);
printf("\nAddress of temp = %u, feels_like = %u", &(*tmp).temp, &(*tmp).feels_like);
printf("\nWind_Chill = %u, Heat_Index= %u\n", &((*tmp).feels_like).Wind_Chill, &((*tmp).feels_like).Heat_Index);
}


% cc -o structunion structunion.c


% ./structunion
Address of Temperature = 165496
Address of temp = 165496, feels_like = 165500
Wind_Chill = 165500, Heat_Index= 165500

Wasn’t that clear? To add on, let us consider the below quote from ANSI/ISO 9899:1990 (the ANSI C standard) Section 6.5.2.1
Structure and union specifiers have the same form. [ . . . ] The size of a union is sufficient to contain the largest of its members. The value of at most one of the members can be stored in a union object at any time. A pointer to a union object, suitably converted, points to each of its members (or if a member is a bit-field, then to the unit in which it resides), and vice versa.

Do It Yourself

Grab a C Compiler and try executing the below snippet. You will be more clear.

#include <stdio.h>
#include <stdlib.h>
/* Declares union */
union one{
char one;
int two;
float three;
};
/* Declares structure */
struct two{
char one;
int two;
float three;
};
int main(void)
{
/* Uses tag names to create structure S and union U. */
struct two S;
union one U;
/* Outputs object sizes to screen. */
printf("%d is the size of S, as structure.\n", sizeof(S));
printf("%d is the size of U, as union.\n\n", sizeof(U));
/* Loads values into S and U, as below. */
S.one = 'A';
S.two = 3645;
S.three = 678.32;
U.one = 'A';
U.two = 3645;
U.three = 678.32;
/* Echos values to screen, so conclusions are easier. */
printf("The values 'A', 3645 and 678.32 have been loaded"
"in structure S members and\n union U members both.\n\n");
/* Shows values now in S members. */
printf("%c is equal to the value S.one\n", S.one);
printf("%d is equal to the value S.two\n", S.two);
printf("%3.2f is equal to the value S.three\n\n", S.three);
/* Shows the value now stored as corrupted and good. */
printf("%c is equal to the value U.one\n", U.one);
puts("Oops! Doesn't look like an 'A'!\n");
printf("%d is equal to the value U.two\n", U.two);
puts("Oops! Doesn't look like 3645 either!\n");
printf("%3.2f is equal to the value U.three\n\n", U.three);
/* Non-pertinent stuff for running under Windows and stuff */
system("PAUSE");
return 0;
}
Conclusion

“Know the mechanism” – This helps you fine tune your programming skills and makes you an outstanding programmer. It helps you outshine in any interview as well for mechanism is what the Interviewers are after (Unless and until the one that is interviewing you is comparatively dumb haha)