Posts Tagged ‘Scope’

Know about Nanotechnology – Customization of molecules and atoms

Friday, January 8th, 2010

Everything is made up of molecules which in turn are made up of atoms, now customization at these levels to get a useful product is what nanotechnology is helping us achieve

Imagine a technique that can work on subjects that are a thousand times smaller than the diameter of hair! To build something productive out of these tiny subjects is difficult, but this is what nanotechnology is all about. By changing molecular structure of the material one can change its electrical, chemical, and mechanical behavior. Now this is the basic principle behind developing customized materials using nano techniques that behave in a desirable way. The first introduction to this concept was as early as 1959, with the actual term being used in 1974. Since then a lot has been done in this field, but still there is tremendous scope for this technology in future. Here we would try to define what has already been done in this field and what to expect in future.

Passive nanostructures
These first generation nanostructures are relatively simple and passive in behavior. Primary products are components such as nanotubes, wires etc and with enhanced functions and properties because of their nanostructure. Passive nanostructures can further be categorized under two sub categories, first being dispersed and contact surface nanostructures like nanoscale colloids, aerosols and powders. The second category include products incorporating nanostructures like nanoscale layers in transistors.

Here is a hypothetical nanorobot that swims through blood vessels, this device finds its way using camera mounted in front and contains a payload for the affected area.

Active nanostructures
These nanostructures are, as the name suggests, active in nature, ie. they change their state according to conditions. As an example of an active nanostructure, consider the drug delivery particles. These particles change their morphological and chemical composition. These changes lead to a change in the property (mechanical, electronic etc) of the nanostructure for desired results. This category of nanostructures can be subcategorized in two categories, bioactive nanostructures and physico-chemical active nanostructures.

Integrated nanosystems
These systems would be the future of nanotechnology. They would include assembling techniques like bio-assembling, networking at the nanoscale, modular nanosystems, etc. The example of these systems would include development of a system for medical purposes that could be able to build organs from nanoscale. In electronics one could see new devices based on states other than electric charge.

Atomic force microscope image of carbon nanotubes. Apart from their favorable mechanical and electrical properties these nanotubes also have disadvantageous characteristics.

Heterogenous molecular nanosystems
These systems would consist of molecules, with each one having a different purpose. This would give the nanosystem to ability to work in a similar manner as our biological system works but these man made systems would be more energy efficient, and quick in action. These nanosystems would have the ability to self assemble at different levels giving them the ability to self heal. Nanorobots would also have to be built to carry out actions at nano scale.

Nanodevice applications
In nanoelectronics one can expect creation of self-assembly structures allowing the scaling down of complementary metal-oxide semiconductors (CMOS) to their ultimate limits (5-10 nm) and the possible post-CMOS (but still electron charge-based) integrating nanocomponents and nanodevices such as carbon-nanotube and single-electron transistors. Nanotechnology can further be of great help in cutting down costs of sending spacecraft in outer space. This can be achieved by building a structurally altered material that is lighter than traditional material used, but at the same time is very strong to withstand a high pressure environment.

Future of Nanotechnology in health care
Bioavailability of the drug is defined as presence of drug molecules in the affected area inside the body when these molecules can provide maximum help. A 100% bioavailability of medicine can be achieved using nanorobots. These hypothetical machines would be 0.5-3 micrometer in size so that they can easily move around inside capillaries. The material used to build these nanorobots would be carbon due to its strength and favorable characteristics. The usage of special isotopes of carbon would further help in tracking these robots using MRI scan. These devices would be injected inside patient’s body and then tracked for progress of work. Other infesting tasks that can be done using nanotechnology is cell repair using molecular devices. It is proved that molecules have ability to recognize, repair and destroy other molecules. It is also possible to insert molecules inside cell using needles without damaging them. Now if molecular machines are built and injected in cells they would be able to effectively repair cells even those that are dead. After repairing all cells in tissue one can repair a complete tissue. Further, molecular machines can be made intelligent i.e. instead of doing a specialized work these devices can have artificial intelligence for doing tasks.

Risks involved
Altering material structure could result in negative effects on environment and potential health hazards. Therefore it is advisable to follow a defined framework in developing these materials. Due to the high surface-area-to-volume ratio and higher reactivity of nanostructures, large doses can cause cells and organs to demonstrate a toxic response even when the material itself is non-toxic.

Nano materials could combine with other materials and this cocktail could be toxic in nature. Further due to higher surface reactivity of nanopowders there is increased risk of explosion or ignition. One more negative effect could be accumulation of nonmaterials in environment or human organs with potential negative effects.

Source: PCQUEST

PHP 5.3 Released: New features

Wednesday, July 1st, 2009

It’s official: PHP 5.3 is out and available for download. “5.3 comes with a whole load of new syntax, closures, namespaces and, last but not least, goto. Besides the cool new syntax items, there are also two new extensions, phar and fileinfo. What is most exciting is a proper garbage collector, as this makes PHP running as a daemon (or other long running) process finally feasible.

1. Namespaces

Namespaces have been keeping the internals mailing list busy for quite some time—and they have been one of the most requested and discussed feature for at least two or three years. Now that they are finally available, they will make it easier to use multiple independent packages within your applications without causing naming conflicts.

You can think of a namespace as a container of other entities (including namespaces); you declare a namespace using one of two different syntaxes:

01.namespace MyAwesomeProject;
02.
03.const A_CONSTANT = 'not awesome';
04.function awesomeFunction() {
05. echo "This function is awesome";
06.}
07.
08.namespace StillAwesome {
09. const A_CONSTANT = 'awesome';
10.
11. function awesomeFunction() {
12. echo "This function is still " .
13.StillAwesome\A_CONSTANT;
14. }
15.}

You can now access the entities that belong to either of these by using the namespace operator ‘\’:

1.require "awesome-file.php";
2.
3.MyAwesomeProject\awesomeFunction();
4.StillAwesome\awesomeFunction();

What if you don’t use namespaces? According to the official FAQ, you can just ignore them. Thus, your legacy code should continue working just fine—one more reason to consider a switch to 5.3 today.

2. Closures

Closures are functions whose scope is partially defined by one or more “free” variables that only become bound at runtime. You have probably already encountered closures in JavaScript, where they are often used to handle events. A closure allows you to use a first-class function with one or more parameters inherited from a scope other than its own natural scope.

Consider, for example, this simple snippet of code:

01.function loadData($url, $handler) {
02. $handler(file_get_contents($url));
03.}
04.
05.function sendPageTo($email, $url) {
06. loadData($url, function($data) use ($email) {
07. mail($email, "Here's your data", $data);
08. });
09.}

As you can see, the loadData method takes in a lambda function as a variable, and then calls it with the data retrieved from the URL passed to it. In our case, sendPageTo() creates a closure by assigning the $email parameter from its scope into the function passed to loadData(), which then uses it to e-mail the result of loadData() to a given recipient.

3.Garbage Collection

A garbage collector essentially cleans up unused memory. The new garbage collection mechanism available in PHP (via the zend.enable_gc php.ini setting) helps in situations where a cyclic reference between two data elements prevents either of them from being freed, thus leading to an increasing waste of memory.

Under most circumstances, this is not a problem, as most PHP scripts are short-lived. In some cases—for example, complex, long-running scripts or daemons—the use of the garbage collector can optimize memory usage, albeit at the cost of the CPU cycles it needs to run.

4. GOTO

Yes, you read correctly: GOTO has made it into PHP. We’ve already covered it in a recent story, so go read it if you haven’t already before you start tearing your hair out and crying foul.

The reality is, there are legitimate reasons for using GOTO in some types of PHP scripts—which, of course, means that there are plenty of illegitimate reasons to use it, too. For example, if you have ever written finite-state automata, you’ll know that a well-placed GOTO statement makes it relatively easy to manage nested error conditions. Sure—you could do the same using Exceptions or if-then-else statements, but, speaking from experience, we can safely say that it’s not the same thing.

You can use GOTO to cause the execution flow to unconditionally jump to a specific location, as long as it is within the current scope (thus, you can’t jump into the middle of another function). For example:

01.function fussyRandom() {
02. for ($i = 0; $i < 1000; $i++) {
03. if (rand(0, 10000) > 9000) {
04. goto error;
05. }
06. }
07.
08. return;
09.
10.error:
11. die("I can't stand random numbers greater than 9,000!\n");
12.}
13.
14.fussyRandom();

In this simple script, if the random number generated inside the fussyRandom function is greater than 9,000, the script will be bounced to the first instruction after the error label.

The fileinfo extension

Understanding the contents of a file is no easy task. You could rely on the extension of its name—but that would make tricking you into misinterpreting a malicious data stream all too easy. You could trust the MIME type sent by a user agent (if you happen to be working in an environment where that’s available, like a file upload), but that’s not a reliable method of identification.

Or, you could use the fileinfo library, which has been available in UNIX systems for many years and has finally landed in PHP 5.3. This library, and its eponymous command-line utility, works by examining the contents of a file and determining its type by using a heuristic approach. Fileinfo is not perfect, but it is very good and gets the type of a given file right almost every time.

Using this extension is very easy:

01.$finfo = new finfo(FILEINFO_MIME);
02.
03.//Local file
04.//Returns text/plain; charset=us-ascii (on Unices)
05.echo $finfo->file('/etc/hosts');
06.
07.//Remote file (via string)
08.//Returns text/html; charset=utf-8
09.echo $finfo->buffer(file_get_contents('http://phparch.com'));

As you can see, fileinfo is capable of identifying content either by examining a local file, or by examining the contents of a string buffer—which makes it a handy tool for dynamically-loaded data.