Sunday, December 26, 2010

Plug-in frameworks


Software developers can use the following plug-in frameworks (organized here by programming language) to add plug-in capability to their applications:

[edit] C++

  • Boost Extension- Boost C++ plug-in framework, available from boost sandbox
  • FxEngine Framework—Open C++ dataflow processing framework for audio, video, signal, etc.
  • Qt Plug-Ins—part of Nokia's Qt Framework
  • OmniPeek Plug-in Wizard—creates plug-ins for WildPackets' OmniPeek Network Analyzer
  • Pugg open Source C++ framework for plug-in management
  • OFX an open standard for visual effects plug-ins.
  • A cross-platform plug-in framework accompanying a series of articles by Gigi Sayfan in Dr. Dobb's Journal.
    • Java Plug-in Framework (JPF), a plug-in mechanism adapted from Eclipse's plug-in mechanism from its pre-OSGi era.
    • OSGi, a standardized dynamic component system suited for plug-in programming, used in Eclipse, many commercial Java EE application servers, Spring Framework, and embedded applications.
    • Rich Client Platform (RCP), platform for applications adapted from Eclipse, applications are written as plug-ins and may themselves have further plug-ins
    • jin-plugin a minimalistic plugin framework for Java and PHP
    • Netbeans Platform Most commonly known for the Netbeans IDE, which in fact is an application that is built on the Netbeans Platform. The netbeans platform is a framework that allows developers to make modules, plugins for other NB applications (usually a group of interacting modules) and complete applications like the netbeans IDE.
    •  concats 00923224479031

Plug-in frameworks


Software developers can use the following plug-in frameworks (organized here by programming language) to add plug-in capability to their applications:

[edit] C++

[edit] Delphi Plug-ins appeared as early as the mid 1970s, when the EDT text editor running on the Unisys VS/9 operating system using the Univac 90/60 series mainframe computer provided the ability to run a program from the editor and to allow such a program to access the editor buffer, thus allowing an external program to access an edit session in memory. The plug-in program could make calls to the editor to have it perform text-editing services upon the buffer that the editor shared with the plug-in. The Waterloo Fortran compiler used this feature to allow interactive compilation of Fortran programs edited by EDT.
Very early PC software applications to incorporate plug-in functionality included HyperCard and QuarkXPress on the Macintosh, both released in 1987. In 1988, Silicon Beach Software included plug-in functionality in Digital Darkroom and SuperPaint, and Ed Bomke coined the term plug-in.
Currently, programmers typically implement plug-in functionality using shared libraries compulsorily installed in a place prescribed by the host application. HyperCard supported a similar facility, but more commonly included the plug-in code in the HyperCard documents (called stacks) themselves. Thus the HyperCard stack became a self-contained application in its own right, distributable as a single entity that end-users could run without the need for additional installation-steps.concats 00923224479031

plug History


Plug-ins appeared as early as the mid 1970s, when the EDT text editor running on the Unisys VS/9 operating system using the Univac 90/60 series mainframe computer provided the ability to run a program from the editor and to allow such a program to access the editor buffer, thus allowing an external program to access an edit session in memory. The plug-in program could make calls to the editor to have it perform text-editing services upon the buffer that the editor shared with the plug-in. The Waterloo Fortran compiler used this feature to allow interactive compilation of Fortran programs edited by EDT.
Very early PC software applications to incorporate plug-in functionality included HyperCard and QuarkXPress on the Macintosh, both released in 1987. In 1988, Silicon Beach Software included plug-in functionality in Digital Darkroom and SuperPaint, and Ed Bomke coined the term plug-in.
Currently, programmers typically implement plug-in functionality using shared libraries compulsorily installed in a place prescribed by the host application. HyperCard supported a similar facility, but more commonly included the plug-in code in the HyperCard documents (called stacks) themselves. Thus the HyperCard stack became a self-contained application in its own right, distributable as a single entity that end-users could run without the need for additional installation-steps.
Firefox also supports plug-ins using NPAPI. When the browser encounters references to content a plug-in specializes in, the data is handed off to be processed by that plug-in. Since there is generally a clear separation between the browser and the plug-in, the results are discrete objects embedded within a webpage. The same distinction between plug-ins and extensions is in use by other web browsers, such as Microsoft Internet Explorer, where a typical extension might be a new toolbar, and a plug-in might embed a video player on the page. Since plug-ins and extensions both increase the utility of the original application, Mozilla uses the term "add-on" as an inclusive category of augmentation modules that consists of plug-ins, themes, and search engines...concats 00923224479031

plug Purpose and examples


Applications support plug-ins for many reasons. Some of the main reasons include:
Specific examples of applications and why they use plug-ins:

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Typical list of Web Browser Plug-ins
In computing, a plug-in (or plugin) is a set of software components that adds specific capabilities to a larger software application. If supported, plug-ins enable customizing the functionality of an application. For example, plug-ins are commonly used in web browsers to play video, scan for viruses, and display new file types. Well-known plug-ins examples include Adobe Flash Player and QuickTime.
Add-on is often considered the general term comprising snap-ins, plug-ins, extensions, and themes.[1]

Contents

[hide]

[edit] Purpose and examples

Applications support plug-ins for many reasons. Some of the main reasons include:
Specific examples of applications and why they use plug-ins:

[edit] Mechanism

Example Plug-In Framework
As shown in the figure, the host application provides services which the plug-in can use, including a way for plug-ins to register themselves with the host application and a protocol for the exchange of data with plug-ins. Plug-ins depend on the services provided by the host application and do not usually work by themselves. Conversely, the host application operates independently of the plug-ins, making it possible for end-users to add and update plug-ins dynamically without needing to make changes to the host application.[1][2]
Open application programming interfaces (APIs) provide a standard interface, allowing third parties to create plug-ins that interact with the host application. A stable API allows third-party plug-ins to continue to function as the original version changes and to extend the life-cycle of obsolete applications. The Adobe Photoshop and After Effects plug-in APIs have become a standard[3] and competing applications such as Corel Paint Shop Pro have adopted them.concats 00923224479031

elctric Plug


In computing, a plug-in (or plugin) is a set of software components that adds specific capabilities to a larger software application. If supported, plug-ins enable customizing the functionality of an application. For example, plug-ins are commonly used in web browsers to play video, scan for viruses, and display new file types. Well-known plug-ins examples include Adobe Flash Player and QuickTime.
Add-on is often considered the general term comprising snap-ins, plug-ins, extensions, and themes.[1]

Applications support plug-ins for many reasons. Some of the main reasons include:
Specific examples of applications and why they use plug-ins:

Monday, December 13, 2010

Electric Motors automatically magnetic?

Some metals are composed of microscopic permanent magnets, all lumped together. Such metals include iron, nickel, and cobalt. This magnetism is often masked by the fact that the tiny magnets in these metals are randomly oriented and cancel one another on a large scale. But the magnetism is revealed whenever you put one of these magnetic metals in an external magnetic field. The tiny magnets inside these metals then line up with the external field and the metal develops large scale magnetism.

However, most metals don't have any internal magnetic order at all and there is nothing to line up with an external field. Metals such as copper and aluminum have no magnetic order in them—they don't have any tiny magnets present. The only way to make aluminum or copper magnetic is to run a current through it.
In general, a motor has a spinning component called the rotor that is surrounded by a stationary component called the stator. The simplest brushless DC motor has a rotor that contains permanent magnets and a stator that consists of electromagnets. The magnetic poles on the stator and rotor can attract or repel one another, depending on whether they like or opposite poles—like poles repel; opposite poles attract.
Since the electronics powering the stator's electromagnets can choose which of the stator's poles are north and which are south, those electronics determine the forces acting on the rotor's poles and therefore the direction of torque on the rotor. To twist the rotor forward, the electronics make sure that the stator's poles are always acting to pull or push the rotor's poles in the forward direction so that the rotor experiences forward torque. To twist the rotor backward, the electronics reverses all those force.
plese concats 00923224479031

Electric Motors10 Most Recent

Some metals are composed of microscopic permanent magnets, all lumped together. Such metals include iron, nickel, and cobalt. This magnetism is often masked by the fact that the tiny magnets in these metals are randomly oriented and cancel one another on a large scale. But the magnetism is revealed whenever you put one of these magnetic metals in an external magnetic field. The tiny magnets inside these metals then line up with the external field and the metal develops large scale magnetism.

However, most metals don't have any internal magnetic order at all and there is nothing to line up with an external field. Metals such as copper and aluminum have no magnetic order in them—they don't have any tiny magnets present. The only way to make aluminum or copper magnetic is to run a current through it.principle behind regenerative braking—the vehicle's kinetic energy is used to recharge the batteries during braking.
With suitable electronics, your friend's electric scooter can take advantage of the elegant interplay between electric power and mechanical power that brushless DC motors make possible. Those motors can handle torque reversals easily and they can even save energy in the process. There are limits, however, to the suddenness of some of the processes because huge flows of energy necessitate large voltages and powers in the motor/generators and their electronics. The peak power and voltage ratings of all the devices come into play during the most abrupt and strenuous changes in the motion of the scooter. If your friend wants to be able to go from 0 to 60 or from 60 to 0 in the blink of eye, the motor/generators and their electronics will have to handle big voltages and powers. plese concats 00923224479031

Electric Motors

Modern brushless DC motors are amazing devices that can handle torque reversals instantly. In fact, they can even generate electricity during those reversals!

Instant reversals of direction, however, aren't physically possible (because of inertia) and aren't actually what your friend wants anyway. I'll say more about the distinction between torque reversals and direction reversals in a minute.
In general, a motor has a spinning component called the rotor that is surrounded by a stationary component called the stator. The simplest brushless DC motor has a rotor that contains permanent magnets and a stator that consists of electromagnets. The magnetic poles on the stator and rotor can attract or repel one another, depending on whether they like or opposite poles—like poles repel; opposite poles attract.
Since the electronics powering the stator's electromagnets can choose which of the stator's poles are north and which are south, those electronics determine the forces acting on the rotor's poles and therefore the direction of torque on the rotor. To twist the rotor forward, the electronics make sure that the stator's poles are always acting to pull or push the rotor's poles in the forward direction so that the rotor experiences forward torque. To twist the rotor backward, the electronics reverses all those forces.
Just because you reverse the direction of torque on the rotor doesn't mean that the rotor will instantly reverse its direction of rotation. The rotor (along with the rider of the scooter) has inertia and it takes time for the rotor to slow to a stop and then pick up speed in the opposite direction. More specifically, a torque causes angular acceleration; it doesn't cause angular velocity. During that reversal process, the rotor is turning in one direction while it is being twisted in the other direction. The rotor is slowing down and it is losing energy, so where is that energy going? It's actually going into the electronics which can use this electricity to recharge the batteries. The "motor" is acting as a "generator" during the slowing half of the reversal!
That brushless DC motors are actually motor/generators makes them fabulous for electric vehicles of all types. They consume electric power while they are making a vehicle speed up, but they generate electric power while they are slowing a vehicle down. That's the principle behind regenerative braking—the vehicle's kinetic energy is used to recharge the batteries during braking.
With suitable electronics, your friend's electric scooter can take advantage of the elegant interplay between electric power and mechanical power that brushless DC motors make possible. Those motors can handle torque reversals easily and they can even save energy in the process. There are limits, however, to the suddenness of some of the processes because huge flows of energy necessitate large voltages and powers in the motor/generators and their electronics. The peak power and voltage ratings of all the devices come into play during the most abrupt and strenuous changes in the motion of the scooter. If your friend wants to be able to go from 0 to 60 or from 60 to 0 in the blink of eye, the motor/generators and their electronics will have to handle big voltages and powers. plese concats 00923224479031

Friday, December 3, 2010

Mouse Tactile mice

3D mice
Also known as bats,[24] flying mice, or wands,[25] these devices generally function through ultrasound and provide at least three degrees of freedom. Probably the best known example would be 3DConnexion/Logitech's SpaceMouse from the early 1990s.
In the late 1990s Kantek introduced the 3D RingMouse. This wireless mouse was worn on a ring around a finger, which enabled the thumb to access three buttons. The mouse was tracked in three dimensions by a base station.[26] Despite a certain appeal, it was finally discontinued because it did not provide sufficient resolution.
A recent consumer 3D pointing device is the Wii Remote. While primarily a motion-sensing device (that is, it can determine its orientation and direction of movement), Wii Remote can also detect its spatial position by comparing the distance and position of the lights from the IR emitter using its integrated IR camera (since the nunchuk accessory lacks a camera, it can only tell its current heading and orientation). The obvious drawback to this approach is that it can only produce spatial coordinates while its camera can see the sensor bar.
In February, 2008, at the Game Developers' Conference (GDC), a company called Motion4U introduced a 3D mouse add-on called "OptiBurst" for Autodesk's Maya application. The mouse allows users to work in true 3D with 6 degrees of freedom.[citation needed] The primary advantage of this system is speed of development with organic (natural) movement.
A mouse-related controller called the SpaceBall™ [27] has a ball placed above the work surface that can easily be gripped. With spring-loaded centering, it sends both translational as well as angular displacements on all six axes, in both directions for each.Often called "air mice" since they do not require a surface to operate, inertial mice use a tuning fork or other accelerometer (US Patent 4787051) to detect rotary movement for every axis supported. The most common models (manufactured by Logitech and Gyration) work using 2 degrees of rotational freedom and are insensitive to spatial translation. The user requires only small wrist rotations to move the cursor, reducing user fatigue or "gorilla arm". Usually cordless, they often have a switch to deactivate the movement circuitry between use, allowing the user freedom of movement without affecting the cursor position. A patent for an inertial mouse claims that such mice consume less power than optically based mice, and offer increased sensitivity, reduced weight and increased ease-of-use.[23] In combination with a wireless keyboard an inertial mouse can offer alternative ergonomic arrangements which do not require a flat work surface, potentially alleviating some types of repetitive motion injuries related to workstation  concats 00923224479031

Mouse Inertial and gyroscopic mice

Often called "air mice" since they do not require a surface to operate, inertial mice use a tuning fork or other accelerometer (US Patent 4787051) to detect rotary movement for every axis supported. The most common models (manufactured by Logitech and Gyration) work using 2 degrees of rotational freedom and are insensitive to spatial translation. The user requires only small wrist rotations to move the cursor, reducing user fatigue or "gorilla arm". Usually cordless, they often have a switch to deactivate the movement circuitry between use, allowing the user freedom of movement without affecting the cursor position. A patent for an inertial mouse claims that such mice consume less power than optically based mice, and offer increased sensitivity, reduced weight and increased ease-of-use.[23] In combination with a wireless keyboard an inertial mouse can offer alternative ergonomic arrangements which do not require a flat work surface, potentially alleviating some types of repetitive motion injuries related to workstation posture.
Also known as bats,[24] flying mice, or wands,[25] these devices generally function through ultrasound and provide at least three degrees of freedom. Probably the best known example would be 3DConnexion/Logitech's SpaceMouse from the early 1990s.
In the late 1990s Kantek introduced the 3D RingMouse. This wireless mouse was worn on a ring around a finger, which enabled the thumb to access three buttons. The mouse was tracked in three dimensions by a base station.[26] Despite a certain appeal, it was finally discontinued because it did not provide sufficient resolution.
A recent consumer 3D pointing device is the Wii Remote. While primarily a motion-sensing device (that is, it can determine its orientation and direction of movement), Wii Remote can also detect its spatial position by comparing the distance and position of the lights from the IR emitter using its integrated IR camera (since the nunchuk accessory lacks a camera, it can only tell its current heading and orientation). The obvious drawback to this approach is that it can only produce spatial coordinates while its camera can see the sensor bar.
In February, 2008, at the Game Developers' Conference (GDC), a company called Motion4U introduced a 3D mouse add-on called "OptiBurst" for Autodesk's Maya application. The mouse allows users to work in true 3D with 6 degrees of freedom.[citation needed] The primary advantage of this system is speed of development with organic (natural) movement concats  00923224479031