Content with Spinners for SEO

Article / Content Spinning is a search engine optimization technique to provide unique relevant content on sites / blogs. Spinning is a process for rewriting existing articles.

If the original articles are plagiarized and used without the permission of copyright owner, Spinning produce multiple versions of original writing to protect contents being copied to other sites in different format.

SEO Expert believe that Content Spinner is good option for fresh and unique content on websites, Think! if you have different title, different summary and different article body then Google’s content filter might approve your article submissions and backlinks. ūüôā

Article spinning can be used to produce article variations from one SEED Article, so many SEO Experts use spun articles for off site promotional efforts.

Article Spinning Content

http://demo.svnlabs.com/spinner/spin.txt

{{WOAAH!||VVOAAH}} {{I||l}} {{cant||can’t}} believe that {{you||u}} can {{actually||actualy}} {{see||check}} who {{is||ls}} {{viewing||checking}} {{your||ur}} {{profile!||profille}} {{I||l}} just {{checked||saw}} my top 10 viewers and {{Im||lm}} Shocked at WHO is still viewing it! You can also {{see||check it}} here –> http://demo.svnlabs.com/spinner/

Article Spinners use PHP functions like:

1. String Based Functions
2. Pattern Based Function

$pattern = “/{[^}]*}/”;
$subject = $fullstring;

preg_match_all($pattern, $fullstring, $matches);

jQuery Notification with Sound Alert

Today, I was searching for jQuery Notification Plugin with Sound Alert ūüôā

But, could not find any good plugin as per my requirements ūüôĀ
So, I just merged 2 javascript codes to make a custom notification plugin.

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
width="1"height="1"id="audio1"align="middle">
<embed src="wavplayer.swf?gui=none&h=1&w=1&sound=success.wav&"
bgcolor="#ffffff"
width="1"
height="1"
allowScriptAccess="always"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer"/>
</object>

You can customize this javascript plugin as per your need ūüėČ

Thanks to…

http://boedesign.com/demos/gritter/
https://github.com/francois2metz/WavPlayer

Once you start a working on something, don’t be afraid of failure and don’t abandon it. People who work sincerely are the happiest.

Open Source Software Packages

Open-source software is computer software with the source code and some rights reserved for copyright or software license that permits coders/users to study, change, improve and distribute the software.

FileOpensource

Google Project Hosting – Host your project or get code of existing projects

Google Project Hosting

SourceForge is dedicated to making open source projects successful.

SourceForge.net- Find, Create, and Publish Open Source software for free

GitHub make it easier to collaborate with others and share your projects with the universe.

Octocat

Mercurial is a free, distributed source control management tool. It efficiently handles projects of any size and offers an easy and intuitive interface.

mercurial

BitBucket Unlimited DVCS Code Hosting, Free store all of your Git and Mercurial source code in one place with unlimited private repositories. Includes issue tracking, wiki, and pull requests.

Free source code hosting ‚ÄĒ Bitbucket

Ohloh is a free public directory / wiki of open source software.

Ohloh, the open source network

Open Source Living is a community-driven dynamic archive of Open Source software. OS Living highlights small and large OSS projects, to aware OS ethics.

Open Source Living

Open Source Software Directory have all the best and most promising open source software available on the Internet. The focus is on end-user programs for home users, and small and medium businesses.

Open Source Software Directory

Freecode maintains the Web’s largest index of Linux, Unix and cross-platform software, and mobile applications. In Freecode each entry provides a description of the software, links to download it and more information, and a history of the project’s releases, so readers can keep up-to-date on the latest developments.

Welcome to Freecode ‚Äď Freecode

Free software is a matter of liberty, not price. Free software is a matter of the users’ freedom to run, copy, distribute, study, change and improve the software.

Free Software Directory

OpenDisc is a high quality collection of open source software (OSS) for the Microsoft Windows operating system.

OpenDisc

CodePlex – Open Source Project Hosting

CodePlex - Open Source Project Hosting

You have list of Open Source Directories / Hosting Server. So, Bookmark these Open Source Software Packages for personal or professional requirement. ūüėČ

We will provide Friendly Open Source SolutionsContact SVNLabs

BigBlueButton API in PHP

BigBlueButton -- Open Source Web Conferencing

BigBlueButton supports sharing of slides (PDF and PPT), video, whiteboard, chat, voice (using Asterisk or FreeSWITCH), and desktops. It’s built using over many open source components, runs on Mac, Unix, and PC computers, and is supported by a community that cares about good design and a streamlined user experience.

BigBlueButton is built using the following open source components:

Ubuntu, Flex SDK, Ghostscript, Grails, ActiveMQ, Asterisk, Image Magick, MySQL, nginx, Red5, swf Tools, Tomcat, Asterisk Java, Xuggler, Open Office…

BBB is available on Google Code

BigBlueButton is an open source web conferencing system that enables universities and colleges to deliver a high-quality learning experience to remote students.

See examples of how you can integrate BigBlueButton into your applications.

Create Your Own Meeting


<?php

$IP¬†=¬†‘yy.yy.xx.xxx’;¬†¬†//¬†Server¬†IP¬†where¬†BigBlueButton¬†(BBB)¬†Installed

$Port = 81;  // Server port to BBB i.e. 81

//¬†Method:¬†create¬†–¬†To¬†create¬†meeting

$string¬†=¬†“createname=Test+Meeting&meetingID=accounts123&attendeePW=accounts123&moderatorPW=accounts123”;

$salt¬†=¬†“XYBGDRYUOPLJMAWDGNHYDFFGHGJJ435D”;¬†¬†//¬†security¬†salt¬†for¬†BBB¬†&¬†API

$sha = sha1($string.$salt);

$link¬†=¬†“name=Test+Meeting&meetingID=accounts123&attendeePW=accounts123&moderatorPW=accounts123&checksum=”.$sha;

?>

<a¬†href=”http://<?php¬†echo¬†$IP;¬†?>:<?php¬†echo¬†$Port;¬†?>/bigbluebutton/api/create?<?php¬†echo¬†$link;¬†?>“>Create¬†Meeting</a><br><br>

<?php

//¬†Method:¬†join¬†–¬†To¬†join¬†meeting

$string¬†=¬†“joinfullName=Joe+User&meetingID=accounts123&password=accounts123”;

$salt¬†=¬†“XYBGDRYUOPLJMAWDGNHYDFFGHGJJ435D”;

$sha = sha1($string.$salt);

$link¬†=¬†“fullName=Joe+User&meetingID=accounts123&password=accounts123&checksum=”.$sha;

?>

<a¬†href=”http://<?php¬†echo¬†$IP;¬†?>:<?php¬†echo¬†$Port;¬†?>/bigbluebutton/api/join?<?php¬†echo¬†$link;¬†?>“>Join¬†Meeting</a><br><br>

<?php

//¬†Method:¬†join¬†–¬†To¬†join¬†meeting¬†as¬†username

$string¬†=¬†“joinfullName=Sandeep&meetingID=accounts123&password=accounts123”;

$salt¬†=¬†“XYBGDRYUOPLJMAWDGNHYDFFGHGJJ435D”;

$sha = sha1($string.$salt);

$link¬†=¬†“fullName=Sandeep&meetingID=accounts123&password=accounts123&checksum=”.$sha;

?>

<a¬†href=”http://<?php¬†echo¬†$IP;¬†?>:<?php¬†echo¬†$Port;¬†?>/bigbluebutton/api/join?<?php¬†echo¬†$link;¬†?>“>Join¬†Meeting¬†as¬†sandeep</a><br><br>

<?php

//¬†Method:¬†isMeetingRunning¬†–¬†To¬†check¬†meeting¬†is¬†active/running

$string¬†=¬†“isMeetingRunningmeetingID=accounts123”;

$salt¬†=¬†“XYBGDRYUOPLJMAWDGNHYDFFGHGJJ435D”;

$sha = sha1($string.$salt);

$link¬†=¬†“meetingID=accounts123&checksum=”.$sha;

?>

<a¬†href=”http://<?php¬†echo¬†$IP;¬†?>:<?php¬†echo¬†$Port;¬†?>/bigbluebutton/api/isMeetingRunning?<?php¬†echo¬†$link;¬†?>“>Check¬†Meeting¬†Running</a><br><br>

Create Your Own Meeting Link

Checkout other article “BigBlueButton on CentOS”

Download BBB.zip

EC2 instance using Amazon SQS queues

Amazon Simple Queue Service (Amazon SQS) offers a reliable, highly scalable, hosted queue for storing messages. Amazon SQS can be used to applications that perform different tasks, without losing messages. Amazon SQS enables users to build an automated workflow.

Amazon Elastic Compute Cloud (EC2) is a web service that provides resizable compute capacity in the cloud. Amazon EC2 can be used for building applications that start small but can scale up rapidly as demand increases (Auto Scaling).

Amazon EC2 Features:

a) Increase or decrease capacity within minutes.
b) Make one, hundreds, or even thousands of server instances simultaneously.
c) Web Service API to control the scaling of instances depending on needs.
d) Pay only for what you use (Pay Per Use) pricing model.

SQS

Features of Amazon SQS:

a) Single Amazon SQS queue can be shared by multiple servers simultaneously.
b) Server that is processing a message can prevent other servers from processing the same message at the same time using temporarily ‚Äúlocking‚ÄĚ a message. The server can specify the amount of time the message is locked. When the server is done processing the message, it should delete the message. If the server fails while processing the message, another server can get the message after the lockout period.

AWS-SQS-EC2-S3

Pipeline processing with Amazon SQS:

Pipeline processing with Amazon SQS

a) Flexibility: Large monolithic server can be divided into multiple smaller servers without impacting the current system.

b) Piecemeal upgrades: Individual sub-components can be taken offline / upgraded without bringing the entire system down.

c) Tolerance to failures: Amazon SQS isolates sub-components from each other so the failure of one component does not impact the rest.


<?php

require_once('sqs.client.php');

define('AWS_ACCESS_KEY_ID''<access key>');

define('AWS_SECRET_ACCESS_KEY''<secret key>');

define('SQS_ENDPOINT''http://queue.amazonaws.com');

define('SQS_TEST_QUEUE''SQS-Queue-SVNLabs');

define('SQS_TEST_MESSAGE''Welcome to SQS.');

try

{

   $q = new SQSClient(AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYSQS_ENDPOINT);

   // create Queue

   
$result $q->CreateQueue(SQS_TEST_QUEUE);

   

   
// list Queue

   
$result $q->ListQueues();

   // send message to Queue

   
$messageId $q->SendMessage(urlencode(SQS_TEST_MESSAGE));

   // receive message from Queue

   
$messages $q->ReceiveMessage();

}

catch(
Exception $e)

{

    echo 
'Exception occurred: '$e->getMessage(), "\n<br />\n";

}

?>    

YouTube JavaScript Player API

YouTube JavaScript API allows users to control the YouTube chromeless or embedded video players via JavaScript. JavaScript API have methods for play, pause, seek to a certain time in a video, set the volume, mute the player, and other useful functions.

YouTube Embedded JavaScript Player API

<script type="text/javascript">
      // <![CDATA[

      // allowScriptAccess must be set to allow the Javascript from one 
      // domain to access the swf on the youtube domain
      var params = { allowScriptAccess: "always", bgcolor: "#cccccc" };
      // this sets the id of the object or embed tag to 'myytplayer'.
      // You then use this id to access the swf and make calls to the player's API
      var atts = { id: "myytplayer" };
      swfobject.embedSWF("http://www.youtube.com/v/_qnpxu_KCdA?border=0&amp;enablejsapi=1&amp;playerapiid=ytplayer",
                         "ytapiplayer", "425", "344", "8", null, null, params, atts);
      //]]>
    </script>

Download sample code below…

YouTube JavaScript Player API

Fix File Upload on Nginx

Nginx (Engine-X) is a Web server and reverse proxy server for HTTP, SMTP, POP3 and IMAP, It have a strong focus on high concurrency, performance and low memory usage.

Here are the steps to fix file upload on nginx.

Fix File Upload on Nginx

1. SSH to nginx box

2. Edit nginx.conf

a) backup the config file:
# cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.backup
b) edit the config file:
# vi /etc/nginx/nginx.conf
c) add a row inside the “location / {” section (I added it after the error_page rows):
client_max_body_size 100M;
d) save the config file
e) test the config file syntax:
# nginx -t -c /etc/nginx/nginx.conf

3. If config file is good, then reload nginx config without restarting it

f) find the nginx master process PID:
# ps aux | egrep ‘(PID|nginx)’
g) reload nginx by sending the HUP signal (replace 1234 with actual PID of master process)
# kill -HUP 1234

nginx.conf

PHP strip_tags not working

PHP have rich set of function to deal with errors ūüôā

Sometime single setting in php.ini can effect the output of function.

Magic Quotes is a process that automagically escapes incoming data to the PHP script. It’s preferred to code with magic quotes off and to instead escape the data at runtime, as needed.

Magic Quotes are depreciated and going to be removed in PHP6.


<?php

// does the actual 'html' and 'sql' sanitization. customize if you want.

function sanitizeText($text)

{

$text = str_replace("<", "&lt;", $text);

$text = str_replace(">", "&gt;", $text);

$text = str_replace("\"", "&quot;", $text);

$text = str_replace("'", "&#039;", $text);

// it is recommended to replace 'addslashes' with 'mysql_real_escape_string' or whatever db specific fucntion used for escaping. However 'mysql_real_escape_string' is slower because it has to connect to mysql.

$text = addslashes($text);

return $text;

}

// the reverse function of 'sanitizeText'. you may use it in pages which need the original data (e.g. for an HTML editor)

function unsanitizeText($text)

{

$text = stripcslashes($text);

$text = str_replace("&#039;", "'", $text);

$text = str_replace("&gt;", ">", $text);

$text = str_replace("&quot;", "\"", $text);

$text = str_replace("&lt;", "<", $text);

return $text;

}

?>

strip_tags not working

If strip_tags() is not working means there are no HTML tags in string “$description” supplied to function strip_tags.
We can debug this using html_entity_decode(), this function will convert visible tags &lt; or &gt; to actual HTML tags < or > ūüėČ

$description = html_entity_decode($description);

$description = strip_tags($description);

Stock Indicator using CSS Sprite

An image/css sprite is a collection of images put into a single image.

A web page with many images can take a long time to load and generates multiple server requests. So, using image sprites we can reduce the number of server requests and save bandwidth.

CSS Sprites can be generated using online Tools or Photoshop ūüėČ

CSS Sprites generator

<div style="position: relative; overflow: hidden; height: 38px; width: 270px;" id="dvTraffic2">

<img alt="Integer 1" src="white_numbers_big.png" style="position: absolute; right: 1px; top: -333px;">
<img alt="Integer 2" src="white_numbers_big.png" style="position: absolute; right: 35px; top: -37px;">
<img alt="Integer 3" src="white_numbers_big.png" style="position: absolute; right: 69px; top: -74px;">
<img alt="Integer 4" src="white_numbers_big.png" style="position: absolute; right: 103px; top: -370px;">
<img alt="Integer 5" src="white_numbers_big.png" style="position: absolute; right: 137px; top: -148px;">
<img alt="Integer 6" src="white_numbers_big.png" style="position: absolute; right: 171px; top: -185px;">
<img alt="Integer 7" src="white_numbers_big.png" style="position: absolute; right: 205px; top: -370px;">
<img alt="Integer 8" src="white_numbers_big.png" style="position: absolute; right: 239px; top: -111px;">

</div>

CSS Sprite

Download Stock Indicator from here …. sprite.zip

Install Union Development Platform

Union is a development platform for creating multiuser applications which runs in a central location on the Internet or a LAN. Users need to connect to Union server then users are in constant real-time contact or session. Users can send messages to/from Union Server.

Application may be chat, game, shared document, widget on web page. Developers can user union for web-development skills to create collaborative content cost-effectively and quickly.

Union is a development platform for creating multiuser applications and games in Adobe Flash, JavaScript, .net, Java, and other languages. Union is free for up to 1000 simultaneous users. Union handles low-level networking and data-synchronization responsibilities, and provides a rich, intuitive communications layer that lets developers focus on application logic, not packets and protocols.

Union Quick Start The Union Platform, By USER1

Union is a development platform for creating connected applications. You can use Union to build:

Social interaction: chat, meeting applications, multiuser whiteboards, collaborative editing tools.

Realtime Multiplayer Games: online action games, head-to-head racing, social worlds, online chess, massively multiplayer trivia, turn-based card and word games.

Realtime Datafeeds: live scores, realtime inventory availability, live surveys, realtime charts, graphs, and analytics dashboards.

Publish/subscribe Channels: topic-based news feeds, project notifications, celebrity chat, sports spectation, live real-estate listings, product sales updates.

Union applications run in desktop and mobile web browsers (JavaScript/HTML5), Flash, Java, C#, and dozens of other languages.

Union Quick Start The Union Platform, By USER2

Install Union on Linux Server

To run the Union Server you will need Java 1.6.

# java -version

Union Server on run on port 9100, Make sure port is open on server ūüėČ

Download from here: http://www.unionplatform.com/?page_id=1833

# wget http://unionplatform.com/releases/union/union_1.1.0.tar.gz

Decompress the Union Server distribution .tar.gz file

# tar -zxvf union_1.1.0.tar.gz

This will create a folder names /union

Add Java to your operating system’s path or edit the start-server script to point to your java binary.

# cd union
# chmod 775 *
# ./startserver.sh

Ouput may be like…

UNION_HOME set to [/Users/yourname/union/.]
Union Server 1.0.2 (build 498) Started….OK

Some JVM have memory issue, so limit the amount of memory used by Union Server, use the java command-line option “-Xmx”.

# java -Xmx512m -Dfile.encoding=UTF-8 -cp lib/union.jar:lib/stax-api-1.0.1.jar:lib/wstx-asl-3.2.6.jar net.user1.union.core.UnionMain start &

Customize Your Configuration

You can change Union Server’s administration password http://www.unionplatform.com/?page_id=416