Thursday, June 21, 2012

Firstpost Tech Infographic: Facebook releases world’s ‘most social’ cities

We’re all addicted to Facebook. We can’t  stop checking in, F-liking, posting pictures, no matter where we are, thanks to our smartphones. Facebook has compiled a list of check-ins made on the site from 25 cities worldwide to determine the world’s most social landmarks. And  they’ve released some very cool info graphics along with the data.

According to Facebook’s data,  the Number 1 ranked landmarks across the 25 cities include:

7 sports stadiums and arenas
6 public areas such squares, parks and gardens
2 amusement parks
2 concert areas
2 shopping-related: shopping centers and malls

It seems shopping malls are the popular places for people to login worldwide. Delhi’s Hard Rock Cafe also finds a mention in the list of the most the popular places for logging in. Here’s the complete infographic. Sadly no special infographic for just Indian cities. That’s sad since India has the second highest number of Facebook users in the world, after the US.

The following infographic looks at the most social landmark in some cities across the world

Windows 8 for Android mobile

New York: As it struggles to gain a foothold against the iPhone and Android phones, Microsoft Corp is planning to issue a dramatic update to its phone software, one that won’t be available to current Windows Phones.

The new software, Windows Phone 8, will be available on new phones this fall, Microsoft said Wednesday at a presentation in San Francisco. The software will bring Windows phones closer to PCs and tablets running the company’s upcoming Windows 8, which is also scheduled to launch later this year.

With its planned software updates —and the Surface tablet computer it introduced earlier this week— Microsoft is taking dramatic steps to ensure that it plays a major role in the increasingly important mobile market.

But the company is playing catch-up in an arena dominated by Apple and Google. Microsoft launched Windows Phone 7 in 2010, making a clean break with its previous phone software, which had become outdated. Nokia Corp., until recently the world’s biggest maker of phones, has pledged to use it for all its smartphones, and launched its first Windows Phone in the US earlier this year.

[caption id="" align="alignright" width="250"]Image representing iPhone as depicted in Crunc... Image via CrunchBase[/caption]

The new software, Windows Phone 8, will be available on new phones this fall. Reuters Sales have been anemic, however. IDC estimated that 2.2 percent of the smartphones shipped worldwide in the first quarter of this year ran Microsoft’s software, compared to 23 percent for Apple and 59 percent for Android. Still, US wireless carriers support Windows Phone, seeing it as a valuable counterweight to the clout of Apple Inc’s iPhone and phones running Google Inc’s Android software.

Windows Phone is making progress in one respect. Hit games “Words With Friends” and “Draw Something” will be among the apps available for Windows 8. There are 100,000 applications available for Windows phones today, Microsoft said. That’s far less than the

number of apps available for iPhones and Android phones.

Windows Phone 8 will accept expansion memory cards, like Android phones do. It will also work on processors with more than one computing “core,” which are common in high-end smartphones. More cores boost computing power and can cut power consumption.

The new software will also work with near-field communications chips, allowing phones to be used in place of credit cards at some payment terminals. At the conference, Microsoft’s head of phone software, Joe Belfiore, demonstrated how NFC can be used to link two phones so their owners can play a Scrabble-like game. Tapping the phones together can engage NFC, and prompt the devices to establish a link over Wi-Fi.Some recent Android phones come with NFC capabilities, but they’re missing from the iPhone.

Windows Phone 8 will share the operating system “kernel,” or most basic functions, with Windows 8 RT, which will run on tablets and computers. That means manufacturers will have an easier time making hardware that can use either system. Developers will have an easier time moving applications from one platform to the other, Microsoft said.

Changing its phone software at such a basic level means that it will be difficult to install on existing Windows phones

 

Tuesday, June 19, 2012

Implementing a Data Access Layer in C#

A Data Access Layer is an important layer in the architecture of any software.  This layer is responsible for communicating with the underlying database.  Making this layer provider independent can ensure multi database support with ease.  This article discusses implementation of a provider independent Data Access Layer in C#.

ADO.NET Data Providers

The following are the major ADO.NET data providers.

  • SQL Server Data Provider

  • Oracle Data Provider

  • Odbc Data Provider

  • OleDB Data Provider

Saturday, June 16, 2012

Difference between Finalize() and Dispose()

 Some quick points on Finalize() and Dispose() in C#:



1. Finalize() is the C# equivalent of destructor   ~Object() syntax in C#. In VB.Net you implement the Finalize() by overriding it. But, in C# the compiler translates the destructor to a Finalize() method.

2. Finalize() can NOT be overridden or called in C#.

3. Since, Finalize() is called by the Garbage Collector, it is non-deterministic.

4. Dispose() has to be implemented in classes implementing IDispose interface.

5. Its the right place for freeing-up unmanaged resources like file, handles, and connections etc.

6. Dispose() method is called explicitely in the code itself.

7. Dispose() method is automatically called (for objects which implement IDispose), when used in a "using" statement.

Difference between Finalize and Dispose Method in .NET

C# Provides two special methods that are used to release the instance of a class from memory, Finalize() and Dispose().

Finalize():


The Finalize destructor is a special method that is called from the class to which it belongs or from the derived class. The Finalize() destructor is called after the last reference to an object is released from the memory. The .Net Framework automatically runs the Finalize() destructor to destroy objects in the memory. However, it is important to remember that the Finalize() destructor may not execute immediately when an object loses scope. It is called by CLR using reference-tracing garbage collection, the CLR periodically check for objects that are not used by the application. When such an object is found, the Finalize() destructor is called automatically and the garbage collector of the CLR release the object from the memory.Dispose():


The Dispose() method is called to release a resource, such as database connection, as soon as the object using such a resource is no longer in use. Unlike the Finalize() destructor, the Dispose() method is not called automatically and you must explicitly call it from a client application when an object is no longer needed. The IDisposable interface contains the Dispose() method. Therefore , to call the Dispose() method, the class must implement the IDisposable interface.

Friday, June 15, 2012

Database Concept

What is RDBMS?
Relational Data Base Management Systems (RDBMS) are database management systems that maintain data records and indices in tables. Relationships may be created and maintained across and among the data and tables. In a relational database, relationships between data items are expressed by means of tables. Interdependencies among these tables are expressed by data values rather than by pointers. This allows a high degree of data independence. An RDBMS has the capability to recombine the data items from different files, providing powerful tools for data usage.


What is normalization?
Database normalization is a data design and organization process applied to data structures based on rules that help build relational databases. In relational database design, the process of organizing data to minimize redundancy. Normalization usually involves dividing a database into two or more tables and defining relationships between the tables. The objective is to isolate data so that additions, deletions, and modifications of a field can be made in just one table and then propagated through the rest of the database via the defined relationships.