Maintain Infrastructure Solutions with an EMC Platform Engineer Certification

EMC partners can work toward becoming a platform engineer. In this track, participants will gain the knowledge and skills to successfully maintain and support the deployment of EMC information infrastructure solutions. As opposed to the technology architect track, the platform engineer track will assume a more hands on role in the solution deployment process. Engineers will have a complete overview of the solution deployment and maintenance, offering recommendations for improvements and amendments, assisting in fixing any problems that may arise while still following customer requirements, and maintaining not just the solution, but also the relationship with customers in the process.

This track is very straightforward, with a single associate certification (Information Storage and Management) and five specialist certifications: Celerra, CLARiiON, Centera, VNX, and Symmetrix. Each requires candidates to pass only one exam. Training options are available to ensure your complete knowledge of concepts and terminology before completing the exam. Job experience working in the given environment can also benefit your test experience.

The benefit of earning multiple certifications in the Platform Engineer track is that you will gain exposure to multiple environments, being able to apply concepts and skills in various situations in different environments that may involve certain requirements and fundamentals. Although participants have no limit to the number of certifications he/she can earn, adding multiple to a resume can ensure a very successful career as a platform engineer. Learn more about this certification track, exams, and how to become a partner by visiting the EMC website.

HTML5 Audio: Browser Self Test

Created a small html5 page today to check which audio format your browser support in HTML5.

It is using a Javascript code to detect browsers audio status dynamically and show the result.

I also added 5 different audio format sample using html5 audio node, and using this you can test whether any particular format is playing or not

It works for both Desktop browsers and mobile browsers.

Here is the URL:

Facebook changes App profile page

From February 2012 onwards, Facebook stops App profile pages. But you can still move all your page likes and users to new page (till Feb).

The new Facebook app creation flow is really confusing.

For developers, to add a app as a tab to another page, you  need to user the following URL:

next parameter should be your canvas page url.

Here you can see an option to add this app to your page.

Install Asterisk in Mac (including Lion)

Mac port packages are available for Asterisk in mac

As a first step, do a port update to get all new packages:

port selfupdate

Step 2:

sudo port install asterisk

[This is a long process, it will start installing many dependancy packages]

Possible errors you can see:

1) Image error: /opt/local/bin/a2p is being used by the active perl5.8 port.  Please deactivate this port first, or use ‘port -f activate perl5′ to force the activation.

Solution: Check all perl version installed using the given command:

sudo port installed | grep perl

Uninstall old perl version will solve this problem.

eg: port uninstall perl5 @5.8.9_0

sudo port uninstall   perl5.8 @5.8.9_3

Also if you can run an update outdate package command, this will be alos helpful:

sudo port upgrade outdated

Continue again the command: sudo port install asterisk

2) Error: Target org.macports.configure returned: configure failure: shell command failed (see log for details).

portaudio failed to install.

Solution: Download port audio files from portaudio website.  Replace the source files of portaudio local folded  (where the error is located) and Manually install it using the following commands

sudo /usr/bin/make -j2 -w all
sudo /usr/bin/make install

After installation, link this portaudio with port installation using the following command:

port -f activate portaudio

Continue running this command: sudo port install asterisk

3) When installing Asterisk, you may get another error:

For a undefined variable: snmp/agent.c:830: error: ‘RONLY’ undeclared

Solution: Find the file snmp/agent.c and add #define RONLY 1

If Asterisk still fail to install, download the package file from asterisk website and install manually.

Before compiling this, edit makeopts file and update the line:

change “CONFIG_LDFLAGS=” to “CONFIG_LDFLAGS= /usr/lib/bundle1.o

Good luck

Pass parameter to an iframe embedded Fan Page in Facebook

Those who use their on hosting inside an iframe  for Facebook Fan page, there is a mechanism to pass additional parameters to your iframe page if you need to create a deep URL.

A normal Fan page of Facebook would like this:

This Url will call your domain, say inside the iframe to load the page.

Each time the iframe is loaded, Facebook do a POST to this iframe URL with some data which we can use to identify the status of the user, eg, whether the user already liked this page, or any other parameter is passed through the fan page url.

Facebook keep app_data variable for developers to pass additional parameters to your iframe page.


To retrieve this information, in PHP, use can use the following code:



$signed_request = $_REQUEST["signed_request"];
// $_POST also work, but better with $_REQUEST

list($encoded_sig, $payload) = explode(‘.’, $signed_request, 2);

$data = json_decode(base64_decode(strtr($payload, ‘-_’, ‘+/’)), true);

$mydata = $data['app_data']; //here you can get the value you passed


Check my article here  to see how you can get the ‘like’ status using PHP

Courtesy: From various online sources


jRecorder 1.1 with Preview option is released

Two months ago, I published a jQuery plugin to record audio from browser (without any Media server) called jRecorder

I got many responses and requests to maintain the code with new enhancements and some bug fixes.

Based on that, a new version (1.1) is released which has the capability to preview the recorded audio before sending to the server.

See the example implementation and documentation here.

Also I made this source open and available for anybody to develop at:



Started writing on Buzitweet

Buzitweet is a blogging platform where anyone can register using a Facebook account and can post your articles. No matter what topic it is, it can be programming, videos, quotes, images, pictures or any thing.

I use that platform for writing quick programming tips, and which I feel  really interesting.

Here are my recent 4 posts:

Upload File using PhoneGap

PhoneGap new version comes with upload/download file support in iPhone/Android and BlackBerry

Problem in PhoneGap accessing external URL

Article on how to access a 3rd party website content using PhoneGap (Default setting does not allow this)

Change Browser Address Location using Javascript (w/o reloading)

Article on manipulating browser address bar without reloading the page. Do not work for IE

Get filetype from header without checking extension in Unix

Get the MIME type of a file without checking the extension of the file (Good way – Unix style)







Facebook – Like to see the content

Sometime in Facebook Pages, you can see the message / banner, we have offers for you, like us to see. Or Like us to unlock the content etc. These all are for getting more likes in their Facebook page and indeed, it is a very nice idea to spread your updates among many of your Facebook Fans. Usually people won’t do the dislike option to revert it back!

The question is how can we do this ?

The trick here is, you need to create a page using iframe as you usually create FB app. In that iframe, you have your custom page fragment hosted somewhere else showing some copies/contents/offer etc.

Each time when Facebook load your url inside the iframe, Facebook do a POST to your domain signed_request as the parameter. The rest of the part you have to handle with your server side scripting.

Here mine is PHP:


$signed_request = $_REQUEST["signed_request"];
// $_POST also work, but better with $_REQUEST

list($encoded_sig, $payload) = explode(‘.’, $signed_request, 2);

$data = json_decode(base64_decode(strtr($payload, ‘-_’, ‘+/’)), true);

if (empty($data["page"]["liked"])) {

//write code here to show a non-liked situational contents
echo “You haven’t liked us yet”;

else {

//write code here to show contents for already liked people
echo “Hello Fan, here are your offers.”;