Oct
11

Explain about Qt and its Applications ?

vamsi | cool stuff, general, programming, reference

qt-basic-illustration

Qt Cross-Platform Application Framework

Using Qt, you can develop applications and user interfaces once, and deploy them across many desktop and embedded operating systems without rewriting the source code.

Cross-platform is that one can be directly run on any platform without special preparation e.g., software written in an interpreted language or pre-compiled portable bytecode for which the interpreters or run-time packages are common or standard components of all platforms.

A cross-platform application may run on Microsoft Windows on the x86architecture, Linux on the x86achitecture and Mac OS X on either thePowerPC or x86 based AppleMacintosh systems. A cross-platform application may run on as many as all existing platforms, or on as few as two platforms.

product-architecture-diagram-collapsed

Qt is a crossplatform application development framework, widely used for the development of GUI programs (in which case it is known as a widget toolkit) and also used for developing non-GUI programs such as console tools and servers.

Qt is most notably used in applications of :

1)KDE

2)Opera

3)GoogleEarth

4)Skype

5)Qtopia

6)Photoshop Elements

7)Virtual Box and

8)OPIE

Qt is produced by the Norwegian company Trolltech.Nokia acquired Trolltech on Jan 28,2008.

A widget toolkit, widget library, or GUI toolkit is a set of widgets for use in designing applications with GUI.

The toolkit itself is a piece of software that is generally provided with an operating system,windowing systemor window manager which provides programs with an aplication programming interface (API), allowing them to make use of widgets.

Each widget facilitates a specific user-computer interaction, and appears as a visible part of the computer’s GUI.

In computer programming, a widget (or control) is an element of a GUI that displays an information arrangement changeable by the user, such as a windowor a textbox.

The toolkit handles user events, for example when the user clicks on a button. When an event is detected it is passe X Window System, have advanced capabilities such as network transparency, allowing the user to display graphical applications running on a remote machined onto the application, where it is dealt with.

An application programming interface (API) is a set of fuctions,procedures or classes that an operating system ,library or service provides to support requests made by computer programs.

KDE (K Desktop Environment) is a free software project which aims to be a powerful system for an easy-to-use desktop environment.

The goal of the project is to provide basic desktop functions and applications for daily needs as well as tools and documentation for developers to write stand-alone applications for the system

Google Earth is a virtual globe program that was originally called Earth Viewer, and was created by Keyhole Inc, a company acquired by Google in 2004. It maps the earth by the superimposition of images obtained from sateelite imagery,aerial photography and GIS 3D globe.

It is available under three different licenses: Google Earth, a free version with limited functionality; Google Earth Plus ($20 per year), which includes additional features; and Google Earth Pro ($400 per year), which is intended for commercial use.

Skypeis software that allows users to make telephone calls over the internet. Calls to other users of the service and to free-of-charge numbers are free, while calls to other landlines and mobile phones can be made for a fee. Additional features include instant messaging ,file transfer and video conferencing.

Qt Extended, formerly known as Qtopia until September 30, 2008, is an application platform for Embedded Linux -based mobile computing devices such as personal digital assistants ,mobile phones and web pads.. It is being developed by Qt Software, a subsidiary of Nokia.

VirtualBox is an x86 virtualization software package, originally created by German software company innotek, now developed by Sun Microsystems as part of its SunxVM virtualization platform. It is installed on an existing host operating system; within this application, additional operating systems, each known as a Guest OS, can be loaded and run, each with its own virtual environment.

Operais a web browser and Internet suite developed by the Opera Software company. Opera handles common Internet-related tasks such as displaying web sites, sending and receiving e-mail messages, managing contacts, IRC online chatting, downloading files via Bit Torent, and reading web feeds. Opera is offered free of charge for personal computers and mobile phones, but for other devices it is not free.

OPIE (Open Palmtop Integrated Environment) is a completely open source based graphical user interface for PDAs and other devices running Linux

A personal digital assistant (PDA) is a handled computer also known as small or palmtop computers

smartphone is a mobile phone offering advanced capabilities beyond a typical mobile phone, often with PC- like functionality. There is no industry standard definition of a smartphone.

For some, a smartphone is a phone that runs complete operating system software providing a standardized interface and platform for application developers. For others, a smartphone is simply a phone with advanced features like e-mail and Internet capabilities, and/or a full keyboard.

Qt uses C++ with several non-standard extensions implemented by an additional pre-processor that generates standard C++ code before compilation.

Qt can also be used in several other programming languages; bindings exist for Ada (QtAda),C# (Qyoto/Kimono),Java (Qt Jambi), Pascal, Perl, PHP (PHP-Qt), Ruby (RubyQt), and Python (PyQt).

It runs on all major platforms, and has extensive internationalization support. Non-GUI features include SQL database access, XML parsing, thread management, network support and a unified cross-platform API for file handling.

open

Qt is released by Trolltech on the following platforms:

  • Qt/X11 – Qt for X Window System (Unix /Linux)
  • Qt/Mac – Qt for Apple MacOS X
  • Qt/Windows – Qt for Microsoft Windows
  • Qt/Embedded – Qt for embedded platforms (PDA,Smartphone)
  • Qt/WinCE – Qt for Windows CE
  • Qt Jambi – Qt for Java
  • Qt Extended – Application platform for Embedded Linux based mobile computing devices

There are four editions of Qt available on each of these platforms, namely:

  • Qt Console – edition for non-GUI development
  • Qt Desktop Light – entry level GUI edition, stripped of network and database support
  • Qt Desktop – complete edition
  • Qt Open Source Edition – "complete" edition.

Design

The innovation of Qt when it was first released relied on a few key concepts.

Use of native UI-rendering APIs

Qt used to emulate the native look of its intended platforms, which occasionally led to slight discrepancies where that emulation wasn’t perfect. Recent versions of Qt use the native APIs of the different platforms to draw the Qt controls, and so do not suffer from such issues.

Meta object compiler(MOC)

Known as the moc, this is a tool that is run on the sources of a Qt program prior to compiling it. The tool will generate "Meta Information" about the classes used in the program.

This meta information is used by Qt to provide programming features not available in C++: The signal/slot system and asynchronous function calls.

The use of an additional tool has been criticized for making Qt programming different from pure C++ programming. Trolltech has a necessary trade-off to provide introspection and the dynamically generated slot and signal mechanism.

QtScript ECMAScript interpreter

Qt Sriptis a cross-platform toolkit that allows developers to make their Qt/C++ applications scriptable using an interpreted scripting language: Qt Script (based on ECMAScript/Java Script).

Latest Version Qt 4.4, released on May 6,2008. Features included are improved multimedia support using Phonon, enhanced XML support, a concurrency framework to ease the development of multi-threaded applications, an IPC framework with a focus on shared memory, and WebKit integration.

Oct
9

What is Software License?what are the types of licenses?

vamsi | cool stuff, general, reference

ooinstall15

Software license

Allowing an individual or group to use a piece of software. Nearly all applications are licensed.

There are a variety of different types of software licenses.

Some are based on the number machines on which the licensed program can run .

Some are based on the number of usersthat can use the prograam.

Some personal computer software licenses allow you to run the program on only one machine and to make copies of the software only for backup purposes.

Some licenses also allow you to run the program on different computers as long as you don’t use the copies simultaneously.

Software licensing is a contract of agreement between the software publisher and the end user, sometimes referred to as the End User License Agreement, or EULA.

Though software licensing can be a paper agreement, it is most often imbedded in the software itself as part of the installation process. If the user does not agree to the software licensing terms , aborts the installation process. In most cases, end users click in agreement whether they actually read the license or not.

Most notably, software licensing protects the COPYRIGHT by placing restrictions on the end user in relation to the product. Duplication for purposes other than backup, installation on more than one computer, editing the code, or changing the program in any way is usually forbidden.

Software licenses might also restrict reverse engineering and bypassing controls intended to cut down on pirating.

Proprietary vs. open source

Software licenses can generally be fit into one of two distinct categories:

proprietary licenses and open source licenses. The features that distinguish the two forms of licensing are significant in terms of the effect they have on the end-user’s rights.


Proprietary software licenses

The main moto of proprietary software licenses is that the software publisher grants a license to use one or more copies of software, but that ownership of those copies remains with the software publisher (hence use of the term " proprietary ").

One consequence of this feature of proprietary software licenses is that virtually all rights regarding the software are reserved by the software publisher. Only a very limited set of well-defined rights are conceded to the end-user.

Therefore, it is typical of proprietary software license agreements to include many terms which specifically prohibit certain uses of the software, often including uses which would otherwise be allowed under copyright law.

The most significant effect of this form of licensing is that, if ownership of the software remains with the software publisher, then the end-user must accept the software license. In other words, without acceptance of the license, the end-user may not use the software at all.

One example of such a proprietary software license is the license for Microsoft Windows.

As is usually the case with proprietary software licenses, this license contains an extensive list of activities which are restricted, such as: reverse engineering, simultaneous use of the software by multiple users, and publication of benchmarks or performance tests.

Open source licenses

With open source licenses, in contrast to proprietary software licenses, ownership of a particular copy of the software does not remain with the software publisher. Instead, ownership of the copy is transferred to the end-user.

As a result, the end-user is, by default, afforded all rights granted by copyright law to the copy owner. Note that "copy owner" is not the same as "copyright owner". While ownership in a particular copy is transferred, ownership of the copyright remains with the software publisher. Additionally, open source software licenses typically grant to the end-user extra rights, which would otherwise be reserved by the software publisher.

A primary consequence of the open source form of licensing is that acceptance of open source licenses is essentially optional — the end-user may use the software without accepting the license.

However, if the end-user wishes to exercise any of the additional rights granted by an open source license (such as the right to redistribute the software), then the end-user must accept, and be bound by, the software license.

An example of an open source license is the GNU General Public License (GPL).

This license is aimed at giving the end-user significant permission, such as permission to redistribute, reverse engineer, or otherwise modify the software. These permissions are not entirely free of obligations for the end-user, however. The end-user must comply with certain terms if the end-user wishes to exercise these extra permissions granted by the GPL. For instance, any modifications made and redistributed by the end-user must include the source code for these, and the end-user is not allowed to re-assert the removed copyright restrictions back over their derivative work.

open

Free software license

·Some license agreements grant considerably more rights than most EULAs provide. A free software license grants the right to modify and redistribute the licensed software for any purpose, both of which would ordinarily be forbidden by copyright law. In some cases, these rights are accompanied by copyleft restrictions, adding requirements to redistribution. For example, some free software licenses require the distribution of complete source code along with the software or some specific form of attribution of authorship.

Software metering refers to several areas of computer systems management:

  • Tracking and maintaining software licenses. One needs to make sure that only the allowed number of licenses are in use, and at the same time, that there are enough licenses for everyone using it. This can include monitoring of concurrent usage of software for real-time enforcement of license limits. Such license monitoring usually includes when a license needs to be updated due to version changes or when upgrades or even rebates are possible.
  • Real-time monitoring of all (or selected) applications running on the computers within the organization in order to detect unregistered or unlicensed software and prevent its execution, or limit its execution to within certain hours
  • Fixed planning to allocate software usage to computers according to the policies a company specifies and to maintain a record of usage and attempted usage. A company can check out and check in licenses for mobile users, and can also keep a record of all licenses in use. This is often used when limited license counts are available to avoid violating strict license controls.

Product key (also referred to as a CD key) is a specific software-based key for a certain program or a computer game. It is used to identify that the copy of the program/game is original. Activation is sometimes done offline simply by entering the key, or with software like Windows XP online activation is required to prevent multiple people using the same key.

Dual-licensing is the practice of distributing software under two different sets of terms and conditions. This may mean two different licenses, or two different sets of licenses. Software is sometimes offered under more than two licenses, in which cases tri-licensing or multi-licensing may be a more accurate term.

Open source software (OSS) began as a marketing campaign for free software. OSS can be defined as computer software for which the human-readable source code is made available under a copyright license (or arrangement such as the public domain) that meets the open source definition. This permits users to use, change, and improve the software, and to redistribute it in modified or unmodified form. It is very often developed in a public, collaborative manner.

The system’s basic components include the GNU Compiler Collection (GCC), the GNU Binary Utilities(binutils), the bash shell, the GNU C library (glibc), and GNU Core Utilities like Linux Kernel is most commonly used instead.

Sep
27

How to protect E-mail from Prying Eyes ?

vamsi | general

 

Encrypting your messages isn’t the easiest thing to do, but it will ensure your privacy.

E-MAIL IS AN incredible communications tool, but it isn’t very private. As it travels between sender and recipient across the Internet, snoops can intercept and scan it at many points along the way. That anyone would bother to do so for everyday e-mail is highly unlikely, but if you want genuinely private communication, you need to encrypt your messages.
The problem is, e-mail encryption can be a real pain. First you have to create a digital ID, in the form of a certificate from a third party. Then you must exchange IDs with every person to whom you might want to send a protected message.
And you’ll need to back up your certificate religiously. Lose it, and you’ll lose not only the ability to send or receive new encrypted e-mail, but also any chance of reading previously sent protected e-mail.

story-email-encryption-2

But with a little guidance and care, you can send business secrets that only the intended recipient can read. Here’s how to manage the process using Outlook and IE. First, head to Comodo (www.comodo.com or Thawte (www.thawte.com), which both provide free certificates for secure e-mail. I found Thawte’s process smoother and more thorough, but neither site had especially simple instructions, particularly for finding your certificate after going through the online application. And in my testing, there were times when the process seemed to go fine , but the certificates never showed up.

To make such a backup with IE, head to Tools•Internet Options, and click the Content tab. Once there, click the Certificates button. You should see your new certificate under the Personal tab; select it and click Export. In the resulting Export Wizard, choose to export the private key, keep the defaults for Export File Format, and come up with a password and file name.

untitled

Save the exported certificate to a USE drive, a trusted online storage service, or some other safe place. You’ll need to re import it for use with any new mail application. Fortunately, IE and Outlook share the certificate store, so you don’t need to import it to that program. Now you’re ready to swap certificates with other people so you can send them encrypted e-mail. In outlook, bring up a new window for composing e-mail,fill in the address of the recipient, and then click the button in the toolbar showing a yellow envelope with a red spot; doing so digitally signs the message and sends your certificate to the addressee. For someone to add your new ID certificate to their version of Outlook, they must open your digitally

 

Technorati Tags: ,,,

IndiBlogger - Where Indian Blogs Meet