The information get updated on this page at rapid intervals. No guarantee is given on the accuracy of the published data.


Hard parts: Skeleton
Composition: Opaline silica
Morphology: Apical & basal rings, Spines and bars, Rods are hollow
Symmetry: Bilateral
Habitat: Planktic
Stratigraphic range: L. Cretaceous – Holocene
Sediments: Silicoflagellithite
Movement: Passive (plankton)
Notes: none


Hard parts: Frustule
Composition: Organic silica
Morphology: Epitheca and hypotheca, Connective band(epicingulum)
Symmetry: Radial or bilateral (sometimes altered)
Habitat: Planktic and Benthic
Stratigraphic range: Jurassic – Holocene
Sediments: Diatomite
Movement: Movement on short distances (active)
Notes: Symmetry axes (pervalar, apical,transapical) images/diagrams


Hard parts: Coccosphere
Composition: Calcium carbonate
Morphology: Coccoliths
Symmetry: Mostly radial (rarely bilateral or pentameral)
Habitat: Planktic
Stratigraphic range: Jurassic – Holocene
Sediments: Chalks and calcareous oozes
Movement: Passive (plankton)
Notes: images/diagrams


Hard parts: Test
Composition: ?
Morphology: Wall with large pores
Symmetry: Spherical or radial
Habitat: Planktic
Stratigraphic range: Cambrian – Miocene
Sediments: Oil shales
Movement: Passive (plankton)
Notes: none


Hard parts: Test
Composition: calcitic, aragonitic, organic, siliceous, agglutinated
Morphology: Wall with very small microscopic voids
Symmetry: ?
Habitat: ?
Stratigraphic range: ?
Sediments: ?
Movement: ?
Notes: unicelluar organism


Generally planktonic and dwells in upper water column. Like people high on weed, they just passively migrated through floating. Soft parts of the organism are often protected by complex skeletons. They are super duper small; 30 microns to 2 millimeters. May be found in colonies (like gangsters of the micro world) in deep water situations. A dude named, Hackle came up with the first classification for these known as Hackel’s Plates.



Hard parts: spicules… also read notes
Composition: ?
Symmetry: Spherical but it becomes radial through evolution
Habitat: ?
Stratigraphic range: Middle Cambrian – Silurian ? Devonian
Sediments: ?
Movement: ?
Notes: Grow by adding each ring like section called sagital rings. The first ring is called cephalon, the second thorax and the rest is known as abdominal.


Hard parts: skeletons
Composition: ?
Morphology: skeletons with three intersecting bars
Symmetry: Bilateral
Habitat: ?
Stratigraphic range: ?Ordovician – Silurian throughout Permian – ?Early Triassic
Sediments: ?
Movement: ?
Notes: none


Hard parts: Test: porous capsule
Composition: ?
Morphology: Tangential: cortical, medulla and micro shells; Radial: principle and byspines
Symmetry: ellipsoidal, disc-shape, lenticular, latticed or spongy (spherical or radial ??-?-?-)
Habitat: ?
Stratigraphic range: Paleozoic – ?throughout Recent
Sediments: ?
Movement: ?
Notes: Solitary but sometimes (rare) colonial. Not to be confused with “sperm”…


Architecture of Nassellaria
Architecture of Nassellaria

Refer to above image of Nassellaria;
A – Aperture; top/young
B – Cephalon
C – Thorax
D – Abdomen (Note all other additions comes AFTER thorax ring is classified as abdominal rings.)
E – Basal ring; bottom/adult

Mineralogy Media Library

Index:   B   |   C   |   E   |   F   |   G   |   H   |   K   |   M   |   O   |   P   |   Q   |   S   |   T   |   Z   |   Footnotes

Please ignore colours because they are inaccurate. Images should not be used for studying for exams. This is just a “fun” project and use it at your own risk! Please note that this is an supplementary add-on to the previous collection; Photomicrographs of Minerals.

Interference Colour Chart

Click here for computer generated chart: generate now
Birefringence Chart




Calcite Double Refraction

Double Refraction in Calcite






The “Hornblende-xpl” image shows beautiful 56-124 degree cleavage.







Piemontite-1 PPL


Plagioclase with Olivine inclusions - XPLPlagioclase with Olivine inclusions - XPL II



The following images demonstrate the “addition” effect of colours as the accessory plate is inserted (images from left to right). This indicates a length-slow, or wave length addition.







You may also reference Photomicrographs of Minerals. To view the original larger image, Right click –> Open in a new tab/window. Redistribution or reproduction without prior permission is prohibited.

Rooting an Android

Some of you may have heard about the term “root” or “rooting” with regards to Android mobile Operating System. This term is not something new to computer and software geeks. Root is the most fundamental level in a UNIX or Linux based operating system. In order to install some apps and to tweak the behavior of a OS, you need the root access.

Due to various variables, every option listed here may not work for your particular phone.

Skip Jargon

Introduction to Android

I am not going to give long history on Android. From a technical perspective, you should know that it is an open sourced mobile Operating System currently supported and developed by Google. More than hand full of manufactures use this OS to streamline their devices. Android can be installed on mobile phones, tables, televisions, GPS units and any other electronic devices that support such architecture.


Rooting is granting access to most fundamental operations which otherwise will be blocked by system default. While not all applications of rooting may harm the device, due to the wide openness of what you can do with root access could brick your device (f*&^ked up beyond repair). This is why rooting an Android device will void your manufacture’s warranty. If you are not technically inclined, I would stay away from rooting. This article is written for tech guys who have limited experience in Android environment.

This also place a lot of responsibilities on the end user. After rooting a device, you will not have the “safety net” from malicious apps which otherwise will be in placed by default. It will be your sole responsibility to manage your root access permissions wisely.

How to Root an Android

Installing the Recovery

1) Download and install the drivers for your device from the manufactures. You may find them on their support website and/or the media that was provided to you by in the original packaging.

2) Download ODIN software. It will make it easier in flashing recovery and the rooted firmware. Please note that the ODIN will only works on Windows based computers.

3) Download the Odin flashable recovery (.TAR file) for your device then copy it to the same folder as Odin. There is an another option if you have a .img file. Please read further down for instructions.

4) Open ODIN by right click on Odin.exe –> “Run as administrator”. You should come up with a window similar to the following.

Ordin Program on Windows
Ordin Program on Windows

5) Turn off your phone and reboot into Download Mode. In order to go into the Download Mode, hold Volume Down + Home + Power while it shuts down. Continue to hold until the device is powered up and a text message appears on the top corner (very small sized texts). Once inside the Download Mode, press Volume Up to enter.

6) Connect the device to computer via USB/charger cable. It is recommended to use the original manufacture provided cable. If your phone do not support USB 3.0, please do not use USB 3.0 port on your system even if it is backward compatible. This is just to be safe.

7) The ODIN window should have a COM** port highlighted as shown here.

Comm USB port highlighted in ODIN.
Comm USB port highlighted in ODIN.

If ODIN is not highlighting the port, go back and make sure you have properly installed the right device drivers from your hardware manufactures.

8) Click on the PDA button on the right right pane of the ODIN. Refer to above image.

9) When prompted (once the PDA button is selected) go to the firmware location and select the firmware file (TAR file).

10) Warning! Make sure Auto-Reboot and F. Reset Time are the only options checked and that PDA is the only other thing checked on ODIN before starting the flash. CHECK again and again your settings and that you have selected the correct firmware for your model phone and are using the correct options. If you are using a laptop, make absolutely sure you are plugged in, or if on battery, that it is charged enough and will not go into sleep mode during flash.

11) Click Start to begin the flash. This will take a while, so be patient. Do not unplug or remove the battery during the installation. I highly recommend placing the device on a solid stable surface with the USB cable attached during this process. I would not move the device since some computers and devices have lose USB connections which could potentially disconnect your device. If the device gets disconnected, this may result in bricking your phone.

Flashing the ClockworkMod Recovery.
Flashing the ClockworkMod Recovery.

12) Once the installation is successfully completed, the ODIN will report PASS on the top left hand corner. The phone should have automatically rebooted at this time.

ODIN report back "PASS" in a green box after a successful install.
ODIN report back “PASS” in a green box after a successful install.
You may unplug the phone and close Odin if you wish.

13) Wait at least 5-10 minutes (or even as long as 30 min) for the system to boot the first time and then build its cache. Do not remove the battery or disconnect power during this time.

You may now flash a ROM file using the PDA button on the ODIN. You can also flash a ROM using either a custom recovery or the default system.

Another option for ROM Flash

1) Download the appropriate ROM zip file and save it on your phone (just like saving any other file).

2) To get into the recovery mode, hold Volume Up + Home + Power while it shuts down. Continue to hold until the device is powered up. An example of a recovery screen is shown below (CWM).

ClockworkMod Recovery screen.
ClockworkMod Recovery screen.

3) Choose “install zip” (or “install from zip”, “install ROM”, etc) and select the zip file you saved.

4) After few minutes you should get a success message. Now go back and reboot your phone.

Third option for ROM Flash

You may flash a ROM that comes in the image (.img) format. Do not feel overwhelmed by the coding. Just follow the instructions and it will be installed on your device in few seconds.

1) Download a recovery image of your choice. For example; ClockworkMod Recovery Images. Save the .img file in your device’s memory.

2) Rename the image file to recovery.img or anything of your choice. Note: If you decided to rename the file other than recovery.img, then please change the second line of code appropriately to reflect the file name (dd if=/sdcard/YOUR_FILE_NAME.img of=/dev/block/mmcblk0p18).

3) Download a terminal app, which will allow you to enter commands into your Android system.

4) Open the terminal app and follow these instructions.
– type and enter

$ su

– type and enter

# dd if=/sdcard/recovery.img of=/dev/block/mmcblk0p18

– type and enter

# reboot recovery
Example of a terminal with recovery image named as "re.img".
Example of a terminal with recovery image named as “re.img”.

There are significant risks associated with this method. If you flash an incompatible ROM or if you enter the codes wrong, you could end up bricking your phone.

Common Errors

During the rooting and installation process of a custom ROM, you may come across errors. Do not panic because most of these errors are common and can be fixed.

Status 7 Error – installation aborted

Be warned that editing the code impropriety may result in bricking your device. Before edit the code in the ROM zip folder, make sure that you have the right ROM for your phone. By removing the code, we essentially removes the safety mechanism in which recoveries like ClockworkMod uses to block invalid zips from being installed.

Clear codes in updater-script file up to (NOT including) show_progress(0.500000, 0);. You should be able to locate this file at, META-INF –> com –> google –> android. The number of lines that should be deleted varies with each custom ROM. For example, the CynogenMod 10.2 will have the following check code at the very binging.

assert(getprop("ro.product.device") == "d2att" || getprop("ro.build.product") == "d2att");
assert(getprop("ro.bootloader") == "I747UCDLK3" ||
       getprop("ro.bootloader") == "I747MVLDLK4" ||
       getprop("ro.bootloader") == "I747MUMBLK3" ||
       getprop("ro.bootloader") == "I747MUMBLL1");
mount("ext4", "EMMC", "/dev/block/mmcblk0p14", "/system");
package_extract_file("system/bin/backuptool.sh", "/tmp/backuptool.sh");
package_extract_file("system/bin/backuptool.functions", "/tmp/backuptool.functions");
set_perm(0, 0, 0777, "/tmp/backuptool.sh");
set_perm(0, 0, 0644, "/tmp/backuptool.functions");
run_program("/tmp/backuptool.sh", "backup");

Initial boot stuck in a loop

Go back to recovery and clear (wipe) user data, System, Cache and Dalvik. Instructions for will soon be posted here. These options are in the recovery section under “advanced” menu.

GooglePlay Store is not installed

Most custom ROMs do not include GooglePlay files. You need them not only to download apps, but also for basic functions such as the Google Keyboard. You can flash this file into your device using the any compatible ZIP file available online with the GooglePlay Store.

1) After downloading the ZIP to your computer/phone, relocate the ZIP file to the root of your device storage main memory. This will make it easier to find during flashing.

2) Go to the Recovery Mode and select “install zip”.

ZIP folder installation choice.
ZIP folder installation choice.

3) Select the option for device storage memory.

Go to device storage memory.
Go to device storage memory.
If you have saved the ZIP file in the root of the device, it will probably be under a folder titled “0”.

4)Go back and clear memory before rebooting. Once the reboot is complete, you should see your GooglePlay app. If you end up with a connection error even when you have a wifi or mobile network connection, try the following for troubleshoot:
– Check if you have installed the latest compatible version of gapps for your mod.
– Check if the hosts configuration is correct using a file explorer app. Go to device root -> etc -> hosts (open as a text file).
– If both of the above failed, delete the GooglePlay app (from the settings), then re-download the ZIP and start this process over. Sometimes during download process, the file gets corrupted.

Too many choices; help me out

To a novice Androider, choosing what recovery and ROM to flash along could discourage rooting. I am all for choices, but sometimes even I need some guidance. You may choose any recovery and ROM that is compatible with your device. You may even use the stock ROM with the root access. It all depends on your choices. However, in case you need my opinion (personal choice), this is what I would recommended:

  • Compatible version of ClockworkMod Recovery (Touch or non-Touch)
  • Compatible version of CyanogenMod stable release
  • SuperuserSU app for controls
  • Compatible signed version of Google Apps zip

Happy rooting 🙂

Middle path still works

“To live a pure unselfish life, one must count nothing as one’s own in the midst of abundance.”. According to ancient texts, this is the principle behind the so called peaceful simple life that Buddhist communities across the globe are following. Well, at least by definition of being a Buddhist, that’s what they should follow, which is not the case. Yes, it is their fault for giving into material gains. No one care to elaborate on the fact that materialism that is being popularized through capitalistic globalization has created more problems than found solutions. After all, good things are hard to accomplished! I am an atheist, but I do adhere the ethical side of Buddhism. It has been proven over and over the ethics of Buddhist values do work for the benefit of the follower.

Capitalism is great

As opposed to imperialism, socialism or totalitarianism, the American-lead modern capitalism is a well crafted model. It does encourage economic growth, social welfare and pushed the innovations forward. If you look at the history of capitalism, there is a reason why most technological advancements are rooted in the United Sates and Japan. Law makers in both countries have opted for an open economy based capitalistic governance model. However, we failed to realized the material and social gains of any system at it’s extreme does come at a cost. We have learned from the history even the traditionalism such as Judo-Christian values or Buddhist values at extremes have created problems. So why should we expect the extreme capitalism to work perfectly?

In Japan, the research and productivity have precedence over social welfare. While the country is currently leading in the global innovation race, they also have been plagued with the world’s highest suicide rate. The suicide forest, Aokigahara is not a myth, but a fact. A fact that Japanese law makers would like to ignore. Without any debut I can directly connect the huger suicide rate in Japan to their open capitalistic economic policies. People of Japan have very little choice in choosing a combination of capitalism and socialism. They are being forced to go with the materialism based capitalistic globalization. South Korea is an another example of this tread.

Well done Western media for creating one of the best deception of all times. I would say the deception of prosperity in Canada, USA and EU is only second to A. Hitler’s anti-Jewish war propaganda. If you asked a North American about the differences between capitalism and socialism, probably well over half of the population would say positive things about capitalism. In the United States, socialism has been equated to Nazism. But the irony is Nazism is deeply rooted in Christianity while Socialism is against religious affiliations. Contrariety to popular belief, about 99% of all Nazism flowers in the US are church going fundamental Christians.

In the United States, the poverty that has been driven by the social gap between the rich and the poor have created a lot of problems. Individuals and families under the poverty line is most likely to be convicted of crimes and be under educated. The cycle of poverty actually has been promoted by the Capitalism, which even the Obama administration have said, will close the gap between the rich and the poor. Add to this, both in Canada and United States domestic abuse, divorce and mental health issues have sky rocketed. Behind the smoked screens created by the Capitalism favored media, the divorce rate is significantly higher in the richest demographic areas in North America over the others. On the other extreme end, the poorest areas seems to have the highest domestic violence cases. The icing of the cake is, in Canada, the middle class have the lowest divorce, crime and domestic abuse cases while the fifthly rich and the poor are mostly in trouble. Scientifically speaking, the mounting evidence supports the ideology; to live a pure unselfish life, one must count nothing as one’s own in the midst of abundance. I find it appalling the so called “truth” and “facts” loving Canadians do their best to ignore this evidence. Capitalism is not only great for socio-economic growth, it also great for our own downfall.

It doesn’t end there

How about environmental impact of rapid growth over gradual growth? How about social saturation problems leading to isolation and segregation? How about the decline of philosophy which fueled the economy and social developments over millions of years in the past? The list will go on and on. The Capitalism will eventually be synonym with the downfall of civilization.

Religion for the Rich and the Poor

…downfall of nepotism and so called professional connections may not be immediately evident.

Finally, the most sensitive part of the problem. The global religions and their relevance to social status. I have found that middle class is the only category of people, who would have the strong back bone to stand up against any form of propaganda. All religions are based on propaganda. In Canada, mostly the rich and the poor go to church or temple. In Saudi Arabia the religion is hijacked by the rich and the powerful. Everyone who is deeply religious try their best to ignore these facts, but withe the growth of middle class, mostly educated, the tradition religion has become a opium of the people. Poor goes for religious institutions for the monitory gain. So why the rich go for religion?

The upper class in Canada and United States have used religion as a tool to gain control over masses. For example, if you are educated and rich and you need so called “connections” in the community, the best way to do this is through religious based networking. No matter how you spin this or try to hide the facts, as a Geology student who would become a professional in few years, I found most Canadian companies hire Geologists based on their connections within companies over the skills. This is where even the poor have used religion as a tool to gain the upper hand over the atheist middle class. If you are in a religious group for example, you will most likely meet people with your own religious ideology in the economic market. This will result in hiring for job positions in companies resulting saturation of one particular religion and/or culture in a company.

The downfall of nepotism and so called professional connections may not be immediately evident. However, with the increased completion from other countries such as India and China, Canadian professionals are in a disadvantage position. For example, hiring a under performed Geology or Engineering student for petroleum company will also undermine the credibility of Canadian companies in the global market. The same can be said for hiring a well performed A+ students to upper management positions just because their connections to religious and professional communities. In an age where Canada openly critical of how third world countries like India have a growing problem with political meddling, we should stick our own head in the sand for nepotism and religious favoritism.

Home electrical wiring basics

During home automation projects, you will probably replace the electrical fittings such as outlets for appliances and lighting fixtures. There are few basic things you should research before you begin. But first of all let me give you a warning; if you do not have experience working with electrical wring, please contact a professional for help. In this article, I will explain how to replace a traditional electrical switch to a Z-wave compatible switch.

Advice to all dummies

Electric shock alert

The following project involves working with ~ 110/240 volts alternating current (AC). Even with the power cut offed, there is always a risk of electric shock. Do not work on this project if; you are unfamiliar with electrical work, do not have proper equipments and/or regulations and laws in your area prohibit do-it-yourself (DIY) electrical modifications. I, Sanuja Senanayake or the site sanuja.com will not take any responsibility for any personal injury or property damage.



The following items are essential to this project. In addition, you may require other materials such as drywall patches for cosmetic work.

  • Suitable screw drivers and/or bits; electrically insulated drivers would be better
  • Wire cutters and strippers
  • Electrical tape
  • Electrical wire connector clips in few different sizes
  • Multimeter; a digital unit would be better/tester
  • Z-wave compatible switch

Optional items.

  • Extra electrical wires (short one would be enough)
  • Gang box
  • Wire staples and hammer

Let’s go…

After deciding which switch to replace, find the trip switch for the circuit on you central electrical box. If it is a light, I would turn it on to check if the power is still there. If you are installing a relay for a garage door, make sure the door is at closed position before you cut off the power. Prior to installing the Z-wave or wireless device read the manufacture’s guidelines for installation and usage. It is recommended to have at least 1/2 of the signal power from automation controller and the wireless LAN at the location. You may use a repeater for better signal strength. Please note, all Z-wave wired products (non-battery operated) are repeaters of the Z-wave signal.

After turning off the main power to the circuit, using your multimeter and/or tester, check if the power is out. Once you know that for sure, remove the two screws holding the switch. Gently, with some force, pull out the switch until you can access the left and right sides of the unit. Now, you should be able to remove the wires. But wait! Before you disconnect any wires from the old switch, I recommend taking a pictures of the setup. This can be very useful in places with three of more phases (and many other situations with lots of wires). It is important to have enough room in the gang box in order to accommodate the bulky back side of automated switches. If you find it is too tight to place all the new switches in the particular box, please replace the current gang box with a new unit with one extra slot. The extra slot can be closed up with a dummy plate as opposed to populating with an another switch.

You cannot install a dimmer switch in all locations due to wiring limitations. If you already have a traditional dimmer, you can install a automated dimmer at the same location. However, you may not have the dimming support on all gang boxes. The Z-wave switches often require a common wire. So, what is a common wire?

Electrical wire identification for a Z-wave dimmer.
Electrical wire identification for a Z-wave dimmer.

In the above image, the common wire is the white wire that is labeled C. All the common wires from switches attached to the same point. The wire B is the neutral wire (also white) that goes to the light. The green wire labeled G is the ground. Finally the Z-wave dimmer switch is labeled Z.

In this particular location, I can install two independent dimmers. But not all locations are wired to handle dimmers. If you do not currently have a dimming switch, it is possible that you cannot install one without extensive wiring. Unfortunately this is the case for most older houses. The cost of electrical home automation can be significantly increased with the age of the house.

When adding a new unit, always follow the instructions of the manufactures and the guidelines on electrical work in your area. Make sure the wattage rating of the automated unit does not exceed that of the load. For example, in my experience a unit that is rated for 500 W would be good for about 400 W load. After that between 400 – 500 W you are kind of experimenting. It may even handle 600 W but I recommend keeping units under load.

Make sure the wires are connected to each unit are securely held. Gently try to pull out the wires from all wire connector clips to ensure that all the wires are in place. Do not provide power to the circuit, without checking the integrity of your connections.

Once you have hooked up the wires, clear the area of any debris and keep the unit(s) out of the box. Please provide ample space between the electrical unit and the gang box to prevent electrical arcing. Now go to the main switch board and turn on the power. Check if the light(s) or appliance functions as expected. In case of a smoke or spark, immediately turn off the circuit.

Once you are done testing, turn off the circuit again. Now apply electrical tape to all exposed areas and wire connector clips. Put back the devices in the box and place the cover. Now you are ready to program the unit.

Cleaning things up

On the first image you can see I have applied electrical tape to cover all exposed connectors and wires. It is important to use the tapes to isolate these connectors to prevent shorting.

On the image bellow, the arrow in the above image is pointing to a staple which holds the wires in place. You can also see a Z-wave relay switch and the garage door opener switch. I have replaced the entire gang box with a new one. As you can see the metal box has been secured on both sides.

Garage door opener, Z-wave relay module and light switch.
Garage door opener, Z-wave relay module and light switch.

Programming an Z-wave switch

There are several companies manufacture Z-wave compatible switches. GE and Evolve and Leviton are few popular companies. Regardless of the manufacture, the process is simple. Press the add button on your Z-wave controller near the switch. Then press the switch at ON position several times until your Z-wave controller indicate successful addition. Each Z-wave controllers have their own set of instructions on how this works. Please follow the guidelines accordingly. For your information; I am very satisfied with the options and possibilities of VeraLite3 controller. However, I am cannot recommended anything since each controller comes with different advantages.

Other programing options

Electrical installation process is same for all units. The x10 and INSTEON controllers will have sightly different programming steps. At the end of the day, this article is all about basics of home electrical wiring. Refer to your manufacture’s user guide on how to add items to your specific programming standards.