Dedicated to satisfying your computer needs

twitter button digg button
Subscribe to Blog
Subscribe via email Subscribe via RSS Subscribe via Comments

Archive for September, 2008

Remarkable protection for your phone

Posted by admin On September - 30 - 2008

The type of technology I’m about to reveal to you is unbelievable. It’s called Golden Shellback

.

The official website describes Golden Shellback as, “…a unique coating that protects critical operational equipment against damage and loss of function caused by exposure to weather and moisture. It is ideal for application in the electronics industry. ”

Now what does that mean? It means that after the unique coating surrounds your technology, it is able to protect equipment from any type of damage that can be caused by liquids. Here is a demonstration.

Golden Shellback Waterproof Coating from gCaptain.com on Vimeo.

Bookmark and Share

Popularity: 14% [?]

Things to take into account before designing your website

Posted by admin On September - 30 - 2008

www.yourname.com

At a glance

  • Hosting
  • Domain Name
  • Tools for creating your site

Introduction

Before making a website or any project for that matter, we need a PLAN.

You should ask yourself the following questions:

  1. What kind of audience do you want to appeal to?
  2. What type of website are you representing (E-commerce, News, Search Engine, Organizational, etc.)?
  3. What is the overall goal of your site?
  4. How dynamic do you want your site to be?
  5. What type of technology will you need to implement your website?

After answering those questions, the next phase to consider is Hosting.

Hosting

Hosting providers come with a number of features but you have to decide what is most important to you. Here are some of the basic features to look for:

  1. Price -  For good price you can get hosting for 7.95 or less (good price) unless you want a dedicated server when you trying to develop a pretty serious website.
  2. Transfer  -  When users come to your website the server transfer the files to the clients computer to make it viewable
  3. Disk Space – Most basic websites size is under 50 Megabytes, so disk space for the most part is not  big priority, but once again it depends on what type of website your doing.
  4. Ease of Use – Always check the demo login to see how easy it is to navigate the hosting providers environment
  5. Extra Features – Do they automatically submit your website to google or yahoo, multimedia features, shopping carts, etc
  6. Customer Service -See if the have 24/7 support and how good is it (call the number on the site to see how things go)

Good examples of Hosting Providers: Bluehost, Hostmonster

Domain Name

Domain Names, represent an unique address for each page on a Web Site, which is interpreted as a name of your choice. Usually domain names cost $10.00 or more if no one else has that specific name. Now when picking a name:

  1. It’s relatively short – Domain names don’t have to be flashy. Simplicity definitely goes a long way.
  2. It’s easy to remember – Make sure it is easy to spell and contains keywords.
  3. It correlates with what you are representing- Your domain provides a sense of who you are and an indication of the type of product or information you are delivering.

Tools for creating your site

  1. IDE (Integrated Development Environment) – This is a tool is a fantasy code editor that can come with tools such FTP (File transfer protocol for uploading and downloading files off server) and can manage multiple websites. Good Example:  Dreamweaver 8 don’t use CS3 (memory hog) Free Program: Mozilla SeaMonkey, Aptana
  2. E-mail client – Used for managing multiple e-mail accounts that you might create with your server. Example: Microsoft Outlook 2007 Good Example and Free: Mozilla SeaMonkey, Mozilla Thunderbird
  3. Webmaster – You can always just pay for a web site designer and have him do the site for you.
Bookmark and Share

Popularity: 17% [?]

How to do a Bubble Sort

Posted by admin On September - 30 - 2008

The purpose of a bubble sort is to accept any amount of numbers and sort each number from least to greatest or greatest to least.

So if we have 5 numbers 45, 1000, 46, 323, 67 we can sort them least to greatest like this:

45, 46, 67, 323, 1000

or

greatest to least

1000, 323, 67, 46, 45

Here is a clear example below

Ok, here is the beginning of the program, where we include headers

#include

All the elements of the standard C++ library are declared within what is called a namespace, the namespace with the name std. So in order to access its functionality we declare with this expression that we will be using these entities. This line is very frequent in C++ programs that use the standard library, and in fact it will be included in most of the source codes included in these tutorials.

using namespace std;

int main()
{

We then declare the variable we are going to experiment on

int hold;

Numbers in array to be sorted

int array[5]={ 10, 25, 35, 44, 11};

When performing a bubble sort we need two loops in this case I will use two for loops

for (int i=0; i<5; i++) {
for (int j=0; j<5; j++) {

This is the key part of the bubble sort, we use an if statement to execute a condition to sort the array from least to greatest. The way it works is by switching the previous variable in the array with the next variable in the array if the previous is greater than the next variable and use the variable hold as a container for the switching. If wanted to make it greatest to least we would merely switch around the greater than sign “>” to “<”.

if (array[j] > array[j+1]) {
hold = array[j+1];
array[j+1] = array[j];
array[j] = hold;
} // end of if

} // end of for
} // end of for

To print out the new sorted array

for (int x=0; x<5; x++) { cout << array[x] << ‘ ‘; }
cout << endl;

The return statement causes the main function to finish. return may be followed by a return code (in our example is followed by the return code 0). A return code of 0 for the main function is generally interpreted as the program worked as expected without any errors during its execution. This is the most usual way to end a C++ console program.

return 0;

} // end of main

Bookmark and Share

Popularity: 14% [?]

Infix to Postfix Expressions

Posted by admin On September - 30 - 2008

Break down of Infix to Postfix

Infix and Postfix notations are two different but equivalent ways of writing expressions. The easiest way to demonstrate the differences is by looking at examples of operators that take two operands.

Infix notation: X + Y
Infix notation is the most common way we express mathematical calculations to solve equations or expressions. For example when we input 5+6 into a calculator, our calculator catches the infix expression and breaks it down and returns the result of 11. Imagine it as a way of effectively communicating our problem so we can get the proper result.

Postfix notation: X Y +
Postfix notation is the translation of infix notation separated into fragments for calculation. With postfix notation we evaluate infix expression from left to right. With numbers we instantly input them in the final expression. With operators (+, -, *, /, %) we create an array or stack to input in operators and each operator (+, -, *, /, %) has a special rule.

Note about Operators :
If the scanned character is an Operand and the stack is not empty, compare the precedence of the character with the element on top of the stack (topStack). If topStack has higher precedence over the scanned character Pop the stack else Push the scanned character to stack. Repeat this step as long as stack is not empty and topStack has precedence over the character.

Priority:

Higher: *, /, %

Lower: +, -

Better explanantion

When putting in lower priority items into stack it pops out everything, but when putting in higher priority items if the top item is lower than it is placed into the stack it doesn’t pop it out. Anything that has equal priority is popped out.

Infix Expression :

Any expression in the standard form like “5*6-4/5″ is an Infix expression.

Clear Example

Evaluation of the expression:

Note: the operators would not bold (+, -, / ) also the right end of the stack at the top

Step 1:

original expression: 5*6-4/5

stack:

postfix expression: 5

Step 2:

original expression: 5*6-4/5

push *

stack: *

postfix expression: 5

Step 3:

original expression: 5*6-4/5

stack: *
postfix expression: 5 6

Step 4:

original expression: 5*6-4/5

pop * push -

stack: -
postfix expression: 5 6 *

Step 5:

original expression: 5*6-4/5

stack: -
postfix expression: 5 6 * 4

Step 6:

original expression: 5*6-4/5

push /

stack: – /
postfix expression: 5 6 * 4

Step 7:

original expression: 5*6-4/5

stack: – /
postfix expression: 5 6 * 4 5

Step 8:

original expression: 5*6-4/5

end of expression pop everything off

stack: – /

pop / pop -
postfix expression: 5 6 * 4 5 / -

Postfix Expression :

The Postfix form of the above expression is “56*45/-”.

CODE

To download this code click here infix to postfix

Here is a clear example of a C++ program below

// To include the libraries we are going to use in the program

#include // For using cin, cout and endl

#include // For using the string functions

#include // For using the functions to identifying types such digits (0,3,67) and letters (a,d,f,h,z)

using namespace std; // To access its functionality inside our header files

// Functions prototypes, these are declared ahead of time so we can use them after main and also so we know what

// functions are coming up ahead of time

bool error(string ); // to check expression for errors
void check(); // checks and changes the priority of a stack
void topostfix(string ); // to convert from infix to postfix
void push(string ); // to push character onto the stack
void pop(string ); // to pop character off the stack

//———————————————-
// intopost.cpp
//
// The purpose of this program is to translate
// infix to postfix
//
//
//———————————————

// Global variables, they can accessed from anywhere in the program

// This particular variable (priority) is what influences the events of the program as far as when to push and pop

// variables out the program

int priority=0;

string postfix, stack, stack1;

int main()
{
string expression;
// Enter in your expression

cout << “Enter in your expression to be converted from infix to postfix\nEnter in zero to end the loop\n”;
cin >> expression;

// This checks for errors or inappropriate characters placed into the program

if ( error(expression) ) { // check expression for errors
cout << “Program will not execute expression is incorrect\n”;
}
else {
topostfix(expression);
cout << “Here is your postfix expression ” << postfix << endl;
}

return 0;
} // end of main

void topostfix(string expression)
{
// postfix and priority is a global variable

string here, number, hold, again=expression;

cout << “\nSTART\n”;

for (int a=0; a < expression.length(); a++) {

number = here = expression[a];
cout << “The expression ” << here << endl;
cout << “The postfix ” << postfix << endl;

// The program detects a operator in the expression it executes the statements below

if ( expression[a] == ‘+’ || expression[a] == ‘-’) {
if (priority <= 2 ) {pop(here); push(here);}
else push(here);
}
else if ( expression[a] == ‘*’ || expression[a] == ‘/’ || expression[a] == ‘%’ ) {
if (priority == 1 ) {here=stack[0]; stack[0]=expression[a]; postfix = postfix + here; }
else push(here);
}
else if ( expression[a] == ‘(’ ) push(here);
else if ( expression[a] == ‘)’ ) pop(here);

else if ( isdigit(again[a]) ) { // for dealing with multiple digits and single digit numbers
if ( isdigit(again[a+1]) ) {
int b=a+1;
while ( isdigit(again[b]) ) {
hold=again[b];
number = number + hold; // number already equals the string here
++b;
}
postfix = postfix + ‘ ‘ + number;
a=b-1;
}
else {
postfix = postfix + ‘ ‘ + number;
}

} // end of else if
cout << “\nPOSTFIX “<< postfix << endl;
} // end of for

postfix = postfix + ‘ ‘ + stack;
}

// Check to see what operator was inputted in the expression and sets the priority t

void check ()
{
cout << “This is the first element ” << stack[0] << endl;
switch (stack[0]) {
case ‘*’:
case ‘/’:
case ‘%’:
priority=1; break;
case ‘+’:
case ‘-’:
priority=2; break;
};

}

// To push operators into the final expression

void push(string oper)
{
string empty;
cout << “\nPUSH\n”;

if ( oper == “(” ) {
stack1=stack;
stack=empty;
}
else {
stack = oper + ‘ ‘ + stack;
}

check();
}

// To push whatever in the stack into the final expression

void pop(string oper)
{
int end=0;
string empty;

if (stack.empty() ) cout <<”\nDirectory is Empty\n”;
else {

if ( “)” == oper ) {
postfix = postfix + ‘ ‘ + stack;
stack=stack1;
}
else {
postfix = postfix + ‘ ‘ + stack;
stack = empty; priority=0;
}

cout << “\nPOP\n”;
check();
} // end of else

}

// This function checks to make sure the user input the right amount of parentheses into the expression

// You can also modify this so the user cannot input inappropriate characters

bool error(string expression)
{
int count=0, count1=0, len=expression.length(), a=0, b=0;;

while (a <= len) {
if ( expression[a] == ‘(’ ) {++count;}
++a;
} // end of while

while (b <= len) {
if ( expression[b] == ‘)’ ) {++count1;}
++b;
} // end of while

// execute program if the right amount of parenthesis is avaliable
if (count == count1) return false; else return true;

}

Bookmark and Share

Popularity: 81% [?]

Very interesting web application: Criminal Searches

Posted by admin On September - 30 - 2008

While doing my research on web applications on the internet I came across a pretty interesting website called criminal searches.

What makes this website special from other criminal searches, is that it combines google maps with the criminals location! So let’s say you type in your address it shows you all of the criminals around your area plus where they live at and their name! Kinda scary huh, lol.
It also has features such as:

1. Criminal History Check
2. Neighborhood Watch
3. Sex Offender Finder
4. Criminal Alerts
5. Criminal Statistics

Take a look click on the link below.

Criminal Searches

Bookmark and Share

Popularity: 11% [?]

The underestimated language! Java?

Posted by M.E. Conwell On September - 30 - 2008

Is it better to know a computer language that few people know and become a specialist? Being such a specialist would bring you fewer opportunities yet it would yield better pay. On the other hand, is it better to know a much more commonly used computer language and have many opportunities that are offered to you? The downside to that of course would be that you would have more competitors and less negotiating power.

As for me, I take the latter of the two choices because I believe in having a resume that leads to the most opportunities.

This brings me to the next subject: What is the most marketable computer language you should know? The answer is JAVA.

Now I say this as a computer scientist who has switched jobs 3 times in the last 3 years and in that period of time I had participated in over 35 interviews. I realize in retrospect that my biggest resume flaw back then (and unfortunately my current biggest flaw as well) is that I do not know JAVA. There were countless interviews in which the interviewer would run down the list of requirements for the job and once they got to ‘Knowledge of JAVA language’ question, my response basically led to the interview being pretty much over.

I am not writing about how my lack of JAVA has hindered me from job opportunities to try and portray that JAVA is the best language out there or that it is the only one you need to know. As an entry level job seeker (less than 5 years experience) it is best to know as many languages as possible with one as your expertise. However, I have found that JAVA is always one of the top languages that is highly sought after by companies in the public and private sectors.

With that said what computer language do you think is the most marketable???

(side note: I am speaking of computer languages for software development not web development which is a whole different issue that I will address in a future blog.)

As a reminder if you have any questions or there are any issues you wish for me to discuss in one of my blogs you are more than welcome to e-mail me at: me_conwell@compsicstuff.com

Bookmark and Share

Popularity: 9% [?]

Hulu.com – Top Notch Video Website

Posted by admin On September - 30 - 2008

If you think youtube is the best video website out there, apparently you haven’t visited HULU.com. Hulu.com is a website created by Murdoch’s News Corp. and General Electric’s NBC Universal to present to users Hi-Resolution Videos in an efficient amount of time. It was rated number one on PCWorld’s 100 best products of 2008 and Cnet has declared it the best video service on the web. Another reason it is better than youtube is that the videos are verified and come from a reputable source instead of random users uploading anything they want. So when you click the movie Scorpion King you are getting the movie Scorpion King, as opposed to other competitve sites in which you do not get what you were looking for.

Content

Hulu.com displays some of today’s top TV shows and Movies in a very organized manner that you have to love. It displays premium content from Fox and NBC with great speed and quality. I particularly like the structure of the genre section. Most of the time when I’m looking for a movie I don’t know what I want, but I know how I feel. So if I’m in the mood for some action/adventure and don’t know the exact movie that I want to watch, guess where I’m going to… HULU.com!

Interface

Hulu.com has a smooth and sharp interface that is untouched by any video website out there. They have options to:

  1. Email a Friend
  2. Embed video to your website
  3. Share with people in your social networks
  4. Display the full description of a video
  5. Display the video on your whole screen without losing clarity
  6. Pop Out – so you can view the video independently
  7. Lower lights – to control the brightness of the video
  8. Watch in Hi-Res/ Low-Res (My favorite feature) – Gives you the option to view the video in great quality if you have the internet speed for it.

Functionality

A feature I always analyze on websites that store great amounts of content is their search engine capability. Hulu.com’s search engine is great for the gargantuan amounts of video on their server and displays the search results in such a neat manner.

Overall Hulu.com is the best video website I have seen so far, so how about you give it a try and let me know what you think..

Bookmark and Share

Popularity: 10% [?]

Taking things to the Next Level

Posted by M.E. Conwell On September - 30 - 2008

As a computer scientist, the one thing you should understand early on as the best way to build up your resume without experience is self learning. I say that to mean learn as many computer languages and coding techniques as you can and learn them well on your own. How do you do this?

1. Build up a personal library

  • Begin to buy books on different languages and then start doing the examples and challenges in the book during your free time.
  • Buy books on languages you don’t know and might be interested in and then read them seriously.
  • If you’re into software development, buy a book on databases or web development. That will give you insight into how similar computer languages are and it could possibly spark an interest into something new.

2. Start a collection of video tutorials

  • Video tutorials are a great tool for learning new computer languages. They allow you to follow along with a teacher, almost like in a class, and see how the languages is practically used
  • Just like with the book start buying video tutorials on different computer languages. Lynda.com is a great source for video tutorials
  • If you don’t have the money for that search the web for video tutorials and webinar (web seminar) like on youtube.

3. Begin researching different computer languages on-line

  • There are plenty of useful references on almost any computer language you can think of on-line, all you have to do is Google them.
  • Many colleges offer open courseware site such as MIT which allow you take their course for free at your own pace. Here is a link to their courses: http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/index.htm#grad

If you take advantage of these tool and references you can learn a lot in a short period of time. The key is thought; once you acquire these things you need to dedicate time to learning the material. Weather it is a hour per day or 5 hours per week you will be amaze at how much you can learn in a short period of time and how much “meat” you can add to your resume. If there are any computer languages you are interested in learning but having a hard time find information feel free to e-mail me at me_conwell@compscistff.com.

Bookmark and Share

Popularity: 7% [?]