Shipwright, 2010: The International Annual of Maritime History and Ship Modelmaking , by John Bowen

June 18th, 2010

Suitable for ship modellers, this title presents detailed information on various techniques and practices, encompassing carved, template, plank-on-bulkhead and plank-on-frame construction methods. It features full-hull and waterline models of historical naval and maritime vessels (including pleasure craft and working ships like tugboats).

Dreaming in the World's Religions , by Kelly Bulkeley

June 18th, 2010

From Biblical stories of Joseph interpreting Pharaoh' s dreams in Egypt to prayers against bad dreams in the Hindu Rig Veda, cultures all over the world have seen their dreams first and foremost as religiously meaningful experiences. In this widely shared view, dreams are a powerful medium of transpersonal guidance offering the opportunity to communicate with sacred beings, gain valuable wisdom and power, heal suffering, and explore new realms of existence.

Conversely, the world' s religious and spiritual traditions provide the best source of historical information about the broad patterns of human dream life.”Dreaming in the World' s Religions”provides an authoritative and engaging one-volume resource for the study of dreaming and religion. It tells the story of how dreaming has shaped the religious history of humankind, from the Upanishads of Hinduism to the Qur' an of Islam, from the conception dream of Buddha' s mother to the sexually tempting nightmares of St. Augustine, from the Ojibwa vision quest to Australian Aboriginal journeys in the Dreamtime.

Retailing Management – 6th Edition , by Michael Levy & Barton A. Weitz

June 18th, 2010

Retailing Management by Levy and Weitz is the best-selling textbook in the retailing market. Known for its strategic look at retailing and current coverage, this new 6th edition continues to be organized around a model of strategic decision-making. One of the major advantages of the Levy/Weitz approach is the text's readability, organization, and its emphasis on how students can come to grips with real retailing issues and be able to solve problems. The text's logical organization around a decision-making process allows readers to learn about the process of strategic decisions first before moving on to decision implementation. The implementation decisions are broken down into merchandise management decisions and store management decisions, just as they would be in a real retailing setting.The text provides a balanced treatment of strategic, “how to,” and conceptual material, in a highly readable and interesting format. The sixth edition continues its cutting edge coverage on the latest topics and developments in retailing including globalization, customer relationship management programs, multi-channel retailing, supply chain management, and the use of the Internet to improve operating efficiencies and customer service. Students indicate that this text is a “good read” because of the numerous examples of retailers, their practices, the interesting retail facts in the margins, and eye catching design and layout.Retailing is a high tech, global, growth industry that provides challenging and rewarding career opportunities for college graduates. This book and its corresponding tools and exercises were written to expose students to the excitement of retailing and prepare them for a career inretailing and related fields.

Increase in Traffic Can Drive You More Business

May 11th, 2010

It is not going to matter what you offer, either product or service. For the better online visibility of your business you need to have website. Website hugely acts as a Genuine Lead Generation Tool for your Business. Website helps in brand awareness for your services or products. Irrespective of business, the online presence is most important. Having website alone will not help to improve your business, but generating more visitors and converting them in to clients or customers will help in your business improvement. Certain ways to improve your business online is as follows:

Role of SEO – Search Engine Optimization:

A source from which a website gets more number of traffic is through Search Engines. The way you optimize your website for SE is more important. Better optimized website will get more search engine presence than the website without any optimization. Hence optimizing your website is vital in getting more online presence as the search engines are the major resource in getting traffic to your website.

Few things need to be right in a Website:

Keyword Research – Do your keyword research. Understand your business and look for the synonyms through which user find your website through search engines.

Title and Meta Tags – ensure that you write keyword rich and informative title and Meta description. This will be the point at which your user will decide whether to visit your website or not.

Content – Write keyword rich content and also providing good information about your service or product. Your keyword should be highly relevant to your business and your content should be highly relevant to your keyword.

Build your Links – Google and Yahoo will give preference to the website which has good number of quality inbound links. Inbound links are links which sends traffic to your website.

Role of SEM – Search Engine Marketing:

SEM, marketing or advertising your website in search engines. SEM is one of the effective techniques to improve business through generating more leads for your business. SEM is also considered as the leading internet marketing technique that will boost your presence in Search engines and also to bring more business. Advertising in SE will also help to improve your ROI of your business.

AdWords Campaign – AdWords campaign is an Internet advertising model provided by Google used on websites. It is an effective campaign which website owners used to generate more business through Google. Here advertisers pay Google only when their ad is clicked. With search engines, advertisers typically bid on keyword phrases relevant to their target market that also give you more business and to increase their ROI.

Connecting the MySQL GUI Tools to a Remote Server through a Firewall

May 11th, 2010

Introduction

A large percentage of MySQL users are using MySQL on a web server hosted by an ISP. Most hosting providers block port 3306 (the MySQL server port) at the firewall, preventing outside access to MySQL. This is an important security practice and you should be very concerned if your ISP does not block port 3306. In this article I will demonstrate how to connect the MySQL GUI tools, including MySQL Administrator and MySQL Query Browser, to a remote server using SSH port forwarding. This article will be written with the assumption that the reader is using Microsoft Windows, but the principles presented will be applicable to Linux users.

What Is SSH?

SSH stands for Secure SHell and is typically used as an encrypted version of telnet. SSH allows you to access a remote server’s shell without compromising security. In a telnet session all communications, including username and password, are transmitted in plain-text, allowing anyone with adequate resources to listen-in on your session and steal passwords and other information. Such sessions are also susceptible to session hijacking, where a malicious user takes over your session once you have authenticated. SSH serves to prevent such vulnerabilities.

OpenSSH, the tool included with most Linux variants, is described as follows in the OpenSSH FAQ at http://www.openssh.org/faq.html#1.1 :

“OpenSSH is a FREE version of the SSH suite of network connectivity tools that increasing numbers of people on the Internet are coming to rely on. Many users of telnet, rlogin, ftp, and other such programs
might not realize that their password is transmitted across the Internet unencrypted, but it is. OpenSSH encrypts all traffic (including passwords) to effectively eliminate eavesdropping, connection hijacking, and other network-level attacks.”

What is SSH Port Forwarding

When a mysql client communicates with the MySQL server, all communication (with the exception of the user password) is done in plain text. What this means is that if an unscrupulous individual gets between your client and the server, they can have full access to all information transmitted. In order to protect your information you need to encrypt communications between the MySQL server and the GUI client.

SSH can be used to encrypt communications between the client and server. This is known as SSH port forwarding or SSH tunneling. One benefit of SSH port forwarding is that we can connect to a MySQL server from behind a firewall when the MySQL server port is blocked.

diagram of tunnel

SSH will listen on a specified port on the client machine, encrypt the data it receives, and forward it to the remote SSH host on port 22 (the SSH protocol port). The remote SSH host will then decrypt the data and forward it to the MySQL server. The SSH host and the MySQL server do not have to be on separate machines, but separate SSH and MySQL servers are supported.

Requirements for SSH and MySQL

To perform port forwarding between a MySQL client application and the MySQL server, you will need a SSH login account for port forwarding. This account needs to either be located on the server running MySQL, or on a machine that can be accessed remotely via SSH and which in turn has network access to the MySQL server.

For this article we will be using Putty, an Open Source SSH client application written by Simon Tatham and available at www.chiark.greenend.org.uk. Linux users should have a command-line SSH client already installed.

Creating the SSH Tunnel

We will first need to configure a Putty session for port-forwarding. Our first step is to configure Putty to connect via the SSH protocol and specify the server address:

Configure SSH protocol and server address.

Once we have configured our host and protocol, we can move on to configuring the SSH tunnel. To create an SSH tunnel, we specify a destination host and port:

setting up the tunnel

In this example, we are specifying that port 3306 on our client machine should be forwarded to port 3306 on the remote server. You can also forward data from a local port number that is different than the remote port number. For example, on my development machine I keep a local copy of MySQL running on port 3306. On my production server I also run MySQL on port 3306. I can configure port forwarding with port 3306 as the local port, but all traffic on port 3306 will be intercepted and forwarded, making the local copy of MySQL unreachable. If I change the source port setting to 3307, I can access the remote server through port 3307 and the local server through port 3306.

When the remote SSH host is on a different machine than the MySQL server, replace 127.0.0.1 with the IP address of the MySQL server (relative to the SSH host).

Once we have added our port forwarding directives, we can then save the session to make it available for repeated use. In the session menu specify a saved session name and click save to add this to the list of saved sessions:

Saves Putty Session for SSH Port Forward to MySQL

Once you have created and saved your session, you can add a shortcut to your desktop to quickly access port forwarding. Right-click on your desktop and choose New> Shortcut. Configure the shortcut and assign the target as /path/to/putty/putty.exe -load sessionname. In the example above, with putty at C:\putty.exe and the profile saved under the name MySQLTunnel, you would assign the shortcut target to be:

C:\putty.exe -load mysqltunnel

To open the session, double-click the icon and provide a username and password when prompted. A Putty window will open and SSH port forwarding will be established after you successfully log in. When you are finished using the tunnel you can close the Putty window to end SSH port forwarding.

Using the SSH Tunnel

Once SSH port forwarding is established, open your client application (I will use the MySQL Query Browser in this example).

Query Browser Login

Set the server host to 127.0.0.1, using port 3306 (unless you configured a different port for your tunnel to prevent conflicts with a local copy of MySQL).

When you connect, Putty will act as a proxy and the client will connect to the remote copy of MySQL through the ISP’s firewall. As an added benefit, these communications will be protected by the encryption capabilities of SSH, preventing third parties from eavesdropping on your MySQL session.

Conclusion

SSH port forwarding is a valuable tool for communicating with remote MySQL servers securely, especially when the remote server is protected by a firewall. While an SSH account on the remote server is required, many ISPs are willing to provide one. SSH port forwarding can be used to protect all MySQL client sessions, including MySQL Administrator, MySQL Query Browser, mysqldump, etc.

Common SSH Commands – Linux Shell Commands

May 11th, 2010

An easy to follow guide of command commands in SSH or linux shell commands, with an explination of what they are used for and an example of their use.

ear.

Updated: Jan 19, 2007: Added some new ssh commands for the linux shell.

We’ve put together some of the more frequently used SSH commands or linux shell commands, and organized them by name so you can easily find a command, their description and how to use it. This guide will continue to be updated and should not be considered a complete list of SSH commands or linux shell commands, but commands, we found, often used. If you would like to add to this guide, please email us and let us know.

Common SSH Commands or Linux Shell Commands,
ls : list files/directories in a directory, comparable to dir in windows/dos.
ls -al : shows all files (including ones that start with a period), directories, and details attributes for each file.

cd : change directory · · cd /usr/local/apache : go to /usr/local/apache/ directory
cd ~ : go to your home directory
cd - : go to the last directory you were in
cd .. : go up a directory cat : print file contents to the screen

cat filename.txt : cat the contents of filename.txt to your screen

chmod: changes file access permissions
The set of 3 go in this order from left to right:
USER – GROUP – EVERONE

0 = —  No permission
1 = –X  Execute only
2 = -W-  Write only
3 = -WX  Write and execute
4 = R–  Read only
5 = R-X  Read and execute
6 = RW-  Read and write
7 = RWX  Read, write and execute

Usage:
chmod numberpermissions filename

chmod 000 : No one can access
chmod 644: Usually for HTML pages
chmod 755: Usually for CGI scripts

chown: changes file ownership permissions
The set of 2 go in this order from left to right:
USER – GROUP

chown root myfile.txt : Changes the owner of the file to root
chown root.root myfile.txt : Changes the owner and group of the file to root

tail : like cat, but only reads the end of the file
tail /var/log/messages : see the last 20 (by default) lines of /var/log/messages
tail -f /var/log/messages : watch the file continuously, while it’s being updated
tail -200 /var/log/messages : print the last 200 lines of the file to the screen

more : like cat, but opens the file one screen at a time rather than all at once
more /etc/userdomains : browse through the userdomains file. hit Spaceto go to the next page, q to quit

pico : friendly, easy to use file editor
pico /home/burst/public_html/index.html : edit the index page for the user’s website.

File Editing with VI ssh commands
vi : another editor, tons of features, harder to use at first than pico
vi /home/burst/public_html/index.html : edit the index page for the user’s website.
Whie in the vi program you can use the following useful commands, you will need to hit SHIFT + : to go into command mode

:q! : This force quits the file without saving and exits vi
:w : This writes the file to disk, saves it
:wq : This saves the file to disk and exists vi
:LINENUMBER : EG :25 : Takes you to line 25 within the file
:$ : Takes you to the last line of the file
:0 : Takes you to the first line of the file

grep : looks for patterns in files
grep root /etc/passwd : shows all matches of root in /etc/passwd
grep -v root /etc/passwd : shows all lines that do not match root

ln : create’s “links” between files and directories
ln -s /usr/local/apache/conf/httpd.conf /etc/httpd.conf : Now you can edit /etc/httpd.conf rather than the original. changes will affect the orginal, however you can delete the link and it will not delete the original.

last : shows who logged in and when
last -20 : shows only the last 20 logins
last -20 -a : shows last 20 logins, with the hostname in the last field

w : shows who is currently logged in and where they are logged in from.
who : This also shows who is on the server in an shell.

netstat : shows all current network connections.
netstat -an : shows all connections to the server, the source and destination ips and ports.
netstat -rn : shows routing table for all ips bound to the server.

top : shows live system processes in a nice table, memory information, uptime and other useful info. This is excellent for managing your system processes, resources and ensure everything is working fine and your server isn’t bogged down.
top then type Shift + M to sort by memory usage or Shift + P to sort by CPU usage

ps: ps is short for process status, which is similar to the top command. It’s used to show currently running processes and their PID.
A process ID is a unique number that identifies a process, with that you can kill or terminate a running program on your server (see kill command).
ps U username : shows processes for a certain user
ps aux : shows all system processes
ps aux –forest : shows all system processes like the above but organizes in a hierarchy that’s very useful!

touch : create an empty file
touch /home/burst/public_html/404.html : create an empty file called 404.html in the directory /home/burst/public_html/

file : attempts to guess what type of file a file is by looking at it’s content.
file * : prints out a list of all files/directories in a directory

du : shows disk usage.
du -sh : shows a summary, in human-readble form, of total disk space used in the current directory, including subdirectories.
du -sh * : same thing, but for each file and directory. helpful when finding large files taking up space.

wc : word count
wc -l filename.txt : tells how many lines are in filename.txt

cp : copy a file
cp filename filename.backup : copies filename to filename.backup
cp -a /home/burst/new_design/* /home/burst/public_html/ : copies all files, retaining permissions form one directory to another.
cp -av * ../newdir : Copies all files and directories recurrsively in the current directory INTO newdir

mv : Move a file command
mv oldfilename newfilename : Move a file or directory from oldfilename to newfilename

rm : delete a file
rm filename.txt : deletes filename.txt, will more than likely ask if you really want to delete it
rm -f filename.txt : deletes filename.txt, will not ask for confirmation before deleting.
rm -rf tmp/ : recursively deletes the directory tmp, and all files in it, including subdirectories. BE VERY CAREFULL WITH THIS COMMAND!!!

TAR
: Creating and Extracting .tar.gz and .tar files
tar -zxvf file.tar.gz : Extracts the file
tar -xvf file.tar : Extracts the file
tar -cf archive.tar contents/ : Takes everything from contents/ and puts it into archive.tar
gzip -d filename.gz : Decompress the file, extract it

ZIP Files:  Extracting .zip files shell command
unzip file.zip

Firewall - iptables commands
iptables -I INPUT -s IPADDRESSHERE -j DROP : This command stops any connections from the IP address
iptables -L : List all rules in iptables
iptables -F : Flushes all iptables rules (clears the firewall)
iptables –save : Saves the currenty ruleset in memory to disk
service iptables restart : Restarts iptables

Apache Shell Commands
httpd -v : Outputs the build date and version of the Apache server.
httpd -l : Lists compiled in Apache modules
httpd status : Only works if mod_status is enabled and shows a page of active connections
service httpd restart : Restarted Apache web server

MySQL Shell Commands
mysqladmin processlist : Shows active mysql connections and queries
mysqladmin drop databasenamehere : Drops/deletes the selected database
mysqladmin create databasenamehere : Creates a mysql database

Restore MySQL Database Shell Command
mysql -u username -p password databasename < databasefile.sql : Restores a MySQL database from databasefile.sql

Backup MySQL Database Shell Command
mysqldump -u username -p password databasename > databasefile.sql : Backup MySQL database to databasefile.sql

kill: terminate a system process
kill -9 PID EG: kill -9 431
kill PID
EG: kill 10550
Use top or ps ux to get system PIDs (Process IDs)

EG:

PID TTY TIME COMMAND
10550 pts/3 0:01 /bin/csh
10574 pts/4 0:02 /bin/csh
10590 pts/4 0:09 APP

Each line represents one process, with a process being loosely defined as a running instance of a program. The column headed PID (process ID) shows the assigned process numbers of the processes. The heading COMMAND shows the location of the executed process.

Putting commands together
Often you will find you need to use different commands on the same line. Here are some examples. Note that the | character is called a pipe, it takes date from one program and pipes it to another.
> means create a new file, overwriting any content already there.
>> means tp append data to a file, creating a newone if it doesn not already exist.
< send input from a file back into a command.

grep User /usr/local/apache/conf/httpd.conf |more
This will dump all lines that match User from the httpd.conf, then print the results to your screen one page at a time.

last -a > /root/lastlogins.tmp
This will print all the current login history to a file called lastlogins.tmp in /root/

tail -10000 /var/log/exim_mainlog |grep domain.com |more
This will grab the last 10,000 lines from /var/log/exim_mainlog, find all occurances of domain.com (the period represents ‘anything’,
– comment it out with a so it will be interpretted literally), then send it to your screen page by page.

netstat -an |grep :80 |wc -l
Show how many active connections there are to apache (httpd runs on port 80)

mysqladmin processlist |wc -l
Show how many current open connections there are to mysql

Streamline Your Complete SEO Process

May 11th, 2010

Everyone has their own way of doing SEO, and that’s the better way to do it. But, streamlining your SEO process will make your SEO process to run successfully. By streamlining your SEO process, you and your clients benefit when your SEO process is faster, and more efficient. Why to wait for some more time, here are five steps you can start doing right now to streamline your SEO process.

Defining your SEO Service
Define or create a complete list of SEO Services that you offer to your client. Think of what the major services that your clients want from you. Consider those services that relates to keyword research, content writing and optimization, link building, and site optimization, and categorize your services into these (or other) areas. Other Services that makes your clients interesting such as marketing, advertising, and website design may also be on your list. Rewrite your website content, marketing material, and advertising campaigns according to the list of service that you offer.

Prepare SEO Checklist
As an SEO Company you might be sure of SEO do’s and don’ts. It’s the time to make it materialize these SEO do’s and don’ts in to SEO Checklists. SEO Checklist will make a thorough review of each and every project to ensure that all your SEO Checklists points have been satisfied. The advantage of having SEO Checklists is that you will remember even the small points of SEO.

Split your SEO process in to different area of services (keywords, content, link building, etc.) and each area will have its own SEO Checklist of item to look for when doing a project review. Each of your services (from step 1) should be represented by at least one item in a checklist, and most services will have multiple items.

Items in a checklist can be in the form of questions, points to check for, or tasks to complete. As an example, here are a few items from two of my checklists:
Keyword Checklist
~ What are the landing pages that I need to target?
~ Does each keyword have its own respective landing page?
~ What keywords are your competitors using for pay-per-click ads?
~ Did your run keyword tools for your keyword research?

Content Checklist
~ Landing pages have main keyword in title, header, and body
~ Are the contents are unique from other landing pages?
~ Data or pages primarily behind search forms are accessible with text links

While starting any new projects, this checklist will serve you to achieve good results. By walking through your checklists for any new project, it will help to track those items that have been completed. Each item left unchecked then becomes a task on your to-do list.

Creating Set of SEO Reports
Approach your client with an SEO Report such as site analysis report, competitor analysis report etc. to increase your company’s reliability. These reports will benefit clients by telling them what you have found lagging and measure you are going to take to overcome that in hand. Building an attractive, informative and periodic reports throughout the project period will increase the trust and used to build a good relationship with your client. Having an automated report from your website may be a great way to catch the attention of potential clients.

Like you provide clients with some reports, it is also important to have certain internal reports to gauge your progress. Internal reports are more technical as they are meant for you. Internal reports will help in tracking the project progress and may point out ways in which you may be underperforming or excelling.

Build your Team of Specialists

The most complicated process in SEO is to build a team of SEO Specialists. As the SEO process is highly critical you want to find who likes a master of all things SEO. Find specialist for each service that you offer but do not do on your own. You might prefer using a specialist for link building or for writing unique content. As the days goes by these specialists will become your “SEO Team”, your set of specialists that you source to work with.

After establishing your team of specialists, it is highly important to set of standard rules and communication work flow within your team to maintain sustainability in this field. Develop an SEO Framework that your team has to perform for each project, i.e. from start to finish. Agree beforehand with the provider on a cost and time frame for their services. Services that are based on factors that vary from project to project, try to work out a set cost and time frame for a range of possibilities.

Master Yourself in Google Search Terms

May 11th, 2010

It is very simple to Google, i.e. to search and get the relevant information you want. But for certain people using Google many times a day, unless you are a technology geek, you probably still use Google in its simplest form. In current scenario use of Google is limited in typing few words and searching for what you want and changing the key phrase until you get what you are looking for. Here is the few better way to use Google which is not hard to learn.

The given Google search tips are based on Google operators which I find it actually useful for all the Google User. I have listed 12 tips below in order to get your desired result up front. But, I assure you that by learning and using the 12 tips and implementing this will get you the actual result which you are looking for.

12 Expert Google Search Tips:

1. Explicit Phrase:
Let say if you are looking for result related to Search Engine. Instead of just typing search engines in search box, you will get the better result by searching explicitly for the phrase. For this use the Double quotes (“) at the front and back of your search terms.
Example: “search engine”

2. Exclude Words:
If you are searching for content related to Internet marketing, and you want to exclude the term called promotion. To do this, use minus operator (-) in front of the word you want to exclude.
Example Search: internet marketing -promotion

3. Site Specific Search:
Often people search for a related content in a specific website for the key phrase. Not Every site support a built-in search feature, you can use Google to search the site for your term. You need to use ‘site:’ followed by your search terms.
Example: “search engine” site:www.example.com

4. Similar Words and Synonyms:
Let’s say you are want to include a word in your search, but want to include results that contain similar words or synonyms. To do this, use the “-” in front of the word.
Example: “search engine” – techniques

5. Include Words:
If you are searching for content related to Internet marketing, and you want to include the term called promotion. To do this, use concatenate operator (+) in front of the word you want to exclude.
Example Search: internet marketing +promotion

6. Specific Document Types:
Let say that you are looking to find results that are of a specific file type you can use the modifier “filetype:” For example, if you want to find PDF file related to search engines, use the below technique
Example: “search engines” filetype:pdf

7. This OR That:
By default, when you do a search, Google will include all the terms specified in the search. If you are looking for any one of one or more terms to match, then you can use the OR operator. (Note: The OR has to be capitalized).
Example: internet marketing OR advertising

8. Phone Listing:
Let’s say someone calls you on your mobile number and you don’t know how it is. If all you have is a phone number, you can look it up on Google using the phonebook feature.
Example: phonebook:617-555-1212 (note: the provided number does not work – you’ll have to use a real number to get any results).

9. Area Code Lookup:
If all you need to do is to look-up the area code for a phone number, just enter the 3-digit area code and Google will tell you where it’s from.
Example: 617

10. Stock (Ticker Symbol):
Just enter a valid ticker symbol as your search term and Google will give you the current financials and a quick thumb-nail chart for the stock.
Example: GOOG

11. Calculator:
Google help you to perform any simple calculation quickly. Instead of searching for calculator at the time of quick calculation you can just type your expression in to Google.
Example: 48512 * 1.02

12. Word Definitions:
Find the definition for any term quickly using “define:” command. It will give the definition for the term you are searching for.
Example: define:stock