AI Face Lift

AI Face Lift — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Artificial psychology

    Artificial psychology

    Artificial psychology (AP) has had multiple meanings dating back to 19th century, with recent usage related to artificial intelligence (AI).Artificial psychology is a theoretical field related to artificial intelligence, cognitive science, and psychology, which explores how advanced AI systems may develop human-like decision-making processes. In 1999, Zhiliang Wang and Lun Xie presented a theory of artificial psychology based on artificial intelligence. They analyze human psychology using information science research methods and artificial intelligence research to probe deeper into the human mind. == Main Theory == Dan Curtis (b. 1963) proposed AP is a theoretical discipline. The theory considers the situation when an artificial intelligence approaches the level of complexity where the intelligence meets two conditions: Condition I A: Makes all of its decisions autonomously B: Is capable of making decisions based on information that is New Abstract Incomplete C: The artificial intelligence is capable of reprogramming itself based on the new data, allowing it to evolve. D: And is capable of resolving its own programming conflicts, even in the presence of incomplete data. This means that the intelligence autonomously makes value-based decisions, referring to values that the intelligence has created for itself. Condition II All four criteria are met in situations that are not part of the original operating program When both conditions are met, then, according to this theory, the possibility exists that the intelligence will reach irrational conclusions based on real or created information. At this point, the criteria are met for intervention which will not necessarily be resolved by simple re-coding of processes due to extraordinarily complex nature of the codebase itself; but rather a discussion with the intelligence in a format which more closely resembles classical (human) psychology. If the intelligence cannot be reprogrammed by directly inputting new code, but requires the intelligence to reprogram itself through a process of analysis and decision based on information provided by a human, in order for it to overcome behavior which is inconsistent with the machines purpose or ability to function normally, then artificial psychology is by definition, what is required. The level of complexity that is required before these thresholds are met is currently a subject of extensive debate. The theory of artificial psychology does not address the specifics of what those levels may be, but only that the level is sufficiently complex that the intelligence cannot simply be recoded by a software developer, and therefore dysfunctionality must be addressed through the same processes that humans must go through to address their own dysfunctionalities. Along the same lines, artificial psychology does not address the question of whether or not the intelligence is conscious. As of 2022, the level of artificial intelligence does not approach any threshold where any of the theories or principles of artificial psychology can even be tested, and therefore, artificial psychology remains a largely theoretical discipline. Even at a theoretical level, artificial psychology remains an advanced stage of artificial intelligence.

    Read more →
  • Mortimer Rogoff

    Mortimer Rogoff

    Mortimer Alan Rogoff (May 2, 1921 – August 1, 2008) was an American inventor, businessman, and author as well as an amateur photographer and radio operator. He is recognized for his work in spread spectrum technology which is the technology that modern cell phones and GPS systems are based on. He is also considered the grandfather of the electronic navigation chart. == Early life == Rogoff was born in Brooklyn, New York. He earned his B.S.E.E. from Rensselaer Polytechnic Institute in 1943 and his M.S.E.E. from Columbia University in 1948. While at Rensselaer he was a member of Kappa Nu fraternity and the Features Editor for the student newspaper. During World War II, he enlisted in the United States Navy and worked on developing radio communication and aerial navigation systems. One of the techniques he developed was undetectable by Axis forces because its power was below that of the background noise and its frequency varied in random ways. This secure transmission was the beginning of spread spectrum technology which would become the basis for GPS and CDMA cellular telephone systems. Although he was never able to patent the technology because it was a military secret he did get some recognition for it almost forty years later when he received the Institute of Electrical and Electronics Engineers’ Pioneer Award in 1981. == Career == Rogoff worked for twenty-two years (1946 to 1968) for ITT Laboratories in New Jersey. In 1958, he became their deputy director of Engineering. He was Vice President of ITT Laboratories from 1962 to 1963. From 1963 to 1968, he was promoted to the corporate staff where he became head of European operations. In 1968 he left ITT to work for the Diebold Group where he became an Executive Vice President. After leaving the Diebold Group he founded several technology and automation businesses, including his own consulting firm, and Teletext Communications Corporation. Later in the 1970s, he was a Principal with Booz Allen Hamilton. In 1979, his book ‘’Calculator Navigation’’ was published. This book demonstrated practical methods for calculating precise ship locations using radio navigation with a consumer calculator. In 1981, he founded a new company, Navigation Sciences Inc., in Bethesda, Maryland. With this company he patented a method for marine navigation that combined radar maps with electronic charts in 1986. This was a major advancement in field. Today, this system is known as the Electronic Chart Display and Information System (ECDIS). Rogoff had seen the need for a new charting system in 1968 from his apartment at 180 East End Avenue in New York City. From there, he saw a boating accident where a life was lost and decided there had to be a way to automate navigation. Rogoff then became of member of the International Maritime Organization’s (IMO) sub-committee on Safety of Navigation, a representative to the International Electrotechnical Commission, and became the chairman of the Radio Technical Commission for Maritime Services Special Committee 109 on Electronic Charts. He was able to use his influence on these boards to push through a proposal of ECDIS standards in 1989 where none has been before. As his friend Giuseppe Carnevali said, “Although nobody could argue against the need for a standard, no one was ready to endorse one; however, nobody was brave enough to oppose it.” A Test Bed project on these proposals was conducted by the United States Coast Guard. The amended standards were accepted by the IMO in November, 1995. In 2000, he was named as a Fellow of the Institute of Navigation. He was also a Fellow of the Institute of Electrical and Electronics Engineers. During this time, he was also president of the Navigational Electronic Charts System Association. == Personal == In 1979, he moved to Washington, D.C. and bought a home in Nantucket, Massachusetts. He married Sheila Zunser in 1943 and they were together for sixty-five years. They had three daughters: Louisa Thompson, Alice Rogoff, and Julia Peach. His sister was sociologist Natalie Rogoff Ramsøy of the University of Oslo. He was a member of the Cosmos Club and President of The Navigational Electronic Chart System Association (NECSA). He was a very good amateur photographer and liked amateur radio (call sign W2EE). He died in Nantucket from bladder cancer. == Patents == Patent number: 4176316 – Secure Communication System – November 27, 1979 With Louis A. DeRosa Patent number: 4590569 – Electronic Navigation System – May 20, 1986 With Peter M. Winkler and John N. Ackley Patent number: RE34004 – Secure Communication System – July 21, 1992 With Louis A. DeRosa == Publications == Rogoff, Mortimer September 1957. Automatic Analysis of Infrared Spectra. Annals of the New York Academy of Sciences; vol. 69: no. 1: 27–37. Gen. P.C. Sandretto and Mortimer Rogoff. 1958 “A Novel Concept for Application to the Control of Airways Traffic.” NAVIGATION: Journal of The Institute of Navigation; vol. 6: no. 2: 102–107 Rogoff, Mortimer 1979. Calculator Navigation; ISBN 0-393-03192-6. Published by W.W. Norton & Company (New York and London). Rogoff, Mortimer December 1985. Electronic Charting. Yachting; vol. 158: no. 6: 54–57. Rogoff, Mortimer Winter 1990. Electronic Charts in the Nineties. NAVIGATION: Journal of The Institute of Navigation; vol. 37: no. 4: 305–318.

    Read more →
  • Mediated intercultural communication

    Mediated intercultural communication

    Mediated intercultural communication is digital communication between people of different cultural backgrounds. Media include social networks, blogs and conferencing services. Digital communication is distinct from traditional media, creating new avenues for intercultural communication. User take online classes; post, consume and comment on others content; and play multi-player video games. This creates spaces to form virtual communities that can ease communication across boundaries of space, time and culture. New media technologies can change culture in positive ways or become a tool of repression. == History == Intercultural communication is as ancient as human movement in search of food sources. The systematic study of intercultural communication began with Edward Hall's labor at the Foreign Service Institute, and the publication of his The Silent Language (1959). Later research, primarily focused on face-to-face communication in various areas such as interpersonal, group, and organizational and cultural identity. International and development media have been studied under the umbrella of international communication. Media imperialism, cultural imperialism and dependency theories inform this research. Mediated intercultural communication examines the bidirectional relationships between media and intercultural communication.

    Read more →
  • Radio network

    Radio network

    A radio network is a system that distributes radio signals to multiple receivers or enables two-way communication between stations and mobile units. Worldwide, radio networks include broadcast networks, such as BBC Radio in the United Kingdom and NPR in the United States, which transmit one-to-many signals for news, entertainment, and public information; two-way radio networks, used by police, fire services, taxicabs, and delivery fleets for operational communication; and cellular networks, such as Verizon, Vodafone, and China Mobile, which provide mobile telephony and data services using frequency or time division duplexing. While all rely on radio-frequency technology like transmitters, receivers, and antennas, their network architectures, protocols, and regulatory frameworks differ substantially across applications and regions. The two-way type of radio network shares many of the same technologies and components as the broadcast-type radio network but is generally set up with fixed broadcast points (transmitters) with co-located receivers and mobile receivers/transmitters or transceivers. In this way both the fixed and mobile radio units can communicate with each other over broad geographic regions ranging in size from small single cities to entire states/provinces or countries. There are many ways in which multiple fixed transmit/receive sites can be interconnected to achieve the range of coverage required by the jurisdiction or authority implementing the system: conventional wireless links in numerous frequency bands, fibre-optic links, or microwave links. In all of these cases the signals are typically backhauled to a central switch of some type where the radio message is processed and resent (repeated) to all transmitter sites where it is required to be heard. In contemporary two-way radio systems, a concept called trunking is commonly used to achieve better efficiency of radio spectrum use. It provides a very wide range of coverage, with no switching of channels required by the mobile radio user as it roams throughout the system coverage. Trunking of two-way radio is identical to the concept used for cellular phone systems where each fixed and mobile radio is specifically identified to the system controller and its operation is switched by the controller. == Broadcasting networks == The broadcast type of radio network is a network system which distributes radio programming to multiple stations simultaneously, or slightly delayed, for the purpose of extending total coverage beyond the limits of a single broadcast signal. The resulting expanded audience for radio programming or information essentially applies the benefits of mass-production to the broadcasting enterprise. A radio network has two sales departments, one to package and sell programs to radio stations, and one to sell the audience of those programs to advertisers. Most radio networks also produce much of their programming. Originally, radio networks owned some or all of the stations that broadcast the network's radio format programming. Presently however, there are many networks that do not own any stations and only produce and/or distribute programming. Similarly station ownership does not always indicate network affiliation. A company might own stations in several different markets and purchase programming from a variety of networks. Radio networks rose rapidly with the growth of regular broadcasting of radio to home listeners in the 1920s. This growth took various paths in different places. In Britain the BBC was developed with public funding, in the form of a broadcast receiver license, and a broadcasting monopoly in its early decades. In contrast, in the United States various competing commercial broadcasting networks arose funded by advertising revenue. In that instance, the same corporation that owned or operated the network often manufactured and marketed the listener's radio. Major technical challenges to be overcome when distributing programs over long distances are maintaining signal quality and managing the number of switching/relay points in the signal chain. Early on, programs were sent to remote stations (either owned or affiliated) by various methods, including leased telephone lines, pre-recorded gramophone records and audio tape. The world's first all-radio, non-wireline network was claimed to be the Rural Radio Network, a group of six upstate New York FM stations that began operation in June 1948. Terrestrial microwave relay, a technology later introduced to link stations, has been largely supplanted by coaxial cable, fiber, and satellite, which usually offer superior cost-benefit ratios. Many early radio networks evolved into television networks.

    Read more →
  • Automatic summarization

    Automatic summarization

    Automatic summarization is the process of shortening a set of data computationally, to create a subset (a summary) that represents the most important or relevant information within the original content. Artificial intelligence (AI) algorithms are commonly developed and employed to achieve this, specialized for different types of data. Text summarization is usually implemented by natural language processing methods, designed to locate the most informative sentences in a given document. On the other hand, visual content can be summarized using computer vision algorithms. Image summarization is the subject of ongoing research; existing approaches typically attempt to display the most representative images from a given image collection, or generate a video that only includes the most important content from the entire collection. Video summarization algorithms identify and extract from the original video content the most important frames (key-frames), and/or the most important video segments (key-shots), normally in a temporally ordered fashion. Video summaries simply retain a carefully selected subset of the original video frames and, therefore, are not identical to the output of video synopsis algorithms, where new video frames are being synthesized based on the original video content. == Commercial products == In 2022 Google Docs released an automatic summarization feature. == Approaches == There are two general approaches to automatic summarization: extraction and abstraction. === Extraction-based summarization === Here, content is extracted from the original data, but the extracted content is not modified in any way. Examples of extracted content include key-phrases that can be used to "tag" or index a text document, or key sentences (including headings) that collectively comprise an abstract, and representative images or video segments, as stated above. For text, extraction is analogous to the process of skimming, where the summary (if available), headings and subheadings, figures, the first and last paragraphs of a section, and optionally the first and last sentences in a paragraph are read before one chooses to read the entire document in detail. Other examples of extraction that include key sequences of text in terms of clinical relevance (including patient/problem, intervention, and outcome). === Abstractive-based summarization === Abstractive summarization methods generate new text that did not exist in the original text. This has been applied mainly for text. Abstractive methods build an internal semantic representation of the original content (often called a language model), and then use this representation to create a summary that is closer to what a human might express. Abstraction may transform the extracted content by paraphrasing sections of the source document, to condense a text more strongly than extraction. Such transformation, however, is computationally much more challenging than extraction, involving both natural language processing and often a deep understanding of the domain of the original text in cases where the original document relates to a special field of knowledge. "Paraphrasing" is even more difficult to apply to images and videos, which is why most summarization systems are extractive. === Aided summarization === Approaches aimed at higher summarization quality rely on combined software and human effort. In Machine Aided Human Summarization, extractive techniques highlight candidate passages for inclusion (to which the human adds or removes text). In Human Aided Machine Summarization, a human post-processes software output, in the same way that one edits the output of automatic translation by Google Translate. == Applications and systems for summarization == There are broadly two types of extractive summarization tasks depending on what the summarization program focuses on. The first is generic summarization, which focuses on obtaining a generic summary or abstract of the collection (whether documents, or sets of images, or videos, news stories etc.). The second is query relevant summarization, sometimes called query-based summarization, which summarizes objects specific to a query. Summarization systems are able to create both query relevant text summaries and generic machine-generated summaries depending on what the user needs. An example of a summarization problem is document summarization, which attempts to automatically produce an abstract from a given document. Sometimes one might be interested in generating a summary from a single source document, while others can use multiple source documents (for example, a cluster of articles on the same topic). This problem is called multi-document summarization. A related application is summarizing news articles. Imagine a system, which automatically pulls together news articles on a given topic (from the web), and concisely represents the latest news as a summary. Image collection summarization is another application example of automatic summarization. It consists in selecting a representative set of images from a larger set of images. A summary in this context is useful to show the most representative images of results in an image collection exploration system. Video summarization is a related domain, where the system automatically creates a trailer of a long video. This also has applications in consumer or personal videos, where one might want to skip the boring or repetitive actions. Similarly, in surveillance videos, one would want to extract important and suspicious activity, while ignoring all the boring and redundant frames captured. At a very high level, summarization algorithms try to find subsets of objects (like set of sentences, or a set of images), which cover information of the entire set. This is also called the core-set. These algorithms model notions like diversity, coverage, information and representativeness of the summary. Query based summarization techniques, additionally model for relevance of the summary with the query. Some techniques and algorithms which naturally model summarization problems are TextRank and PageRank, Submodular set function, Determinantal point process, maximal marginal relevance (MMR) etc. === Keyphrase extraction === The task is the following. You are given a piece of text, such as a journal article, and you must produce a list of keywords or key[phrase]s that capture the primary topics discussed in the text. In the case of research articles, many authors provide manually assigned keywords, but most text lacks pre-existing keyphrases. For example, news articles rarely have keyphrases attached, but it would be useful to be able to automatically do so for a number of applications discussed below. Consider the example text from a news article: "The Army Corps of Engineers, rushing to meet President Bush's promise to protect New Orleans by the start of the 2006 hurricane season, installed defective flood-control pumps last year despite warnings from its own expert that the equipment would fail during a storm, according to documents obtained by The Associated Press". A keyphrase extractor might select "Army Corps of Engineers", "President Bush", "New Orleans", and "defective flood-control pumps" as keyphrases. These are pulled directly from the text. In contrast, an abstractive keyphrase system would somehow internalize the content and generate keyphrases that do not appear in the text, but more closely resemble what a human might produce, such as "political negligence" or "inadequate protection from floods". Abstraction requires a deep understanding of the text, which makes it difficult for a computer system. Keyphrases have many applications. They can enable document browsing by providing a short summary, improve information retrieval (if documents have keyphrases assigned, a user could search by keyphrase to produce more reliable hits than a full-text search), and be employed in generating index entries for a large text corpus. Depending on the different literature and the definition of key terms, words or phrases, keyword extraction is a highly related theme. ==== Supervised learning approaches ==== Beginning with the work of Turney, many researchers have approached keyphrase extraction as a supervised machine learning problem. Given a document, we construct an example for each unigram, bigram, and trigram found in the text (though other text units are also possible, as discussed below). We then compute various features describing each example (e.g., does the phrase begin with an upper-case letter?). We assume there are known keyphrases available for a set of training documents. Using the known keyphrases, we can assign positive or negative labels to the examples. Then we learn a classifier that can discriminate between positive and negative examples as a function of the features. Some classifiers make a binary classification for a test example, while others assign a probability of being a keyphrase. For ins

    Read more →
  • 1tik

    1tik

    1tik, pronounced Antik (Arabic: أنتيك; lit. "Everything is going well") is a fully Algerian instant messaging, social media and mobile payment app. designed, developed and built locally by the Algerian start-up, INTAJ Digital, with backing from the state-owned company ATM Mobilis (who's the company's main sponsor). It is described as Algeria's first super-app that is entirely designed and built by local developers. == Etymology == The name "1tik" (Arabic: أنتيك) is drawn from the popular Algerian vernacular (Antik), the neologism, which appeared several years ago, means "everything is going well" or "it's all good". == History == 1tik was officially launched and announced the 20th December 2025 by INTAJ Digital's founder Youcef Toulaib and a team of 50 employees, making it the first ever Algerian instant messaging, social media and mobile payment app, rivaling with the growing influence of Yassir in Algeria. it grew in popularity after the presidency of Algeria and several other state-owned companies, medias, and ministries opened official accounts on the app.

    Read more →
  • Electronic kit

    Electronic kit

    An electronic kit is a package of electrical components used to build an electronic device. Generally, kits are composed of electronic components, a circuit diagram (schematic), assembly instructions, and often a printed circuit board (PCB) or another type of prototyping board. There are two types of kits. Some build a single device or system. Other types used for education demonstrate a range of circuits. These will include a solderless construction board of some type, such as: Components mounted in plastic blocks with side contacts, that are held together in a base, e.g. Denshi blocks Springs on a card board, the springs trap wire leads, or component leads, such as Philips EE electronic experiment kits. These are a cheap and flexible option Professional type prototyping boards, (breadboards) into which component leads are inserted, following documentation of the "kit". The first type of kit for constructing a single device normally uses a PCB on which components are soldered. They normally come with extended documentation describing which component goes where into the PCB. For advanced hobby projects, sometimes the kit may only consist of a printed circuit board and assembly instructions, and the purchaser may have to source all the parts independently; or, the vendor may provide hard-to-get or pre-programmed parts while expecting the purchaser to obtain the rest of the components. People primarily purchase electronic kits to have fun and learn how things work. They were once popular as a means to reduce the cost of buying goods, but there is usually no cost saving in buying a kit today. Some electronic kits were assembled to make complete complex devices such as color television sets, oscilloscopes, high-end audio amplifiers, amateur radio equipment, electric organs, and even computers such as the Heathkit H-8, and the LNW-80. Many of the early microprocessor computers were sold as either electronic kits or assembled and tested. Heathkit sold millions of electronic kits during its 45-year history. Home assembly of common consumer electronics items no longer provides a cost advantage over commercially manufactured and distributed devices. People still build kits for custom devices and special-purpose electronics for professional and educational use and as a hobby. Also emerging is a trend to simplify the complexity by providing preprogrammed or modular kits often provided by many suppliers online. The fun and thrill of making your own electronics have shifted, in many cases, from easy-to-comprehend applications and analog devices to more sophisticated digital devices. == Examples == The Altair 8800 (the first home computer) was also sold as a kit, as were the MK14, Sinclair ZX80, Sinclair ZX81 and Acorn Atom computers. Many S-100 bus system cards were sold only as kits. Building a Robot kit, most often with a micro controller inside, is now in fashion.

    Read more →
  • Blend4Web

    Blend4Web

    Blend4Web is a free and open source framework for creating and displaying interactive 3D computer graphics in web browsers. == Overview == The Blend4Web framework leverages Blender to edit 3D scenes. Content rendering relies on WebGL, Web Audio, WebVR, and other web standards, without the use of plug-ins. It is dual-licensed. The framework is distributed under the free and open source GPLv3 and, a non-free license - with the source code being hosted on GitHub. A 3D scene can be prepared in Blender and then exported as a pair of JSON and binary files to load in a web application. It can also be exported as a single, self-contained HTML file, in which exported data, the web player GUI, and the engine itself are packed. The HTML option is considered to be the simplest way. The resulting file, which has a minimum size of 1 MB, can be embedded in a web page using a standard iframe HTML element. Blend4Web-powered web applications can be deployed on social networking websites such as Facebook. The Blend4Web toolchain consists of JavaScript libraries, the Blender add-on, and a set of tools for tweaking 3D scene parameters, debugging, and optimization. Developed by Moscow-based company Triumph in 2010, Blend4Web was publicly released on March 28, 2014. At the end of 2017, the project founders Yuri and Alex Kovelenov quit Triumph to start the development of a new WebGL framework Verge3D. In October 2019, an "Absolutely new Blend4Web" was announced, planned to make developing 3D apps easier and to add a new marketplace where people can offer their 3D models. == Features == The framework has a number of components typically found in game engines, including a positional audio system, physics engine (a fork of Bullet ported to JavaScript), animation system, and an abstraction layer for game logic programming. Up to 8 different types of animations can be assigned to a single object, including skeletal and per-vertex animation. The speed and the direction of animation (forward/backward play), as well as particle system parameters (size, initial velocity, and count), can be changed through the API. Among other supported features are: scene data dynamic loading and unloading, subsurface scattering simulation, and image-based lighting. Some out-of-box options exist for rendering extended outdoor environments, including foliage-wind interaction, water, atmosphere, and sunlight simulation. One example demonstrating these effects is "The Farm" tech demo, which also features multiple animated NPCs and the ability to walk, interact with objects and drive a vehicle in first-person mode. Being based on the cross-browser WebGL API, Blend4Web runs in the majority of web browsers, including mobile ones. There are some caveats for browsers with experimental WebGL support, such as Internet Explorer. There are also applications developed to run on Tizen-powered devices such as the Samsung Gear S2 smartwatch. Other features include: draw call batching, hidden surface determination, threaded physics simulation and ocean simulation. In version 14.09, Blend4Web introduced the possibility of adding interactivity to 3D scenes using a visual programming tool. The tool is reminiscent of the BGE's logic editor as it uses logic blocks that are placed inside Blender. It plays back animation tracks authored by an artist when the user interacts with predefined 3D objects. Since version 15.03, Blend4Web has supported attaching HTML elements (such as information windows) to 3D objects ("annotations") and copying objects in run time ("instancing"). The following post-processing effects are supported: glow, bloom, depth of field, crepuscular rays, motion blur, and screen space ambient occlusion. == Virtual reality and augmented reality == Virtual reality devices have been supported since the end of 2015. Specifically, Oculus Rift head-mounted display works over experimental WebVR API. The software also now includes preliminary support for gamepads, based on the Gamepad API. In 2017, the option to author augmented reality content was added. The system is based on the open-source tracking library ARToolKit and uses the WebRTC protocols. Starting from version 17.08, finger tracking is supported through the Leap Motion device. == Blender integration == The Blender add-on is written in Python and C and can be compiled for the Linux x86/x64, OS X x64, and MS Windows x86/x64 platforms. A Blend4Web-specific profile can be activated in the add-on settings. When switching to this profile, the Blender interface changes so that it only reveals settings relevant to Blend4Web. Blend4Web supports a set of Blender-specific features such as the node material editor (a tool for visual shader programming) and the particle system. There is basic support for Blender's non-linear animation (NLA) editor for creating simple scenarios. Blend4Web is based on Blender's real-time GLSL rendering engine, which users are recommended to use in order to enable WYSIWYG editing. == Notable uses == NASA developed an interactive web application called Experience Curiosity to celebrate the 3rd anniversary of the Curiosity rover landing on Mars. This Blend4Web-based app makes it possible to operate the rover, control its cameras and the robotic arm, and reproduce some of the prominent events of the Mars Science Laboratory mission. The application got presented at the beginning of the WebGL section at SIGGRAPH 2015. Experience Curiosity was ported to Verge3D for Blender in 2018 with several performance improvements and bug fixes. A General Motors authorized dealer in the United Arab Emirates has placed a functional Chevrolet Camaro 3D configurator on its website. Greenpeace created interactive 3D infographics to back Greenpeace's Detox campaign in Russia. Tallink featured an interactive 3D presentation of its MS Megastar vessel to allow visitors to browse details of the ship.

    Read more →
  • Object Data Management Group

    Object Data Management Group

    The Object Data Management Group (ODMG) was conceived in the summer of 1991 at a breakfast with object database vendors that was organized by Rick Cattell of Sun Microsystems. In 1998, the ODMG changed its name from the Object Database Management Group to reflect the expansion of its efforts to include specifications for both object database and object–relational mapping products. The primary goal of the ODMG was to put forward a set of specifications that allowed a developer to write portable applications for object database and object–relational mapping products. In order to do that, the data schema, programming language bindings, and data manipulation and query languages needed to be portable. Between 1993 and 2001, the ODMG published five revisions to its specification. The last revision was ODMG version 3.0, after which the group disbanded. == Major components of the ODMG 3.0 specification == Object Model. This was based on the Object Management Group's Object Model. The OMG core model was designed to be a common denominator for object request brokers, object database systems, object programming languages, etc. The ODMG designed a profile by adding components to the OMG core object model. Object Specification Languages. The ODMG Object Definition Language (ODL) was used to define the object types that conform to the ODMG Object Model. The ODMG Object Interchange Format (OIF) was used to dump and load the current state to or from a file or set of files. Object Query Language (OQL). The ODMG OQL was a declarative (nonprocedural) language for query and updating. It used SQL as a basis, where possible, though OQL supports more powerful object-oriented capabilities. C++ Language Binding. This defined a C++ binding of the ODMG ODL and a C++ Object Manipulation Language (OML). The C++ ODL was expressed as a library that provides classes and functions to implement the concepts defined in the ODMG Object Model. The C++ OML syntax and semantics are those of standard C++ in the context of the standard class library. The C++ binding also provided a mechanism to invoke OQL. Smalltalk Language Binding. This defined the mapping between the ODMG ODL and Smalltalk, which was based on the OMG Smalltalk binding for the OMG Interface Definition Language (IDL). The Smalltalk binding also provided a mechanism to invoke OQL. Java Language Binding. This defined the binding between the ODMG ODL and the Java programming language as defined by the Java 2 Platform. The Java binding also provided a mechanism to invoke OQL. == Status == ODMG 3.0 was published in book form in 2000.[1] By 2001, most of the major object database and object-relational mapping vendors claimed conformance to the ODMG Java Language Binding. Compliance to the other components of the specification was mixed.[2] In 2001, the ODMG Java Language Binding was submitted to the Java Community Process as a basis for the Java Data Objects specification. The ODMG member companies then decided to concentrate their efforts on the Java Data Objects specification. As a result, the ODMG disbanded in 2001. In 2004, the Object Management Group (OMG) was granted the right to revise the ODMG 3.0 specification as an OMG specification by the copyright holder, Morgan Kaufmann Publishers. In February 2006, the OMG announced the formation of the Object Database Technology Working Group (ODBT WG) and plans to work on the 4th generation of an object database standard. == ODMG Compliant DBMS == Orient ODBMS: http://www.OrienTechnologies.com Objectivity/DB C++, Java and Smalltalk interfaces.

    Read more →
  • Remote scripting

    Remote scripting

    Remote scripting is a technology which allows scripts and programs that are running inside a browser to exchange information with a server. The local scripts can invoke scripts on the remote side and process the returned information. The earliest form of asynchronous remote scripting was developed before XMLHttpRequest existed, and made use of very simple process: a static web page opens a dynamic web page (e.g. at other target frame) that is reloaded with new JavaScript content, generated remotely on the server side. The XMLHttpRequest and similar "client-side script remote procedure call" functions, open the possibility of use and triggering web services from the web page interface. The web development community subsequently developed a range of techniques for remote scripting in order to enable consistent results across different browsers. Early examples include JSRS library from 2000, the introduction of the Image/Cookie technique in 2000. == JavaScript Remote Scripting == JavaScript Remote Scripting (JSRS) is a web development technique for creating interactive web applications using a combination of: HTML (or XHTML) The Document Object Model manipulated through JavaScript to dynamically display and interact with the information presented A transport layer. Different technologies may be used, though using a script tag or an iframe is used the most because it has better browser support than XMLHttpRequest A data format. XML with WDDX can be used as well as JSON or any other text format. Schematic A similar approach is Ajax, though it depends on the XmlHttpRequest in newer web browsers. === Libraries === Brent Ashley's original JSRS library released in 2000 BlueShoes JSRS with added encoding and OO RPC abstractions Simple Tutorials: Javascript Remote Scripting with PHP at the Wayback Machine (archived 2006-04-14) MSDN article

    Read more →
  • GPU switching

    GPU switching

    GPU switching is a mechanism used on computers with multiple graphic controllers. This mechanism allows the user to either maximize the graphic performance or prolong battery life by switching between the graphic cards. It is mostly used on gaming laptops which usually have an integrated graphic device and a discrete video card. == Basic components == Most computers using this feature contain integrated graphics processors and dedicated graphics cards that applies to the following categories. === Integrated graphics === Also known as: Integrated graphics, shared graphics solutions, integrated graphics processors (IGP) or unified memory architecture (UMA). This kind of graphics processors usually have much fewer processing units and share the same memory with the CPU. Sometimes the graphics processors are integrated onto a motherboard. It is commonly known as: on-board graphics. A motherboard with on-board graphics processors doesn't require a discrete graphics card or a CPU with graphics processors to operate. === Dedicated graphics cards === Also known as: discrete graphics cards. Unlike integrated graphics, dedicated graphics cards have much more processing units and have its own RAM with much higher memory bandwidth. In some cases, a dedicated graphics chip can be integrated onto the motherboards, B150-GP104 for example. Regardless of the fact that the graphics chip is integrated, it is still counted as a dedicated graphics cards system because the graphics chip is integrated with its own memory. == Theory == Most Personal Computers have a motherboard that uses a Southbridge and Northbridge structure. === Northbridge control === The Northbridge is one of the core logic chipset that handles communications between the CPU, GPU, RAM and the Southbridge. The discrete graphics card is usually installed onto the graphics card slot such as PCI-Express and the integrated graphics is integrated onto the CPU itself or occasionally onto the Northbridge. The Northbridge is the most responsible for switching between GPUs. The way how it works usually has the following process (refer to the Figure 1. on the right): The Northbridge receives input from Southbridge through the internal bus. The Northbridge signals to CPU through the Front-side bus. The CPU runs the task assignment application (usually the graphics card driver) to determine which GPU core to use. The CPU passes down the command to the Northbridge. The Northbridge passes down the command to the according GPU core. The GPU core processes the command and returns the rendered data back to the Northbridge. The Northbridge sends the rendered data back to Southbridge. === Southbridge control === The Southbridge is a set of integrated circuits such Intel's I/O Controller Hub (ICH). It handles all of a computer's I/O functions, such as receiving the keyboard input and outputting the data onto the screen. The way how it usually works usually has two steps: Take in the user input and pass it down to the Northbridge. (Optional) Receive the rendered data from the Northbridge and output it. The reason why the second step can be optional is that sometimes the rendered the data is outputted directly from the discrete graphics card which is located on the graphics card slot so there is no need to output the data through the Southbridge. == Main purpose == GPU switching is mostly used for saving energy by switching between graphic cards. The dedicated graphics cards consume much more power than integrated graphics but also provides higher 3D performances, which is needed for a better gaming and CAD experience. Following is a list of the TDPs of the most popular CPU with integrated graphics and dedicated graphics cards. The dedicated graphics cards exhibit much higher power consumption than the integrated graphics on both platforms. Disabling them when no heavy graphics processing is needed can significantly lower the power consumption. == Technologies == === Nvidia Optimus === Nvidia Optimus™ is a computer GPU switching technology created by Nvidia that can dynamically and seamlessly switch between two graphic cards based on running programs. === AMD Enduro === AMD Enduro™ is a collective brand developed by AMD that features many new technologies that can significantly save power. It was previously named as: PowerXpress and Dynamic Switchable Graphics (DSG). This technology implements a sophisticated system to predict the potential usage need for graphics cards and switch between graphics cards based on predicted need. This technology also introduces a new power control plan that allows the discrete graphics cards consume no energy when idling. == Manufacturers == === Integrated graphics === In personal computers, the IGP (integrated graphics processors) are mostly manufactured by Intel and AMD and are integrated onto their CPUs. They are commonly known as: Intel HD and Iris Graphics - also called HD series and Iris series AMD Accelerated Processing Unit (APU) - also formerly known as: fusion === Dedicated graphics cards === The most popular dedicated graphics cards are manufactured by AMD and Nvidia. They are commonly known as: AMD Radeon Nvidia GeForce == Drivers and OS support == Most common operating systems have built-in support for this feature. However, the users may download the updated drivers from Nvidia or AMD for better experience. === Windows support === Windows 7 has built-in support for this feature. The system automatically switches between GPUs depending on the program that's running. However, the user may switch the GPUs manually through device manager or power manager. === Linux === Modern Linux systems handle hybrid graphics in two parts: power/control for the inactive GPU, and optional render offloading for individual applications. vga_switcheroo (in the kernel since 2.6.34) coordinates power and mux control on systems with multiple GPUs. It was designed primarily for muxed designs (hardware display switch), and on muxless laptops it is typically used only for power control. A display server restart is no longer required for offloading on muxless systems. DRI PRIME (Mesa) enables per-process render offload on muxless systems: an app renders on the discrete GPU and the integrated GPU presents the result. Users can opt in via the DRI_PRIME environment variable (e.g., DRI_PRIME=1) or desktop integration. On GNOME, the switcheroo-control service exposes the discrete GPU to the shell, adding a “Launch using Discrete Graphics Card” entry to app menus on supported systems (Wayland or Xorg), which invokes render offload under the hood. With the proprietary Nvidia driver, render offload is provided as PRIME Render Offload (supported since driver 435.xx). Distributions commonly ship a helper like prime-run or desktop menu entries that set the required environment for offloading. ==== Notes and limitations (Linux) ==== On muxless systems the internal display is hard-wired to the integrated GPU; the discrete GPU cannot directly drive that panel and instead renders offscreen for composition by the iGPU. External displays connected to the dGPU may allow direct output depending on the laptop’s wiring. Power-saving behavior varies by driver and distro defaults. Some setups need explicit configuration to power down the inactive GPU when idle. Desktop integrations (e.g., GNOME's menu item) simply opt an app into offload; they do not "auto-switch" the whole session. Users can still launch apps on either GPU as needed.

    Read more →
  • ISO/IEC JTC 1/SC 6

    ISO/IEC JTC 1/SC 6

    ISO/IEC JTC 1/SC 6 Telecommunications and information exchange between systems is a standardization subcommittee of the Joint Technical Committee ISO/IEC JTC 1. It is part of the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC), which develops and facilitates standards within the field of telecommunications and information exchange between systems. ISO/IEC JTC 1/SC 6 was established in 1964, following the creation of a Special Working Group under ISO/TC 97 on Data Link Control Procedures and Modem Interfaces. The international secretariat of ISO/IEC JTC 1/SC 6 is the Korean Agency for Technology and Standards (KATS), located in South Korea. == Scope == The scope of ISO/IEC JTC 1/SC 6 is “Standardization in the field of telecommunications dealing with the exchange of information between open systems including system functions, procedures, parameters as well as the conditions for their use. The standardization encompasses protocols and services of lower layers, including physical, data link, network, and transport as well as those of upper layers including but not limited to Directory and ASN.1.” Future Network has recently been added as an important work scope. A considerable part of the work is done in effective cooperation with ITU-T and other standardization bodies including IEEE 802 and Ecma International. == Structure == ISO/IEC JTC 1/SC 6 has three active working groups (WGs), each of which carries out specific tasks in standards development within the field of telecommunications and information exchange between systems. The focus of each working group is described in the group’s terms of reference. Working groups can be established if new working areas arise, or disbanded if the group’s working area is no longer relevant to standardization needs. Active working groups of ISO/IEC JTC 1/SC 6 are: == Collaborations == ISO/IEC JTC 1/SC 6 works in close collaboration with a number of other organizations or subcommittees, both internal and external to ISO or IEC. Organizations internal to ISO or IEC that collaborate with or are in liaison with ISO/IEC JTC 1/SC 6 include: ISO/IEC JTC 1/WG 7, Sensor networks ISO/IEC JTC 1/SC 17, Cards and personal identification ISO/IEC JTC 1/SC 25, Interconnection of information technology equipment ISO/IEC JTC 1/SC 27, IT security techniques ISO/IEC JTC 1/SC 29, Coding of audio, picture, multimedia and hypermedia information ISO/IEC JTC 1/SC 31, Automatic identification and data capture techniques ISO/IEC JTC 1/SC 38, Distributed application platforms & services (DAPS) ISO/TC 68, Financial services ISO/TC 122, Packaging ISO/TC 184/SC 5, Interoperability, integration, and architectures for enterprise systems and automation applications ISO/TC 215, Health Informatics IEC/SC 46A, Coaxial cables IEC/SC 46C, Wires and symmetric cables IEC/TC 48, Electrical connectors and mechanical structures for electrical and electronic equipment IEC/SC 48B, Electrical connectors IEC/TC 65, Industrial-process measurement, control and automation IEC/SC 65C, Industrial networks IEC/TC 86, Fibre optics IEC/SC 86C, Fibre optic systems and active devices IEC/TC 93, Design automation Some organizations external to ISO or IEC that collaborate with or are in liaison to ISO/IEC JTC 1/SC 6 include: European Conference of Postal and Telecommunications Administrations (CEPT) European Organization for Nuclear Research (CERN) European Commission (EC) European Telecommunications Standards Institute (ETSI) Ecma International International Civil Aviation Organization (ICAO) IEEE 802 LMSC (LAN/MAN Standards Committee) Internet Society (ISOC) International Telecommunications Satellite Organization (ITSO) ITU-T Organization for the Advancement of Structured Information Standards (OASIS) NFC Forum MFA Forum United Nations Conference on Trade and Development (UNCTAD) United Nations Economic Commission for Europe (UNECE) Universal Postal Union (UPU) World Meteorological Organization (WMO) CEN/TC 247/WG 4 == Member countries == Countries pay a fee to ISO to be members of subcommittees. The 19 "P" (participating) members of ISO/IEC JTC 1/SC 6 are: Austria, Belgium, Canada, China, Czech Republic, Finland, Germany, Greece, Jamaica, Japan, Kazakhstan, Republic of Korea, Netherlands, Russian Federation, Spain, Switzerland, Tunisia, United Kingdom, and United States. The 31 "O" (observing) members of ISO/IEC JTC 1/SC 6 are: Argentina, Bosnia and Herzegovina, Colombia, Cuba, Cyprus, France, Ghana, Hong Kong, Hungary, Iceland, India, Indonesia, Islamic Republic of Iran, Ireland, Italy, Kenya, Luxembourg, Malaysia, Malta, New Zealand, Norway, Philippines, Poland, Romania, Saudi Arabia, Serbia, Singapore, Slovenia, Thailand, Turkey, and Ukraine. == Published standards == There are 365 published standards under the direct responsibility of ISO/IEC JTC 1/SC 6. Published standards by ISO/IEC JTC 1/SC 6 include:

    Read more →
  • Winner-take-all in action selection

    Winner-take-all in action selection

    Winner-take-all is a computer science concept that has been widely applied in behavior-based robotics as a method of action selection for intelligent agents. Winner-take-all systems work by connecting modules (task-designated areas) in such a way that when one action is performed it stops all other actions from being performed, so only one action is occurring at a time. The name comes from the idea that the "winner" action takes all of the motor system's power. == History == In the 1980s and 1990s, many roboticists and cognitive scientists were attempting to find speedier and more efficient alternatives to the traditional world modeling method of action selection. In 1982, Jerome A. Feldman and D.H. Ballard published the "Connectionist Models and Their Properties", referencing and explaining winner-take-all as a method of action selection. Feldman's architecture functioned on the simple rule that in a network of interconnected action modules, each module will set its own output to zero if it reads a higher input than its own in any other module. In 1986, Rodney Brooks introduced behavior-based artificial intelligence. Winner-take-all architectures for action selection soon became a common feature of behavior-based robots, because selection occurred at the level of the action modules (bottom-up) rather than at a separate cognitive level (top-down), producing a tight coupling of stimulus and reaction. == Types of winner-take-all architectures == === Hierarchy === In the hierarchical architecture, actions or behaviors are programmed in a high-to-low priority list, with inhibitory connections between all the action modules. The agent performs low-priority behaviors until a higher-priority behavior is stimulated, at which point the higher behavior inhibits all other behaviors and takes over the motor system completely. Prioritized behaviors are usually key to the immediate survival of the agent, while behaviors of lower priority are less time-sensitive. For example, "run away from predator" would be ranked above "sleep." While this architecture allows for clear programming of goals, many roboticists have moved away from the hierarchy because of its inflexibility. === Heterarchy and fully distributed === In the heterarchy and fully distributed architecture, each behavior has a set of pre-conditions to be met before it can be performed, and a set of post-conditions that will be true after the action has been performed. These pre- and post-conditions determine the order in which behaviors must be performed and are used to causally connect action modules. This enables each module to receive input from other modules as well as from the sensors, so modules can recruit each other. For example, if the agent's goal were to reduce thirst, the behavior "drink" would require the pre-condition of having water available, so the module would activate the module in charge of "find water". The activations organize the behaviors into a sequence, even though only one action is performed at a time. The distribution of larger behaviors across modules makes this system flexible and robust to noise. Some critics of this model hold that any existing set of division rules for the predecessor and conflictor connections between modules produce sub-par action selection. In addition, the feedback loop used in the model can in some circumstances lead to improper action selection. === Arbiter and centrally coordinated === In the arbiter and centrally coordinated architecture, the action modules are not connected to each other but to a central arbiter. When behaviors are triggered, they begin "voting" by sending signals to the arbiter, and the behavior with the highest number of votes is selected. In these systems, bias is created through the "voting weight", or how often a module is allowed to vote. Some arbiter systems take a different spin on this type of winner-take-all by using a "compromise" feature in the arbiter. Each module is able to vote for or against each smaller action in a set of actions, and the arbiter selects the action with the most votes, meaning that it benefits the most behavior modules. This can be seen as violating the general rule against creating representations of the world in behavior-based AI, established by Brooks. By performing command fusion, the system is creating a larger composite pool of knowledge than is obtained from the sensors alone, forming a composite inner representation of the environment. Defenders of these systems argue that forbidding world-modeling puts unnecessary constraints on behavior-based robotics, and that agents benefits from forming representations and can still remain reactive.

    Read more →
  • Grid network

    Grid network

    A grid network is a computer network consisting of a number of computer systems connected in a grid topology. In a regular grid topology, each node in the network is connected with two neighbors along one or more dimensions. If the network is one-dimensional, and the chain of nodes is connected to form a circular loop, the resulting topology is known as a ring. Network systems such as FDDI use two counter-rotating token-passing rings to achieve high reliability and performance. In general, when an n-dimensional grid network is connected circularly in more than one dimension, the resulting network topology is a torus, and the network is called "toroidal". When the number of nodes along each dimension of a toroidal network is 2, the resulting network is called a hypercube. A parallel computing cluster or multi-core processor is often connected in regular interconnection network such as a de Bruijn graph, a hypercube graph, a hypertree network, a fat tree network, a torus, or cube-connected cycles. A grid network is not the same as a grid computer or a computational grid, although the nodes in a grid network are usually computers, and grid computing requires some kind of computer network or "universal coding" to interconnect the computers.

    Read more →
  • Vue.js

    Vue.js

    Vue.js (commonly referred to as Vue; pronounced "view") is an open-source model–view–viewmodel front end JavaScript framework for building user interfaces and single-page applications. It was created by Evan You and is maintained by him and the rest of the active core team members. == Overview == Vue.js features an incrementally adaptable architecture that focuses on declarative rendering and component composition. The core library is focused on the view layer only. Advanced features required for complex applications such as routing, state management and build tooling are offered via officially maintained supporting libraries and packages. Vue.js allows for extending HTML with HTML attributes called directives. The directives offer functionality to HTML applications, and come as either built-in or user defined directives. == History == Vue was created by Evan You after working for Google using AngularJS in several projects. He later summed up his thought process: "I figured, what if I could just extract the part that I really liked about Angular and build something really lightweight." The first source code commit to the project was dated July 2013, at which time it was originally named "Seed". Vue was first publicly announced the following February, in 2014. Version names are often derived from manga and anime series, with the first letters arranged in alphabetical order. === Versions === When a new major is released i.e. v3.y.z, the last minor i.e. 2.x.y will become a LTS release for 18 months (bug fixes and security patches) and for the following 18 months will be in maintenance mode (security patches only). Vue 3 was officially released in September 2020. According to the State of Vue.js Report 2025, 96% of surveyed developers reported having used Vue 3.x. However, 35% also indicated that they used Vue 2.7.x in the past year, reflecting continued reliance on Vue 2 despite its end of support. The report also noted that more than a quarter of respondents encountered challenges when migrating from Vue 2 to Vue 3. === State management evolution === 2015 - Vuex introduced as official state management solution 2021 - Pinia development begins as Vuex 5 experiment 2022 - Pinia becomes officially recommended for new projects 2023 - Vue team announces Vuex maintenance mode transition According to the State of Vue.js Report 2025, the Vue's core team recommendation is reflected in developer adoption–over 80% of surveyed developers reported using Pinia while Vuex still had 38.4% usage, indicating ongoing reliance on the older library. == Features == === Components === Vue components extend basic HTML elements to encapsulate reusable code. At a high level, components are custom elements to which the Vue's compiler attaches behavior. In Vue, a component is essentially a Vue instance with pre-defined options. The code snippet below contains an example of a Vue component. The component presents a button and prints the number of times the button is clicked: === Templates === Vue uses an HTML-based template syntax that allows binding the rendered DOM to the underlying Vue instance's data. All Vue templates are valid HTML that can be parsed by specification-compliant browsers and HTML parsers. Vue compiles the templates into virtual DOM render functions. A virtual Document Object Model (or "DOM") allows Vue to render components in its memory before updating the browser. Combined with the reactivity system, Vue can calculate the minimal number of components to re-render and apply the minimal amount of DOM manipulations when the app state changes. Vue users can use template syntax or choose to directly write render functions using hyperscript either through function calls or JSX. Render functions allow applications to be built from software components. === Reactivity === Vue features a reactivity system that uses plain JavaScript objects and optimized re-rendering. Each component keeps track of its reactive dependencies during its render, so the system knows precisely when to re-render, and which components to re-render. === Transitions === Vue provides a variety of ways to apply transition effects when items are inserted, updated, or removed from the DOM. This includes tools to: Automatically apply classes for CSS transitions and animations Integrate third-party CSS animation libraries, such as Animate.css Use JavaScript to directly manipulate the DOM during transition hooks Integrate third-party JavaScript animation libraries, such as Velocity.js When an element wrapped in a transition component is inserted or removed, this is what happens: Vue will automatically sniff whether the target element has CSS transitions or animations applied. If it does, CSS transition classes will be added/removed at appropriate timings. If the transition component provided JavaScript hooks, these hooks will be called at appropriate timings. If no CSS transitions/animations are detected and no JavaScript hooks are provided, the DOM operations for insertion and/or removal will be executed immediately on next frame. === Routing === A traditional disadvantage of single-page applications (SPAs) is the inability to share links to the exact "sub" page within a specific web page. Because SPAs serve their users only one URL-based response from the server (it typically serves index.html or index.vue), bookmarking certain screens or sharing links to specific sections is normally difficult if not impossible. To solve this problem, many client-side routers delimit their dynamic URLs with a "hashbang" (#!), e.g. page.com/#!/. However, with HTML5 most modern browsers support routing without hashbangs. Vue provides an interface to change what is displayed on the page based on the current URL path – regardless of how it was changed (whether by emailed link, refresh, or in-page links). Additionally, using a front-end router allows for the intentional transition of the browser path when certain browser events (i.e. clicks) occur on buttons or links. Vue itself doesn't come with front-end hashed routing. But the open-source "vue-router" package provides an API to update the application's URL, supports the back button (navigating history), and email password resets or email verification links with authentication URL parameters. It supports mapping nested routes to nested components and offers fine-grained transition control. With Vue, developers are already composing applications with small building blocks building larger components. With vue-router added to the mix, components must merely be mapped to the routes they belong to, and parent/root routes must indicate where children should render. The code above: Sets a front-end route at websitename.com/user/. Which will render in the User component defined in (const User...) Allows the User component to pass in the particular id of the user which was typed into the URL using the $route object's params key: $route.params.id. This template (varying by the params passed into the router) will be rendered into inside the DOM's div#app. The finally generated HTML for someone typing in: websitename.com/user/1 will be: == Ecosystem == The core library comes with tools and libraries both developed by the core team and contributors. === Official tooling === Devtools – Browser devtools extension for debugging Vue.js applications Vite – Standard Tooling for rapid Vue.js development Vue Loader – a webpack loader that allows the writing of Vue components in a format called Single-File Components (SFCs) Vue.js Plugins Collection - Collection of almost 100 plugins and ecosystem libraries across various categories. === Official libraries === Vue Router – The official router, suitable for building SPAs Pinia – The official state management solution === Video courses === Vue School – Expert-led courses on Vue.js and its ecosystem. === State management libraries === Pinia – Official state management solution with modular architecture Vuex – Legacy state management library, now in maintenance mode VueUse – Collection of 200+ composition utilities including state management helpers === Community & Core Teams Resources === The State of Vue.js Report - A comprehensive publication about Vue.js created since 2017 by Monterail, Vue & Nuxt Official Partner. Each edition includes unique data from developer survey, key ecosystem trends and case studies. The latest 5th edition released in March 2025 was co-created with Evan You and Vue&Nuxt Core Teams. Although the Vue.js Ecosystem is generally very well-developed, developers point to some ecosystem gaps as one of the most important thing missing (as of March 2025 Developer Survey in the State of Vue.js Report 2025). 22% of respondents mentioned the lack of robust, official component libraries like MUI or Radix, and the need for better testing utilities. There was also demand for more modular, enterprise-ready solutions for dashboards, e-commerce, and animation libraries similar to Fr

    Read more →