Tuesday, August 17, 2010

Trends: Wireless Electricity..the invisible power

As I could remember, it all started with radio transmitters, television remote control, cellphones and then the Wi-Fi routers for wireless network/internet, wireless gaming controllers, Global Positioning Systems (GPS). These systems uses some form of energy like radio frequency, infrared light, acoustic energy etc to transfer data without wires. But now the trend seems to move towards wireless chargers for these and/or most other devices. So how did this begin for the guy who found this?

Marin Soljacic, Assistant Professor of Physics at Massachusetts Institute of Technology (MIT) came to invent this idea when he noticed a mobile phone beeped starving to get charged which made him to think on why the phone is not capable of self charging when all the needed electrical source is near-by. So to make this possible, one has to find a way to transfer power from existing wired source to cell phone - without wires without much affect to things around it. So he started thinking on this phenomenon that could make this dream a reality. He dug into the problem and learned that if you could get two magnetic fields to resonate with the same note, they could transfer an electric current

MIT, his employer, quickly patented the technology and encouraged Soljacic to start a company. That's how WiTricity started with 15 employees to take forward this idea. To answer the safety concerns, he explained that in fact, the coils turn electricity into magnetic fields, then back into electricity. Magnetic fields interact weakly with humans; as far as the fields are concerned, we are no different from air.

Technology:

From their technology notes, When two objects have the same resonant frequency, they exchange energy strongly without having an effect on other, surrounding objects. For example, it is resonance that can cause a wine glass to explode when a singer hits exactly the right tone. But instead of using acoustic resonance, Witricity's approach exploits the resonance of low frequency electromagnetic waves.



How Wireless Power works



1. Magnetic coil (Antenna A) is housed in a box and can be set in wall or ceiling.
2. Antenna A, powered by mains, resonates at a specific frequency.
3. Electromagnetic waves transmitted through the air.
4. Second magnetic coil (Antenna B) fitted in laptop/TV etc resonates at same frequency as first coil and absorbs energy.
5. Energy charges the device.

The system uses two coils - one plugged into the mains and the other embedded or attached to the gadget. Each coil is carefully engineered with the same resonant frequency. When the main coil is connected to an electricity supply, the magnetic field it produces is resonant with that of with the second coil, allowing "tails" of energy to flow between them.

As each "cycle" of energy arrives at the second coil, a voltage begins to build up that can be used to charge the gadget.

Devices using the system would automatically begin to charge as soon as they were within range, he said.

Applications:

WiTricity’s wireless power transfer technology can be applied in a wide variety of applications and environments. WiTricity technology can be used to provide:
  • Wireless Power—when all the power a device needs is provided wirelessly, and no batteries are required. This mode is for a device that is always used within range of its WiTricity power source.
  • Automatic Wireless Charging—when a device with rechargeable batteries charges itself while still in use or at rest, without requiring a power cord or battery replacement. This mode is for a mobile device that may be used both in and out of range of its WiTricity power source.

Detailed List of applications that can use this technology:
Reference Links:

Thursday, August 12, 2010

Android #2: Understanding Android Architecture & Project Structure

Android Architecture:

Design goal of Android is openness with greater flexibility, and enabling rapid development. Each layer in Android architecture uses languages like Java for application development with the underlying framework on Java as well that in turn makes use of C/C++ libraries and runs upon the C based operating system and drivers.



Platform Architecture:
  • Applications: Basic applications include an email client, SMS program, calendar, maps, browser, contacts, etc.,. All applications are written in Java programming language
  • Application Framework: Developers have full access to the same framework APIs used by applications base. The architecture is designed to simplify the reuse of components, any application can publish its capabilities and any other application can then make use of those capabilities (subject to safety rules framework). This same mechanism allows components to be replaced by the user. Thus it provides no limit to the applications being developed.
  • Libraries: Android includes a set of libraries C / C++ used by various components of the Android system. These features are exposed to developers through the Android application framework, some of them includes a System C library (C standard library implementation), media libraries, graphics libraries, 3d support through Open GL, SQLite embedded database etc.,
  • Runtime Android: Android includes a set of base libraries that provide most of the features available in the libraries of the Java language base. Every Android application runs its own process, with its own instance of the Dalvik Virtual Machine (DVM)
  • Kernel – Linux: Android depends on Linux version 2.6 for basic services such as security system, memory management, process management, network stack and driver model. The kernel also acts as an abstraction layer between hardware and the rest of the software stack

Application Architecture:

As said earlier, Android platform is typically based upon Linux Kernel. Android applications are written in Java but they don’t run on standard Java Virtual Machine (JVM) instead runs on a special Java based virtual machine called the Dalvik Virtual Machine (DVM) which is again an open source technology (Apache harmony) running within a Linux Kernel process. JVM is stack based VM and DVM is register based VM. So just like how Java byte codes are executed by the JVM, here classes are converted into Dalvik Executables (.dex) using DX tool. Dalvik has been written so that a device can run multiple VMs efficiently. Dalvik executes files in the Dalvik Executable which is optimized for minimum memory.

A Typical Android Project Structure:

Below table provides a view of how a typical android project will look like



Reference Links:

Thursday, August 5, 2010

Index Removal from Major Search Engines like Google, Bing and Yahoo Search

Indices…

First to understand on what the index is all about, every search query on search engines actually scans every web page document exposed on the internet to fetch the relevant results that would require considerable time and computing power. Just to optimize this behavior for speedy retrieval and improving the performance on finding relevant documents for a search query, major search engines collects, parses and stores data by creating index of web documents facilitating faster and accurate information retrieval.

Search Bots…

Secondly, to understand on when the search engines collects those valuable information, every search engine uses something termed as internet “Bots” or “web robots” that are nothing but software applications that run automated tasks over the internet to gather data. Every web server hosting web sites has something called “robots.txt” that controls these bots on whether a particular data can be indexed or not.

Control Bots for Indices…

In order to include specific pages/folders to be indexed, we can use the ‘ALLOW’ directive within robots.txt that will be supported by most standard search engines like Google, Bing, Yahoo etc, but the order of execution typically changes for different search providers other than Google

For allowing sub-folders or pages within the disallowed folders, place the ‘ALLOW’ directive before the ‘DISALLOW’ directive.

Also most of the search engines supports pattern matching for these directives providing more control.

Example: Robots.txt

User-Agent: *
Allow: /allowedcontext/
Disallow: /contentNotAllowed/

Example (with pattern matching): Robots.txt

User-Agent: *
Allow: /allowedcontext*/
Disallow: / contentNotAllowed */

We need to identify the list of allowed contexts and disallowed contexts to correctly create the robots.txt file in order to allow/disallow the pages being indexed.

URL Index Removal…

But even though we decided to prevent the bots from storing our content, how do we remove if the content was already indexed before we had implemented robots.txt. Now when we say about removing the index from search engines, every search engine follows a process to get the content to be removed from their indices. Thought of writing this blog on how to place request for removing them from major search engines like Google, Bing and Yahoo searches

In order to remove the indices from Bing, Yahoo or Google, we need to

  • Authenticate oneself as the site owner
  • Submit a removal request with the Search Engine Provider

Following are the steps to place a URL removal request for major search engines like Google Search, Yahoo Search and Bing Search

Google - URL Index Removal

  • Login to web master tool - www.google.com/webmasters/tools using a Google account
  • Add the site for which we request the Index Removal
  • Google would verify if we are the site owners
  • In order to authenticate ourselves as the Site owner, we have to perform one of the following
    • Uploading a verification file to our site
      • Download the verification HTML
      • Place it in the root folder of the site
      • Click on “Verify” and allow the site to be authenticated. May be it takes 24 hrs
    • Adding a Meta Tag to the home page
      • Copy the Meta Tag within the HEADER section
      • Click on “Verify” and allow the site to be authenticated. May be it takes 24hrs
  • Go to web page removals section - www.google.com/webmasters/tools/removals
  • Click on “New Removal Request” button
  • Choose “Information or image that appears in the Google search results.” and click next
  • Choose “The site owner has removed this page/image or blocked it from being indexed by using robots.txt or meta tags” and click next
  • Now type the targeted indexed URL that is appearing on the Google search results.
  • Click on “Submit Request >>” button

Yahoo - URL Index Removal

  • Login to Yahoo! Site Explorer - https://siteexplorer.search.yahoo.com/mysites using a Yahoo account
  • Add the site for which we request the Index Removal
  • Yahoo would verify if we are the site owners
  • In order to authenticate ourselves as the Site owner, we have to perform one of the following
    • Uploading a verification file to our site
      • Download the verification HTML
      • Place it in the root folder of the site
      • Click on “Ready To Authenticate” and allow the site to be authenticated. May be it takes 24 hrs
    • Adding a Meta Tag to the home page
      • Copy the Meta Tag
      • Click on “Ready To Authenticate” and allow the site to be authenticated. May be it takes 24 hrs
  • Locate the site in Explorer results. Notice the Delete URL/Path button next to each URL. Note: When you use Site Explorer to delete a URL/Path from the Yahoo! index, it deletes that URL as well as all the sub-paths listed under that URL
  • Click Delete URL/Path to go to the confirmation page. The confirmation page shows the total number of sub-path URLs that will be affected as a result of that Delete URL/Path action and also displays a list those URLs
  • Use the input text box to edit the URL and limit the delete action to a specific subdirectory. Click Update to regenerate the list of URLs that will be affected by the delete action. Example of deleting multiple URLs: Use the Delete URL/Path option to remove multiple URLs by truncating the URL string back to the trailing ? mark, then clicking the Update button. To remove URLs that look like this: http://example.com/test/index.php?test=foo&user=john, truncate the URL back to the ? mark: http://example.com/test/index.php?
  • Click the Update button to regenerate the list of URLs that will be affected by the delete action
  • Click Yes to delete the URL and any sub-paths listed

Bing - URL Index Removal

  • Go to - http://www.bing.com/webmaster/WebmasterManageSitesPage.aspx using a MSN account
  • Add the site for which we request the Index Removal
  • Bing would verify if we are the site owners
  • In order to authenticate ourselves as the Site owner, we have to perform one of the following
    • Uploading a verification file to our site
      • Download the verification XML
      • Place it in the root folder of the site
      • Click on site name from the list and the site will be authenticated.
    • Adding a Meta Tag to the home page
      • Copy the Meta Tag within the HEADER section
      • Click on site name from the list and the site will be authenticated
  • Launch the Live Search Support form. Go to https://support.discoverbing.com/default.aspx?mkt=en-us&productkey=bingcontentremoval&brand=&&ct=eformts and begin filling it out
  • Identify from where in Live Search you want the URL removed. To quickly remove a URL, select Content Removal Request from the form’s drop-down list. Select one of these resulting options for removal:
  • Remove my content. If you want the URL removed from the SERP, select this option. This is a permanent removal. Should you want this URL indexed again in the future, you will need to fill out a Content Inclusion Request from the same support form.
  • Cache removal. If you just want the cached page removed, use this option. Note that this will not remove the URL from our index.
  • Complete the rest of the form. Submit the URL or URLs to be removed, the query used to find the URL, complete the rest of the form, and then click Submit
Reference Links: