AI Face Combiner

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

  • Softwarp

    Softwarp

    Softwarp is a software technique to warp an image so that it can be projected on a curved screen. This can be done in real time by inserting the softwarp as a last step in the rendering cycle. The problem is to know how the image should be warped to look correct on the curved screen. There are several techniques to auto calibrate the warping by projecting a pattern and using cameras and/or sensors. The information from the sensors is sent to the software so that it can analyze the data and calculate the curvature of the projection screen. == Usage == The softwarp can be used to project virtual views on curved walls and domes. These are usually used in vehicle simulators, for instance boat-, car- and airplane simulators. To make it possible to cover a dome with a 360 degree view you need to use several projectors. A problem with using several projectors on the same screen is that the edges between the projected images get about twice the amount of light. This is solved by using a technique called edge blending. With this technique a “filter” is inserted on the edge that fades the image from 100% light strength (luminance) to 0% (the lowest luminance depends on the contrast ratio of the projector). == History == The first warping technologies used a hardware image processing unit to warp the image. This processing unit was inserted between the graphics card and the projector. The problem with this technique is that it depends on the type of signal and the quality of the signal from the graphics card to warp it correctly. The process unit also needs several lines of image information before it can start sending out the warped image. This adds a latency to the display system that could be a problem in simulators that need fast response time, for instance fighter jet simulators. Softwarping eliminates the latency.

    Read more →
  • MADI

    MADI

    Multichannel Audio Digital Interface (MADI) standardized as AES10 by the Audio Engineering Society (AES) defines the data format and electrical characteristics of an interface that carries multiple channels of digital audio. The AES first documented the MADI standard in AES10-1991 and updated it in AES10-2003 and AES10-2008. The MADI standard includes a bit-level description and has features in common with the two-channel AES3 interface. MADI supports serial digital transmission over coaxial cable or fibre-optic lines of 28, 56, 32, or 64 channels; and sampling rates to 96 kHz and beyond with an audio bit depth of up to 24 bits per channel. Like AES3 and ADAT Lightpipe, it is a unidirectional interface from one sender to one receiver. == Development and applications == MADI was developed by AMS Neve, Solid State Logic, Sony and Mitsubishi and is widely used in the audio industry, especially in the professional audio sector. It provides advantages over other audio digital interface protocols and standards such as AES3, ADAT Lightpipe, TDIF (Tascam Digital Interface), and S/PDIF (Sony/Philips Digital Interface). These advantages include: Support for a greater number of channels per line Use of coaxial and optical fiber media that support transmission of audio signals over 100 meters, up to 3000 meters over multi-mode and 40,000 meters over single-mode optical fiber The original specification (AES10-1991) defined the MADI link as a 56-channel transport for linking large-format mixing consoles to digital multitrack recording devices. Large broadcast studios also adopted it for routing multi-channel audio throughout their facilities. The 2003 revision (AES10-2003) adds a 64-channel capability by removing varispeed operation and supports 96 kHz sampling frequency with reduced channel capacity. The latest AES10-2008 standard includes minor clarifications and updates to correspond to the current AES3 standard. Audio over Ethernet of various types is the primary alternative to MADI for transport of many channels of professional digital audio. == Transmission format == MADI links use a transmission format similar to Fiber Distributed Data Interface (FDDI) networking. Since MADI is most often transmitted on copper links via 75-ohm coaxial cables, it more closely compares to the FDDI specification for copper-based links, called CDDI. AES10-2003 recommends using BNC connectors with coaxial cables and SC connectors with optic fibers. MADI over fibre can support a range of up to 2 km. The basic data rate is 100 Mbit/s of data using 4B5B encoding to produce a 125 MHz physical baud rate. Unlike AES3, this clock is not synchronized to the audio sample rate, and the audio data payload is padded using JK sync symbols. Sync symbols may be inserted at any subframe boundary, and must occur at least once per frame. Though the standard disassociates the transmission clock from the audio sample rate, and thus requires a separate word clock connection to maintain synchronization, some vendors do give the option of locking to parts of the transmission timing information for purposes of deriving a word clock. The audio data is almost identical to the AES3 payload, though with more channels. Rather than letters, MADI assigns channel numbers from 0–63. Frame synchronization is provided by sync symbols outside the data itself, rather than an embedded preamble sequence, and the first four time slots of each sub-channel are encoded as normal data, used for sub-channel identification: Bit 0: Set to 1 to mark channel 0, the first channel in each frame Bit 1: Set to 1 to indicate that this channel is active (contains interesting data) Bit 2: notA/B channel marker, used to mark left (0) and right (1) channels. Generally, even channels are A and odd channels are B. Bit 3: Set to 1 to mark the beginning of a 192-sample data block == Sampling frequency == The original AES10-1991 specification allowed 56 channels at sample rates from 32 to 48 kHz with an additional vari-speed range of ± 12.5%. This leads to a total range of 28 to 54 kHz. At the highest frequency, this produces a total of 56 × 32 × 54 = 96768 kbit/s, leaving 3.232% of the channel for synchronization marks and transmit clock error. The 2003 revision specifies different relations between sampling frequency and number of channels. 32 kHz to 48 kHz ± 12.5%, 56 channels; 32 kHz to 48 kHz nominal, 64 channels; 64 kHz to 96 kHz ± 12.5%, 28 channels. With a 48 kHz sampling frequency, 64 channels take 64 × 32 × 48000 = 98.304 Mbit/s. Adding the minimum 8 × 58 kbit/s of framing produces 98688 bit/s, leaving 1.312% free for timing variation and other overhead. Both versions of the standard accommodate higher sampling frequencies (for example, 96 kHz or 192 kHz) by using two or more channels per audio sample on the link.

    Read more →
  • Bare machine

    Bare machine

    In information technology, a bare machine (or bare-metal computer) is a computer which has no operating system. The software executed by a bare machine, commonly called a bare metal program or bare metal application, is designed to interact directly with hardware. Bare machines are widely used in embedded systems, particularly in cases where resources are limited or high performance is required. == Bare machine computing == Bare Machine Computing is a computing paradigm in which application software runs directly on a bare machine as a single, stand-alone executable, without an operating system or device drivers. The application software has direct access to hardware resources, and there is typically no distinction between user and kernel mode. It is self-managed software that boots, loads and runs without using any other software components. Bare metal programs are typically written in a close-to-hardware language such as C or assembly language. == Advantages == Typically, a bare-metal application will run faster, use less memory and be more power efficient than an equivalent program that relies on an operating system, due to the inherent overhead imposed by system calls. For example, hardware inputs and outputs are directly accessible to bare metal software, whereas they must usually be accessed through system calls when using an OS. It has no OS and therefore has no OS-related vulnerabilities. == Disadvantages == Bare metal applications typically require more effort to develop because operating system services such as memory management and task scheduling are not available. Debugging a bare-metal program may be complicated by factors such as: Lack of a standard output. The target machine may differ from the hardware used for program development (e.g., emulator, simulator). This forces setting up a way to load the bare-metal program onto the target (flashing), start the program execution and access the target resources. == Examples == === Early computers === Early computers, such as the PDP-11, allowed programmers to load a program, supplied in machine code, to RAM. The resulting operation of the program could be monitored by lights, and output derived from magnetic tape, print devices, or storage. Amdahl UTS's performance improves by 25% when run on bare metal without VM, the company said in 1986. === Embedded systems === Bare machine programming is a common practice in embedded systems, in which microcontrollers or microprocessors boot directly into monolithic, single-purpose software without loading an operating system. Such embedded software can vary in structure. For example, one such program paradigm, known as foreground-background or superloop architecture, consists of an infinite main loop in which each task is executed sequentially and must voluntarily return control back to the loop. The loop runs these cooperative background processes that are not time-critical, while interrupt service routines momentarily interrupt the loop to handle time-critical foreground tasks.

    Read more →
  • CU-RTC-WEB

    CU-RTC-WEB

    Customizable, Ubiquitous Real Time Communication over the Web is an API definition being drafted by Bernard Aboba at Microsoft. It is a competing standard to WebRTC, which drafted by a World Wide Web Consortium working group since May 2011. As of 2024, CU-RTC-WEB is still in the drafting phase, with ongoing discussions and contributions from various stakeholders in the tech community. Bernard Aboba, who serves as a co-chair of the W3C WebRTC Working Group, is actively involved in both CU-RTC-WEB and WebRTC, indicating a commitment to advancing real-time communication standards across platforms.

    Read more →
  • Tuber (app)

    Tuber (app)

    Tuber (Chinese: Tuber浏览器) was a web browser mobile app developed by Shanghai Fengxuan Information Technology that allowed users within mainland China to view filtered versions of certain websites normally blocked by the Great Firewall. Filtered versions of websites such as Google, Facebook, Instagram, YouTube, Twitter, Netflix, IMDb, and Wikipedia could be viewed. The app was backed by cybersecurity company Qihoo 360 which served as the parent company. The app required phone number registration. Sensitive keywords were blocked by the app. On October 9, 2020, Global Times editor Rita Bai Yunyi tweeted that the move represented "a great step for China's opening up". The app was removed from China domestic app stores and operations ceased as of October 10, 2020. On October 12, when questioned by a Bloomberg News reporter on the topic, Foreign Ministry spokesperson Zhao Lijian replied, "This is not a diplomatic issue, and I do not have the relevant information you mentioned. China has always managed the Internet in accordance with the law. I suggest you ask the competent department for the specific situation."

    Read more →
  • Fan loyalty

    Fan loyalty

    Fan loyalty is the loyalty felt and expressed by a fan towards the object of their fanaticism. Fan loyalty is often used in the context of sports and the support of a specific team or institution. Fan loyalties can range from a passive support to radical allegiance and expressions of loyalty can take shape in many forms and be displayed across varying platforms. Fan loyalty can be threatened by team actions. The loyalties of sports fans in particular have been studied by psychologists, who have determined several factors that help to create such loyalties. == Underpinning psychology == Given the extensive costs involved in managing and operating a professional team sport, it is beneficial for sports marketers to be conscious of the elements that establish a strong brand and the effect they have on fan loyalty, so they can best cater to their current fans while acquiring new ones. This is because fans and spectators are considered key stakeholders of professional sports organisations. Fans directly and indirectly influence the production of operating revenue through purchasing merchandise, buying game tickets and improving the value that can be obtained from television broadcasting deals and sponsorship. Therefore, fans are a key factor to consider in determining the economic success of a sports club. Deep psychological connections with new teams can be built with individuals before a team has even played a match revealing insights can develop quickly in the mind of consumers without direct encounters or experiences e.g. watching a team compete. Brand management approaches are helping sport organisations to expand the sport experience, appeal to new fans and enable long term business to consumer relationships through multi faceted connection such as social media. To affect consumers’ loyalty with a team, they must develop a compelling, positive and distinctive brand in order to stand out amongst competitor and vie for fan support. Loyalty programmes positively shape fan attachment and behaviour as it connects teams and their fans, aside from a club's season ticketholder database. It not only provides marketers with essential information about consumers and their thinking, but also acts as a channel to promote attendance and an opportunity to add value to their game day experience. Bauer et al. concludes that non product related attributes such as contextual factors (other fans, the club history and tradition, logo, club colours and the stadium atmosphere) hold a higher place in fan experience than product related attributes such as the team's winning record. Therefore, to increase fan loyalty (customer retention) Bauer et al. suggests sports marketers focus on targeting non product related benefits and brand attributes. As a result of fostering this loyalty, sports organisations can afford to charge prices at premium. Fan loyalty also leads to dependable ratings in broadcast media which means broadcasters can also charge premiums for advertising time in team broadcasts with loyal followings. A flow on effect from fan loyalty is the ability to create additional revenue streams outside of the core product such as merchandise shops and food venues that are close to the location of the game if the team chooses to own and operate ventures or share licensing agreements. Fan loyalty, particularly with respect to team sports, is different from brand loyalty, in as much as if a consumer bought a product that was of lower quality than expected, he or she will usually abandon allegiance to the brand. However, fan loyalty continues even if the team that the fan supports continues to perform poorly year after year. Author Mark Conrad uses the Chicago Cubs as an example of a team with a loyal fan following, where fans spend their money in support of a poorly performing team that (until 2016) had not won a pennant since 1945 or a World Series since 1908. They attribute it to the following factors: Entertainment Value The entertainment value that a fan derives from spectating motivates him/her to remain a loyal fan. Entertainment value of team sports is also valuable to communities in general. Authenticity This is described by Passikoff as "the acceptance of the game as real and meaningful". Fan Bonding Fan bonding is where a fan bonds with the players, identifying with them as individuals, and bonds with the team. Team History and Tradition Shank gives the Cincinnati Reds, all-professional baseball's oldest team, as an example of a team where a long team history and tradition is a motivator for fans in the Cincinnati area. Group Affiliation Fans receive personal validation of their support for a team from being surrounded by a group of fans who also support the same team. Fair Weather Fans Fans that engage when a team is good, and lose interest when a team is bad. Bandwagon Fans Fans who support the winning team, instead of supporting the same team year after year. Diehard Fans Fans who follow their team no matter if they are winning or losing. == Factors influencing fan loyalty == === Community === Fan loyalty attachment is strengthened through communal ties that connect fans around a team, forming a community that results in regular fan interaction. This interaction is particularly important as fans may not develop solely an intra-psychic team identity but predominantly display behavioural loyalty through the group consumption of indirect sport experiences instead, such as wearing the team colours, singing, cheering, flags and interaction between the sport's team's fans (e.g. laughing, talking) Through indirect sport experiences, the stadium atmosphere can be heightened and as a result, the frequency of fan attendance can increase. Furthermore, by wearing team apparel, fans can visually identify with one another resulting an increased likelihood of opportunities to engage with others socially through this point of connection. For example, a study on NASCAR fans found that their personal identity was connected to the brand itself as they felt connected to the larger community of NASCAR revealing an emotional connection to the brand. This indicates that their fan loyalty will result in the notion that fans are naturally more resistant to the promotional efforts of competing brands (e.g. lower-price offers) as their emotional commitment to NASCAR is greatly embedded in their sense of identity. When they associate themselves with the sponsors because of the sponsor's relation to the brand, they are solidifying their relationship with NASCAR and are therefore reinforcing their identity. Consequently, their fan loyalty translates into brand loyalty so long as the sponsor remains attached to the subject of their fanaticism, NASCAR, meaning they are less price sensitive and more willing to pay premium prices for sponsor's products or services. Another aspect of consumer behaviour regarding fan loyalty is the existence of consumption communities where members feel a sense of unity when they participate in the group consumption of brand sponsors’ goods and services further strengthening their ties to a brand and its sponsors. However, a strategy sports marketers use to appeal to a wider range of fan identities is to sponsor more than one club in sports such as soccer. This is so they are careful not to come across as a singularly affiliated club brand, where the opinion or perceptions of opposing teams’ fans would be one of disfavour towards them. === Brand association === Any benefit or characteristic connected to a brand as perceived by a consumer is called a brand association. These hold significance over the thoughts and opinions a consumer holds about a brand and can therefore influence one's loyalty. These associations provide a reference point to gauge the salience of a brand which is the perceived favourability associated with it. Brand salience is vital because it ultimately effects the likelihood of brand selection and loyalty leading to steadier spectator numbers, and an increase in attention from the media such as advertisers and sponsors. However, loyalty is a developmental process. According to Bee & Havitz (2010), spectators who are highly involved in the participation of a sport and exhibit psychological commitment, possess the capability to display high levels of behavioural loyalty as they develop into committed fans. On the other hand, neutral or negative feelings towards a team are found to foster indifference or cause an individual to disidentify with a team altogether. A model of ‘escalating commitment’, put forward by Funk and James (2001), demonstrates an individual's movement from ‘awareness’ of team to a subsequent ‘allegiance’ but came to the conclusion that more research was required to find out the key influences that lead one to the highest state of commitment. However, brand association development is fostered under brand management within a sports organisation. It is important for sports management research to identify t

    Read more →
  • Online exhibition

    Online exhibition

    An online exhibition, also referred to as a virtual exhibition, online gallery, cyber-exhibition, is an exhibition whose venue is cyberspace. Museums and other organizations create online exhibitions for many reasons. For example, an online exhibition may: expand on material presented at, or generate interest in, or create a durable online record of, a physical exhibition; save production costs (insurance, shipping, installation); solve conservation/preservation problems (e.g., handling of fragile or rare objects); reach lots more people: "Access to information is no longer restricted to those who can afford travel and museum visits, but is available to anyone who has access to a computer with an Internet connection. Unlike physical exhibitions, online exhibitions are not restricted by time; they are not forced to open and close but may be available 24 hours a day. In the nonprofit world, many museums, libraries, archives, universities, and other cultural organizations create online exhibitions. A database of such exhibitions is Library and Archival Exhibitions on the Web. Online exhibition organizers may use techniques such as marquee text, display advertisements, and in-event emails to engage patrons. Various guides have been published to help organizations create effective online exhibitions. The earliest museum with a physical existence to create a programme of substantial online exhibitions with high resolution images of artefacts was the Museum of the History of Science in Oxford, the first of which, The Measurers: a Flemish Image of Mathematics in the Sixteenth Century and an exhibition of early photographs, were published on 21 August 1995. == Examples of online exhibitions == International Museum of Women is an online-only museum that does not have a physical building and instead offers online exhibitions about women's issues globally as well as an online community. Online exhibitions include "Imagining Ourselves" (launched 2006) about women's identity, "Women, Power and Politics" (2008), and "Economica: Women and the Global Economy" (2009). Tucson LGBTQ Museum is an online-only museum that does not have a physical building and instead offers online exhibitions about LGBTQ history. The online photographic, audio, video, text, and other historical exhibitions include exhibits from the 1700s to the present day. The effort began in the summer of 1967 and spanned almost 50 years. International New Media Gallery (INMG) is an online museum specialising in moving image and screen-based art. The INMG is dedicated to exploring current debates and topics in art history: touching on areas such as migration, war, environmental activism and the internet itself. The gallery publishes extensive academic catalogues alongside its exhibitions. It also hosts spaces for discussion and debate, both online and offline. Virtual Museum of Modern Nigerian Art – the VMMNA is the first of its kind in Africa. Hosted by the Pan-African University, Lagos, Nigeria this virtual museum offers a good view of the development on Nigerian Art in the past fifty years.

    Read more →
  • Virtual Print Fee

    Virtual Print Fee

    Virtual Print Fee (VPF) is a subsidy paid by a film distributor towards the purchase of digital cinema projection equipment for use by a film exhibitor in the presentation of first release motion pictures. The subsidy is paid in the form of a fee per booking of a movie, intended to match the savings that occurs by not shipping a film print. The model is designed to help redistribute the savings realized by studios when using digital distribution instead of film print distribution and is intended to vanish when the transition phase is over when the vast majority of cinemas screens are equipped. == History == The first public demonstration of digital projection for cinema took place at ShoWest in 1999, and it was readily apparent that the technology was further ahead than the business model. Early technology presentations attempted to claim that the technology would pay for itself through new revenues generated by new forms of content. But exhibitors knew their audience, and could see that digital projection was only a replacement technology, creating new financial liabilities, and not new revenue. It wasn’t until the rollout of digital 3-D years later in 2005 that digital projection demonstrated that it could be used to generate additional revenue. The economics were challenging. Film projectors and platters cost in the neighborhood of US$30,000, while early digital projectors cost up to US$150,000. Further, film projectors had a lifetime of 30 years with relatively small annual expenditures in maintenance and replacement parts. On the other hand, exhibitors felt they would be lucky to get 10 years of service from a digital projector, after which there would have to be a refresh in capital expenditure. Meanwhile, distributors would realize significant savings by eliminating the high cost of film prints with corresponding shipping costs, and instead distributing digital files either by satellite or hard drive. The Virtual Print Fee was designed to better balance savings and expenditures for both exhibitors and distributors. It is intended to primarily assist in the replacement of film projectors, and not assist in the purchase of new projection equipment for new construction. To give confidence to financial institutions that digital cinema technology was stable and worthy of investment, Digital Cinema Initiatives was created in 2002, resulting in the release of the first version of the DCI Digital Cinema System Specification in 2005. The DCI Specification continues to be the core specification for digital cinema, establishing the baseline technology and system requirements for which studios will release digital movies. The first set of VPF agreements executed with four major studios were announced by Christie/AIX in November 2005. Christie/AIX at that time was a subsidiary of Access Integrated Technology, now renamed Cinedigm Digital Cinema Corp. The agreements were for the rollout of digital cinema technology to 4000 screens. Since that time, numerous other Digital Cinema Deployment Agreements have been executed around the world, allowing exhibitors in nearly every territory to benefit from VPF subsidies in the conversion from film projection to digital projection.

    Read more →
  • List of Java software and tools

    List of Java software and tools

    This is a list of software and programming tools for the Java programming language, which includes frameworks, libraries, IDEs, build tools, application servers, and related projects. == Java frameworks == == Libraries == Apache Ant – build automation tool Apache Batik – SVG processing Apache Cayenne – object-relational mapping Apache Xerces – collection of software libraries for parsing, validating, serializing and manipulating XML. Applet – applet API Ardor3D – 3D graphics engine Bonita BPM – workflow engine Cassowary – constraint solving Checkstyle – static code analysis GNU Classpath – standard library implementation Colt – scientific computing and technical computing Commons Daemon – manages applications as daemons DESMO-J – discrete event simulation Diagrams.net – diagramming Disruptor – high-performance messaging Dom4j – XML processing Dynamic Languages Toolkit – support for dynamic programming languages on the JVM Echo – GUI Flying Saucer – XHTML/CSS rendering Formatting Objects Processor – XSL-FO to PDF H2 Database Engine – relational database IAIK-JCE – cryptography Internet Foundation Classes – legacy GUI JavaBeans – reusable component architecture for enabling encapsulation, events, and properties for software components JavaCC – open-source parser generator and lexical analyzer Java Class Library – standard library of Java and other JVM languages Java Native Access – provides Java programs easy access to native shared libraries without using the Java Native Interface Javolution – real-time computing Jblas – linear algebra JDBCFacade – simplifies JDBC use JExcel – Excel API JFugue – music programming JMusic – music programming Joget Workflow – workflow engine JOOQ Object Oriented Querying – fluent API for SQL JPOS – financial messaging JUNG – open-source graph modeling and visualization LanguageWare – language processing LibGDX – game development Modular Audio Recognition Framework – collection of voice, sound, speech, text and natural language processing algorithms. ASM – bytecode manipulation Open Inventor – 3D graphics OpenPDF – PDF Parallel Colt – parallel computing Parboiled – parser PlayN – game development QOCA – constraint solving QtJambi – Qt bindings SLF4J – logging StableUpdate – update management SWT – GUI SuanShu – numerical computing SwingLabs – GUI extensions UBY – natural language processing Undecimber – calendar XDoclet – attribute-oriented programming XINS – XML network services XStream – object serialization == Machine learning and AI == Apache Mahout – scalable machine learning library focused on clustering, classification, and collaborative filtering Apache MXNet – deep learning framework with Java API support Apache OpenNLP – machine learning based toolkit for natural language processing of text Deeplearning4j – distributed deep learning library Deep Java Library – open-source deep learning framework developed by Amazon Web Services Encog – framework for neural networks, genetic algorithms, Hidden Markov model, and Bayesian networks. LIBSVM – Support Vector Machine implementation Mallet – machine learning toolkit for classification, clustering, and topic modeling. MLlib – distributed machine-learning framework on top of Apache Spark Core Neuroph – lightweight neural network framework Weka – collection of machine learning algorithms for data mining Yooreeka – machine learning == Data mining == Java Data Mining (JDM) – standard Java API for data mining Massive Online Analysis (MOA) – data stream mining with concept drift == Math and scientific libraries == Apache Commons Math – general-purpose mathematics library including statistics, linear algebra, and optimization. Colt – high-performance scientific computing, including linear algebra and random numbers. Efficient Java Matrix Library (EJML) – dense and sparse matrix computations and linear algebra Easy Java Simulations – Open Source Physics project designed to create discrete computer simulations Exp4j – evaluates mathematical expressions at runtime GroovyLab – numerical computational environment Hipparchus – fork of Apache Commons Math with updated algorithms for statistics, linear algebra, and optimization. JAMA – numerical linear algebra library Jblas: Linear Algebra for Java (Jblas) – linear algebra library using native BLAS/LAPACK bindings Java Astrodynamics Toolkit – numerical library of software components for use in spaceflight applications for Java or MATLAB Matrix Toolkit Java (MTJ) – linear algebra library with BLAS and LAPACK support OjAlgo – optimization, linear algebra, and financial calculations. OptimJ – extension for mathematical optimization and constraint programming Parallel Colt – A parallel extension of Colt SuanShu – numerical analysis, linear algebra, statistics, and optimization. == Integrated development environments == See also: Java IDEs on Wikibooks Android Studio – IDE for Google's Android operating system BlueJ – educational IDE for teaching Java DrJava – lightweight Java IDE for beginners Eclipse IDE – open-source IDE with extensive plugin ecosystem Greenfoot – educational IDE IntelliJ IDEA – commercial and community editions from JetBrains JDeveloper – freeware IDE supplied by Oracle Corporation jGRASP – software visualizations MyEclipse – Java EE IDE NetBeans IDE – Apache NetBeans Visual Studio Code – general-purpose editor with Java extensions === Online IDEs === Eclipse Che GitHub Codespaces JDoodle Replit == Text editors with Java support == == Build tools and package managers == Apache Ant – automating software build Apache Ivy – subproject of Apache Ant Apache Maven – build automation and dependency management Boot – build automation for Clojure CMake – build tool with limited support for java Gradle – modern build automation tool Go continuous delivery (GoCD) – continuous delivery and build automation server Jenkins – automation server continuous delivery JitPack – package repository for Git projects Leiningen – build automation for Clojure Simple build tool (sbt) – open-source build tool Spring Roo – rapid application development of Java-based enterprise software WaveMaker – low-code development platform == Java runtimes, compilers and virtual machines == Android Runtime – runtime environment javac – Java programming language compiler Java Virtual Machine (JVM) – virtual machine that executes Java bytecode JD Decompiler JEB decompiler – disassembler and decompiler software for Android applications GraalVM – Just-in-time compilation HotSpot – JVM implementation included in OpenJDK == JVM languages and dialects == Clojure – Lisp dialect Groovy JRuby – Ruby implementation Jython – Python implementation Kotlin – popular for Android app development Renjin – R implementation Scala == Application servers and containers == Apache Geronimo – open source application server Apache MINA – event-driven asynchronous network application framework Apache Tomcat – web container and web server Apache TomEE – Apache Tomcat with Java EE features Borland Enterprise Server – discontinued application server by Borland ColdFusion – commercial application server by Adobe Systems GlassFish – application server for Jakarta EE IBM WebSphere Application Server – enterprise application server by IBM IBM WebSphere Application Server Community Edition – open source edition of WebSphere (discontinued) JBoss Enterprise Application Platform – Red Hat's supported distribution of JBoss/WildFly JEUS – commercial Java EE application server from TmaxSoft Jetty – HTTP server and web container Lucee (formerly Railo) – open source CFML application server Netty – non-blocking I/O client–server framework for network applications Oracle Containers for J2EE – discontinued application server by Oracle Oracle WebLogic Server – enterprise application server by Oracle Orion Application Server – early commercial Java EE server by IronFlare Payara Server – fork of GlassFish for production use Resin – Java application server by Caucho (open source and professional editions) SAP NetWeaver Application Server – enterprise application server by SAP WildFly – application server == Debugging and profiling tools == jdb – Java debugger bundled with the JDK JConsole – JMX-compliant monitoring tool JDK Flight Recorder – method profiling, allocation profiling, and garbage collection related events. JProfiler – commercial Java profiler VisualVM – visual tool integrating commandline JDK tools for profiling and monitoring == Testing and quality assurance == Apache JMeter – load testing tool JaCoCo – Java code coverage library JArchitect – analyzes code quality, architecture, and dependencies. Jtest – software testing and static analysis JUnit – unit testing framework Mockito – open-source testing framework for Java PMD – static program analysis source code analyzer Selenium – browser automation for web app testing Spock – test framework SpotBugs (formerly FindBugs) – static analysis tool TestNG – testing framework inspired by JUnit and NUnit == Other == Apache XMLBeans –

    Read more →
  • List of video games using NFC

    List of video games using NFC

    This is a list of video games that use near field communication (NFC) technology. Currently, games have leveraged NFC in unlocking additional features through payment. This takes the form of a direct transaction over NFC or by purchasing a physical item, which signals to the platform that a certain set of features has been purchased (e.g. Skylanders). This list catalogues gaming NFC platforms by device. == Mobile == === Android === Gun Bros. Near Field Ninja NFC Cards Skylanders, with an NFC base. The Haunted House: Soul Fighters, with an NFC base. === iOS === ==== As item-triggered game enhancement ==== Skylanders, with an NFC base. ==== As payment ==== In-App Purchases Here, games that leverage Apple's In-App Purchase framework use information stored in the NFC Secure Element to process the purchase through Apple Pay. While an NFC radio is not used here, the NFC protocol is used nonetheless. == Console == === Nintendo Wii, Wii U, Switch, Switch 2, 3DS and 2DS === ==== As item-triggered game enhancement ==== Pokémon Rumble U NFC Figure Amiibo, built into Nintendo consoles since 2014. Works with Wii U, New Nintendo 3DS/3DS XL, New Nintendo 2DS XL, Nintendo Switch, Nintendo Switch 2 and older Nintendo 3DS/Nintendo 2DS systems via a peripheral device. Disney Infinity, with an NFC base. Works with Wii, Nintendo 3DS, Nintendo 2DS and Wii U. Lego Dimensions, with an NFC base. Works with Wii U. Skylanders, with an NFC base. Works with Wii, Nintendo 3DS, Nintendo 2DS and Wii U. The Nintendo Switch version of Skylanders: Imaginators uses the NFC built into the game controller, it is also has full backward compatibility with Nintendo Switch 2. Some functionalities are missing compared to the other versions. ==== As payment ==== The Wii U GamePad controller, Joy-Con R, Joy-Con 2 R, Nintendo Switch Pro Controller and Nintendo Switch 2 Pro Controller can read information from an NFC data source. === PlayStation === Disney Infinity, with an NFC base. Works with PlayStation 3, PlayStation Vita, PlayStation 4 and PlayStation 5. Lego Dimensions, with an NFC base. Works with PlayStation 3, PlayStation 4 and PlayStation 5. Skylanders, with an NFC base. Works with PlayStation 3, PlayStation 4 and PlayStation 5. === Xbox === While NFC bases are normally interoperable between all platforms, the Xbox 360, Xbox One and Xbox Series X require specific bases that are compatible only with the respective platform. Disney Infinity, with an NFC base. Lego Dimensions, with an NFC base. Skylanders, with an NFC base.

    Read more →
  • Vacuum tube characteristics

    Vacuum tube characteristics

    Vacuum tube characteristics (also called tube curves, valve characteristics or valve curves) describes the electrical relationships between electrode voltages and currents in a vacuum tube. These relationships are commonly presented as characteristic curves in tube manuals and engineering references. The curves typically show plate current versus plate voltage for several fixed control-grid voltages, showing how current varies with electrode potentials under controlled conditions. Designers use them to select operating points, determine voltage gain, estimate output power, and construct graphical load-line analyses. The use of characteristic curves as an engineering tool for analyzing vacuum-tube operation was established in the 1910s, notably in work by Edwin Howard Armstrong. Examples of such curves appear in early tube manuals and textbooks and form the basis of classical vacuum-tube circuit design. Different types of vacuum tubes are characterized using plots appropriate to their electrode structure and intended use. Two-electrode devices such as diodes are described primarily by the relation between plate voltage and plate current. Amplifying tubes containing control grids, such as triodes, tetrodes, pentodes, and beam tetrodes, are represented by families of curves measured for different grid voltages. From these families additional parameters such as amplification factor (μ), transconductance (gm), and plate resistance (rp) may be obtained. Although these plots are used primarily for circuit design, their shapes arise from the underlying physics of electron flow in vacuum tubes. The physical principles responsible for the observed characteristics are discussed in later sections. == 3/2 power law == In high-vacuum thermionic diodes operating under normal conditions, plate current increases nonlinearly with plate voltage. Over the space-charge-limited region, the current is well approximated by the three-halves power relation I p = P ⋅ V p 3 / 2 {\displaystyle I_{p}=P\cdot V_{p}^{3/2}} where P {\displaystyle P} is the perveance of the tube. Perveance is determined primarily by electrode geometry, including cathode area and cathode-to-plate spacing. It provides a practical measure of current-producing capability and is often used in tube manuals in place of a complete family of plate-characteristic curves. == Signal diode characterization == For small-signal diodes, tube manuals typically publish a single static anode characteristic showing anode current (Ia) as a function of anode voltage (Va), measured with the heater operating at its rated voltage. Because the diode contains no control grid, only one such I–V curve is required. The low-voltage portion of the curve is particularly important in detector service, where the nonlinear curvature of the current–voltage relation allows a small alternating signal to produce a net direct-current output, resulting in rectification. In addition to the static characteristic, tube manuals specify heater ratings, maximum plate voltage, permissible average current, and interelectrode capacitance. These parameters define the allowable operating region and high-frequency behavior. Another typical data sheet for a diode is for the Philips EB91 double diode. This book includes curves of the diode response in use as a detector. The output voltage is non-zero for an input voltage of 0 due to the Edison effect. == Rectifier characterization == Vacuum-tube rectifiers intended for power-supply service are specified differently from signal diodes. Their data emphasize heater requirements, peak inverse voltage, maximum peak plate current, permissible DC output current for various filter configurations, and regulation characteristics. Rectifier tubes exhibit nonlinear voltage drop that increases with current. For limited operating ranges this behavior may be represented by an equivalent or effective series resistance corresponding to the local slope of the plate characteristic (dynamic plate resistance, dV/dI). Diode voltages can be determied by use of a graphical aide. In capacitor-input supplies, conduction occurs in pulses near the peaks of the AC waveform, producing peak currents substantially greater than the average DC load current. Data sheets therefore specify maximum peak plate current and permissible filter capacitance in addition to average DC ratings. Under varying load conditions, the supply voltage changes in accordance with the rectifier's nonlinear characteristic and effective impedance. == Triode characterization == === Early use === The systematic use of characteristic curves to explain and quantify vacuum-tube amplification was introduced by Edwin Howard Armstrong in 1914. Using measured plate voltage-current curves, Armstrong demonstrated the mechanism of triode amplification and clarified the operation of grid-leak detection. ==== Plate and transfer characteristics ==== Triode data sheets present families of plate characteristics showing plate current I p {\displaystyle I_{p}} as a function of plate voltage E p {\displaystyle E_{p}} for several fixed grid voltages E g {\displaystyle E_{g}} . From these curves the operating point, voltage gain, and load-line behavior may be determined graphically. In normal operation, plate current depends on both grid and plate voltage. Classical analysis shows that the characteristics for different grid voltages are similar in form and differ primarily by horizontal displacement. In triodes, plate current may be approximated by I p = k ( E g + E p μ ) 3 / 2 {\displaystyle I_{p}=k\left(E_{g}+{\frac {E_{p}}{\mu }}\right)^{3/2}} where E g {\displaystyle E_{g}} is the grid voltage, E p {\displaystyle E_{p}} the plate voltage, μ {\displaystyle \mu } the amplification factor, and k {\displaystyle k} a constant determined by the tube geometry.. The amplification factor μ represents the relative effectiveness of grid voltage compared with plate voltage in controlling current. It is fundamentally determined by structural dimensions, particularly grid-to-cathode spacing relative to plate-to-cathode spacing. ==== Small-signal parameters ==== Triodes are commonly characterized by three interrelated small-signal parameters: Amplification factor ( μ {\displaystyle \mu } ) — the change in plate voltage divided by the change in grid voltage at constant plate current: μ = ( ∂ E p ∂ E g ) I p {\displaystyle \mu =\left({\frac {\partial E_{p}}{\partial E_{g}}}\right)_{I_{p}}} Transconductance ( g m {\displaystyle g_{m}} ) — the change in plate current divided by the change in grid voltage at constant plate voltage: g m = ( ∂ I p ∂ E g ) E p {\displaystyle g_{m}=\left({\frac {\partial I_{p}}{\partial E_{g}}}\right)_{E_{p}}} Plate resistance ( r p {\displaystyle r_{p}} ) — the change in plate voltage divided by the change in plate current at constant grid voltage: r p = ( ∂ E p ∂ I p ) E g {\displaystyle r_{p}=\left({\frac {\partial E_{p}}{\partial I_{p}}}\right)_{E_{g}}} These parameters are related by μ = g m r p {\displaystyle \mu =g_{m}r_{p}} as shown in classical tube theory treatments. These parameters are obtained either from slopes of the characteristic curves or from tabulated operating-point data. ==== Comparison of ECC81, ECC82, and ECC83 ==== The ECC81, ECC82, and ECC83 (also known respectively as 12AT7, 12AU7, and 12AX7) are closely related dual triodes widely used in small-signal amplifier stages. Although similar in construction and envelope size, they differ significantly in electrical parameters due to differences in electrode spacing and grid structure. (Data representative of manufacturer specifications.) The ECC83 exhibits high μ {\displaystyle \mu } and high plate resistance, producing large voltage gain but relatively low current drive capability. The ECC82 has lower μ {\displaystyle \mu } and lower plate resistance, allowing greater current delivery and reduced voltage gain. The ECC81 occupies an intermediate position with comparatively high transconductance and moderate amplification factor. These differences arise primarily from variations in grid pitch, cathode area, and electrode spacing, which determine perveance and amplification factor. Although the external envelope is similar, the internal geometry governs the characteristic curves and small-signal parameters. == Tetrode (screen-grid) characterization == The screen-grid tube (tetrode) was developed primarily to reduce the electrostatic coupling between plate and control grid that limited gain and stability in radio-frequency triode amplifiers. In triodes, the grid–plate capacitance provides feedback from plate to grid, restricting obtainable gain and often requiring neutralization circuits such as those used in neutrodyne receivers. By inserting a positively biased screen grid between control grid and plate, this capacitive coupling is greatly reduced, permitting higher stable gain at radio frequencies. The screen grid, also known as the shield grid or grid 2 (to distinguish it from t

    Read more →
  • Robert Abel and Associates

    Robert Abel and Associates

    Robert Abel and Associates (RA&A) was an American pioneering animation production company specializing in television commercials made with computer graphics. Founded by Robert Abel and Con Pederson in 1971, RA&A was especially known for their art direction and won many Clio Awards. Abel and his team created some of the most advanced and impressive computer-animated works of their time, including full ray-traced renders and fluid character animation at a time when such things were largely unknown. A variety of high-profile television advertisements, graphics sequences for motion pictures (including The Andromeda Strain and Tron), and work on laserdisc video games such as Cube Quest, put Abel and his team on the map in the early 1980s. The company was also originally commissioned to create the visual effects for Star Trek: The Motion Picture, but were subsequently taken off the project for mishandling funds. The company was also notable on its work for The Jacksons' 1981 music video "Can You Feel It." RA&A was on the southwest corner of Highland Avenue and Romaine in the heart of Hollywood, California. RA&A closed in 1987 following an ill-fated merger with now-defunct Omnibus Computer Graphics, Inc., a company which had been based in Toronto. Many people who worked at RA&A went on to other ground-breaking projects, including the founding of Wavefront Technologies, Rhythm & Hues and other studios. Many RA&A people went on to win Academy Awards.

    Read more →
  • Grammar systems theory

    Grammar systems theory

    Grammar systems theory is a field of theoretical computer science that studies systems of finite collections of formal grammars generating a formal language. Each grammar works on a string, a so-called sequential form that represents an environment. Grammar systems can thus be used as a formalization of decentralized or distributed systems of agents in artificial intelligence. Let A {\displaystyle \mathbb {A} } be a simple reactive agent moving on the table and trying not to fall down from the table with two reactions, t for turning and ƒ for moving forward. The set of possible behaviors of A {\displaystyle \mathbb {A} } can then be described as formal language L A = { ( f m t n f r ) + : 1 ≤ m ≤ k ; 1 ≤ n ≤ ℓ ; 1 ≤ r ≤ k } , {\displaystyle \mathbb {L_{A}} =\{(f^{m}t^{n}f^{r})^{+}:1\leq m\leq k;1\leq n\leq \ell ;1\leq r\leq k\},} where ƒ can be done maximally k times and t can be done maximally ℓ times considering the dimensions of the table. Let G A {\displaystyle \mathbb {G_{A}} } be a formal grammar which generates language L A {\displaystyle \mathbb {L_{A}} } . The behavior of A {\displaystyle \mathbb {A} } is then described by this grammar. Suppose the A {\displaystyle \mathbb {A} } has a subsumption architecture; each component of this architecture can be then represented as a formal grammar, too, and the final behavior of the agent is then described by this system of grammars. The schema on the right describes such a system of grammars which shares a common string representing an environment. The shared sequential form is sequentially rewritten by each grammar, which can represent either a component or generally an agent. If grammars communicate together and work on a shared sequential form, it is called a Cooperating Distributed (DC) grammar system. Shared sequential form is a similar concept to the blackboard approach in AI, which is inspired by an idea of experts solving some problem together while they share their proposals and ideas on a shared blackboard. Each grammar in a grammar system can also work on its own string and communicate with other grammars in a system by sending their sequential forms on request. Such a grammar system is then called a Parallel Communicating (PC) grammar system. PC and DC are inspired by distributed AI. If there is no communication between grammars, the system is close to the decentralized approaches in AI. These kinds of grammar systems are sometimes called colonies or Eco-Grammar systems, depending (besides others) on whether the environment is changing on its own (Eco-Grammar system) or not (colonies).

    Read more →
  • Pull technology

    Pull technology

    Pull coding or client pull is a style of network communication, where the initial request for data originates from the client, and then is responded to by the server. The reverse is known as push technology, where the server pushes data to clients. Pull requests form the foundation of network computing, where many clients request data from centralized servers. Pull is used extensively on the Internet for HTTP page requests from websites. A push can also be simulated using multiple pulls within a short amount of time. For example, when pulling POP3 email messages from a server, a client can make regular pull requests, every few minutes. To the user, the email then appears to be pushed, as emails appear to arrive close to real-time. A trade-off of this system is that it places a heavier load on both the server and network to function correctly. Many web feeds, such as RSS are technically pulled by the client. With RSS, the user's RSS reader polls the server periodically for new content; the server does not send information to the client unrequested. This continual polling is inefficient and has contributed to the shutdown or reduction of several popular RSS feeds that could not handle the bandwidth. For solving this problem, the WebSub protocol, as another example of a push code, was devised. Podcasting is specifically a pull technology. When a new podcast episode is published to an RSS feed, it sits on the server until it is requested by a feed reader, mobile podcasting app, or directory. Directories such as Apple Podcasts (iTunes), The Blubrry Directory, and many apps' directories request the RSS feed periodically to update the Podcast's listing on those platforms. Subscribers to those RSS feeds via app or reader will get the episodes when they request the RSS feed next time, independent of when the directory listing updates.

    Read more →
  • Infone

    Infone

    Infone was a service launched by Metro One Telecommunications in 2003. The service was discontinued effective December 14, 2005. == How it worked == Infone included directory assistance and other services via a toll-free phone number. A user could call 888-411-1111 to request directory assistance, directions, traffic information, movie times, call completion, dinner reservation assistance and other services. Infone provided a number of innovative 411 'concierge'-like services, including movie listings from a live operator, and offered a feature where they could provide information from a linked Microsoft Outlook calendar when set up in advance. For a period of time they advertised heavily on U.S. television, featuring ads with then Governor of Minnesota Jesse Ventura, emphasizing their use of all U.S. based operators. The price offered was $0.89 per call up to 15 minutes (for use when the operator connects you to the requested number, as well as for additional information requests afterwards), with $0.05 for each additional minute, making Infone also a competitively priced long-distance service. New users received 5–10 free calls. Infone identified a registered user (along with billing information; the service was only payable by credit card) by caller ID (numbers were registered on signing up) and by an advanced voiceprint recognition system (VPRS) from SpeechWorks that identified the user when the user called from an unregistered telephone number (or no caller ID) through the use of a personal phrase spoken by the user (e.g., "Hello Infone!") after the welcome tone.

    Read more →