Wednesday, December 11, 2013

Remote Debugging Mobile Browser Web Page Using Chrome Developer Tools

The WebKit Developer Tools are great for working on issues in Chrome and Safari. You could install a different set of developer tools in each browser. But what about debugging in mobile browsers?

That's where Weinre comes in. Weinre is a remote console, which allows you to access the WebKit Developer Tools in any browser or platform. It's especially ideal for mobile, since it provides a complete, robust testing suite on any device.

How to Setup Weinre?

First, you need to install a Node.js server on your local machine. You can learn more about installing Node from the Node website (

Next, install Weinre using NPM. From the command line, type the following:

npm -g install weinre

After the installation completes, start the Weinre server from the command line:

weinre --boundhost a.b.c --httpPort 3000 --debug true

There are lot of other options which you can find here:

Now instrumenting your web page to act as a debug target by adding a script tag to your test page.

To make your web page debuggable with weinre, add the following line to your web page:

<script src="http://a.b.c:3000/target/target-script-min.js">

You can now open a debug client by browsing to http://a.b.c:3000/client (or probably http://localhost:3000/client as well) on your desktop/laptop, then reload your newly instrumented web page on your mobile device, and see the two connect in the Remote panel of the debug client.

After you've installed Weinre, using it is a piece of cake. Simply use the Weinre console in Chrome, and you have access to all the WebKit Developer Tools. You can use the JavaScript console, DOM Inspector, Sources panel, Network panel, and more.

Wednesday, October 9, 2013

Alternate for jQuery's $(document).ready ()?

jQuery's $(document).ready() is one of most used functionThis function is executed when the DOM is fully loaded.

The $()function provides a shortcut for us as this is a common task. When we pass in a function as the argument to $(), jQuery performs an implicit call to .ready(). Hence we can use the following shortcut:

    // Your Code


in place of $(document).ready().

Saturday, August 17, 2013

Creating Apps Directly on a Smartphone or Tablet

Mobile devices such as Smartphones and tablets are set to become the main computers that virtually all people will own and carry with them at all times. And yet, mobile devices are not yet used for all computing tasks.

A project at Microsoft Research was created to answer a simple question: “It is possible to create interesting apps directly on a Smartphone or tablet, without using a separate PC or a keyboard?” The result is TouchDevelop, a programming environment that runs on all modern mobile devices such as Windows Phone, iPhone, iPad, Android phones and tablets, and also on PCs and Macs.

Read more here at TouchDevelop

Friday, July 19, 2013

Ten Great Technical Writing Tips

Technical writing is a skill that will not only help you to better understand a software or system that you are working with, but also will help you to build credibility before others in an organization, especially as a knowledge expert regarding the topic or areas you are covering in your documentation. Here are ten tips for improving your technical writing skills, and these may be applied to not only software, but also to internal processes and procedures that define how a company operates:

  1. Identify your writing goal. Many times when someone is explaining a system or a software functionality, he or she gets lost in the details of the system and the reader is not able to assimilate the details with the final goal of the documentation you are writing. Stay focused, and if you need, include a comment or two reminding the user of their final goal in reading the documentation. 
  2. Keep screen shots small. Sometimes, technical writers or support personnel capture a whole screen when there is only a part of the screen that needs capturing. This will help the reader to assimilate the button or field you are discussing with the screen. 
  3. Explain, explain, explain! Many times, technical writers explain an idea without a tangible example. Examples always help the reader to assimilate the lesson/idea with the practical use of the software or system. There is nothing more frustrating than reading text that has seemingly no relevance to the system. 
  4. Realize that your reader is not an expert. The majority of people reading documentation will not be system or software experts. That is why they are reading the documentation! The ones who really know the system will navigate without the written words. So, be clear in your explanations, taking the reader by the hand as much as possible. 
  5. Repeat if you must. As you explain a system or software, there may be aspects that must be re-mentioned for the reader to successfully assimilate the current idea with the idea base you have been building all along in your write-up. 
  6. Tables Rock. I especially appreciate a technical writer who can summarize fields or related processes and procedures in a table. This is a good visual way for the reader to further understand the document, using relative comparison, in the form of a table. 
  7. Use sufficient margins in your pages. Do not create a document with narrow margins, because when it comes time to publish, there could be issues related to creating PDFs or even web pages (HTML), so use ample margins. 
  8. Quote & note your sources. Make sure you create a document that reveals sources that are authorities on the matter and that are recognized in a field. 
  9. Don’t be afraid to ask both technical and non-technical personnel review your work. It is good to see the perspectives of readers from both the technical and non-technical aspects of a business. 
  10. Proofread your work, always! There is nothing more embarrassing than submitting work that has typos or other obvious grammatical or structural problems. After writing a document, take a fifteen minute break, then return to the document with a fresh perspective.
Author: Keith Johnson

Tuesday, July 16, 2013

Uniform Look and Feel in "Input:File" across Browsers

While doing software development, you must have come across a scenario:

When you are using "input:file" option, different browsers show it differently. If your customer wants to have uniform look and feel across browser for "input:file" option, we often have a very few options.

UniformJS is the solution to show uniform look and feel for your form items.

Uniform masks your standard form controls with custom themed controls. It works in sync with your real form elements to ensure accessibility and compatibility. For truly complex designs, you can import multiple themes on one page.

Friday, April 12, 2013

Why to choose MongoDB over other Document-Oriented NoSQL Stores?

MongoDB is a document-oriented datastore. NoSQL data stores such as MongoDB and Cassandra are so vastly different from each other that apples-to-apples comparisons are practically impossible. Thus, within the world of NoSQL, there are subcategories such as key-value stores, graph databases, and document-oriented stores. Here are some of the reasons on why to choose MongoDB over NoSQL Stores:

  • MongoDB, an open source, schema-free document store written in C++.
  • Support for a wide array of programming languages. Thus, a wide variety of applications can leverage Mongo from Java to Ruby to PHP.
  • A SQL-like query language. Developers can access Mongo via its own shell, which uses a JavaScript query language.
  • Easy to learn
  • Quick Installation
  • Large Communitry. e.g. the community around Mongo has created higher-level, ORM-like libraries, which leverage core platform drivers, thus providing a closer mapping of objects in code to documents.
  • Plugin support
  • In addition to strong community backing and commercial support, Mongo benefits from excellent documentation. A number of published books are available.
  • Extensive driver support
  • Support on Windows
  • Documents are stored in a binary JSON format, dubbed BSON. JSON is an extremely understandable format. Humans can easily read it (as opposed to XML, for example) and machines can efficiently parse it.
  • Out of the box, Mongo supports sharding, which permits horizontal scaling by divvying up a collection of documents across a cluster of nodes, thus making reads faster.
  • Mongo offers replication in two modes: master-slave and replica sets. In a replica set, there is no master node; instead, all nodes are copies of one another and there is no single point of failure. Replica sets therefore bring more fault tolerance to larger environments supporting massive amounts of data.
  • They do not need massive hardware expenditures. Mongo can run on commodity hardware platforms, provided there is a healthy amount of memory.
  • Mongo offers MapReduce, a powerful searching algorithm for batch processing and aggregations that is somewhat similar to SQL's group by.
  • Role-Based Privileges allow organizations to assign more granular security policies for server, database and cluster administration.

Sunday, April 7, 2013

Informatica HParser and MapR for Hadoop

The Apache Hadoop software framework has become the leading solution for massive, data-intensive, distributed applications. More mature than other solutions, it has also proven to be better at scaling; more useful, flexible, and affordable as a generic rather than proprietary data platform; excellent at handling structured and unstructured data; and its many connector products have broadened its use beyond other software frameworks used to handle Big Data applications.

Informatica HParser provides Hadoop developers with parsing capabilities to address data sources that include logs, call data records, industry standards, documents and binary or hierarchical data. This easy-to-use, codeless parsing software enables processing of any file format inside Hadoop with scale and efficiency.

·  Easily access complex data sources and develop data transformations for Hadoop parsing, with broadest support for data formats
·  Eliminate the time-consuming and tedious process of developing and testing data transformations in Java and PERL

MapR provides full data protection, no single points of failure, improved performance, and dramatic ease of use advantages. The MapR Distribution for Apache Hadoop adds innovation to the excellent work already done by a large community of developers. With key new technology advances, MapR transforms Hadoop into a dependable and interactive system with real-time data flows.

The MapR Distribution for Apache Hadoop is 100% API compatible with Apache Hadoop including MapReduce, HDFS, and HBase. MapR fully tests and supports the complete distribution, combining MapR’s intellectual property with the best of the best from the community, including the latest patches.

Key features of the combination of MapR and Informatica include:

·  Bi-directional data integration with Informatica PowerCentre and Informatica PowerExchange.
·  Snapshot replication using Informatica FastClone.
·  Data streaming using Informatica Ultra Messaging.
·  Parallel parsing and transformation on MapR using Informatica HParser

MapR has partnered with Informatica to provide the Community Edition of HParser:

·  The HParser package can be downloaded from Informatica as a Zip archive that includes the HParser engine, the Data Transformation HParser Jar file, HParser Studio, and the HParser Operator Guide.
·  The HParser engine is also available as an RPM via the MapR repository, making it easier to install the HParser Engine on all nodes in the cluster.

HParser can be installed on a MapR cluster running CentOS or Red Hat Enterprise Linux.

To install HParser on a MapR cluster:

·  Register on the Informatica site.
·  Download the Zip file containing the Community Edition of HParser, and extract it.
·  Familiarize yourself with the installation procedure in the HParser Operator Guide.
·  On each node, install HParser Engine from the MapR repository by typing the following command as root or with sudo:
yum install hparser-engine
·  Choose a Command Node, a node in the cluster from which you will issue HParser commands.
·  Following the instructions in the HParser Operator Guide, copy the HParser Jar file to the Command Node and create the HParser configuration file.

Tuesday, April 2, 2013

Apache Hadoop ecosystem - March 2013

Apache Hadoop ecosystem continues to evolve at a rapid pace with newer projects that are being added as incubators while those currently under incubation are getting ready to graduate out. Let’s visit the current state of open source Apache Hadoop ecosystem.

Please check here for more details.