Coding Sick
Coding while sick is just extremely unproductive. Ended up feeling more sick at the end of the day with a fever of 102F. Should have just taken the day off.

bliss lane

PR's Tumblrdome
I'd rather be in outer space 🛸
h

Jar Jar Binks Fan Club
2025 on Tumblr: Trends That Defined the Year

❣ Chile in a Photography ❣
official daine visual archive
almost home
Jules of Nature
The Bowery Presents

Game Changer & Make Some Noise
hello vonnie

roma★
Keni
🩵 avery cochrane 🩵
𓃗

oozey mess
occasionally subtle

seen from United States
seen from Saudi Arabia
seen from India
seen from Indonesia
seen from Ireland

seen from Canada
seen from Türkiye
seen from T1
seen from Netherlands

seen from Venezuela

seen from Indonesia
seen from Türkiye
seen from United States
seen from Malaysia
seen from South Korea
seen from Netherlands
seen from Pakistan

seen from Philippines

seen from Türkiye

seen from Argentina
@helloskwang-blog
Coding Sick
Coding while sick is just extremely unproductive. Ended up feeling more sick at the end of the day with a fever of 102F. Should have just taken the day off.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Fast Fast like a Fast Car NASCAR
Sending data over the WebRTC datachannel was too fast for even my stores to keep up with via my action dispatcher. Solution? optimistic updates and trust that my store would eventually hold the most up to date information.
CSS Horrors
All I ask is that the pixels do what I tell them to do. Why is that so difficult?
The Grind
Finished some more components today. Slowly grinding the remaining aspects of my project.
Will probably try to add the final components for MVP tomorrow.
Finish CSS for language selector
Implement Prompts
CSS Pains
Why us CSS is finicky? I am really feeling the CSS pain right now. Learning difficult mathematical concepts would be easier than doing CSS -.-

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
WebRTC Done
Great success. WebRTC is much easier to work with now that I refactored all of the async stuff in a way that is easy to folow and read. Glad I took the time to do it now even if I shoud have had the foresight to not make scatterbrained code.
Also some basic CSS is done. looks pretty good. I'm happy with my simple color scheme. Definitely need to add more stuff to the splash page but other than that. Progress is good.
WebRTC Connected
We are connected. Great Success. Chat and video stream working. Just need to do some logic for when each should be on.
WebRTC Day 2
Finally got the dynamic urls for rooms working as well as pusher. Just need to set up the signaling connection for WebRTC and I should be golden. I'll just have to work on styling the shared text area with syntax highlighting along with header, footer, and splash page.
WebRTC Day 1
I was using WebRTC-Experiment by Muaz Khan as a resource for WebRTC knowledge. It was very useful to get the general sense of what was going on in WebRTC but I couldn't make the connection between the high level overview and the js wrappers/libraries they provided on their site. It wasn't until I began reading the built in WebAPI functions at developer.mozilla.org that it process began to make more sense. I think tomorrow will be much more productive.
Solo Day Day is the fifth mini-album released by B1A4 under WM Entertainment. The album was released on July 14, 2014 by WM Entertainment and their distributing label Pony Canyon Korea. The title song of the album, "Solo Day, was produced by leader Jinyoung along with 5 other tracks in the album. CNU also produced 1 song in the album. == Background == There are 5 pictures: Jinyoung is "Couch Potato", Sandeul is "Pizza Delivery" Guy, CNU is "Obssesion Guy", Baro is a "Space Geek" and Gongchan is a "Flower Vagabond". There is a 22-second video with a game trailer. There are also more videos on YouTube in the official channel of B1A4, B1A4 OFFICIAL +: == Music video == A4 walking on the beach.he beach.andeul, Gongchan, Jinyoung, and CNU his headphones that make him look like an alien, the rest of B1A4 is focused on a UFO.as looking at iB1A4 writing "B1A4" on the beach. All these teaser videos show little parts of the whole music video of Solo Day which was released on July 13, 2014. The official music video of Solo Day was released on July 14, 2014. == Track listing == == References ==

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
Mixin object-oriented programming languages, a mixin is a class that contains methods for use by other classes without having to be the parent class of those other classes. How those other classes gain access to the mixin's methods depends on the language. Mixins are sometimes described as being "included" rather than "inherited". Mixins encourage code reuse and can be used to avoid the inheritance ambiguity that multiple inheritance can cause (the "diamond problem"), or to work around lack of support for multiple inheritance in a language. A mixin can also be viewed as an interface with implemented methods. This pattern is an example of enforcing the dependency inversion principle. == History == Mixins first appeared in the Symbolics' object-oriented Flavors system (developed by Howard Cannon), which was an approach to object-orientation used in Lisp Machine Lisp. The name was inspired by Steve's Ice Cream Parlor in Somerville, Massachusetts: The owner of the ice cream shop offered a basic flavor of ice cream (vanilla, chocolate, etc.) and blended in a combination of extra items (nuts, cookies, fudge, etc.) and called the item a "mix-in", his own trademarked term at the time. == Definition == Mixins are a language concept that allows a programmer to inject some code into a class. Mixin programming is a style of software development, in which units of functionality are created in a class and then mixed in with other classes. A mixin class acts as the parent class, containing the desired functionality. A subclass can then inherit or simply reuse this functionality, but not as a means of specialization. Typically, the mixin will export the desired functionality to a child class, without creating a rigid, single "is a" relationship. Here lies the important difference between the concepts of mixins and inheritance, in that the child class can still inherit all the features of the parent class, but, the semantics about the child "being a kind of" the parent need not be necessarily applied. == Advantages == It provides a mechanism for multiple inheritance by allowing multiple classes to use the common functionality, but without the complex semantics of multiple inheritance. Code reusability: Mixins are useful when a programmer wants to share functionality between different classes. Instead of repeating the same code over and over again, the common functionality can simply be grouped into a mixin and then inherited into each class that requires it. Mixins allows inheritance and use of only the desired features from the parent class, not necessarily all of the features from the parent class. == Implementations == In Simula, classes are defined in a block in which attributes, methods and class initialization are all defined together; thus all the methods that can be invoked on a class are defined together, and the definition of the class is complete. In Flavors, a Mixin is a class from which another class can inherit slot definitions and methods. The Mixin usually does not have direct instances. Since a Flavor can inherit from more than one other Flavor, it can inherit from one or more Mixins. Note that the original Flavors did not use generic functions. In New Flavors (a successor of Flavors) and CLOS, methods are organized in "generic functions". These generic functions are functions that are defined in multiple cases (methods) by class dispatch and method combinations. CLOS and Flavors allow mixin methods to add behavior to existing methods: :before and :after daemons, whoppers and wrappers in Flavors. CLOS added :around methods and the ability to call shadowed methods via CALL-NEXT-METHOD. So, for example, a stream-lock-mixin can add locking around existing methods of a stream class. In Flavors one would write a wrapper or a whopper and in CLOS one would use an :around method. Both CLOS and Flavors allow the computed reuse via method combinations. :before, :after and :around methods are a feature of the standard method combination. Other method combinations are provided. An example is the + method combination, where the results of all applicable methods of a generic function are added to compute the return value. This is used, for example, with the border-mixin for graphical objects. A graphical object may have a generic width function. The border-mixin would add a border around an object and has a method computing its width. A new class bordered-button (that is both a graphical object and uses the border mixin) would compute its width by calling all applicable width methods—via the + method combination. All return values are added and create the combined width of the object. In an OOPSLA 90 paper, Gilad Bracha and William Cook reinterpret different inheritance mechanisms found in Smalltalk, Beta and CLOS as special forms of a mixin inheritance. == Programming languages that use mixins == Other than Flavors and CLOS (a part of Common Lisp), some languages that use mixins are: Ada (by extending an existing tagged record with arbitrary operations in a generic) Cobra ColdFusion (Class based using includes and Object based by assigning methods from one object to another at runtime) Curl (with Curl RTE) D (called "template mixins"; D also includes a "mixin" statement that compiles strings as code.) Dart Factor Groovy JavaScript Delegation - Functions as Roles (Traits and Mixins) Perl (through roles in the Moose extension of the Perl 5 object system) PHP's "traits" Python Racket (mixins documentation) Ruby Scala XOTcl/TclOO (object systems for Tcl) Sass (A stylesheet language) Some languages do not support mixins on the language level, but can easily mimic them by copying methods from one object to another at runtime, thereby "borrowing" the mixin's methods. This is also possible with statically typed languages, but it requires constructing a new object with the extended set of methods. Other languages that do not support mixins can support them in a round-about way via other language constructs. Che addition of extension methods on interfaces, meaning any class implementing an interface with extension methods defined will have the extension methods available as pseudo-members. == Examples ==
Static routing routing is a form of routing that occurs when a router uses a manually-configured routing entry, rather than information from a dynamic routing traffic. In many cases, static routes are manually configured by a network administrator by adding in entries into a routing table, though this may not always be the case. Unlike dynamic routing, static routes are fixed and do not change if the network is changed or reconfigured. Static routing and dynamic routing are not mutually exclusive. Both dynamic routing and static routing are usually used on a router to maximise routing efficiency and to provide backups in the event that dynamic routing information fails to be exchanged. Static routing can also be used in stub networks, or to provide a gateway of last resort. == UsesEdit == Static routing may have the following uses: Static routing can be used to define an exit point from a router when no other routes are available or necessary. This is called a default route. Static routing can be used for small networks that require only one or two routes. This is often more efficient since a link is not being wasted by exchanging dynamic routing information. Static routing is often used as a complement to dynamic routing to provide a failsafe backup in the event that a dynamic route is unavailable. Static routing is often used to help transfer routing information from one routing protocol to another (routing redistribution). == DisadvantagesEdit == Static routing can have some potential disadvantages: Human error: In many cases, static routes are manually configured. This increases the potential for input mistakes. Administrators can make mistakes and mistype in network information, or configure incorrect routing paths by mistake. Fault tolerance: Static routing is not fault tolerant. This means that when there is a change in the network or a failure occurs between two statically defined devices, traffic will not be re-routed. As a result, the network is unusable until the failure is repaired or the static route is manually reconfigured by an administrator. Administrative distance: Static routes typically take precedence over routes configured with a dynamic routing protocol. This means that static routes may prevent routing protocols from working as intended. A solution is to manually modify the administrative distance. Administrative overhead: Static routes must be configured on each router in the network(s). This configuration can take a long time if there are many routers. It also means that reconfiguration can be slow and inefficient. Dynamic routing on the other hand automatically propagates routing changes, reducing the need for manual reconfiguration. == ExampleEdit == To route IP traffic destined for the network 10.10.20.0/24 via the next-hop router with the IPv4 address of 192.168.100.1, the following configuration commands or steps can be used:-
Vector control (motor) control, also called field-oriented control (FOC), is a variable-frequency drive (VFD) control method where the stator currents of a three-phase AC electric motor are identified as two orthogonal components that can be visualized with a vector. One component defines the magnetic flux of the motor, the other the torque. The control system of the drive calculates from the flux and torque references given by the drive's speed control the corresponding current component references. Typically proportional-integral (PI) controllers are used to keep the measured current components at their reference values. The pulse-width modulation of the variable-frequency drive defines the transistor switching according to the stator voltage references that are the output of the PI current controllers. FOC is used to control the AC synchronous and induction motors. It was originally developed for high-performance motor applications that are required to operate smoothly over the full speed range, generate full torque at zero speed, and have high dynamic performance including fast acceleration and deceleration. However, it is becoming increasingly attractive for lower performance applications as well due to FOC's motor size, cost and power consumption reduction superiority. It is expected that with increasing computational power of the microprocessors it will eventually nearly universally displace single-variable scalar volts-per-Hertz (V/f) control. == Development history == Technical University Darmstadt's K. Hasse and Siemens' F. Blaschke pioneered vector control of AC motors starting in 1968 and in the early 1970s, Hasse in terms of proposing indirect vector control, Blaschke in terms of proposing direct vector control. Technical University Braunschweig's Werner Leonhard further developed FOC techniques and was instrumental in opening up opportunities for AC drives to be a competitive alternative to DC drives. Yet it was not until after the commercialization of microprocessors, that is in the early 1980s, that general purpose AC drives became available. Barriers to use of FOC for AC drive applications included higher cost and complexity and lower maintainability compared to DC drives, FOC having until then required many electronic components in terms of sensors, amplifiers and so on. The Park transformation has long been widely used in the analysis and study of synchronous and induction machines. The transformation is by far the single most important concept needed for an understanding of how FOC works, the concept having been first conceptualized in a 1929 paper authored by Robert H. Park. Park's paper was ranked second most important in terms of impact from among all power engineering related papers ever published in the twentieth century. The novelty of Park's work involves his ability to transform any related machine's linear differential equation set from one with time varying coefficients to another with time invariant coefficients. == Technical overview == Overview of key competing VFD control platforms: While the analysis of AC drive controls can be technically quite involved ("See also" section), such analysis invariably starts with modeling of the drive-motor circuit involved along the lines of accompanying signal flow graph and equations. In vector control, an AC induction or synchronous motor is controlled under all operating conditions like a separately excited DC motor. That is, the AC motor behaves like a DC motor in which the field flux linkage and armature flux linkage created by the respective field and armature (or torque component) currents are orthogonally aligned such that, when torque is controlled, the field flux linkage is not affected, hence enabling dynamic torque response. Vector control accordingly generates a three-phase PWM motor voltage output derived from a complex voltage vector to control a complex current vector derived from motor's three-phase stator current input through projections or rotations back and forth between the three-phase speed and time dependent system and these vectors' rotating reference-frame two-coordinate time invariant system. Such complex stator current space vector can be defined in a (d,q) coordinate system with orthogonal components along d (direct) and q (quadrature) axes such that field flux linkage component of current is aligned along the d axis and torque component of current is aligned along the q axis. The induction motor's (d,q) coordinate system can be superimposed to the motor's instantaneous (a,b,c) three-phase sinusoidal system as shown in accompanying image (phases a & b not shown for clarity). Components of the (d,q) system current vector, allow conventional control such as proportional and integral, or PI, control, as with a DC motor. Projections associated with the (d,q) coordinate system typically involve: Forward projection from instantaneous currents to (a,b,c) complex stator current space vector representation of the three-phase sinusoidal system. Forward three-to-two phase, (a,b,c)-to-(,) projection using the Clarke transformation. Vector control implementations usually assume ungrounded motor with balanced three-phase currents such that only two motor current phases need to be sensed. Also, backward two-to-three phase, (,)-to-(a,b,c) projection uses space vector PWM modulator or inverse Clarke transformation and one of the other PWM modulators. Forward and backward two-to-two phase,(,)-to-(d,q) and (d,q)-to-(,) projections using the Park and inverse Park transformations, respectively. However, it is not uncommon for sources to use three-to-two, (a,b,c)-to-(d,q) and inverse projections. While (d,q) coordinate system rotation can arbitrarily be set to any speed, there are three preferred speeds or reference frames: Stationary reference frame where (d,q) coordinate system does not rotate; Synchronously rotating reference frame where (d,q) coordinate system rotates at synchronous speed; Rotor reference frame where (d,q) coordinate system rotates at rotor speed. Decoupled torque and field currents can thus be derived from raw stator current inputs for control algorithm development. Whereas magnetic field and torque components in DC motors can be operated relatively simply by separately controlling the respective field and armature currents, economical control of AC motors in variable speed application has required development of microprocessor-based controls with all AC drives now using powerful DSP (digital signal processing) technology. Inverters can be implemented as either open-loop sensorless or closed-loop FOC, the key limitation of open-loop operation being mimimum speed possible at 100% torque, namely, about 0.8 Hz compared to standstill for closed-loop operation. There are two vector control methods, direct or feedback vector control (DFOC) and indirect or feedforward vector control (IFOC), IFOC being more commonly used because in closed-loop mode such drives more easily operate throughout the speed range from zero speed to high-speed field-weakening. In DFOC, flux magnitude and angle feedback signals are directly calculated using so-called voltage or current models. In IFOC, flux space angle feedforward and flux magnitude signals first measure stator currents and rotor speed for then deriving flux space angle proper by summing the rotor angle corresponding to the rotor speed and the calculated reference value of slip angle corresponding to the slip frequency. Sensorless control (see Sensorless FOC Block Diagram) of AC drives is attractive for cost and reliability considerations. Sensorless control requires derivation of rotor speed information from measured stator voltage and currents in combination with open-loop estimators or closed-loop observers. == Application recap == 1. Stator phase currents are measured, converted to complex space vector in (a,b,c) coordinate system. 2. Current vector is converted to (, ) coordinate system. Transformed to a coordinate system rotating in rotor reference frame, rotor position being derived by integrating the speed by means of speed measurement sensor. 3. Rotor flux linkage vector is estimated by multiplying the stator current vector with magnetizing inductance Lm and low-pass filtering the result with the rotor no-load time constant Lr/Rr, namely, the rotor inductance to rotor resistance ratio. 4. Current vector is converted to (d,q) coordinate system. 5. d-axis component of the stator current vector is used to control the rotor flux linkage and the imaginary q-axis component is used to control the motor torque. While PI controllers can be used to control these currents, bang-bang type current control provides better dynamic performance. 6. PI controllers provide (d,q) coordinate voltage components. A decoupling term is sometimes added to the controller output to improve control performance to mitigate cross coupling or big and rapid changes in speed, current and flux linkage. PI-controller also sometimes need low-pass filtering at the input or output to prevent the current ripple due to transistor switching from being amplified excessively and destabilizing the control. However, such filtering also limits the dynamic control system performance. High switching frequency (typically more than 10 kHz) is typically required to minimize filtering requirements for high-performance drives such as servo drives. 7. Voltage components are transformed from (d,q) coordinate system to (, ) coordinate system. 8. Voltage components are transformed from (, ) coordinate system to (a,b,c) coordinate system or fed in Pulse Width Modulation (PWM) modulator, or both, for signaling to the power inverter section. Significant aspects of vector control application: Speed or position measurement or some sort of estimation is needed. Torque and flux can be changed reasonably fast, in less than 5-10 milliseconds, by changing the references. The step response has some overshoot if PI control is used. The switching frequency of the transistors is usually constant and set by the modulator. The accuracy of the torque depends on the accuracy of the motor parameters used in the control. Thus large errors due to for example rotor temperature changes often are encountered. Reasonable processor performance is required; typically the control algorithm has to be calculated at least every millisecond. Although the vector control algorithm is more complicated than the Direct Torque Control (DTC), the algorithm is not needed to be calculated as frequently as the DTC algorithm. Also the current sensors need not be the best in the market. Thus the cost of the processor and other control hardware is lower making it suitable for applications where the ultimate performance of DTC is not required. == See also == == References ==
Galenic corpus Galenic corpus is the collection of writings of Galen, a prominent Greek physician, surgeon and philosopher in the Roman Empire during the second century C.E. == Description == Galen produced more work than any author in antiquity, and may have possibly written up to 600 treatises, although less than a third of his works have survived. His surviving work runs to around 3 million words. Karl Gottlob Kühn of Leipzig (1754–1840) published an edition of 122 of Galen's writings between 1821 and 1833. His edition, which is the most complete, although flawed, consists of the Greek text with facing-page Latin translation. The text and translation are mainly taken from the edition of Chartier 1638—39, Paris. Kühn's edition runs to 22 volumes, 676 index pages, being over 20,000 pages in length. More modern projects like the Corpus Medicorum Graecorum have still to match the Kühn edition. A digital version of the Galenic corpus, largely taken from Kühn's edition but using newer editions where available, is included in the Thesaurus Linguae Graecae, a digital library of Greek literature started in 1972. Another useful modern source is the French Bibliothèque interuniversitaire de santé (BIU Santé). == List == With Greek and Latin Titles and standardized bibliographical abbreviations: Liddell & Scott: Greek-English Lexicon. See also Cambridge Companion to Galen: Appendices. Vol. and pp. notation according to Kühn edition). Ordered according to Coxe's taxonomy of 1846 (see References), which includes a summary of each work. Alternative names in (parentheses). Italicised citations from Galen's works refer to the Kühn edition. Galen's own Bibliographies On My (His) Own Books (Lib. Prop.) On the Order of my Own Books (Ord. Lib. Prop.)
Web widget computing, a web widget is a software widget for the web. It's a small application with limited functionality that can be installed and executed within a web page by an end user. A widget has the role of a transient or auxiliary application, meaning that it just occupies a portion of a webpage and does something useful with information fetched from other websites and displayed in place. Other terms used to describe web widgets include: portlet, web part, gadget, badge, module, snippet and flake. Widgets are typically created in DHTML or Adobe Flash. Widgets often take the form of on-screen devices such as clocks, event countdowns, auction-tickers, stock market tickers, flight arrival information, daily weather, phone books, pictures etc.. == Widget == A widget is a stand-alone application that can be embedded into third party sites by any user on a page where they have rights of authorship, e.g. a webpage, blog, or profile on a social media site. Widgets allow users to turn personal content into dynamic web apps that can be shared on websites where the code can be installed. For example, a "Weather Report Widget" could allow anyone to report today's weather by accessing data from the Weather Channel, it could even be sponsored by the Weather Channel. For website visitors to view, it must be embedded in a webpage, such as a Blogger blog sidebar. Even the portion of a blog where the ads are displayed is a widget. Widgets were also added to the Windows Operating System. They first appeared in Windows Vista. The default widgets include clock, CPU meter, picture puzzle and image slideshow. In 2012 Microsoft advised widget users to disable these from their PCs out of security concerns. Web developers have used third party code chunks in pages. Early web widgets provided functions such as link counters and advertising banners. Widgets may be considered as downloadable applications which look and act like traditional apps but are implemented using web technologies including JavaScript, Flash, HTML and CSS. Widgets use and depend on web APIs exposed either by the browser or by a widget engine such as Akamai, Clearspring, KickApps, MassPublisher, NewsGator, Widgetbox or many others. Sites such as MassPublisher, FormLoop and Widgetbox allow users to easily create widgets from their own content with no coding knowledge necessary. == Major widget types == Widgets come in many shapes and sizes, but two of the major types today are Web widgets and Desktop widgets. Web widgets are intended for use on (embedding in) webpages and have major implications in areas such as site performance, SEO and even backlink campaigns. Desktop widgets are embedded on local computers, and do not impact SEO or webpage performance. As an example, Widgetbox generate Web widgets that can be used on almost any website but not on pages using SSL (URLs beginning with https). Apple Desktop widgets can only be added to the desktop of your local (Apple) computer. == Usage in social media == End users primarily use widgets to enhance their personal web experiences, or the web experiences of visitors to their personal sites. The use of widgets has proven increasingly popular, where users of social media are able to add stand-alone applications to blogs, profiles and community pages. Widgets add utility in the same way that an iPhone application does. The developers of these widgets are often offering them as a form of sponsored content, which can pay for the cost of the development when the widgets' utility maps to the user's needs in a way where both parties gain. For example, a sports news brand might gain awareness and increased audience share in exchange for the utility of current game scores being instantly and dynamically available - the blog which posted the Sports score widget might gain in having a stickier site.

Anya is live and ready to show you everything. Watch her strip, dance, and perform exclusive shows just for you. Interact in real-time and make your fantasies come true.
Free to watch • No registration required • HD streaming
JQuery is a cross-platform JavaScript library designed to simplify the client-side scripting of HTML. jQuery is the most popular JavaScript library in use today, with installation on 65% of the top 10 million highest-trafficked sites on the Web. jQuery is free, open-source software licensed under the MIT License. jQuery's syntax is designed to make it easier to navigate a document, select DOM elements, create animations, handle events, and develop Ajax applications. jQuery also provides capabilities for developers to create plug-ins on top of the JavaScript library. This enables developers to create abstractions for low-level interaction and animation, advanced effects and high-level, theme-able widgets. The modular approach to the jQuery library allows the creation of powerful dynamic web pages and Web applications. The set of jQuery core features—DOM element selections, traversal and manipulation—enabled by its selector engine (named "Sizzle" from v1.3), created a new "programming style", fusing algorithms and DOM data structures. This style influenced the architecture of other JavaScript frameworks like YUI v3 and Dojo, later stimulating the creation of the standard Selectors API. Microsoft and Nokia bundle jQuery on their platforms. Microsoft includes it with Visual Studio for use within Microsoft's ASP.NET AJAX and ASP.NET MVC frameworks while Nokia has integrated it into the Web Run-Time widget development platform. jQuery has also been used in MediaWiki since version 1.16. == Overview == jQuery, at its core, is a DOM (Document Object Model) manipulation library. The DOM is a tree-structure representation of all the elements of a Web page and jQuery simplifies the syntax for finding, selecting, and manipulating these DOM elements. For example, jQuery can be used for finding an element in the document with a certain property (e.g. all elements with an h1 tag), changing one or more of its attributes (e.g. color, visibility), or making it respond to an event (e.g. a mouse click). jQuery also provides a paradigm for event handling that goes beyond basic DOM element selection and manipulation. The event assignment and the event callback function definition are done in a single step in a single location in the code. jQuery also aims to incorporate other highly used JavaScript functionality (e.g. fade ins and fade outs when hiding elements, animations by manipulating CSS properties). The advantages of using jQuery are: Encourages separation of JavaScript and HTML: The jQuery library provides simple syntax for adding event handlers to the DOM using JavaScript, rather than adding HTML event attributes to call JavaScript functions. Thus, it encourages developers to completely separate JavaScript code from HTML markup. Brevity and clarity: jQuery promotes brevity and clarity with features like chainable functions and shorthand function names. Eliminates cross-browser incompatibilities: The JavaScript engines of different browsers differ slightly so JavaScript code that works for one browser may not work for another. Like other JavaScript toolkits, jQuery handles all these cross-browser inconsistencies and provides a consistent interface that works across different browsers. Extensible: New events, elements, and methods can be easily added and then reused as a plugin. == Features == jQuery includes the following features: DOM element selections using the multi-browser open source selector engine Sizzle, a spin-off of the jQuery project DOM manipulation based on CSS selectors that uses elements' names and attributes, such as id and class, as criteria to select nodes in the DOM Events Effects and animations AJAX Deferred and Promise objects to control asynchronous processing JSON parsing Extensibility through plug-ins Utilities, such as feature detection Compatibility methods that are natively available in modern browsers, but need fall backs for older ones, such as inArray() and each() Multi-browser (not to be confused with cross-browser) support
Model–view–controller–view–controller (MVC) is a software architectural pattern mostly (but not exclusively) for implementing user interfaces on computers. It divides a given software application into three interconnected parts, so as to separate internal representations of information from the ways that information is presented to or accepted from the user. Traditionally used for desktop graphical user interfaces (GUIs), this architecture has become extremely popular for designing web applications. == History == MVC was one of the seminal insights in the early development of graphical user interfaces, and one of the first approaches to describe and implement software constructs in terms of their responsibilities. Trygve Reenskaug introduced MVC into Smalltalk-76 while visiting the Xerox Palo Alto Research Center (PARC) in the 1970s. In the 1980s, Jim Althoff and others implemented a version of MVC for the Smalltalk-80 class library. It was only later, in a 1988 article in The Journal of Object Technology (JOT), that MVC was expressed as a general concept. The MVC pattern has subsequently evolved, giving rise to variants such as hierarchical model–view–controller (HMVC), model–view–adapter (MVA), model–view–presenter (MVP), model–view–viewmodel (MVVM), and others that adapted MVC to different contexts. The use of the MVC pattern in web applications exploded in popularity after the introduction of Apple's WebObjects which was originally written in Objective-C (that borrowed heavily from Smalltalk) and helped enforce MVC principles. Later, the MVC pattern became popular with Java developers when WebObjects was ported to Java. Later frameworks for Java such as Spring continued the strong bond between Java and MVC. The introduction of the frameworks Rails (for Ruby) and Django (for Python), both of which had a strong emphasis on rapid deployment, increased MVCs popularity outside the traditional enterprise environment in which it has long been popular. MVC web frameworks now hold large market shares relative to non-MVC web toolkits. == Description == As with other software patterns, MVC expresses the "core of the solution" to a problem while allowing it to be adapted for each system. Particular MVC architectures can vary significantly from the traditional description here.