Browse Category: Uncategorized

Reading Mind Technology


Reading Mind Technology

What if Mind reading turns out to be a reality then days are not too far when our Smartphone will not of any use. Because then people would be able to connect with others through their minds. It is not fake but reality that many scientists have been working towards decoding the mind and thoughts of human.

Researchers and scientists have already achieved the success in understanding the Physical structure and chemical workings of the brain and now they are after solving the mysteries to understand the intent of the human, what people dream about and what makes them psychopath. I would like to throw some light on the kind of researches and inventions that have been done past years which are contributing towards decoding the mind and thoughts.


Researchers from University of California, Berkley have invented a Brain Decoder Device. This brain decoder device is able to analyze what you are thinking based on neuron activity inside the brain. Researchers have invited the tests subjects to read a passage of text out loud and then reading the same passage in their mind and then they compared the brain activity to look for the linked patterns.  If the technique gets further improvised then it can become boon for those who have lost their ability to speak.  And with the power of mind working wonders, we will be able to control the devices such as Smartphone, computers and other devices with our mind. “If you’re reading text in a newspaper or a book, you hear a voice in your own head,” the University’s Brian Pasley told New Scientist. “We’re trying to decode the brain activity related to that voice to create a medical prosthesis that can allow someone who is paralyzed or locked in to speak.” Pasley and his team based their work around the hypothesis that hearing words in our head causes the same kind of brain activity as hearing them spoken. The sophisticated hardware is under developmental stage and requires being more accurate so it can be utilized out of the lab. The subject is observed carefully and algorithms underpinning the system vary from person to person.

Even Japanese researchers are not behind in evolving this technology. They have developed the mind reading device as well that decipher words from brainwaves without them being spoken. They were able to identify the words such as ‘goo’, ‘scissors’ and ‘par’ when spoken in Japanese. They can identify the brain waves related with syllables or letters hence ensuring the possibility of decoding entire words and sentences without the need for any of them being physically spoken. Researchers used a method to listen to the unspoken word called Electroencephalogram or EEG. The technology records the electrical activity from the brain using an array of electrodes on the scalp to detect the brain waves. The team focused on a part of the brain known as Broca’s area, which is thought to be involved in language processing and speech. Lead author Professor Yamazaki Toshimasa, an expert in brain computer interfaces at Kyushu Institute of Technology in Japan’s Fukuoka Prefecture, and his team asked 12 men, women and children to recite a series of words, measuring their brainwaves as they did so. They found each syllable produced a distinct brain wave activity from the initial thought to the actual utterance. Activity could be seen up to two seconds before a word was spoken. By compiling a database of different sounds, the researchers found it is possible to match these brainwave patterns to words, even if they are not spoken.

Not only this, scientists are developing the technique to control the channels on your TV. For this, they are developing headsets that can read your brainwaves to change the channels.

Researchers from Birmingham University have devised a way to verify the person’s identity 2 years ago. The researchers observed the brain signals of 45 volunteers as they read a list of 75 acronyms, such as FBI and DVD, and recorded the brain’s reaction to each group of letters, focusing on the part of the brain associated with reading and recognizing words. Turns out, participants’ brains reacted differently to each acronym — so much so that a computer system was able to identify each volunteer with 94 percent accuracy.

Yukiyasu Kamitani and his team at ATR Computational Neuroscience Laboratories in Kyoto, Japan, have been able to identify what subjects were dreaming about. They use fMRI (functional MRI), which measures brain activity by picking up on the magnetic properties of hemoglobin that vary with blood oxygenation. Scientists have made some startling breakthroughs in reproducing our thoughts on a screen and delving into what motivates us to do the things we do. The subjects are put into fMRI machine and woken up just as they were drifting off. They then reported what they had been dreaming about. A database was created from the information, and using machine-learning algorithm and a visual-imagery decoder, scientists were able to identify what the subjects were dreaming about in subsequent scans.

Can you imagine that your imagination can also be traced on the screen? Participants imagine forming letters and recorded the patterns of their brains made while they did it. Researchers used this information along with the algorithms and translated it into Pixels thus they were able to reconstruct the actual images of the Participants imagination.

fMRI technology has even enabled researchers to understand the People’s reaction towards the specific products without even their need of uttering the words. The company uses fMRI to assess their feelings about products, packaging, advertising, and even smell.

Defense Advanced Research Projects Agency (DARPA) is funding an initiative where they can hack the mind of the veterans and service members and help them in treating their mental illness and addictions.

Since reading mind is taking a shape of reality, there are few things that we should consider from right now and even start researching on it. It is security of your thoughts, your imagination. In the near future, we may have to find the potential way to secure our mind from unwanted access to information that we have in our mind. I do not blame on technology as it has many advantages if used in proper way but I can blame those users who can misuse it. The technologies like fMRI enable the researchers to understand patterns of prefrontal cortex activity before they took the action, were able to decode what they were about to do. That means in future someone can understand our intent even before we perform any action. It will more become spying on our secret thoughts and our thoughts will no longer be private. Our mind is full of innovative ideas and one would never want that someone hack or decode those ideas for their own benefit.

I think it’s a high time that techies & researchers must also start thinking about solution that can secure our valuable mind against misuse of such technologies.

Steps to perform Black Box Testing Methodology

Hi, friends today we will learn Black box testing, this is a very useful testing technique in Software testing. In this technique we give input and get output without knowing how the output is generated. Black box testing is also called as Behavioral testing.

Methods of Black box Testing:

Error Guessing:
In this technique we randomly put any values not fixed values, and get output. It is not the best practice to use Error guessing method always since it may not cover all the scenarios of the black box testing, white box testing then comes to play. In this post I won’t be covering the white box testing methods.

Boundary Value Analysis:
In this testing we provide boundary values. Suppose our Input should be range 1 to 10 then we test it with -1 , 1 , 2 and 9,10,11. It reduces our testing scenarios since values ranging from 1 to 10 will always work in the worst case scenario.

Equivalence partitioning
Equivalence partitioning  is a software testing technique that divides the input data of a software unit into partitions of equivalent data from which test cases can be derived. In principle, test cases are designed to cover each partition at least once.


In the next post I will talk about white box testing methodology. If you like this post share it with your friends.

Adding Ion Auth authentication library in a Codeigniter Framework

Ion Auth is a simple and lightweight authentication library for the CodeIgniter framework.


  1. Download the latest version:
  2. Copy the files from this package to the correspoding folder in your application folder. For example, copy Ion_auth/config/ion_auth.php to system/application/config/ion_auth.php.
  3. You can also copy the entire directory structure into your third_party/ folder. For example, copy everything to /application/third_party/ion_auth/
  4. Run the appropriate SQL file from the /sql directory.
  5. You load Ion Auth just link any other library: $this->load->library(“ion_auth”); from your controller.You can also autoload the library from autoload.php:$autoload[‘libraries’] = array(‘database’,’ion_auth’);
  6. You can also autoload the library from autoload.php :$autoload[‘libraries’] = array(‘database’,’ion_auth’);

The default login is:

  • Email:
  • Password: password

Class Function In Ion Auth

1. login()

Logs the user into the system.


  1. ‘Identity’ – string REQUIRED. Username, email or any unique value in your users table, depending on your configuration.
  2. ‘Password’ – string REQUIRED.
  3. ‘Remember’ – boolean OPTIONAL.

2. logout()

Logs the user out of the system.

3. register()

Create a new user.


  1. ‘Identity’ – string REQUIRED. This must be the value that uniquely identifies the user when he is registered. If you chose “email” as $config[‘identity’] in the configuration file, you must put the email of the new user.
  2. ‘Password’ – string REQUIRED.
  3. ‘Email’ – string REQUIRED.
  4. ‘Additional Data’ – multidimensional array OPTIONAL.
  5. ‘Group’ – array OPTIONAL. If not passed the default group name set in the config will be used.

4. update()

Update a user.


  1. ‘Id’ – integer REQUIRED.
  2. ‘Data’ – multidimensional array REQUIRED.

5. delete_user()

Delete a user.


  1. ‘Id’ – integer REQUIRED.


Resets a users password by emailing the user a reset code.


  1. ‘Identity’ – string REQUIRED. (as defined in config/ion_auth.php)

8. forgotten_password_complete()

Final step of resetting a users password. The user comes to this page from their email.


  1. ‘Code’ – string REQUIRED.

9. logged_in()

Check to see if a user is logged in.

10. is_admin()

Check to see if the currently logged in user is an admin.


  1. ‘id’ – integer OPTIONAL. If a user id is not passed the id of the currently logged in user will be used.

11. in_group()

Check to see if the currently logged in user is in the passed in group.


  1. ‘Group ID or Name’ – string, integer or array of strings and integers REQUIRED.
  2. ‘User ID’ – integer OPTIONAL. If a user id is not passed the id of the currently logged in user will be used.

12. username_check()

Check to see if the username is already registered.


  1. ‘Username’ – string REQUIRED.

13. email_check()

Check to see if the email is already registered.


  1. ‘Email’ – string REQUIRED.

14. identity_check()

Check to see if the identity is already registered.


  1. ‘Identity’ – string REQUIRED.

15. is_max_login_attempts_exceeded()

If login attempt tracking is enabled, checks to see if the number of failed login attempts for this identity or ip address has been exceeded. The controller must call this method and take any necessary actions. Login attempt limits are not enforced in the library.


  1. ‘Identity’ – string REQUIRED.

16 User()

Get a user.


  1. ‘Id’ – integer OPTIONAL. If a user id is not passed the id of the currently logged in user will be used.

17. users()

Get the users.


  1. ‘Group IDs’ – array OPTIONAL. If an array of group ids are passed (or a single group id) this will return the users in those groups.

18. group()

Get a group.


  1. ‘Id’ – integer REQUIRED.

19. groups()

Get the groups.

20. messages()

Get messages.

21. get_users_groups()

Get all groups a user is part of.


  1. ‘Id’ – integer OPTIONAL. If a user id is not passed the id of the currently logged in user will be used.

22. add_to_group()

Add user to group


  1. ‘Group_id’ – integer or array REQUIRED.
  2. ‘User_id’ – integer REQUIRED.

23. remove_from_group()

Remove user from group(s)


  1. ‘Group_id’ – NULL, integer or array REQUIRED. NULL will remove the user from all groups.
  2. ‘User_id’ – integer REQUIRED.

24. create_group()

Create a group


  1. ‘group_name’ – string REQUIRED.
  2. ‘group_description’ – string.

25. update_group()

Update details of a group


  1. ‘group_id’ – int REQUIRED.
  2. ‘group_name’ – string REQUIRED.
  3. ‘group_description’ – string.

26. delete_group()

Remove a group. Removes the group details from the configured ‘groups’ table. Users belonging to the group are stripped of this status (references to this group are removed from users_groups), but user data itself remains untouched.


  1. ‘group_id’ – int REQUIRED.

28. errors()

Get the errors.

29. set_hook()

Set a single or multiple functions to be called when trigged by trigger_events(). See an example here:


  1. ‘Event’ – string REQUIRED.
  2. ‘Name’ – string REQUIRED.
  3. ‘Class’ – string REQUIRED.
  4. ‘Method’ – string REQUIRED.
  5. ‘Arguments’ – Array OPTIONAL.

30. trigger_events()

Call Additional functions to run that were registered with set_hook().


  1. ‘Name’ – String or Array REQUIRED.



Lightning Pages vs VF Pages

Lightning is available in GA from this release .You can ofcourse approach via lightning .Some of the things you need to be extra careful are here

1)No router support in lightning yet and hence its extremely difficult designing navigation at this point .You will end up writing lot of code just to achieve navigations

2)Custom lookups you can get from developerforce blogs

3)Toggling visibility is not so difficult

4)Supporting jquery in lightning is possible but you need to be careful when using this and would recommend to use less as possible

5)Spinning a list is not so difficult with excellent repeater .

6)Currently to make experience seamless lightning expereince also needs to be turned on for all your users .

Since there will be additional learning and experimenting take decision based on budget and time lines .

Building in lightning is like giving awesome quality work with lot of resusable at cost of little more time .

Joined Report Types

A joined report can contain data from multiple standard or custom report types.

It helps you to combine multiple object data into single reports.

Some additional features are:

  • You can add charts.
  • You canan add 16 report types.
  • You can  add 5 different blocks with cross block and cutom summary formulas to each block.

Let as have an example:

Create a report comparing the number of support cases that are New, Working, or Escalated by priority. The report contains a single standard report type: Cases. First, create the report, add three blocks to the report, filter each block by the appropriate status, and then use the Priority field for grouping.

To create the report:

  1. Create a new report, selecting Cases as the report type.
  2. Select Joined from the Format drop-down.
  3. Remove unwanted fields by dragging them to the Fields pane.
  4. Create three blocks, each containing the Case Number and Status and, optionally, Case Owner fields.
  5. For each block, filter on all cases. Then, filter each of the blocks by Status as follows:

Block 1: Status equals New

Block 2: Status equals Working

Block 3: Status not equal to Escalated

Group the blocks by Priority.

6.  Optionally, rename the blocks.

7.  Click Save or Run Report.

.Joined Report Type

How to get Chatter Feeds using ConnectApi in Apex Salesforce

public List<ConnectApi.FeedItem> getFeedItems()
List<ConnectApi.FeedItem> lst = new List<ConnectApi.FeedItem>();

lst = ConnectApi.ChatterFeeds.getFeedItemsFromFeed(communityId, ConnectApi.FeedType.Record, chatterGroupId).items;
catch(Exception ex) { }

return lst;



Where communityId => Use either the ID for a community, internal, or null.

chatterGroupId => ID of the associated CollaborationGroup.

Show/Hide fields as Picklist value changes using Deluge script in Zoho

Sometimes we need to show/hide  certain fields as picklist value changes for example  there is field called ‘Reason’ and we want to hide this field as picklist ‘Product type’ changes to ‘Research’.

We can achieve this by configuring fields action in deluge script.


  • Go to the field on which you want to add action ,in above example ‘Product type’.
  • Field Deluge Name is the name of the field we’ll refer in the deluge script.
  • Select->field properties->Configure field action.
  • Select Field Actions -> Type -> On User input block in Script builder.This action will be executed when user changes field value.

  • Drag if-else condition statement.
  • add logic as below image& save the script

The ‘Reason’ field will be hide as picklist ‘Product type’ changes to ‘Research’, as shown below.


How to Create a subform in Zoho

A subform is a form that is inserted into another form. In a one-to-many relationship, each parent record associates itself with multiple children. Using Subforms, users can display the parent and child records in one place without having to switch between forms.

Zoho have field type ‘subform’ which you can insert blank form /existing form in the main form.
To add the subform in the main form

1]Edit the main form ->add new subform(field type is present in the left panel)->Drag-n-drop subform where you want on the main form.
2]On the adding subform it’ll ask you for the new blank form or existing form.
3]Add new fields in the subform and save the changes.

After adding form you can add records in subform  using ‘add new’ button as shown in below image.

The Main Form report will display all the records with the values of the selected subform fields

The ‘Column property’ in the main form report allows you to customize the sub form report also.

Hope this helps you!
Thank You!

Converting Normal to Stateless Form in Zoho

Regular Form

By default, when a Form is created, Zoho Creator will have a table generated at the back-end to store data submitted through the Form. These Forms are called Regular/Normal Forms.

For example, when you create a  Form ‘Order Details’, a table named  ‘Order Details’ is created and  all data submitted through the form will be stored in this table. The ‘Order Details’ will display the data stored in the ‘Order Details’ Form/table.

Stateless Forms do not store data in the backend. An existing form can be converted to a Stateless Form directly from the GUI.

Steps ->

1.From the Dashboard page of the application, click on Create New -> Form.

2.In the New Form dialog box, select the Form type as Form Template.

3.Choose a Form name for the duplicate form. Since the form already contains the existing form name, choose a different name for the form.

4.Select a form to convert to stateless form, from the Choose your Template drop down list.

5.The Choose your template drop down list consist of all the forms listed in the application.

6.Choose a particular form from the My Forms Section of the drop down list.

7.Select a Section under which the form has to be listed.

8.Uncheck the Data will be stored in Zoho Creator checkbox and click on Create button to generate the Stateless form.


How To create Stateless form In Zoho Creator

When you create a new form to your application, there is one check-box option “Data will be stored in creator“, De-selecting this option will create the Form as a Stateless Form with custome buttons that does not generate a table at the back-end as Normal form.  you can add custom buttons and write your own logic on  “on click” event of the form.

Creating a Stateless Form

To create a stateless form without data storage,

  • Goto Create new->form option
  • fill the form details such as form name.
  • Deselect optionData to be stored in Zoho Creator.(As shown in the image)
  • on Clicking create Stateless form will be created.

You can drag-n-drop fields in the form as per your requirement.

  • To add button with custom logic click on (+) in the form.

Types of Button

  • Button-Invokes ‘On click’ action specified on mouse click.
  • submit-Invokes ‘On click’ action if enter key is pressed.
  • Reset-We can’t add ‘on click ‘ action on this button as it just takes form to the initial phase.

Once added custom button

  • To perform any action on click of the form button, add the required deluge script in the Form Actions – < Form Button Name> – On Click block of the Workflows tab.
  • Save the script
  • Click on Access this application and enter data to the stateless form. On click of the form button, the script added to the“On Click” block will be executed.

Thank You!