Bug Protein USB Flash drives reaches 50 terabyte (TB)

A sample USB drive / Flash drive size of 50 terabytes (TB) worth of data could will be in the market using bug protein memory to store data in less than one and half years. Professor V Renugopalakrishnan of the Harvard Medical School in Boston’s initial thought was to start out by coating DVDs with a layer of protein so that one day solid state memory could grasp so much information that the storing data on conventional computer hard drive will be outdated.

USB drive

Flash drive

USB flash drives

usb drive

50 TB Flash drives USB drives

50 TB Modern Flash drives USB drives

Flash drives

USB flash drives

flashdrives

usb drives

flash drive

usb drive

flash drive

50 TB Modern Flash drives USB drives

Flash drives

USB flash drives

usb drives

flashdrives

 Bug Protein USB Flash drives reaches 50 terabyte (TB)

Bug protein memory USB flash drive

Ultimately it will remove the need for hard drive memory completely. This is the future of flash memory. High-capacity storage devices like the new protein-based DVDs will be crucial to the defense, medical and entertainment industries. Transfer of information such as satellite images, imaging scans and movies will be traded in with terabytes of information. Magnetic storage technology will not serve the persuasive demand of storing data.

New protein-based DVD will have advantages over recent optical storage devices (like the Blue-ray). It will be able to store no less than 20 times more than the Blue-ray and sooner or later even up to 50,000 gigabytes (about 50 terabytes) of information. The first protein-based information storage structure to store terabytes of information is made of Membrane proteins. The star at the centre of the high-capacity DVD is nothing but a light-activated protein situated in the membrane of a salt marsh microbe Halobacterium salinarum. This protein is named as bacterio rhodopsin (bR), captures and stores sunlight to convert it to chemical energy.

Sunlight on bR converts a series of intermediate molecules each with a distinctive shape and color before returning to its ‘ground state’ (as zero). It is only for some hours or at most a day that the intermediates generally last. But modified DNA that produces bR protein is to create an intermediate that lasts for more than several years, which is a building block to store data for a binary system. Any of the intermediates can be ‘one’ and ground state surely is the ‘zero’. BR protein is engineered to make its intermediates more stable and durable at the high temperatures generated by storing terabytes of data.

The opposite site of the coin is modern technology flash drive like this  is so portable that wrong hands will be easily broadcast the large amounts of information with this new technology flash drives or pen drives. Fortunately or unfortunately science can be used or abused. Data can be stolen very quickly by this flashdrives. One has to have some safeguards or protection there. In conclusion with NEC in Japan, Renugopalakrishnan’s team has estimated a USB flash drive will be in the market in 12 months and a DVD in 18 to 24 months. The work has been funded by a range of US military, government, academic institutions and commercial companies, as well as the European Union.
Source: ABC News Australia

Get tinyMCE value in ajax form post

For ajax form post you might have problem regarding getting the tinyMCE value in form post. To resolve this problem you need to get the value of timyMCE before the form submit and send it to ajax post medhod and get it from there. Like I have an event message with tinyMCE and I was submitting it with ajax and was not getting the value of it. So I came up with the following solutions.

Firts I took the value of event mesassage

var event_message = tinyMCE.getInstanceById('event_message').getBody().innerHTML

then send it to the ajax data:

data:$('#frmaddevent').serialize()+'&event_message='+event_message,

by this way I get value of tinyMCE

GRUB Error Fix and Rescue for Windows (XP/Vista/7/8) and Linux: Reinstall GRUB and Restore Windows (XP/7/8) for the Message in GRUB “Unknown Filesystem, Grub Rescue While Partitioning a Drive”

I use two operating system in a single pc. One is WINDOWS and another one is UBUNTU (Linux). I was using windows and partitioned a drive and restart. Suddenly my GRUB ( boot menu ) just vanished and showing the message “ unknown filesystem, grub rescue ”. My fellow colleague Tanzim helped me a lot to resolve the situation to recovery the system. We reinstalled the GRUB and it worked fine. Every file and folder, filesystem were intact. What I lost, the windows selection menu in boot menu. We searched the INTERNET and found a way to load the windows selection menu again in the boot menu. Let me show the way to do it.

First Reinstall the GRUB.

For this you need a UBUNTU live cd or UBUNTU image on a pendrive.

a. insert the cd or pendirive, restart the pc and select the boot device as pedrive/cd

For Ubuntu grub rescue follow these steps:
1.Boot from the Ubuntu Desktop live CD.

steps%20by%20steps%20installing%20ubuntu%201 GRUB Error Fix and Rescue for Windows (XP/Vista/7/8) and Linux: Reinstall GRUB and Restore Windows (XP/7/8) for the Message in GRUB Unknown Filesystem, Grub Rescue While Partitioning a Drive

2.In Live Desktop session open terminal.
Application ->Accessories->Terminal.

3. In Terminal tpye sudo fdisk -l
It will display all partiton of the disk.

Grub%20rescue%20install GRUB Error Fix and Rescue for Windows (XP/Vista/7/8) and Linux: Reinstall GRUB and Restore Windows (XP/7/8) for the Message in GRUB Unknown Filesystem, Grub Rescue While Partitioning a Drive

The partation which have Linux under System column is your drive in which ubuntu linux is installed. In screenshot ubuntu partition drive is /dev/sda11.

4. Mount the ubuntu partition drive
sudo mount /dev/sdXX /mnt(example ‘sudo mount /dev/sda11 /mnt’ ,don’t miss the spaces.)

5.Only if you have a separate boot partition:
sudo mount /dev/sdYY /mnt/boot.

6. Mount the virtual filesystems:
sudo mount –bind /dev /mnt/dev
sudo mount –bind /proc /mnt/proc
sudo mount –bind /sys /mnt/sys

7. To ensure that only the grub utilities from the LiveCD get executed, mount /usr
sudo mount –bind /usr/ /mnt/usr
sudo chroot /mnt

8. If there is no /boot/grub/grub.cfg or it’s not correct, create one using
update-grub
or update-grub2

9.Now reinstall Grub
grub-install /dev/sdX(eg. grub-install/dev/sdaDo not specify the partition number.

10. Verify the install
sudo grub-install –recheck /dev/sdX

11. Exit chroot : CTRL-D on keyboard.

12. Unmount virtual filesystems:
sudo umount /mnt/dev
sudo umount /mnt/proc
sudo umount /mnt/sys

If you mounted a separate /boot partition:
sudo umount /mnt/boot

13. Unmount the LiveCD’s /usr directory:
sudo umount /mnt/usr

14. Unmount last device:
sudo umount /mnt
15. Reboot.
sudo reboot.

This should reinstall your grab, but you might not see the windows menu right now
what your need to do is as following
from your terminal

1. sudo apt-get install os-prober
2. sudo update-grub
3. reboot
sudo reboot

Hope it will restore your windows name in boot menu.

Getting data using doctrine in symfony by leftjoin

For leftjoin you must remember the relationship between classes in doctrine in schema file.

I have used schema.yml file for my database and its relationship with tables, for example I am give only two tables definition

sfGuardGroup:
actAs: [Timestampable]
columns:
name:
type: string(255)
unique: true
description: string(1000)
relations:
Users:
class: sfGuardUser
refClass: sfGuardUserGroup
local: group_id
foreign: user_id
foreignAlias: Groups
Permissions:
class: sfGuardPermission
local: group_id
foreign: permission_id
refClass: sfGuardGroupPermission
foreignAlias: Groups
 
sfGuardUserGroup:
options:
symfony:
form:   false
filter: false
actAs: [Timestampable]
columns:
user_id:
type: integer
primary: true
group_id:
type: integer
primary: true
relations:
User:
class: sfGuardUser
local: user_id
onDelete: CASCADE
Group:
class: sfGuardGroup
local: group_id
onDelete: CASCADE

Table look lie this ( I have added some data)

sf_guard_group

id   name   description
1     admin       –
2    vendor     –
3     user         –

sf_guard_user_group

user_id    group_id
1                      1
2                     3
3                     3
4                     3
5                     2
6                     2
7                     3

Now you want fetch group name by sf_guard_group table. If you look at relationship you will find that there is a relationship name Users

I have written a function in sfGuardGroupTable.class.php [ you will get it while you build the tables ]

public function getGroupName(){
$q = Doctrine_Query::create()
->select('sgg.name')
->from('sfGuardGroup sgg')
->leftJoin('sgg.Users gs');
$q->setHydrationMode(Doctrine_Core::HYDRATE_SCALAR);
 

 

 echo $q->getSQLQuery();
return $q->execute();
}

you will get the answers like this if you call in respective scope

$groupid = Doctrine_Core::getTable(‘sfGuardGroup’)->getGroupName();

echo “<pre>”;

$groupid = Doctrine_Core::getTable(‘sfGuardGroup’)->getGroupName();

print_r($groupid);

 

Array
(
[0] => Array
(
[sgg_name] => admin
)

[1] => Array
(
[sgg_name] => client
)

[2] => Array
(
[sgg_name] => client
)

[3] => Array
(
[sgg_name] => client
)

[4] => Array
(
[sgg_name] => client
)

[5] => Array
(
[sgg_name] => vendor
)

[6] => Array
(
[sgg_name] => vendor
)

)

Some useful url:

http://www.doctrine-project.org/documentation/manual/1_2/en/dql-doctrine-query-language#join-syntax:on-keyword

Starting with symfony framework in windows platform especialy with httpd

It is always exciting to learn new things. I have started to learn the  symfony framework. It was bit tough for me to setup the framework. But after a lot of pain I have successfully loaded it into my web server root. I want to share some of my problems and way to solve those problems.

You will find lots of books in the website for learning the framework. Though someone told me that it would be hard for me to learn this framework. Don’t really know about the learning curve of this framework.

learning book site : http://www.symfony-project.org/doc/1_4/

I am following the book:  http://www.symfony-project.org/jobeet/1_4/Doctrine/en/

Now few things,

1. You must set your php directory in your windows environment variable.

2. If your web root directory doesn’t support do it in your php.exe folder like: d:/xampp/php

3. While setting it up from command prompt remember you directory, the book might have some other directory

4. Its better to run the command from php.exe file containing folder

5. For getting help or know better from symfony installed components

d:\xampp\php> php lib\vendor\symfony\data\bin\symfony

6. I have changed my httpd.cof like this
 
# Be sure to only have this line once in your configuration

NameVirtualHost <a href="http://127.0.0.1:8080/" target="_blank">127.0.0.1:8080</a></div>
<div>&lt;VirtualHost <a href="http://127.0.0.1:8080/" target="_blank">127.0.0.1:8080</a>&gt;</div>
<div>DocumentRoot "D:\xampp\php\sfprojects\jobeet\web"
<div>DirectoryIndex index.php
&lt;Directory "D:/xampp/php/sfprojects/jobeet/web"&gt;</div>
<div>AllowOverride All
Allow from All
&lt;/Directory&gt;</div>
<div>Alias /sf "D:\xampp\php\sfprojects\jobeet\lib\vendor\symfony\data\web\sf"</div>
<div>&lt;Directory "D:/xampp/php/sfprojects/jobeet/lib/vendor/symfony/data/web/sf"&gt;
<div>AllowOverride All
Allow from All
&lt;/Directory&gt;
&lt;/VirtualHost&gt;</div>
7. Dont forget to restart your Mysql after changing httpd