Graphiti: An Alternate Frontend for Graphite


Graphite is a powerful front end for the real-time graphing engine. Graphiti provides a whole new way of creating and storing graphs. This was using in day-to-day at Paperless as a way to monitor the infrastructure and product metrics. 

There’s been a big push in the development community on the need and desire for metrics to drive the business, product, and development cycles. Therefore it will definitely help full to the organisation which are based on  analysis and multi task processes.

Accounting data is not real-time, but it is precise. It’s generated nightly by some very awesome and complex SQL functions and collations by our venerable analytics lead. These numbers are hard facts and they give the information  to make important big decisions.

Difference between D3.js and Graphiti
D3 allows you to bind arbitrary data to a Document Object Model (DOM), and then apply data-driven transformations to the document. This can use D3 to generate an HTML table from an array of numbers. Or, use the same data to create an interactive SVG bar chart with smooth transitions and interaction.

So D3.js contain many kind of visualisation view something like table view, tree maps, bubble charts and more.But Graphiti is not contain that kind of fancy things. It's only the contain the specialised graph visualisation .

Therefore Graphiti is more use full when you are going to deal with some kind of analysis and comparing projects 

Write to ADB Log terminal from Java and native code

Usually when we deal with High level programming we should maintain the log information something line debugging because we may have bunch of log data when the system is compiling. Therefore in Android native programming most of the time we deal with c and java.

To track the log in Android native project.

  1. run the android virtual machine using eclipse 
  2. open terminal 
  3. go to the specific folder
  4. command adt logcat to view the log information (This will only run while your android virtual machine is running ,if not it will giving a message like bellow)
Dhanushanths-MacBook-Pro:RFIDIntegration dhanus$ adb logcat
- waiting for device -


From Java
First we see how to pass log information form Java,
Pass the log data information from Java to adb log cat is pretty simple


package test.rfid.integration;
import android.util.Log;------------------------(1)
public class RfidLib {
//Write a own lines in Log using terminal 
public static final String TAG = "Test"; ------------(2)
public static int addValueJ(int x,int y){
Log.d(TAG,"*********The log data from the Java Method************");-----(3)
int sum = x+y;
return sum;
}
public native static int addValueN(int x,int y);
static{
System.loadLibrary("test_rfid_integration_RfidLib");
}
}

you have to add that 3 mentioned lines in your code. Also don't forget to add the LOCAL_LDLIBS line in make file 


LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_SRC_FILES := test_rfid_integration_RfidLib.c
LOCAL_MODULE := test_rfid_integration_RfidLib
LOCAL_LDLIBS := -llog ---------------(make line)
include $(BUILD_SHARED_LIBRARY)


From Native
Here we can call the log from native code,

#include "test_rfid_integration_RfidLib.h"
#include <android/log.h> ----------------(1)

/*
 * Class:     test_rfid_integration_RfidLib
 * Method:    addValueN
 * Signature: (II)I
 */

JNIEXPORT jint JNICALL Java_test_rfid_integration_RfidLib_addValueN
  (JNIEnv *env, jclass cla, jint x, jint y)
{
//pass the log data in to terminal using
__android_log_print(ANDROID_LOG_DEBUG, "test_rfid_integration_Rfidlib.c", "*********Log data from Native code***********"); ----------(2)
jint sum = x * y;
return sum;

}

Add the two lines which are mentioned in bellow as 1 and 2.

Finally to build the file use ,
  • ndk-build clean
  • ndk-build all
great you are in business





RFID Library for projects

If any one deal with RFID related project for android or linux. Here you can get the open source librfid for your development. The file can be downloadable here. To conform that the source file is working perfectly on your machine follow the instruction.

image reference
  1. Extract the file to your specific location.
  2. Change the folder permission (This should be done if now the ./configure will not process) to change the user permission ->go to folder using terminal and type chmod -R 700 *.
  3. after change the permission type sudo ./configure
  4. Then type sudo make and finally sudo make install .
  5. Done. Now you can start with your code implementation if the source was successfully build.
For Android Developers,
You guys can port this to native library. 


Add Microsoft Word Reference with Numbered Format Using Citation Style

Normally we will have the reference with author. But if we want to add reference with number to mac 2011 word. Follow the instruction to add Citation styles to mac. And IEEE has the numbered format reference.
  1. Unzip the Styles.zip file that you downloaded
  2. Close Word if it's open
  3. Open Applications
  4. Navigate into the Microsoft Office folder
  5. Right click on the file Word.app or just Word if you have the file extensions hidden, click 'Show Package Contents'
  6. There should now be a folder called Contents, open the folder.
  7. Then open Resources
  8. Then open Styles
  9. Copy the Styles you want into this folder. I.e. HarvardAnglia
  10. Launch the Word application and the styles you copied in should be available.
  11. Finally edit the xsl file to get updated by word(Edit in sense delete some line and update it)
To get the Citation styles files follow the link,
http://bibword.codeplex.com/wikipage?title=Styles

Enjoy :) ...

MongoDB In Action




MongoDB in Action is a comprehensive guide to MongoDB for application developers. The book begins by explaining what makes MongoDB unique and describing its ideal use cases. A series of tutorials designed for MongoDB mastery then leads into detailed examples for leveraging MongoDB in e-commerce, social networking, analytics, and other common applications.

Data Mining: Practical Machine Learning Tools and Techniques



Data Mining: Practical Machine Learning Tools and Techniques offers a thorough grounding in machine learning concepts as well as practical advice on applying machine learning tools and techniques in real-world data mining situations. This highly anticipated third edition of the most acclaimed work on data mining and machine learning will teach you everything you need to know about preparing inputs, interpreting outputs, evaluating results, and the algorithmic methods at the heart of successful data mining.

Thorough updates reflect the technical changes and modernizations that have taken place in the field since the last edition, including new material on Data Transformations, Ensemble Learning, Massive Data Sets, Multi-instance Learning, plus a new version of the popular Weka machine learning software developed by the authors. Witten, Frank, and Hall include both tried-and-true techniques of today as well as methods at the leading edge of contemporary research.

Software Systems Architecture

Working With Stakeholders Using Viewpoints and Perspectives



Software Systems Architecture is a practitioner-oriented guide to designing and implementing effective architectures for information systems. It is both a readily accessible introduction to software architecture and an invaluable handbook of well-established best practices.

It shows why the role of the architect is central to any successful information systems development project, and, by presenting a set of architectural viewpoints and perspectives, provides specific direction for improving your own and your organization’s approach to software systems architecture.



Android NDK Environment Setup and Development

About Android NDK...........................................................................................................


Use of Android NDK.........................................................................................................



Android SDK & NDK Environment Setup........................................................................... 


Basic project sample..............................................................................................................


Native level implementation ..................................................................................................


Android Application UI implementation ...............................................................................


Client Setup............................................................................................................................


Pilot run.........................................................................................................................Enjoy


All credits goes to Marakana Inc and Aleksandar Gargenta

Setting Up Blogger Crawler and Index

Now Blogger has great feature for search engine visibility.Now we can visible our blog in search engines with robot.txt. To active this feature go to Settings | Search Preferences, click Edit next to "Custom robots.txt" and select Yes. After this selection text box will be visible to give the crawler code for your site.

Note: which was mention in blogger site
Warning! Use with caution. Incorrect use of these features can result in your blog being ignored by search engines.

by default the robot.txt has following code,
User-agent: Mediapartners-Google
Disallow: 

User-agent: *
Disallow: /search
Allow: /
Sitemap: http://www.example.com/feeds/posts/default?orderby=updated

User-agent: Mediapartners-Google is a robot from Google Adsense, leave it as is because if you mistakenly change that than the ads served will not fit with your content.

The next line is for all the robots and marked with an asterisk (*). On the default configuration, it is clear that the label of our blog is not indexed Disallow: /search.

Keep in mind that a slash (/) is as your homepage, so for example if you want the label to get indexed, do not just fill up with a slash like this Disallow: / because that would be you do not allow the robot tracing your blog

Finally your code can be like bellow,
User-agent: Mediapartners-Google 
Disallow:
User-agent: * 
Disallow: /search?updated-min= 
Disallow: /search?updated-max= 
Disallow: /search/label/*?updated-min= 
Disallow: /search/label/*?updated-max= 
Allow: / 
Sitemap: http://www.youtdomain.blogspot.com/feeds/posts/default?orderby=updated

After the changes, make sure everything is fit like what we want by visiting www.example.com/robots.txt. Replace the Example.com with your domain name.

android: No Launcher activity found

Error:

[2005-01-06 19:56:38 - my_Android] No Launcher activity found!
[2005-01-06 19:56:38 - my_Android] The launch will only sync the application package on the device!
Usually this is happening by the AndroidManifest.xml. You need to specify the MAIN and LAUNCHER in the the intent filter for the activity you want to start on launch.

<application android:name="MainApplication" android:debuggable="true">
<activity android:name=".MainActivity" android:launchMode="singleInstance"
    android:label="@string/app_name" android:icon="@drawable/icon">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
                    <action android:name="org.onaips.vnc.ACTIVITY_UPDATE" />
    </intent-filter> 
</activity>
</application>
Here the action tag detail should be like as it is .Because through the activity tag we aretelling to android which is the main Activity and Launcher.

Hide and Show Mac Files using Terminal


Viewing hidden files on a Mac is useful for accessing the hidden UNIX directories or for recovering Music from an iPod. Additionally, by prefixing the name of a folder with a '.', you can create a folder that is seemingly hidden from prying eyes.
To view hidden folders:
  1. Open the Terminal (located in /Applications/Utilities/)
  2. At the command prompt type
    defaults write com.apple.finder AppleShowAllFiles -bool true
  3. Press return to execute the command.
  4. For the changes to take effect, either log out then log back in again, or relaunch Finder (this can be done from the Force Quit Window or by typing 'killall Finder' in a Terminal window).
To hide the hidden files again:
  1. Open the Terminal
  2. At the command prompt type
    defaults write com.apple.finder AppleShowAllFiles -bool false
  3. then press return to execute the command.
  4. Log out then back in again, or relaunch Finder (explained above).

Reference : http://guides.macrumors.com/

Remove login/username from menu bar

One of my first customization after installing Mac OS X Lion was to remove the annoying login – username option from the top menu bar. And to explain “annoying”, I find it quite too long displaying my Name Surname, and an option that I would never need to use, as there’s only a single user on my Mac.
Removing it is quite easy: hold command button and drag it off the menu bar.



If you really want to keep it, you can reduce its length to the username or to an icon:

System Preferences -> Users & Groups -> Login Options -> (Click on the bottom left lock if everything is greyed-out) -> Show fast switching user menu as… -> Check/uncheck to show/hide it, or use the drop-down menu for the various options.

Setup Android SDK in 64 bit Ubuntu 12.04 virtual machine


Needed Applications for Build Android Environment in Linux 

Here we are going to build Android Environment in 64-bit linux .Normally the android SDK was not support to 64-bit linux So we have add a library to run SDK on linux . First of all we have to download some application from Android developer site.

Step 1
Install the Java Virtual machine (JDK) with required version it can be 64bit or 32 bit
To check java version :

If you don't install JDK the download is from oracle and install it click

OR

sudo add-apt-repository ppa:ferramroberto/java
sudo apt-get update
sudo apt-get install sun-java6-jdk sun-java6-plugin

Step 2
Extract the download android SDK and NDK in any location in side of your home directory and follow the instruction http://developer.android.com/sdk/installing.html#Installing in this link

using tar -xvf android-sdk-(version) to extract

After the installation you have to install the platform for your android virtual environment
Follow the link this will good instruction to install


Note: if you are dealing with native layer also then extract the android NDK file as well And to change the permission of a folder
 chmod -R 777 for android-sdk-linux_x86, platform-tools and adb. to change 

Step 3
Install 32 bit supported library for 64 bit linux machine

sudo apt-get update
sudo apt-get install ia32-libs

Step 4
install the Eclipse from the Eclipse . Note Don't install the eclipse  from ubuntu market because it was customised one.Therefore use the latest version from eclipse .
Here we have to install android ADT tool in eclipse for that we need to add the specific link to new installation path


If you faced any problem with installation like bellow

"Software being installed: Android Native Development Tools 20.0.0.v201206242043-391819(com.android.ide.eclipse.ndk.feature.group 20.0.0.v201206242043-391819)

Missing requirement: Android Native Development Tools 20.0.0.v201206242043-391819(com.android.ide.eclipse.ndk.feature.group 20.0.0.v201206242043-391819) requires 'org.eclipse.cdt.feature.group 0.0.0' but it could not be found".

Then this is happening because it don't have the supported versions file .So for that we have to do some procedures  like bellow


  1. Go to Help/"Install New Software..."
  2. Click on "Available Sofware Sites"
  3. Search "http://download.eclipse.org/releases/indigo and enable it
  4. Search "http://download.eclipse.org/tools/cdt/releases/indigo and enable it
  5. Come back to Help/"Install New Software..."
  6. Check "Contact all update sites during install to find requiered sofware"
  7. Install ADT Plugin
  8. IT MUST WORK!!!
After this process continue with your installation .

Step 5
setup the android SDK path using terminal
First of go in to your admin user profile in terminal then 
 -> sudo gedit ~/.bash_profile and don't use gedit /.bashrc and enter the below path depend on your folder path 
# Android tools
export PATH=${PATH}:~/android-sdk-linux_x86/tools
export PATH=${PATH}:~/android-sdk-linux_x86/platform-tools

export ANDROID_SDK_HOME=~/android-sdk-linux_x86/tools
export PATH=$PATH:$ANDROID_SDK_HOME