Archive for December, 2009

17
Dec 09

Worlds Fastest Supercomputer

Jaguar Supercomputer
(Credit: Image courtesy of the National Center for Computational Sciences, Oak Ridge National Laboratory)

As announced on 13 November 2009, the Cray XT5 supercomputer known as Jaguar, knocked out the previous world number 1, IBM’s “Roadrunner”. This amazingly powerful supercomputer, built only this year boasts amazing speeds and processing power. The Jaguar’s theoretical processing peak is said to be 2.3 petaflops per second (that’s 2.3 quadrillion calculations per second!)

Some stats:
Processor AMD x86_64 Opteron Six Core 2600 MHz (10.4 GFlops)
Operating System : Cray Linux Environment
Site: Oak Ridge National Laboratory
Compute Cores: 224,162

Each compute nodes contains two hex-core AMD Opteron processors, 16GB memory, and a SeaStar 2+ router.

Let’s take a look at the latest list of supercomputers according to their rank:

  • Jaguar, Cray (1.759 petaflop/s, 224,162 cores)
  • Roadrunner, IBM (1.042 petaflop/s, 122,400 cores)
  • Kraken XT5, Cray (831.70 teraflop/s, 98,928 cores)
  • JUGENE, IBM (825.50 teraflop/s, 29,4912 cores)
  • Tianhe-1, NUDT (563.10 teraflop/s, 71,680 cores)
  • Pleiades, SGI (544.30 teraflop/s, 56,320 cores)
  • BlueGeneL, IBM (478.20 teraflop/s, 212,992 cores)
  • BlueGene/P, IBM (458.61 teraflop/s, 163,840 cores)
  • Ranger, Sun (433.20 teraflop/s, 6,276 cores)
  • Red Sky, Sun (423.90 teraflop/s, 41,616 cores)
    keywords: ,
12
Dec 09

Wireless electricity has arrived!

wireless-power-3Yup, you read right. Wireless electricity has arrived. I’m sure many of you have screamed and yelled due to electrical cords at some point. Hell, I’ve even been blown away across a room a few times in my life due these tangling annoyances. Well there is soon to be no need for them!

We have taken our time to perfect this new method of simplifying our lives, seeing as though Nikola Tesla already managed to achieve this in 1894 whereby he wirelessly lit up single-terminal incandescent lamps in New York City by means of electrodynamic induction aka wireless resonant inductive coupling.

Manufacturers of this new technology have released a device that can send power through the air over a distance of up to a few inches. A magnetic field is created inside the device by a powered coil which in turn induces current to flow to the small secondary coil built into any device that has it. Simply put your phone, camera or laptop on the device and let it charge wirelessly – no more messy wires or wire pulling (really?)

Don’t worry about being frizzled to ashes either, because this technology is “smart”, or so they say! Their built-in coils are driven by integrated circuits which pick up if the device on it is able to receive power or not. So you won’t get a nasty suprise every time you walk passed it.

Image taken from http://www.itnetwerk.com/

keywords: , , ,
12
Dec 09

Nanotechnology helps create bendable, ultra-lightweight batteries

Nanotechnology advances have already amazed the world but it’s only the beginning. The latest to come out of the nanotech industry are ultra-lightweight, bendable batteries and superconductors.

Scientists, namely Yi Cui, assistant professor of materials science and engineering at Stanford University have discovered a way to make these amazing batteries by simply coating a sheet of paper with ink made of carbon nanotubes and silver nanowires.

Cui mentions how special these nanomaterials are. He mentions that these nanomaterials are one-dimensional, having very small diameters. These small diameters help the nanomaterial ink stick to the paper thus making the battery and supercapacitator durable and can have a charge-discharge cycle of around 40 000 times. The nanomaterials also help conduct electricty much more efficiently than ordinary conductors.

Being a paper supercapacitator, there can be many applications whereby this new technology can be used. Such as storing energy from solar energy systems and wind farms at very low costs or electric and hybrid cars that require quick transfer of electricity.

Soon enough we may be able to paint our houses with super conductive nano-ink and not have to worry about where the electric plugs are in the house – your house will just be one big plug itself.

keywords: ,
10
Dec 09

Stopping SQL Injections

SQL Injections can leave your website crippled and useless and most developers haven’t even thought about this. Do you know what a SQL injection is? Here is the official definition:

SQL injection is a code injection technique that exploits a security vulnerability occurring in the database layer of an application. The vulnerability is present when user input is either incorrectly filtered for string literal escape characters embedded in SQL statements or user input is not strongly typed and thereby unexpectedly executed. It is an instance of a more general class of vulnerabilities that can occur whenever one programming or scripting language is embedded inside another. SQL injection attacks are also known as SQL insertion attacks.

How they do it
SQL injections can be inserted through the use of your website’s forms as well as your global variables. An attacker would analyse your forms and attempt to manipulate the way you insert data into your database.

Example:
Lets say one of your pages is as follows:
http://examples.co.za/product.php?product=salt
And the attacker adds ‘ or ‘a’='a to the end of the URI like such: http://examples.co.za/product.php?product=salt’ or ‘a’='a
What this is essentially doing is changing your unprotected SQL query to something like
SELECT * FROM product WHERE product=’salt’ or ‘a’='a’
Instead of the query now looking for products that equal ’salt’, it now selects everything regardless! By using this in a log in form the attacker may be able to gain access to the site without actually logging in. This is an extremely easy method of manipulating your query. There are a lot more malicious techniques out there.

What to do
If you are using a solid framework you are relatively safe but in actual fact, SQL injections are hard to stop as there are many ways to pull this off. Here are some steps you can take to ensure some heartless moron doesn’t come along and wipe your database off the face of the earth or worse, gain access to passwords you don’t want them to know about and wreak more havoc.

Sanitizing Function
This simple yet effective sanitizing function escapes special characters in a string for use in a SQL statement.

<?php
  function sanitize_slash($string) {
    // make sure you are connected to your DB before attempting to return this function
    return mysql_real_escape_string($string);
  }
?>

The above method will add a ‘\’ to single and double quotes to ensure your query cannot be manipulated. The next method eliminates ALL special characters except for a-z, A-Z and 0-9. Your choice is dependent on your websites functionality.

<?php
  function sanitize_all($string) {
    return preg_replace( "/[^a-zA-Z0-9 ]/i", "", $string );
  }
?>

For example, if you would like to sanitize the input of a text field, use the first function. If you would like to sanitize the input of a users username, use the second function.

Example:

<?php
  $aboutme = sanitize_slash($_POST['website']);
  $firstname = sanitize_all($_POST['firstname']);
  $surname = sanitize_all($_POST['surname']);
  $email = sanitize_slash($_POST['email']);
  // you should get the picture now...
?>

Another good method to use in conjunction with these functions is to check if the given input is the expected data type. IE: If you are expecting a number format, double check it with the is_numeric() function.

One last thing to remember, make sure you turn off error_reporting(); The last thing you need is to show the attacker the database error details!

<?php error_reporting(1); //add this right at the beginning of your file ?>

So in closing, make sure you follow these steps to try and eliminate any potential attacks that may occur:

  • Never trust user input.
  • Sanitize your variables before attempting to insert them in a SQL query.
  • Make sure your form < input > names are not the same as your table’s field names.
  • Make sure you double check expected data types.
  • Turn off error_reporting()

Good luck and as always, if you have anything to add to this, please feel free to insert your suggestions or examples below.

keywords: , , , , ,
5
Dec 09

What comes after a Yottabyte?

1024 Bytes = 1 Kilobyte

1024 Kilobytes = 1 Megabyte

1024 Megabytes = 1 Gigabyte

1024 Gigabytes = 1 Terabyte

1024 Terabytes = 1 Petabyte

1024 Petabytes = 1 Exabyte

1024 Exabytes = 1 Zettabyte

1024 Zettabyte = 1 Yottabyte

What comes after 1 Yottabyte? Well, there have been some proposals put forward for the following, and apparently a decision should have been made this year in order to finalize these terms:

1024 Yottabytes = 1 Brontobyte

1024 Brontobytes = 1 Geobyte

1024 Geobytes = 1 Zotzabyte

According to CSIRO, in the next decade, astronomers expect to be processing 10 petabytes of data every hour from the Square Kilometre Array telescope. The telescope is expected to generate around 1 exabyte of data every four days. According to Cisco, annual global IP traffic for 2013 is estimated to be around 667 exabytes. With augmented reality on its way and a number of other exciting things, I’m estimating global IP traffic to be around a couple 100 Zotzabytes by 2018.

keywords: , , , ,