AI Email Enhancer

AI Email Enhancer — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Kruti

    Kruti

    Kruti is a multilingual AI agent and chatbot developed by the Indian company Ola Krutrim. It is designed to perform real-world tasks for users, such as booking taxis and ordering food, by integrating directly with various online services. It is notable for its ability to understand and respond in multiple Indian languages. Developed by a team founded by Bhavish Aggarwal, Kruti functions as an "agentic" AI, meaning it can reason, plan, and execute multi-step tasks to fulfill a user's request. The backend technology combines several open-source large language models with Ola's proprietary Krutrim V2 model. The system was developed to work primarily on smartphones, addressing the Indian market's specific needs, including language diversity and potential bandwidth constraints. Kruti was officially released in June 2025, replacing an earlier chatbot from the company that was also named Krutrim. Initially supporting 13 languages, the company plans to expand its capabilities to 22 Indian languages. == Background == Kruti is an improved version of Ola's Krutrim chatbot, which was first launched in 2023 and was intended to be replaced by Kruti. It was officially released on 12 June 2025 as an upgrade to passive chatbots, with support for text and voice in 13 Indian languages. As an agentic AI, it can execute tasks with customization and reasoning, providing adaptive answers based on user preferences and past interactions. Kruti is optimized for smartphone usage and designed to accommodate bandwidth constraints and usage patterns in India. To ensure scalability and cost-effective performance, it combines various open-source large language models with Ola's own Krutrim V2, which has 12 billion parameters. Its speech recognition is built to identify regional Indian languages, dialects, and accents. Due to its integration with numerous apps and services, Kruti is context-aware and can proactively complete tasks. Initially connected only with Ola ecosystem services, Krutrim intends to expand and incorporate various Indian services into Kruti, with the goal of adding services from Blinkit, Swiggy, and Uber with respective voice command support. On 20 June 2025, Krutrim acquired the AI platform BharatSah‘AI’yak to increase its involvement in government, education, and agriculture projects. This acquisition will allow Kruti to assist in broadening the scope of BharatSah'AI'yak's work on India-centric, vernacular retrieval-augmented generation AI bots. == Development == Kruti is designed to perform tasks with minimal user input, accepting documents, images, and text, without requiring users to switch between applications. Its agentic framework breaks queries into sub-tasks executed by multiple agents working sequentially or concurrently, with reported accuracy exceeding 90%. Kruti connects to company databases and APIs via the Model Context Protocol and presents responses as summaries, tables, or narratives adapted to user behaviour. The system supports payments via credit/debit cards and UPI. The underlying stack, which includes foundation models and AI training and inference systems, is intended to support adaptation across sectors such as healthcare, education, and finance. Ola Cabs and the Open Network for Digital Commerce have begun integrating Kruti into their platforms pending broader reliability testing.

    Read more →
  • Event cinema

    Event cinema

    Event cinema sometimes called alternative content cinema or livecasts refers to the use of movie theaters to display a varied range of live and recorded entertainment excluding traditional films, such as sport, opera, musicals, ballet, music, one-off TV specials, current affairs, comedy and religious services. == History and development == Event Cinema was set up at the start of the century with rock concerts by Bon Jovi (2001), David Bowie (2003), and Robbie Williams (2005) bringing non-film audiences into cinemas that had newly installed digital equipment. The Metropolitan Opera in New York through their partnership with Fathom Events is acknowledged as the trailblazer in this area, aggressively seeking out new markets and setting high standards for live broadcasts via satellite. Emulated by other opera houses worldwide such as the Royal Opera House following a close second, Glyndebourne, La Scala and the Sydney Opera House the genre of opera within the 'Event Cinema' industry has been a huge success, and has brought new, younger audiences into cash-strapped opera houses depended on state funding and wealthy benefactors for the first time - an unforeseen and happy consequence of digitisation. Ballet and theater have also been very successful, as have rock concerts, both live and recorded. The UK's National Theatre has been a huge success here with their season of live broadcasts under the banner 'NT Live', featuring big name casts such as Helen Mirren, whose recent turn as Queen Elizabeth II in The Audience was a sell out everywhere. (This was in partnership with another West End theatre and the NT are keen to help other theatres maximise their potential through live broadcasts). The Globe and the Royal Shakespeare Company are also producing work for live broadcast and recorded exhibition. As digitisation of cinemas matures, the Event Cinema industry is growing. The strongest territory is the US, followed by the UK and mainland European territories. Latin America is also a very strong market. Recent additions include Pompeii Live, a unique exhibition by the UK's British Museum, featuring celebrities and curators taking the audience on a live tour around the recreated set of Pompeii within the museum itself, and they are also exploring the schools market for the first time, following the live broadcast on June 18 with a daytime broadcast aimed at UK schools for the first time. If successful this will no doubt prove a model for future museums to emulate. An added incentive for exhibitors is the ability to show alternative content, i.e. alternative to mainstream, studio-driven content, such as live special events, sports, pre-show advertising and other digital or video content. In industry terms this has become known as 'Alternative Content', but has recently become known more widely as 'Event Cinema'. === Expanding markets === Some low-budget films that would normally not have a theatrical release because of distribution costs might be shown in smaller engagements than the typical large release studio pictures. The cost of duplicating a digital "print" is very low, so adding more theaters to a release has a small additional cost to the distributor. Movies that start with a small release could scale to a much larger release quickly if they were sufficiently successful, opening up the possibility that smaller movies could achieve box office success previously out of their reach. ==== Technical specifications ==== Event Cinema is also finding a market in 3rd world countries in which the higher costs and quality of DCI equipment are not yet affordable, as crucially there are no DCI specifications for Alternative Content as there is in mainstream [studio] content. This has led to an explosion in the variety of content on offer, but a lack of standardisation has led to questionable quality at times. As the industry matures, this lack of regulation is expected to change and there are moves afoot to introduce codes of practice and technical specifications. Recorded content complements mainstream studio content by maximising the 'downtime' that plagues the cinema industry, where screens worldwide spend a large proportion of their time in darkness and cinemas empty. Some cinema chains have targeted pensioners in particular, offering free tea and coffee for afternoon matinees of recorded opera, for example. Digital Cinema Packages (DCPs) have been useful to cinemas not yet equipped with satellite broadcasting capability and has enabled exhibitors to build their Event Cinema audience, which is not generally the 18-24 demographic that multiplexes are targeting. ==== New Audiences ==== Event Cinema has seen a return of an older, affluent audience, previously turned off by the multiplex experience, and cinemas are starting to capitalise on this by offering waiter-serviced, high class finger food and alcoholic beverages, complete with bars and restaurants, a world away from the traditional popcorn/soft drink model; art house cinemas are increasingly marketing themselves as 'destination' venues for an evening's entertainment, somewhere to spend an entire evening, rather than just a couple of hours. As exhibition admissions have plateau'd in recent years due to the explosion in VOD, tablet and mobile content technology, this new revenue stream has been a surprise and welcome addition to the cinema industry, though the US studios have been cautious in embracing the change as yet. The thrill of Live broadcasts means they are generally regarded as more popular than recorded events, but there are exceptions; artists with a loyal cult or teenage following tend to do particularly well in this area, as concert films featuring artists such as the Grateful Dead, Pearl Jam, JLS, Led Zeppelin and the Rolling Stones have shown. ==== The Future ==== As more and more distributors are emerging, offering an increasingly broad range of content to cinemas worldwide, the landscape itself is shifting: screen advertising companies, technical providers, and exhibitors themselves are reinventing themselves as Alternative Content or Event Cinema distributors, and the industry is witnessing a re-evaluation of business models and practices worldwide. Predictions are that this industry could be work in excess of US$1bn by 2015. An illustration of the growth of this industry is the news the establishment of a European trade association promoting the industry to the general public and supporting those involved in it and the Event Cinema Association.

    Read more →
  • Randomized benchmarking

    Randomized benchmarking

    Randomized benchmarking is an experimental method for measuring the average error rates of quantum computing hardware platforms. The protocol estimates the average error rates by implementing long sequences of randomly sampled quantum gate operations. Randomized benchmarking is the industry-standard protocol used by quantum hardware developers such as IBM and Google to test the performance of the quantum operations. The original theory of randomized benchmarking, proposed by Joseph Emerson and collaborators, considered the implementation of sequences of Haar-random operations, but this had several practical limitations. The now-standard protocol for randomized benchmarking (RB) relies on uniformly random Clifford operations, as proposed in 2006 by Dankert et al. as an application of the theory of unitary t-designs. In current usage randomized benchmarking sometimes refers to the broader family of generalizations of the 2005 protocol involving different random gate sets that can identify various features of the strength and type of errors affecting the elementary quantum gate operations. Randomized benchmarking protocols are an important means of verifying and validating quantum operations and are also routinely used for the optimization of quantum control procedures. == Overview == Randomized benchmarking offers several key advantages over alternative approaches to error characterization. For example, the number of experimental procedures required for full characterization of errors (called tomography) grows exponentially with the number of quantum bits (called qubits). This makes tomographic methods impractical for even small systems of just 3 or 4 qubits. In contrast, randomized benchmarking protocols are the only known approaches to error characterization that scale efficiently as number of qubits in the system increases. Thus RB can be applied in practice to characterize errors in arbitrarily large quantum processors. Additionally, in experimental quantum computing, procedures for state preparation and measurement (SPAM) are also error-prone, and thus quantum process tomography is unable to distinguish errors associated with gate operations from errors associated with SPAM. In contrast, RB protocols are robust to state-preparation and measurement errors Randomized benchmarking protocols estimate key features of the errors that affect a set of quantum operations by examining how the observed fidelity of the final quantum state decreases as the length of the random sequence increases. If the set of operations satisfies certain mathematical properties, such as comprising a sequence of twirls with unitary two-designs, then the measured decay can be shown to be an invariant exponential with a rate fixed uniquely by features of the error model. == History == Randomized benchmarking was proposed in Scalable noise estimation with random unitary operators, where it was shown that long sequences of quantum gates sampled uniformly at random from the Haar measure on the group SU(d) would lead to an exponential decay at a rate that was uniquely fixed by the error model. Emerson, Alicki and Zyczkowski also showed, under the assumption of gate-independent errors, that the measured decay rate is directly related to an important figure of merit, the average gate fidelity and independent of the choice of initial state and any errors in the initial state, as well as the specific random sequences of quantum gates. This protocol applied for arbitrary dimension d and an arbitrary number n of qubits, where d=2n. The SU(d) RB protocol had two important limitations that were overcome in a modified protocol proposed by Dankert et al., who proposed sampling the gate operations uniformly at random from any unitary two-design, such as the Clifford group. They proved that this would produce the same exponential decay rate as the random SU(d) version of the protocol proposed in Emerson et al.. This follows from the observation that a random sequence of gates is equivalent to an independent sequence of twirls under that group, as conjectured in and later proven in. This Clifford-group approach to Randomized Benchmarking is the now standard method for assessing error rates in quantum computers. A variation of this protocol was proposed by NIST in 2008 for the first experimental implementation of an RB-type for single qubit gates. However, the sampling of random gates in the NIST protocol was later proven not to reproduce any unitary two-design. The NIST RB protocol was later shown to also produce an exponential fidelity decay, albeit with a rate that depends on non-invariant features of the error model In recent years a rigorous theoretical framework has been developed for Clifford-group RB protocols to show that they work reliably under very broad experimental conditions. In 2011 and 2012, Magesan et al. proved that the exponential decay rate is fully robust to arbitrary state preparation and measurement errors (SPAM). They also proved a connection between the average gate fidelity and diamond norm metric of error that is relevant to the fault-tolerant threshold. They also provided evidence that the observed decay was exponential and related to the average gate fidelity even if the error model varied across the gate operations, so-called gate-dependent errors, which is the experimentally realistic situation. In 2018, Wallman and Dugas et al., showed that, despite concerns raised in, even under very strong gate-dependence errors the standard RB protocols produces an exponential decay at a rate that precisely measures the average gate-fidelity of the experimentally relevant errors. The results of Wallman. in particular proved that the RB error rate is so robust to gate-dependent errors models that it provides an extremely sensitive tool for detecting non-Markovian errors. This follows because under a standard RB experiment only non-Markovian errors (including time-dependent Markovian errors) can produce a statistically significant deviation from an exponential decay The standard RB protocol was first implemented for single qubit gate operations in 2012 at Yale on a superconducting qubit. A variation of this standard protocol that is only defined for single qubit operations was implemented by NIST in 2008 on a trapped ion. The first implementation of the standard RB protocol for two-qubit gates was performed in 2012 at NIST for a system of two trapped ions

    Read more →
  • Plug compatibility

    Plug compatibility

    Plug compatibility is a characteristic of computer hardware that performs exactly like that of another vendor. Manufacturers who made replacements for IBM peripherals were referred to as plug-compatible manufacturers (PCMs). Later plug-compatible mainframe (also PCM) referred to IBM-compatible mainframe computers. PCM can also mean plug-compatible machine or plug-compatible module. == Plug compatibility and peripherals == Before the rise of the plug-compatible peripheral industry, computing systems were either configured with peripherals designed and built by the CPU vendor or designed to use vendor-selected rebadged devices. The first examples of plug-compatible IBM subsystems were tape drives and controls offered by Telex beginning 1965. Memorex in 1968 was first to enter the IBM plug-compatible disk market, followed shortly thereafter by a number of suppliers such as CDC, Itel, and Storage Technology Corporation. This was boosted by the world's largest user of computing equipment, the US General Services Administration, buying plug-compatible equipment. Eventually there were third-party plug-compatible alternatives to most first-party peripherals and first-party system main memory. == Plug compatibility and computer systems == A plug-compatible machine is one that is backward compatible with a prior machine. In particular, a new computer system that is plug-compatible has not only the same connectors and protocol interfaces to peripherals, but also binary-code compatibility—it runs the same software as the old system. A plug compatible manufacturer, or PCM, is a company that makes such products. One recurring theme in plug-compatible systems is the ability to be bug compatible as well. That is, if the forerunner system had software or interface problems, then the successor must have (or simulate) the same problems. Otherwise, the new system may generate unpredictable results, defeating the objective of full compatibility. Thus, it is important for customers to understand the difference between a bug and a feature, where the latter is defined as an intentional modification to the previous system (e.g. higher speed, lighter weight, smaller package, better operator controls, etc.). === Plug compatibility and IBM mainframes === The original example of plug-compatible mainframes was the Amdahl 470 mainframe computer which was plug-compatible with the IBM System 360 and 370, costing millions of dollars to develop. Similar systems were available from Comparex, Fujitsu, and Hitachi. Not all were large systems. Most of these system vendors eventually left the PCM market. In late 1981, there were eight PCM companies, and collectively they had 36 IBM-compatible models. == Non-computer usage of plug compatibility == Plug compatibility may also be used to describe replacement criteria for other components available from multiple sources. For example, a plug-compatible cooling fan may need to have not only the same physical size and shape, but also similar capability, run from the same voltage, use similar power, attach with a standard electrical connector, and have similar mounting arrangements. Some non-conforming units may be re-packaged or modified to meet plug-compatible requirements, as where an adapter plate is provided for mounting, or a different tool and instructions are supplied for installation, and these modifications would be reflected in the bill of materials for such components. Similar issues arise for computer system interfaces when competitors wish to offer an easy upgrade path. In general, plug-compatible systems are designed where industry or de facto standards have rigorously defined the environment, and there is a large installed population of machines that can benefit from third-party enhancements. Plug compatible does not mean identical. However, nothing prevents a company from developing follow-on products that are backward-compatible with its own early products.

    Read more →
  • Retrieval-augmented generation

    Retrieval-augmented generation

    Retrieval-augmented generation (RAG) is a technique that enables large language models (LLMs) to retrieve and incorporate new information from external data sources. With RAG, LLMs first refer to a specified set of documents, then respond to user queries. These documents supplement information from the LLM's pre-existing training data. This allows LLMs to use domain-specific and/or updated information that is not available in the training data. For example, this enables LLM-based chatbots to access internal company data or generate responses based on authoritative sources. RAG improves LLMs by incorporating information retrieval before generating responses. Unlike LLMs that rely on static training data, RAG pulls relevant text from databases, uploaded documents, or web sources. According to Ars Technica, "RAG is a way of improving LLM performance, in essence by blending the LLM process with a web search or other document look-up process to help LLMs stick to the facts." This method helps reduce AI hallucinations, which have caused chatbots to describe policies that don't exist, or recommend nonexistent legal cases to lawyers that are looking for citations to support their arguments. RAG also reduces the need to retrain LLMs with new data, saving on computational and financial costs. Beyond efficiency gains, RAG also allows LLMs to include sources in their responses, so users can verify the cited sources. This provides greater transparency, as users can cross-check retrieved content to ensure accuracy and relevance. The term retrieval-augmented generation (RAG) was introduced in a 2020 paper that described combining a parametric language model with a non-parametric external memory accessed through retrieval at inference time. == RAG and LLM limitations == LLMs can provide incorrect information. For example, when Google first demonstrated its LLM tool "Google Bard" (later re-branded to Gemini), the LLM provided incorrect information about the James Webb Space Telescope. This error contributed to a $100 billion decline in Google's stock value. RAG is used to prevent these errors, but it does not solve all the problems. For example, LLMs can generate misinformation even when pulling from factually correct sources if they misinterpret the context. MIT Technology Review gives the example of an AI-generated response stating, "The United States has had one Muslim president, Barack Hussein Obama." The model retrieved this from an academic book rhetorically titled Barack Hussein Obama: America's First Muslim President? The LLM did not "know" or "understand" the context of the title, generating a false statement. LLMs with RAG are programmed to prioritize new information. This technique has been called "prompt stuffing." Without prompt stuffing, the LLM's input is generated by a user; with prompt stuffing, additional relevant context is added to this input to guide the model's response. This approach provides the LLM with key information early in the prompt, encouraging it to prioritize the supplied data over pre-existing training knowledge. == Process == Retrieval-augmented generation (RAG) enhances large language models (LLMs) by incorporating an information-retrieval mechanism that allows models to access and utilize additional data beyond their original training set. Ars Technica notes that "when new information becomes available, rather than having to retrain the model, all that's needed is to augment the model's external knowledge base with the updated information" ("augmentation"). IBM states that "in the generative phase, the LLM draws from the augmented prompt and its internal representation of its training data to synthesize" an answer. === RAG key stages === Typically, the data to be referenced is converted into LLM embeddings, numerical representations in the form of a large vector space. RAG can be used on unstructured (usually text), semi-structured, or structured data (for example knowledge graphs). These embeddings are then stored in a vector database to allow for document retrieval. Given a user query, a document retriever is first called to select the most relevant documents that will be used to augment the query. This comparison can be done using a variety of methods, which depend in part on the type of indexing used. The model feeds this relevant retrieved information into the LLM via prompt engineering of the user's original query. Newer implementations (as of 2023) can also incorporate specific augmentation modules with abilities such as expanding queries into multiple domains and using memory and self-improvement to learn from previous retrievals. Finally, the LLM can generate output based on both the query and the retrieved documents. Some models incorporate extra steps to improve output, such as the re-ranking of retrieved information, context selection, and fine-tuning. == Applications == Retrieval-augmented generation is used in applications where generated responses need to be grounded in external or frequently updated information. Commonly cited use cases include search engines, question-answering systems, customer support chatbots, enterprise knowledge assistants, content generation, recommendation systems, retail and e-commerce, and industrial or manufacturing workflows. In healthcare, RAG has been studied as a way to ground large language model outputs in external medical knowledge sources, although reviews have noted continuing challenges around evaluation, ethics, and clinical reliability. == Improvements == Improvements to the basic process above can be applied at different stages in the RAG flow. === Encoder === These methods focus on the encoding of text as either dense or sparse vectors. Sparse vectors, which encode the identity of a word, are typically dictionary-length and contain mostly zeros. Dense vectors, which encode meaning, are more compact and contain fewer zeros. Various enhancements can improve the way similarities are calculated in the vector stores (databases). Performance improves by optimizing how vector similarities are calculated. Dot products enhance similarity scoring, while approximate nearest neighbor (ANN) searches improve retrieval efficiency over K-nearest neighbors (KNN) searches. Accuracy may be improved with Late Interactions, which allow the system to compare words more precisely after retrieval. This helps refine document ranking and improve search relevance. Hybrid vector approaches may be used to combine dense vector representations with sparse one-hot vectors, taking advantage of the computational efficiency of sparse dot products over dense vector operations. Other retrieval techniques focus on improving accuracy by refining how documents are selected. Some retrieval methods combine sparse representations, such as SPLADE, with query expansion strategies to improve search accuracy and recall. === Retriever-centric methods === These methods aim to enhance the quality of document retrieval in vector databases: Pre-training the retriever using the Inverse Cloze Task (ICT), a technique that helps the model learn retrieval patterns by predicting masked text within documents. Supervised retriever optimization aligns retrieval probabilities with the generator model's likelihood distribution. This involves retrieving the top-k vectors for a given prompt, scoring the generated response's perplexity, and minimizing KL divergence between the retriever's selections and the model's likelihoods to refine retrieval. Reranking techniques can refine retriever performance by prioritizing the most relevant retrieved documents during training. === Language model === By redesigning the language model with the retriever in mind, a 25-time smaller network can get comparable perplexity as its much larger counterparts. Because it is trained from scratch, this method (Retro) incurs the high cost of training runs that the original RAG scheme avoided. The hypothesis is that by giving domain knowledge during training, Retro needs less focus on the domain and can devote its smaller weight resources only to language semantics. The redesigned language model is shown here. It has been reported that Retro is not reproducible, so modifications were made to make it so. The more reproducible version is called Retro++ and includes in-context RAG. === Chunking === Chunking involves various strategies for breaking up the data into vectors so the retriever can find details in it. Three types of chunking strategies are: Fixed length with overlap. This is fast and easy. Overlapping consecutive chunks helps to maintain semantic context across chunks. Syntax-based chunks can break the document up into sentences. Libraries such as spaCy or NLTK can also help. File format-based chunking. Certain file types have natural chunks built in, and it's best to respect them. For example, code files are best chunked and vectorized as whole functions or classes. HTML files should leave

    or base64 encoded elements

    Read more →
  • Electronic submission

    Electronic submission

    Electronic submission refers to the submission of a document by electronic means: that is, via e-mail or a web form on the Internet, or on an electronic medium such as a compact disc, a hard disk or a USB flash drive. Traditionally, the term "manuscript" referred to anything that was explicitly "written by hand". However, in popular usage and especially in the context of computers and the internet, the term "manuscript" may even refer to documents (text or otherwise) typed out or prepared on typewriters and computers and can be extended to digital photographs and videos, and online surveys too. In other words, any manuscript prepared and submitted online can be considered to be an electronic submission. == History and early usage == There is no concrete data indicating when and by whom were electronic submissions used for the first time. However, research based universities in several countries have been encouraging the collection of course assignments and projects in the form of electronic submissions for almost a decade now. Several governments and organizations are also switching to electronic submissions for the collection of research papers, grant applications and government application forms. == Types of electronic submissions == Since modern computers can store and process information and data in virtually any format and with the Internet allowing easy transfer of this data, the number of scenarios in which submissions can be collected electronically has increased exponentially in the last few years. Some of these scenarios are described below. In most of these scenarios, submissions were collected on hard paper until the Information Technology revolution occurred. === Academic Submissions === Teachers, professors and teaching assistants often collect course assignments and projects electronically. Electronic submissions are usually collected using a web-based system which more often than not also helps in the management of submissions collected and stored on it. (Explained By Henny L, University of Lethbridge, AB, Canada) === Research Papers === In call-for-paper or academic conferences, prospective presenters are usually asked to submit a short abstract or a full paper on their presentation or research work electronically, which is reviewed before being accepted for the conference. === Proposals for Grants === Several grant-giving organizations like the NSA, W3C, NIA, NIH etc. require grant seekers to submit a proposal which if accepted result in the desired grants. A majority of these proposals are now submitted electronically on systems that also help in the managing and tracking the proposals submitted. === Articles for Publication === Magazines, newspapers and other publishing houses have begun accepting electronic submissions for articles from various sources - both internal (by journalists and writers hired by them) as well as external (by users and popular readers). The submitted articles are stored on a server hosted by the publication house or by a third-party Archived 2019-10-13 at the Wayback Machine vendor and are usually evaluated before being given a green signal. === Contests and Competition Entries === Almost every kind of contest or competition requires participants to submit an entry in a format described by the organizers of the contest. If the contest is an Internet-based one, then the entries or nominations for the contest are collected electronically using e-mail or other electronic means depending on feasibility and the choice of the organizers. === Government Applications === The governments of several countries are turning to electronic submission of applications and forms for various government procedures. Electronic submissions allow easier management of the applications and forms submitted. === Legal documents === Many legal documents may be submitted to the courts electronically. In England and Wales, the Civil Procedure Rules include a suitable "document exchange" as an acceptable "method of service". Case law in employment law cases has established that where a claim is submitted electronically, a prudent legal adviser should "check that it has been received and there must be systems in place for doing that". === Resumés and CVs === It has become commonplace for job-seekers to submit soft copies (electronic versions) of their resumés and CVs to recruiting agencies and online job portals. This is usually done over the Internet using e-mail or a pre-hosted web-based system. == Submission management systems == The art and science of collecting and managing electronic submissions is called Submission Management. Certain software vendors have begun developing submission management systems to assist in the collection, tracking and management of complex submission processes realized electronically. Most of these systems are web based and accessible from any device with a browser and an Internet connection. However, a majority of these systems are application specific and cannot be applied to all submission management scenarios. == Resistance to electronic submissions == Despite the easier management and tracking of electronic submissions compared to their paper-based counterparts, widespread adoption and use of electronic submissions and systems for managing them has been hampered by several facts, which include but are not limited to: Inconvenience while drawing figures, diagrams and equations on a computer Resistance to change and adoption of new technologies Lack of or limited access to the Internet.

    Read more →
  • InteLex Past Masters

    InteLex Past Masters

    InteLex Past Masters is a collection of full-text web-based scholarly editions of classic works in the humanities. InteLex Corporation was founded in 1989 by its current chief executive officer, Mark Rooks, to produce electronic versions of the works of the great philosophers, based on existing scholarly editions. The company is located in Charlottesville, Virginia. Its databases are marketed to academic institutions, with pricing based on the individual collections purchased. Content is provided in XML and searchable image format and is accessed through the InteLex Corporation website. In addition to philosophy, subject coverage includes religious studies, English literature, women's writing, social science, and history of science. InteLex databases are found in institutions in over 65 countries around the world.

    Read more →
  • List of UPnP AV media servers and clients

    List of UPnP AV media servers and clients

    This is a list of UPnP AV media servers and client application or hard appliances. == UPnP AV media servers == === Software === === Cross-platform === Allonis myServer, a multi-faceted media player/organizer with a DLNA/UPnP server, controller, and renderer, including conversion. Runs on Microsoft Windows. Supports most all HTML5 devices as remote controls. Asset UPnP (DLNA compatible) from Illustrate. An audio specific UPnP/DLNA server for Windows, QNAP, macOS and Linux. Features audio WAVE/LPCM transcoding from a range of audio codecs, ReplayGain and playlists. FreeMi UPnP Media Server, very simple server, historically used to stream to the STB Freebox, based on .net/mono. Home Media Server, a free media server/player/controller for Windows, Linux, macOS, individual device settings, transcoding, external and internal subtitles, restricted device access to folders, uploading files, Internet-Radio, Internet-Television, Digital Video Broadcasting (DVB), DMR-control and "Play To", Music (Visualization), Photo (Slideshow), support for 3D-subtitles, support for BitTorrent files, Web-navigation with HTML5 player, Digital Media Renderer (DMR) emulation for AirPlay and Google Cast devices. Jellyfin, a free and open-source suite of multimedia applications designed to organize, manage, and share digital media files to networked devices. JRiver Media Center, a multi-faceted media player/organizer with a DLNA/UPnP server, controller, and renderer, including conversion. Supports Microsoft Windows, macOS and Linux. Kodi (previously XBMC), a cross platform open source software media-player/media center for Android, Apple TV, Linux, macOS and Windows. LimboMedia, a free cross platform home- and UPnP/DLNA mediaserver with android app and WebM transcoding for browser playback (build with java and FFmpeg). MinimServer, a Java-based highly configurable uPnP/DNLA music server with additional consideration given to Classical Music, supports transcoding with MinimStreamer, supports Microsoft Windows, macOS, Linux, and various NAS devices. Neutron Music Player, acts as a cross platform UPnP/DLNA Media Renderer server available for Android, iOS, BlackBerry 10 & PlayBook platforms. Supports gapless playback and has possibility to output rendered audio further to the high-resolution internal DAC or external USB DAC or another UPnP/DLNA Media Renderer with all supported DSP effects applied. Plex, a cross-platform and closed source software media player and entertainment hub for digital media, available for macOS, Microsoft Windows, Linux, as well as mobile clients for iOS (including Apple TV (2nd generation) onwards), Android, Windows Phone, and many devices such as Xbox. Supports on-the-fly transcoding of video and music. PonoMusic World. Based on the JRiver Media Center software, includes similar features along with a store for purchasing HD audio tracks. PS3 Media Server, a free cross platform Java based UPnP DLNA server especially good for AVC and other current HD media codecs with on-the-fly transcoding. Serviio, is available with a free and a pro license. It can stream media files (music, video or images) to renderer devices (e.g. a TV set, Blu-ray player, games console or mobile phone) on a local area network. TVMOBiLi, a cross platform, high performance UPnP/DLNA Media Server for Windows, macOS and Linux. TwonkyMedia server, a cross-platform multimedia server and entertainment hub for digital media, available for Android, Apple TV, iOS, Linux, macOS, Microsoft Windows, Windows Phone, and Xbox 360. Universal Media Server, a free (open source) DLNA-compliant UPnP Media Server for Windows, macOS and Linux (originally based on the PS3 Media Server). It is able to stream videos, audio and images to any DLNA-capable device. It contains more features than most paid UPnP/DLNA Media Servers. It streams to many devices including TVs (Samsung, Sony, Panasonic, LG, Philips and more.), PS3, Xbox(One/360), smartphones, Blu-ray players and more. vGet Cast, a simple, cross platform (Chrome App) DLNA server and controller for single, local video files. Vuze, an open-source Java-based BitTorrent client which contains MediaServer plugin. Wild Media Server, a media server/player/controller for Windows, Linux, macOS, individual device settings, transcoding, external and internal subtitles, restricted device access to folders, uploading files, Internet-Radio, Internet-Television, Digital Video Broadcasting (DVB), DMR-control and "Play To", Music (Visualization), Photo (Slideshow), support for 3D-subtitles, support for BitTorrent files, Web-navigation with HTML5 player, Digital Media Renderer (DMR) emulation for AirPlay and Google Cast devices. === Android === BubbleUPnP Android UPnP/DLNA server, player, controller and renderer CastLab Android UPnP/DLNA server. Pixel Media Server, Android UPnP/DLNA Media Server. Supports all popular Video and Audio files. It also support external subtitle file (SRT) Plato is an Android UPnP client app that can play videos and audio. Toaster Cast Android UPnP/DLNA server, controller and renderer vGet, Android App that can play videos embedded in websites on DLNA renderers. Media Cast UPnP, Android UPnP client app that can play videos/Audio. Media Server Pro is a DLNA server that allows individual file selections for sharing. Slick UPnP A minimal and intuitive open-source Android UPnP client app that can play video/audio. (It is not DMS) YAACC Open source UPnP controller, renderer and server app === Linux === === Microsoft Windows === Sundtek Streamingserver a native Windows TV Server providing DVB, ATSC and ISDB-T via UPnP/DLNA, it also supports streaming media files (it only supports TV devices from Sundtek). Stream What You Hear, a Windows application that streams the sound of your computer (i.e.: “what you hear”) to UPnP/DLNA device such as TVs, amps, network receivers, game consoles, etc... TVersity Media Server, a Windows application that streams multimedia content from a personal computer to UPnP, DLNA and mobile devices (Chromecast is also supported). It was the first media server to offer real-time transcoding (back in 2005). TVersity Screen Server, a Windows application that mirrors the screen of a personal computer to UPnP, DLNA and mobile devices. DVBViewer, a Windows application, mainly for TV/Radio recording/playback, but with the ability to stream live TV/radio as well as multimedia files via UPnP/DLNA. DivX, a Windows application, mainly for video encoding into DivX format, but has the ability to stream multimedia files via DLNA. foobar2000, a freeware audio player for Windows. Highly customizable, audio only. Download of dlna-extension from the developers' webpage necessary. Home Media Center, a free and open source media server compatible with DLNA. Includes web interface for streaming content to web browser (Android, iOS, ...), subtitles integration and Windows desktop streaming. This server is easy to use. KooRaRoo Media, a commercial DLNA media server and organizer for Windows. Includes on-the-fly transcoding, per-file and per-folder parental controls, powerful organizing features with dynamic playlists, Internet radio streaming, "Play To" functionality and remote device control, burned-in and external subtitles, extensive format support including RAW photo formats. Streams all files to all devices. Media Go, media player and tagger MediaMonkey, a free media player/tagger/editor with an UPnP/DLNA client and server for Microsoft Windows MusicBee, an audio player, supports UPnP via a plugin. Mezzmo, a commercial software package. Mezzmo streams music, movies, photos and subtitles to the UPnP and DLNA-enabled devices. It automatically finds and organizes music, movies and photos, imports multimedia files from iPad, iPhone, iPod, Audio CDs, iTunes, Windows Media Player and WinAmp. DLNA server supports all popular media file formats with real time transcoding to meet the device specifications. PlayOn, a commercial UPnP/DLNA media server for Windows, includes a transcoder for streaming web video. TVble, a cloud connected (Rotten tomatoes/TMDB etc.), Torrent streaming, DLNA enabled media server. Allows single file or playlist downloads. Windows Media Connect from Microsoft, a free UPnP AV MediaServer and control point (server and client) for Microsoft Windows WMC version 2.0 can be installed for usage with Windows Media Player 10 for Windows XP WMC version 3.0 can be installed for usage with Windows Media Player 11 for Windows XP WMC version 4.0 comes pre-installed on Windows Vista with its Windows Media Player 11 WMC can also refer to Windows Media Center. From the Windows Media Center entry in Wikipedia: In May 2015, Microsoft announced that Windows Media Center would be discontinued on Windows 10, and that it would be uninstalled when upgrading; but stated that those upgrading from a version of Windows that included the Media Center application would receive the paid Windows DVD Player app to maintain DVD playback functio

    Read more →
  • Stencil buffer

    Stencil buffer

    A stencil buffer is an extra data buffer, in addition to the color buffer and Z-buffer, found on modern graphics hardware. The buffer is per pixel and works on integer values, usually with a depth of one byte per pixel. The Z-buffer and stencil buffer often share the same area in the RAM of the graphics hardware. In the simplest case, the stencil buffer is used to limit the area of rendering (stenciling). More advanced usage of the stencil buffer makes use of the strong connection between the Z-buffer and the stencil buffer in the rendering pipeline. For example, stencil values can be automatically increased/decreased for every pixel that fails or passes the depth test. The simple combination of depth test and stencil modifiers make a vast number of effects possible (such as stencil shadow volumes, Two-Sided Stencil, compositing, decaling, dissolves, fades, swipes, silhouettes, outline drawing, or highlighting of intersections between complex primitives) though they often require several rendering passes and, therefore, can put a heavy load on the graphics hardware. The most typical application is still to add shadows to 3D applications. It is also used for planar reflections. Other rendering techniques, such as portal rendering, use the stencil buffer in other ways; for example, it can be used to find the area of the screen obscured by a portal and re-render those pixels correctly. The stencil buffer and its modifiers can be accessed in computer graphics by using APIs like OpenGL, Direct3D, Vulkan or Metal. == Architecture == The stencil buffer typically shares the same memory space as the Z-buffer, and typically the ratio is 24 bits for Z-buffer + 8 bits for stencil buffer or, in the past, 15 bits for Z-buffer + 1 bit for stencil buffer. Another variant is 4 + 24, where 28 of the 32 bits are used and 4 ignored. Stencil and Z-buffers are part of the frame buffer, coupled to the color buffer. The first chip available to a wider market was 3Dlabs' Permedia II, which supported a one-bit stencil buffer. The bits allocated to the stencil buffer can be used to represent numerical values in the range [0, 2n-1], and also as a Boolean matrix (n is the number of allocated bits), each of which may be used to control the particular part of the scene. Any combination of these two ways of using the available memory is also possible. == Stencil test == Stencil test or stenciling is among the operations on the pixels/fragments (Per-pixel operations), located after the alpha test, and before the depth test. The stencil test ensures undesired pixels do not reach the depth test. This saves processing time for the scene. Similarly, the alpha test can prevent corresponding pixels to reach the stencil test. The test itself is carried out over the stencil buffer to some value in it, or altered or used it, and carried out through the so-called stencil function and stencil operations. The stencil function is a function by which the stencil value of a certain pixel is compared to a given reference value. If this comparison is logically true, the stencil test passes. Otherwise not. In doing so, the possible reaction caused by the result of comparing three different state-depth and stencil buffer: Stencil test is not passed Stencil test is passed but not the depth test Both tests are passed (or stencil test is passed, and the depth is not enabled) For each of these cases, different operations can be set over the examined pixel. In the OpenGL stencil functions, the reference value and mask, respectively, define the function glStencilFunc. In Direct3D each of these components is adjusted individually using methods SetRenderState devices currently in control. This method expects two parameters, the first of which is a condition that is set and the other its value. In the order that was used above, these conditions are called D3DRS_STENCILFUNC, D3DRS_STENCILREF, and D3DRS_STENCILMASK. Stencil operations in OpenGL adjust glStencilOp function that expects three values. In Direct3D, again, each state sets a specific method SetRenderState. The three states that can be assigned to surgery are called D3DRS_STENCILFAIL, D3DRENDERSTATE_STENCILZFAIL, and D3DRENDERSTATE_STENCILPASS. == Z-fighting == Due to the lack of precision in the Z-buffer, coplanar polygons that are short-range, or overlapping, can be portrayed as a single plane with a multitude of irregular cross-sections. These sections can vary depending on the camera position and other parameters and are rapidly changing. This is called Z-fighting. There exist multiple solutions to this issue: - Bring the far plane closer to restrict the scene's depth, thus increasing the accuracy of the Z-buffer, or reducing the distance at which objects are visible in the scene. - Increase the number of bits allocated to the Z-buffer, which is possible at the expense of memory for the stencil buffer. - Move polygons farther apart from one another, which restricts the possibilities for the artist to create an elaborate scene. All of these approaches to the problem can only reduce the likelihood that the polygons will experience Z-fighting, and do not guarantee a definitive solution in the general case. A solution that includes the stencil buffer is based on the knowledge of which polygon should be in front of the others. The silhouette of the front polygon is drawn into the stencil buffer. After that, the rest of the scene can be rendered only where the silhouette is negative, and so will not clash with the front polygon. == Shadow volume == Shadow volume is a technique used in 3D computer graphics to add shadows to a rendered scene. They were first proposed by Frank Crow in 1977 as the geometry describing the 3D shape of the region occluded from a light source. A shadow volume divides the virtual world in two: areas that are in shadow and areas that are not. The stencil buffer implementation of shadow volumes is generally considered among the most practical general-purpose real-time shadowing techniques for use on modern 3D graphics hardware. It has been popularised by the video game Doom 3, and a particular variation of the technique used in this game has become known as Carmack's Reverse. == Reflections == Reflection of a scene is drawn as the scene itself transformed and reflected relative to the "mirror" plane, which requires multiple render passes and using of stencil buffer to restrict areas where the current render pass works: Draw the scene excluding mirror areas – for each mirror lock the Z-buffer and color buffer Render visible part of the mirror Depth test is set up so that each pixel is passed to enter the maximum value and always passes for each mirror: Depth test is set so that it passes only if the distance of a pixel is less than the current (default behavior) The matrix transformation is changed to reflect the scene relative to the mirror plane Unlock the Z-buffer and color buffer Draw the scene, but only the part of it that lies between the mirror plane and the camera. In other words, a mirror plane is also a clipping plane Again locks color buffer, depth test is set so that it always passes, reset stencil for the next mirror. == Planar Shadows == While drawing a plane of shadows, there are two dominant problems: The first concerns the problem of deep struggle in case the flat geometry is not awarded on the part covered with the shadow of shadows and outside. See the section that relates to this. Another problem relates to the extent of the shadows outside the area where the plane there. Another problem, which may or may not appear, depending on the technique, the design of more polygons in one part of the shadow, resulting in darker and lighter parts of the same shade. All three problems can be solved geometrically, but because of the possibility that hardware acceleration is directly used, it is a far more elegant implementation using the stencil buffer: 1. Enable lights and the lights 2. Draw a scene without any polygon that should be projected shadows 3. Draw all polygons which should be projected shadows, but without lights. In doing so, the stencil buffer, the pixel of each polygon to be assigned to a specific value for the ground to which they belong. The distance between these values should be at least two, because for each plane to be used two values for two states: in the shadows and bright. 4. Disable any global illumination (to ensure that the next steps will affect only individual selected light) For each plane: For each light: 1. Edit a stencil buffer and only the pixels that carry a specific value for the selected level. Increase the value of all the pixels that are projected objects between the date of a given level and bright. 2. Allow only selected light for him to draw level at which part of her specific value was not changed. == Spatial shadows == Stencil buffer implementation of spatial drawing shadows is any shadow of a geometric body that its volume includes part of the scene that is

    Read more →
  • Digital signage

    Digital signage

    Digital signage is a segment of electronic signage that uses digital display technologies to present multimedia content in both public and private environments. Content may include video, images, text, or interactive media and is typically displayed for purposes such as advertising, information dissemination, branding, or entertainment. Digital signage systems can be either networked or standalone. Networked systems are managed through centralized content management systems (CMS), often cloud-based, enabling remote updates, scheduling, real-time data integration, and dynamic content delivery. These systems may also incorporate audience analytics, IoT sensors, or AI-driven personalization. Standalone systems, by contrast, operate without a network connection. They rely on local media playback via USB drives, SD cards, or internal storage. These solutions are simpler and suitable for locations where connectivity is limited or content changes infrequently. == Applications of digital signage == Digital signage is widely used in transportation hubs, retail stores, restaurants, corporate buildings, hotels, educational institutions, healthcare facilities, and public spaces. One prominent application of digital signage is Digital Out-of-Home (DOOH) advertising, which leverages digital signage displays in public spaces to deliver targeted advertisements to people outside of their homes. DOOH has become a significant segment of digital signage, providing advertisers with a dynamic and contextually relevant way to engage with audiences. == Components == === Hardware components === Digital signage hardware includes the physical equipment used to show multimedia content in public and private spaces. ==== Display devices ==== Display devices are the most prominent components of a digital signage system, serving as the primary medium for presenting content. Display devices come in various technologies, such as LCD, LED, and OLED formats, each offering different advantages in terms of clarity, color reproduction, and energy efficiency. In addition to flat-panel displays, projectors are also commonly used in digital signage, particularly in large-scale settings. Projectors can cast large-format visuals onto walls, screens, or other surfaces, providing flexibility in display size and positioning. Screen sizes vary widely to suit different applications. Smaller panels are often used in kiosks and point-of-sale systems, while larger displays, such as video walls and projection surfaces, are deployed in venues like stadiums, auditoriums, and other public spaces. Many digital signage displays are also equipped with touchscreen capabilities, allowing for interactive applications. These interactive displays are commonly used in information kiosks, wayfinding systems, and self-service applications. ==== Playback devices ==== Playback devices are specialized hardware components that manage the storage, processing, and transmission of multimedia content to digital signage displays and projectors. They serve as the crucial link between the content management system (CMS) and the visual output, ensuring seamless playback of static images, video files, animated graphics, and real-time content, such as news feeds. Playback devices can be standalone units or integrated into display hardware using System-on-Chip (SoC) technology. The latter reduces hardware complexity and installation time, making the system more efficient. These devices support remote or local content updates, allowing digital signage operators to manage networks effectively. Content can be updated via cloud-based platforms for centralized control or through direct interfaces on-site, depending on the system's configuration and deployment requirements. ==== Mounting systems ==== Mounting systems provide structural support for digital signage displays, enabling deployment across diverse environments. Typical configurations include wall mounts, ceiling mounts, and floor stands each engineered to meet specific spatial and functional requirements. === Software components === Digital signage software is responsible for content creation, scheduling, and management. It enables users to manage and distribute content to one or more playback devices. ==== Software compatibility ==== Digital signage software supports various operating systems, including Android, Windows, Linux, iOS, tvOS, webOS, Tizen, ChromeOS, macOS, and others. This allows customers to choose the hardware and software solution that best suits their digital signage needs. == Interactivity == Interactivity in digital signage allows users to interact directly with displays using input methods like touch, gestures, voice, or proximity sensors. This feature enables real-time responses and personalized content, improving the user experience. Interactive digital signage is commonly used in places like retail, transportation, education, and public spaces to create engaging and informative interactions. Additionally, self-service kiosks are often integrated into interactive signage solutions, allowing users to perform tasks such as ordering products, checking in for flights, accessing information, or making payments. These kiosks empower users to complete transactions or obtain services independently, improving efficiency and convenience in high-traffic locations. == Audience measurement and context-aware content adaptation == === Audience measurement === Cameras can be integrated into digital signage systems to enable audience measurement. They are used to detect and count viewers, estimate demographics such as age and gender, measure dwell time and attention, and sometimes analyze emotional reactions using computer vision techniques. This process is valuable for understanding audience behavior and refining business strategies. Privacy concerns are addressed by anonymizing collected data and avoiding the storage of personally identifiable information. === Context-aware digital signage === Context-aware digital signage refers to systems that adjust content based on environmental or audience data. The infrastructure supporting context awareness, including sensors and analytics systems, also facilitates the collection of audience insights. While these insights may be primarily used for reporting, optimization, or planning future campaigns rather than immediate content adjustments, they play a crucial role in the overall context-aware ecosystem. ==== Contextual information ==== Contextual information in the realm of context-aware digital signage refers to data about the environment, audience, and other factors that influence how digital signage content is displayed. This information helps the system to deliver more relevant, timely, and personalized content to its audience. Contextual information can include, but is not limited to: Audience demographics — this can involve detecting the age, gender, or even emotional state of viewers through cameras or sensors. It helps tailor content to specific audience segments, improving engagement. Time and weather — the system may adjust content based on the time of day or current weather conditions. For example, weather-appropriate content (like a raincoat ad on a rainy day) or time-specific content (like dinner menu promotions in the evening) can be shown. Emergency information — in situations of emergency, systems can prioritize displaying urgent notifications such as fire alerts, disaster warnings, or evacuation instructions. This can be crucial for public safety in crowded environments or densely populated areas. The system may adapt content in real-time to inform and guide individuals to safety, offering location-specific instructions or emergency service contacts. == Challenges == === Display blindness === Digital signage in public spaces has been found to lose visibility, significantly diminishing its ability to capture attention. This issue, known as "Display Blindness", was identified by Müller et al. and refers to the phenomenon where digital advertisements are largely overlooked by passersby. Observations indicate that many of these advertisements fail to resonate with their audience, often being irrelevant or unengaging, which leads to passive reception and reduced interaction. == Comparison with print signage == Digital signage and traditional print signage serve similar purposes by delivering visual information to a target audience, but they differ significantly in terms of flexibility, cost, maintenance, and environmental impact. Digital signage is advantageous in low-light or nighttime environments, where its internal illumination ensures visibility without the need for external lighting, unlike printed signs, which may require additional fixtures to be seen after dark. === Content and flexibility === Digital signage allows for dynamic and real-time content updates, often controlled remotely through content management systems. This makes it well-suited for environments where information chan

    Read more →
  • Mike Little

    Mike Little

    Mike Little (born 12 May 1962) is an English web developer and writer. He is the co-founder of the free and open source web publishing software WordPress. == Biography == Mike Little was born in Manchester, England in 1962 to a Nigerian father, who was a mathematics lecturer and musician, and an English mother who worked as a primary school teacher. Little was placed into foster care when he was four months of age, and was later adopted by the same family. He grew up on a council estate in Brinnington, Stockport, and was educated at Stockport School. In 2003, Little and Matt Mullenweg started working on a project in which they built on b2/cafelog and later named it WordPress, releasing the first version on 27 May 2003. Little states that, despite not being invited to join his co-founder's for-profit business Automattic, he and Mullenweg remain on good terms. He clarified: "I don’t want it to sound like he cheated me out of something or ripped me off in some way. He didn’t." In June 2013, Little was awarded the SAScon's "Outstanding Contribution to Digital" award for his part in co-founding and developing WordPress. Little has been described as "modest" and living in "virtual anonymity". He has one daughter. He identifies as a follower of Stoicism and a humanist, and in 2021, he became a patron of charity Humanists UK.

    Read more →
  • Mosaik Solutions

    Mosaik Solutions

    Mosaik Solutions (formerly American Roamer) was a company that specializes in wireless coverage data and wireless coverage maps, based in Memphis, Tennessee before being acquired by Ookla. The company collects and crowdsources carrier signal quality from major telecommunications providers or users who have its consumer or enterprise mobile application installed. The data is used to provide insights into places around the world without access to cellular coverage and the development of new coverage patterns, as well as to provide maps showing what provider offers the best service in an area. In 2011, the Federal Communications Commission (FCC), recognized Mosaik Solutions as the "industry standard" for the presence of wireless service at the census-block level. == History == In 2016, Mosaik purchased Sensorly, a free app developed to crowdsource cellular network performance service and provide coverage mapping for wireless networks worldwide. == Products and services == === MapELEMENTS === MapELEMENTS software is a visualization tool that allows users to analyze data from the largest cellular coverage database in the world. === CellMaps === CellMaps is an interactive mapping solution that allows companies to show their network coverage directly on their website through an iframe or API. In 2013 Mosaik launched an android app for CellMaps that provides data directly from carriers so that users can determine what carrier meets their needs in a given area. On the map you can overlay multiple carriers, zoom to street-view level, and drop a pin onto any given spot to get a breakdown of carrier service in that area. === Signal Insights App === Signal Insights is an SaaS platform service available for android users that measures and analyzes the customer's experience in cellular or Wi-Fi networks. Indoor mode allows a user to upload a building floor plan and then map and test specific points in the building for cellular or Wi-Fi connectivity. === Sensorly App === Sensorly is a free app that crowdsources cellular network performance to provide coverage mapping worldwide and mobile speed data to help consumers make informed decisions when choosing a cellular carrier. In February 2017, Sensorly launched Map Trip, a feature that allows users to map their routes and share with others their signal data at a particular point in real time. === TowerSource === TowerSource is a resource for locating cell towers and identifying ownership, availability, fiber routes, type and height. It was acquired by Mosaik Solutions in September 2014. === Network Validator === Network Validator is a SaaS solution designed for users to quickly determine whether global cellular networks exist - by country, operator and wireless technology. === CoverageRight === CoverageRight is composed of licensed GIS file datasets that identify the marketed coverage of wireless operators in the United States and worldwide. It enables users to perform spatial analyses, monitor competitive build-outs, analyze coverage trends and assemble roaming footprints. This data has been utilized by the FCC to analyze wireless coverage nationwide. === Network QoE === Network QoE is an enterprise platform that uses crowdsourced data from cellular devices to detect wireless network issues including 3G, 4G and wifi accessibility, network coverage holes and data performance issues. === Wireless Spectrum Report === In March 2017, Mosaik Solutions launched the Wireless Spectrum Report, a tabular dataset detailing facts about spectrum ownership and availability in the United States.

    Read more →
  • Variable data publishing

    Variable data publishing

    Variable-data publishing (VDP) (also known as database publishing) is a term referring to the output of a variable composition system. While these systems can produce both electronically viewable and hard-copy (print) output, the "variable-data publishing" term today often distinguishes output destined for electronic viewing, rather than that which is destined for hard-copy print (e.g. variable data printing). Essentially the same techniques are employed to perform variable-data publishing, as those utilized with variable data printing. The difference is in the interpretation for output. While variable-data printing may be interpreted to produce various print streams or page-description files (e.g. AFP/IPDS, PostScript, PCL), variable-data publishing produces electronically viewable files, most commonly seen in the forms of PDF, HTML, or XML. Variable-data composition involves the use of data to conditionally: exhibit text (static blocks and/or variable content) exhibit images select fonts select colors format page layouts & flows Variable-data may be as simple as an address block or salutation. However, it can be any or all of the document's textual content—including words, sentences, paragraphs, pages, or the entire document. In other words, it can make up as little or as much of the document as the composer desires. Variable data may also be used to exhibit various images, such as logos, products, or membership photos. Further, variable-data can be used to build rule-based design schemes, including fonts, colors, and page formats. The possibilities are vast. The variable-data tools available today, make it possible to perform variable-data composition at nearly every stage of document production. However, the level of control that can be achieved varies, based upon how far into the document production process a variable-data tool is deployed. For example, if variable-data insertion occurs just prior to output...it's not likely that the text flow or layout can be altered with nearly as much control as would be available at the time of initial document composition. Many organizations will produce multiple forms of output (aka: multi-channel output), for the same document. This ensures that the published content is available to recipients via any form of access method they might require. When multi-channel output is utilized, integrity between those output channels often becomes important. Variable-data publishing may be performed on everything from a personal computer to a mainframe system. However, the speed and practical output volumes which can be achieved are directly affected by the computer power utilized. == Origin of the concept == The term variable-data publishing was likely an offshoot of the term "variable-data printing", first introduced to the printing industry by Frank Romano, Professor Emeritus, School of Print Media, at the College of Imaging Arts and Sciences at Rochester Institute of Technology. However, the concept of merging static document elements and variable document elements predates the term and has seen various implementations ranging from simple desktop 'mail merge', to complex mainframe applications in the financial and banking industry. In the past, the term VDP has been most closely associated with digital printing machines. However, in the past 3 years the application of this technology has spread to web pages, emails, and mobile messaging.

    Read more →
  • Digital image correlation for electronics

    Digital image correlation for electronics

    Digital image correlation analyses have applications in material property characterization, displacement measurement, and strain mapping. As such, DIC is becoming an increasingly popular tool when evaluating the thermo-mechanical behavior of electronic components and systems. == CTE measurements and glass transition temperature identification == The most common application of DIC in the electronics industry is the measurement of coefficient of thermal expansion (CTE). Because it is a non-contact, full-field surface technique, DIC is ideal for measuring the effective CTE of printed circuit boards (PCB) and individual surfaces of electronic components. It is especially useful for characterizing the properties of complex integrated circuits, as the combined thermal expansion effects of the substrate, molding compound, and die make effective CTE difficult to estimate at the substrate surface with other experimental methods. DIC techniques can be used to calculate average in-plane strain as a function of temperature over an area of interest during a thermal profile. Linear curve-fitting and slope calculation can then be used to estimate an effective CTE for the observed area. Because the driving factor in solder fatigue is most often the CTE mismatch between a component and the PCB it is soldered to, accurate CTE measurements are vital for calculating printed circuit board assembly (PCBA) reliability metrics. DIC is also useful for characterizing the thermal properties of polymers. Polymers are often used in electronic assemblies as potting compounds, conformal coatings, adhesives, molding compounds, dielectrics, and underfills. Because the stiffness of such materials can vary widely, accurately determining their thermal characteristics with contact techniques that transfer load to the specimen, such as dynamic mechanical analysis (DMA) and thermomechanical analysis (TMA), is difficult to do with consistency. Accurate CTE measurements are important for these materials because, depending on the specific use case, expansion and contraction of these materials can drastically affect solder joint reliability. For example, if a stiff conformal coating or other polymeric encapsulation is allowed to flow under a QFN, its expansion and contraction during thermal cycling can add tensile stress to the solder joints and expedite fatigue failure. DIC techniques will also allow the detection of glass transition temperature (Tg). At a glass transition temperature, the strain vs. temperature plot will exhibit a change in slope. Determining the Tg is very important for polymeric materials that could have glass transition temperatures within the operating temperature range of the electronics assemblies and components on which they are used. For example, some potting materials can see the Elastic Modulus of the material change by a factor of 100 or more over the glass transition region. Such changes can have drastic effects on an electronic assembly's reliability if they are not planned for in the design process. == Out-of-plane component warpage == When 3D DIC techniques are employed, out-of-plane motion can be tracked in addition to in-plane motion. Out-of-plane warpage is especially of interest at the component level of electronics packaging for solder joint reliability quantification. Excessive warpage during reflow can contribute to defective solder joints by lifting the edges of the component away from the board and creating head-in-pillow defects in ball grid arrays (BGA). Warpage can also shorten the fatigue life of adequate joints by adding tensile stresses to edge joints during thermal cycling. == Thermo-mechanical strain mapping == When a PCBA is over-constrained, thermo-mechanical stress brought about during thermal expansion can cause board strains that could negatively affect individual component and overall assembly reliability. The full-field monitoring capabilities of an image correlation technique allow for the measurement of strain magnitude and location on the surface of a specimen during a displacement-causing event, such as PCBA during a thermal profile. These "strain maps" allow for the comparison of strain levels over full areas of interest. Many traditional discrete methods, like extensometers and strain gauges, only allow for localized measurements of strain, inhibiting their ability to efficiently measure strain across larger areas of interest. DIC techniques have also been used to generate strain maps from purely mechanical events, such as drop impact tests, on electronic assemblies.

    Read more →
  • Supercomputer operating system

    Supercomputer operating system

    A supercomputer operating system is an operating system intended for supercomputers. Since the end of the 20th century, supercomputer operating systems have undergone major transformations, as fundamental changes have occurred in supercomputer architecture. While early operating systems were custom tailored to each supercomputer to gain speed, the trend has been moving away from in-house operating systems and toward some form of Linux, with it running all the supercomputers on the TOP500 list in November 2017. In 2021, top 10 computers run for instance Red Hat Enterprise Linux (RHEL), or some variant of it or other Linux distribution e.g. Ubuntu. Given that modern massively parallel supercomputers typically separate computations from other services by using multiple types of nodes, they usually run different operating systems on different nodes, e.g., using a small and efficient lightweight kernel such as Compute Node Kernel (CNK) or Compute Node Linux (CNL) on compute nodes, but a larger system such as a Linux distribution on server and input/output (I/O) nodes. While in a traditional multi-user computer system job scheduling is in effect a tasking problem for processing and peripheral resources, in a massively parallel system, the job management system needs to manage the allocation of both computational and communication resources, as well as gracefully dealing with inevitable hardware failures when tens of thousands of processors are present. Although most modern supercomputers use the Linux operating system, each manufacturer has made its own specific changes to the Linux distribution they use, and no industry standard exists, partly because the differences in hardware architectures require changes to optimize the operating system to each hardware design. == Context and overview == In the early days of supercomputing, the basic architectural concepts were evolving rapidly, and system software had to follow hardware innovations that usually took rapid turns. In the early systems, operating systems were custom tailored to each supercomputer to gain speed, yet in the rush to develop them, serious software quality challenges surfaced and in many cases the cost and complexity of system software development became as much an issue as that of hardware. In the 1980s the cost for software development at Cray came to equal what they spent on hardware and that trend was partly responsible for a move away from the in-house operating systems to the adaptation of generic software. The first wave in operating system changes came in the mid-1980s, as vendor specific operating systems were abandoned in favor of Unix. Despite early skepticism, this transition proved successful. By the early 1990s, major changes were occurring in supercomputing system software. By this time, the growing use of Unix had begun to change the way system software was viewed. The use of a high level language (C) to implement the operating system, and the reliance on standardized interfaces was in contrast to the assembly language oriented approaches of the past. As hardware vendors adapted Unix to their systems, new and useful features were added to Unix, e.g., fast file systems and tunable process schedulers. However, all the companies that adapted Unix made unique changes to it, rather than collaborating on an industry standard to create "Unix for supercomputers". This was partly because differences in their architectures required these changes to optimize Unix to each architecture. As general purpose operating systems became stable, supercomputers began to borrow and adapt critical system code from them, and relied on the rich set of secondary functions that came with them. However, at the same time the size of the code for general purpose operating systems was growing rapidly. By the time Unix-based code had reached 500,000 lines long, its maintenance and use was a challenge. This resulted in the move to use microkernels which used a minimal set of the operating system functions. Systems such as Mach at Carnegie Mellon University and ChorusOS at INRIA were examples of early microkernels. The separation of the operating system into separate components became necessary as supercomputers developed different types of nodes, e.g., compute nodes versus I/O nodes. Thus modern supercomputers usually run different operating systems on different nodes, e.g., using a small and efficient lightweight kernel such as CNK or CNL on compute nodes, but a larger system such as a Linux-derivative on server and I/O nodes. == Early systems == The CDC 6600, generally considered the first supercomputer in the world, ran the Chippewa Operating System, which was then deployed on various other CDC 6000 series computers. The Chippewa was a rather simple job control oriented system derived from the earlier CDC 3000, but it influenced the later KRONOS and SCOPE systems. The first Cray-1 was delivered to the Los Alamos Lab with no operating system, or any other software. Los Alamos developed the application software for it, and the operating system. The main timesharing system for the Cray 1, the Cray Time Sharing System (CTSS), was then developed at the Livermore Labs as a direct descendant of the Livermore Time Sharing System (LTSS) for the CDC 6600 operating system from twenty years earlier. In developing supercomputers, rising software costs soon became dominant, as evidenced by the 1980s cost for software development at Cray growing to equal their cost for hardware. That trend was partly responsible for a move away from the in-house Cray Operating System to UNICOS system based on Unix. In 1985, the Cray-2 was the first system to ship with the UNICOS operating system. Around the same time, the EOS operating system was developed by ETA Systems for use in their ETA10 supercomputers. Written in Cybil, a Pascal-like language from Control Data Corporation, EOS highlighted the stability problems in developing stable operating systems for supercomputers and eventually a Unix-like system was offered on the same machine. The lessons learned from developing ETA system software included the high level of risk associated with developing a new supercomputer operating system, and the advantages of using Unix with its large extant base of system software libraries. By the middle 1990s, despite the extant investment in older operating systems, the trend was toward the use of Unix-based systems, which also facilitated the use of interactive graphical user interfaces (GUIs) for scientific computing across multiple platforms. The move toward a commodity OS had opponents, who cited the fast pace and focus of Linux development as a major obstacle against adoption. As one author wrote "Linux will likely catch up, but we have large-scale systems now". Nevertheless, that trend continued to gain momentum and by 2005, virtually all supercomputers used some Unix-like OS. These variants of Unix included IBM AIX, the open source Linux system, and other adaptations such as UNICOS from Cray. By the end of the 20th century, Linux was estimated to command the highest share of the supercomputing pie. == Modern approaches == The IBM Blue Gene supercomputer uses the CNK operating system on the compute nodes, but uses a modified Linux-based kernel called I/O Node Kernel (INK) on the I/O nodes. CNK is a lightweight kernel that runs on each node and supports a single application running for a single user on that node. For the sake of efficient operation, the design of CNK was kept simple and minimal, with physical memory being statically mapped and the CNK neither needing nor providing scheduling or context switching. CNK does not even implement file I/O on the compute node, but delegates that to dedicated I/O nodes. However, given that on the Blue Gene multiple compute nodes share a single I/O node, the I/O node operating system does require multi-tasking, hence the selection of the Linux-based operating system. While in traditional multi-user computer systems and early supercomputers, job scheduling was in effect a task scheduling problem for processing and peripheral resources, in a massively parallel system, the job management system needs to manage the allocation of both computational and communication resources. It is essential to tune task scheduling, and the operating system, in different configurations of a supercomputer. A typical parallel job scheduler has a master scheduler which instructs some number of slave schedulers to launch, monitor, and control parallel jobs, and periodically receives reports from them about the status of job progress. Some, but not all supercomputer schedulers attempt to maintain locality of job execution. The PBS Pro scheduler used on the Cray XT3 and Cray XT4 systems does not attempt to optimize locality on its three-dimensional torus interconnect, but simply uses the first available processor. On the other hand, IBM's scheduler on the Blue Gene supercomputers aims to exploit locality a

    Read more →