While there are plenty of technologies in and around for the teams, players as well as for the fans, there are also criticism of these technologies as well. Diego Maradona, never afraid to speak his mind, has launched a fresh attack on the the Jabulani, the controversial World Cup ball which has found few admirers among the players and coaches in South Africa. Maradona says the design of the ball makes it impossible for the tournament's best players, like Argentina's Lionel Messi, to produce their very best skill and trickery.
Monday, June 16, 2014
World Cup 2014 : Most technologically advanced tournament yet
While there are plenty of technologies in and around for the teams, players as well as for the fans, there are also criticism of these technologies as well. Diego Maradona, never afraid to speak his mind, has launched a fresh attack on the the Jabulani, the controversial World Cup ball which has found few admirers among the players and coaches in South Africa. Maradona says the design of the ball makes it impossible for the tournament's best players, like Argentina's Lionel Messi, to produce their very best skill and trickery.
Newcomer arrived in storage media : Hybrid Drive
Current hybrid drive designs, in contrast, deliver both technologies within a single physical unit, and they employ software caching algorithms (rather than relying on the user's brain) to decide which data belongs on the SSD portion and what goes on the drive’s platters.
These caching algorithms reside in the hybrid drive's firmware, not the device driver. To the computer’s operating system, a hybrid drive appears as a single unit with the SSD portion acting strictly as a large cache. The cache is nonvolatile, so the data doesn't disappear when power is absent.
Source: http://www.pcworld.com/article/2012223/hybrid-hard-drives-how-they-work-and-why-they-matter.html
Wednesday, November 10, 2010
When to use interfaces instead of classes
Here's a look at some of the situations where it makes sense to use interfaces instead of classes, and where is does not. But first, I'll explain what an interface is at the simplest level.
What exactly is an interface?
An interface defines common functionality across unrelated classes. For example, all sorts of classes that look nothing like each other may have the need to safely get rid of the resources they use.
The IDisposable interface (the name for it in .NET) defines a Dispose() method, which classes then implement. A programmer using those classes knows that, if a class implements the IDisposable interface, the Dispose() method is used to safely release resources.
An interface is a guarantee that certain functionality will work in a standardized way. When properly fashioned, an interface encompasses only the bare minimum for the defined functionality. IEnumerable (which is used to iterate over sequences, lists, sets, etc.), for example, does not provide for a Count property, because it is not concerned with "how many?" it is only worried about "the next one in the sequence".
APIs
I believe you get the most advantage from using interfaces as often as possible when you are writing an API. In an API, you want your code to be as loosely coupled as possible in terms of input and output; after all, you have no control over what the consuming application will need.
There may be a time when it is tempting to work with a List; within a piece of code, and then just return the List, for example. The consumers of the API usually do not need all of the functionality of List, and you can output IEnumerable; instead. This way, if the consumer wants a List, they can have it, or they can have an array of T, or whatever else they might need. By using the common denominator interfaces in your API, you free the consumers from being forced to use or convert to/from your class of choice.
Tightly coupled code
In the fantasy land of Computer Science courses and the blogosphere, developers never write tightly coupled code. In reality, tightly coupled code is a fact of life for the average developer.
You aren't going to make an abstract class and implement the Factory pattern to "future proof" yourself against changes when writing a three line of code class will give you a strong type to shuffle data around. Likewise, coding to interfaces is impractical in many situations; a key sign of this is when you find yourself writing classes that look a lot like structures.
If the only or the best way to get something done is to tightly couple code, then trying to abstract some kind of common functionality into an interface is either doomed to fail or merely more effort than it is worth.
Future proofing
Working with interfaces can give you a measure of future proofing when you are on the consuming end of things. If you are using a library that outputs interface instances instead of classes, not recasting those instances as classes can protect you from changes down the road. Along the same lines, if you only need a certain subset of functionality contained within an interface, working against that interface is better than working against the class.
Go back six or seven years before we had generic types--if you had coded everything to take arrays or Hashtables instead of IEnumerable or ICollection, then if the library ever changed to use List or Dictionary you would have a long road ahead of you to convert over.
Code clarity
Coding with interfaces can improve code readability. How? Because there are fewer "moving parts" for the reader to keep in mind. When you work with an interface, it is more clear what your intentions are and what the capabilities will be. Code is more self-documenting when working with interfaces for this reason.
Sometimes an interface just won't do
Some folks take the use of interfaces to an unworkable extreme. Avoid this at all costs. There will be times when you simply cannot boil down the essence of a variable or a method parameter (or whatever) to an interface. In fact, this is more likely than not. Don't try to force the issue; it's better to just use a class and move on with your life than to try to make things work with an interface.
Wednesday, September 23, 2009
Blue 2009 Bollywood Movie
‘Blue’ is touted as Bollywood’s first underwater, action adventure thriller. Directed by Anthony D’Souza , the movie is inspired from Hollywood flicks like ‘The Deep’ or ‘Jaws’, but it is not a copy.
The film is about a lost treasure, which three friends try to find undersea. Akshay Kumar , Sanjay Dutt and Zayed Khan play the respective roles.
But in this hunt for the treasure, there’s deceit and betrayal by someone in the group.
Lara Dutta is paired with Sanjay Dutt in the film. The actress did not know deep sea diving before signing the film and underwent a rigorous Scuba diving training to prepare for her role.
The movie’s second heroine Katrina Kaif doesn’t have a big role. But director D’Souza says Kat will surprise the audiences with her role. Sunil Shetty also has a brief role in the film.
Most of ‘Blue’ has been shot
in the Bahamas. Akshay, Sanjay and Zayed swam with real sharks while shooting their stunts in the film.
While shooting one such stunt under water, Akshay Kumar had a narrow escape when he accidentally hit his head against the metal of a sunken ship and began bleeding. Blood attracted the sharks, but before any mishap could happen, the actor was safely pulled above water.
To tone up his muscles, Sanjay Dutt hired the services of a special body building trainer from the US – Lawrence Gonsalves, who guided the actor on losing his former beefy body and developing a leaner physique.
Special water-resistant make-up was required for the film’s leading lady Lara Dutta. For that the producers roped in Hollywood make up artist Nikoletta Skarlatos.
‘Blue’ also feature a special appearance by Australian pop sensation Kylie Minogue who has not only sung for the film but also shot a sizzling video with Akshay Kumar.
Oscar winner A R Rahman has composed the tunes of the film’s songs. In fact, Kylie Minogue agreed to sing and dance to her song in the film because she was captivated by Rahman’s composition.
The movie apparently also has an underwater song picturized on the entire cast.
With a budget of over Rs 100 crores, ‘Blue’ is touted as Bollywood’s most expensive film to date. Made under the banner of Shri Ashtavinayak Cinevision, the movie is set to release in May, 2009.
Conficker: Experts from all over the world fail to defeat internet worm
So dangerous is the threat, that the world’s largest computer security companies have joined together with governments around the world in an unusual alliance to pool their resources and solve the problem. So much so, that a group (Conficker Working Group) to defeat the worm has also been created.
The worm, which was first detected in November, last year, spreads rapidly to computers through a flaw in the Windows operating system. Infected machines are co-opted into a “botnet” army, which can be controlled and used by the hackers to launch unprecedented cyber attacks.
“The general agreement in the security world is that Conficker is the largest threat that global internet is facing from a cyber crime point of view. It has proven to be extremely resilient. It’s almost impossible to remove,” Rodney Joffe, a Director of the Conficker Working Group, told Sydney Morning Herald. “The best minds in the world have not managed to crack the code behind this yet.”
Microsoft has offered a 250,000 dollars reward for information leading to the identification of the individuals – or rogue governments – behind Conficker. But so far international effort to find a solution has yielded few results.
The creators of the worm can do anything they want with the infected machines including stealing users’ banking details or flooding government servers to knock them offline. The worm has a built-in mechanism to prevent people from scanning their computers with anti-virus software, says Joffe. Unfortunately, even for those who wipe their computers clean and start fresh, if they back up any important data on a portable hard drive, the clean machine is re-infected when the drive is connected to the computer.
The worm also spreads automatically between computers on a network and infects machines without the user having to do anything other than switch their computers on. While majority of the botnets can be destroyed by disabling the server used to issue commands to infected machines, but with Conficker the location of this sever changes every day and state-of-the-art cryptography means it’s almost impossible to crack.
Chrome Frame: Google Offering plug-in to convert IE into Chrome
Google has developed a plug-in for Internet Explorer (IE) that will allow Chrome to run in IE. Chrome Frame is a new browser plug-in developed by Google which will give user a chance to feel Chrome browsing experience inside Microsoft’s Internet Explorer.
Many experts have claimed that IE has fairly low web standards and is susceptible to virus attacks and lacks in performance as well. Many users are turning to Mozilla Firefox, Google Chrome or even Apple Safari for safe browsing. But that does not change the fact that IE is still the largest used web browser (as it comes integrated with Microsoft operating system).
Many corporate houses still run IE. But after the launch of Chrome Frame things will change dramatically. Chrome Frame creates a new frame inside IE and with this frame Google packs all the essential data in a lightweight plug-in to convert IE into Chrome. Chrome Frame also injects the latest versions of Chrome’s Webkit and JavaScript engines into IE. Google claims that its goals are noble and they just want to provide users with better performance browser.
While it is true that running two browsers in one will take more resource from computer but Google says that Chrome is designed to give resources back to the machine when users are not using them with the browser.
Google claims that it won’t be explicitly advertise Google frame in IE but will use subtle methods to alert users of its existence. For example, if users browse to a Google app in Internet Explorer that may render better in Chrome, Google might have a message on the page informing about the plug-in.
Chrome Frame is still in testing stage and will work with IE6, IE7, and IE8 on any Windows-based machine. Microsoft has still not made any comment on this but there are chances that Microsoft will ban Google Frame.
Tuesday, July 28, 2009
How to Run PHP 5.x with Apache Tomcat 4.x or Apache Tomcat 5.x
Steps:
1. Download latest php 5.x zip file. I used php 5.0.2. You can download it from here: http://museum.php.net/php5/php-5.0.2-Win32.zip
2. Download latest pecl modules 5.x zip file. I used pecl 5.0.2. You can download it from here: http://museum.php.net/php5/pecl-5.0.2-Win32.zip
Note: PHP version and PECL versions should be same. If you want to try with some other version get from here: http://museum.php.net/php5/
3. Unzip php zip in C: drive(I used C: for my installation, you are open to try new things)
4. Copy php.ini-dist, in c:\php, as php.ini in c: drive
5. Uncomment the line (remove semi-colon at the beginning) in php.ini:
;extension=php_java.dll
6. Extract php5servlet.dll from pecl zip file to c:\php. Ensure that the file is actually present in c:\php (maybe you can't see the php5servlet.dll file in pecl archive, it means you are trying this with newer versions of php)
7. Now create a directory under webapps in your Apache Tomcat installation. Lets say it is named test.
8. Create WEB-INF directory under test
9. Create lib directory under WEB-INF
10. Create web.xml under WEB-INF with the following contents:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>php</servlet-name>
<servlet-class>net.php.servlet</servlet-class>
</servlet>
<servlet>
<servlet-name>php-formatter</servlet-name>
<servlet-class>net.php.formatter</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>php</servlet-name>
<url-pattern>*.php</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>php-formatter</servlet-name>
<url-pattern>*.phps</url-pattern>
</servlet-mapping>
</web-app>
11. Extract php5srvlt.jar from pecl zip archive and extract or unjar (
jar -xvf c:\php5srvlt.jar
) it under c:\12. Modify both the files reflect.properties and servlet.properties to change the line
library=phpsrvlt
to library=php5servlet
and save them. This indicates the file name of the dll file which is loaded by the Java application to serve the requests.N.B.: This has no connection with the name of the jar file which can be anything. you may get this error “java.lang.UnsatisfiedLinkError: no php5servlet in java.library.path” for any mistake in this step. Please check the two properties file, whether there are any blank spaces. There should be only one line, and no blank spaces.
13. Re-create the jar file with the following command
(
jar -cvfm php5srvlt.jar c:\META-INF\MANIFEST.MF -C c:\servlet\ /.
), assuming you extracted the php5srvlt.jar in c: drive14. Copy the jar file to WEB-INF\lib directory created earlier.
N.B: If you want to run PHP for one web application then do step 14 only but if you want to run php globally for all applications under tomcat then copy the php5srvlt.jar into commons/lib directory as well
15. Add c:\php to your System or User Path in Windows environment (Hint: Right-click and select Properties from My Computer -> then go to advanced tab -> click on environment variable)
16. create a new system or user variable PHP_HOME with value c:\php
17. Create a file index.php under test with the following code:
<?php phpinfo(); ?>
18. Restart Tomcat
19. Restart your machine(it is not required but though as we have added system variable so there is no harm doing a restart)
20. Start tomcat server again.
21. Open your browser and go to http://localhost:8080/test/index.php(if you set your port to some other port than 8080 please specify it in the place of 8080)
22. Ensure that there are no errors displayed. Instead you get an informative screen with php version information and whole lot of details.
Hope this helps. Have fun!!!
http://aurosblog.com/?p=481
http://gogetauro.com/blog/?p=143
Saturday, October 11, 2008
Modding MOTOROKR E6/E6e/A1200
For the growing interest of how to mod your MOTOROKR E6/E6e/A1200 i have published a article How i moded My MOTORKR E6 edge aka E6e. I have also published Short tutorial for flashing your E6/E6e.
See this and let me know about your progress and never hesitate to post if you face any kindof problem.
Happy modding!!