AI Face Editor App

AI Face Editor App — 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 →
  • SitePal

    SitePal

    SitePal is a speaking avatar platform for small and medium-sized businesses developed by Oddcast. SitePal allows users to deploy "virtual employees" on websites that can welcome visitors, guide them around the site and answer questions. The use of SitePal on commercial websites has been controversial because many visitors report finding them annoying. Some research has shown that they can increase sales in comparison to using static photographs. == Development == The technology used was the result of more than 4 years of research at Stanford University. The research was based on a literature review and other previous work in the field of artificial intelligence research. The SitePal AI option uses the AIML programming language, which is partially editable by users. This allows web designers to simulate normal human conversation by using keywords or key phrases that the bot can respond to. == Features == The company provides web designers with options to customize the chosen avatar. A large selection of faces, clothing, hair, backgrounds, voices and other details are available. If a web designer wants to use a particular face, Sitepal can create one from a photo. Thus, a mascot or a known face can be simulated. == Speech == Sitepal avatars talk through text-to-speech (tts) software. A short paragraph can be written (up to 900 characters) and the text-to-speech engine will compile the actual speech, which can be reproduced and edited. The tts engine is not perfect, but it comes close to actual speech and is easy to understand. Tts can be further enhanced by some commands, like /laugh and /loud which make the avatar laugh or talk loud. Even pronunciation is possible. The web designer can record and upload his or her own audio messages. Alternatively Sitepal offers professional voice acting service at extra cost. == User interaction == The company provides 5 options for visitor interaction: No interaction. The avatar simply says a pre-fixed message. FAQ mode. Questions can be configured, which are clickable and the user can hear the answer. Lead mode. The avatar prompts the user to type his email and short message, so it can be sent to the webmaster (usually used on a "contact us" page) Chatbot mode. The avatar greets the user, and he can type his questions and have a conversation with the bot. With predetermined replies, this can work as an FAQ as well. API customization. Experienced programmers can make their avatar interact with their website, making it talk when the user clicks on a link or when other triggers occur. Even dual avatar conversations can be created, like a talk show. == Posting options == The company provides five options for posting the avatar: Embed in webpage (via javascript) Embed in HTML Send by email Publish to eBay Embed in Flash == Criticism == Early reviews, such as one by Troy Dreier published in PC World in 2002 were positive and described SitePal as: "an engagingly simple and personal tool, and the price is reasonable for what it adds to a site". Although Dreier did note that the program had "bugs that suggested it hadn't been tested thoroughly". In more recent years, reaction to SitePal has been much more negative with reviews such as Tom Spring writing in a PC World review citing SitePal ads and described his reaction as "Not so nice". Paul Bissex, writing in E-Scribe News described SitePal as "heinous... and embarrassing if anyone is within earshot...they creep me out" == Research on effectiveness == In one single-website research project Anita Campbell had half the visitors to Small Business Trends see a SitePal and the other half see just a static photograph. Over 11,000 visitors the SitePal avatar improved sign-up for a newsletter 144% over the control condition.

    Read more →
  • Brand networking

    Brand networking

    Brand networking is the engagement of a social networking service around a brand by providing consumers with a platform of relevant content, elements of participation, and a currency, score, or ranking. Brand networking creates communities that serve as interactive destinations to encourage brand participation online and off. This evolved level of user participation with the brand facilitates strong relationships with consumers, leverages sales, and generates fan equity. The concept builds on the marketing literature on brand communities, which describes specialized, non-geographically bound groups of consumers organized around shared interest in a brand, and on subsequent research on social-media-based brand communities that examines how such groups operate when embedded in general-purpose networking platforms. == History == The development and growth of social networking in the early 2000s gave birth to brand networking. Brands saw the immediate potential to reach and interact with consumers through online platforms like Facebook and MySpace. At first, the ability to reach consumers through these platforms was inadequate; brands had the option to join as members or simply advertise on these sites. The potential existed to not only display advertisements to consumers, but to encourage them to interact with the brand. This is when brands made the shift to create their own networking platforms. Less evolved attempts to connect brands with consumers via networking are typically built as online platforms meant only to complement a product/service and are limited in functionality. Typically these sites offer consumers the opportunity to interact through discussion boards and group pages. The Guiding Light Community was built to complement the popular CBS television soap opera. The site offers members reward points for contributing content to discussion boards and blogs (which is all geared toward the show). == Structure == Brand networking is more than the utilization of a social networking platform; it is connecting consumers together and constructing relationships directly with the brand. Three key elements, in unity, create effective brand networking: relevant content, elements of participation, and a competitive currency. Websites in conjunction with other media types (television, radio, print) present content around a vertical industry, sector of interest, or cultural and social issues for a brand. This can be in areas such as health, marketing, or business, or any content relevant to the brand message. Such content is not only provided by the brand but also in the form of consumer-generated media. Research on brand-related user-generated content across major platforms suggests that the form and tone of consumer contributions vary by platform, with promotional content more common on some networks and response-oriented content on others. A brand provides participation with consumers online and offline. This is accomplished through the combination of typical social networking features online, such as personalised pages, friend lists, groups, and messaging, alongside elements of involvement offline. This is not simply connecting an online platform with mobile devices, but providing separate mobile features jointly with a secondary media type to drive online usage and build relationships with the brand on the go. By participating in mobile campaigns, users are interacting with the brand outside of traditional brick and mortar or e-commerce destinations. Empirical work on consumer brand engagement in social media frames such participation along cognitive, affective, and behavioural dimensions. The final element of brand networking involves incentivising participation with the other two elements. The addition of a currency or point system acts as an anchor to the brand and network and creates a competitive dynamic between consumers. These points are distributed for activity carried out outside of the networking site. By incentivising usage offline, the brand image is reinforced for the consumer and strengthens the relationship. Consumers are turned into promoters for both the brand and the users' benefit. The use of points, badges, leaderboards, and similar mechanics is described in the marketing literature as gamification, and has been linked to higher participation rates in mobile and loyalty programmes. == Fan equity == Fan equity is the idea that by locking in consumers to a brand, they are turned into fans of the brand. As fans, they promote, interact, and consume on a daily basis and become assets. Apple Inc. is one example of a company often cited as possessing fan equity. Customers of Apple are extremely brand loyal and are assets to the company. Creating a fan-generated brand is a difficult but effective method of business. Through the use of brand networking, a company is able to build a consumer or fan base that provides a strong relationship between business and consumers. The trust is formed and fans do a lot of work for the brand by word of mouth. Peer-to-peer channels are the strongest means of communication for a brand, but also one in which the brand can only influence and not control. Subsequent research links community engagement with brand trust, identifying community engagement as a mediator between social-media brand community participation and trust. This method of business is argued to be a relationship handled by the brand generally for its own gain. Many fans do not realise the work they are doing for companies by using their product or service. Facebook is a fan-based brand that has become a global phenomenon through customer use, with social media features such as sharing and commenting. With the growth of social media, marketing and advertising through social media has continued to expand. Brands can display and promote their products or services at a fast rate, with consumers sharing and contributing to the brand on a global scale. This can also be seen as online word of mouth exposure that can produce positive or negative feedback for brands. Once consumers become fans they are typically loyal, which can create positive word of mouth for a brand. Fans become a valuable asset, boosting the status and reputation of a brand. Different perceptions of brands can be linked to a person's origin or religion, which creates a difficulty when trying to enter a market or gain market share. Businesses need to be aware of the types of products or services they introduce to a specific market, ensuring they are culturally sensitive. Fan pages are created on social media to maintain the relationship between brands and consumers. By engaging and interacting with consumers, brands obtain fans and produce positive imaging. Some fans become attached to brands and are often encouraged to remain as fans through the use of celebrities endorsing the brand. Research on parasocial interaction in social-media environments suggests that one-sided emotional bonds that consumers form with endorsers and brand personae help convert ordinary followers into engaged fans.

    Read more →
  • Web science

    Web science

    Web science is an emerging interdisciplinary field concerned with the study of large-scale socio-technical systems, particularly the World Wide Web. It considers the relationship between people and technology, the ways that society and technology co-constitute one another and the impact of this co-constitution on broader society. Web Science combines research from disciplines as diverse as sociology, computer science, economics, and mathematics. The Web Science Institute, founded at the University of Southampton by director Wendy Hall and colleagues, describes Web Science as focusing "the analytical power of researchers from disciplines as diverse as mathematics, sociology, economics, psychology, law and computer science to understand and explain the Web. It is necessarily interdisciplinary – as much about social and organizational behaviour as about the underpinning technology." A central pillar of Web science development is Artificial Intelligence or "AI". The current artificial intelligence that in development at the moment is Human-Centered, with goals to further professional development courses as well as influencing public policy. Artificial intelligence developers are focused on the most impactful uses of this technology, while also hoping to expedite the growth and development of the human race. An early definition was given by American computer scientist Ben Shneiderman: "Web Science" is processing the information available on the web in similar terms to those applied to natural environment. == Areas of activity == === Emergent properties === Philip Tetlow, an IBM-based scientist influential in the emergence of web science as an independent discipline, argued for the concept of web life, which considers the Web not as a connected network of computers, as in common interpretations of the Internet, but rather as a sociotechnical machine capable of fusing together individuals and organisations into larger coordinated groups. It argues that unlike the technologies that have come before it, the Web is different in that its phenomenal growth and complexity are starting to outstrip our capability to control it directly, making it impossible for us to grasp its completeness in one go. Tetlow made use of Fritjof Capra's concept of the 'web of life' as a metaphor. == Research groups == There are numerous academic research groups engaged in Web Science research, many of which are members of WSTNet, the Web Science Trust Network of research labs. Health Web Science emerged as a sub-discipline of Web Science that studies the role of the Web's impact on human's health outcomes and how to further utilize the Web to improve health outcomes. These groups focus on the developmental possibilities, provided through Web Science, in areas such as health care and social welfare. Discussion of web science has been widely adopted as a method in which the internet can have a real world impact in the field of medicine, currently coined Medicine 2.0. The World Wide Web acts as a medium for the spread and circulation of knowledge, though these various research groups consider themselves responsible for maintaining verifiable and testable knowledge. Using their knowledge of the healthcare system as well as web science, researchers are focused on formatting and structuring their knowledge in a way that is easily accessible throughout the internet. The World Wide Web is quickly evolving meaning that the information we provide and its formatting must also. Recognizing the overlap between both aspects, the spread of knowledge and development of the internet, allows us to properly display our knowledge in a manner that evolves as quickly as the internet and everyday medical research. The accessibility of the internet and quick development of knowledge must be companied with efficient formatting to allocate successful dissemination of information, as described by these various researcher groups. == Related major conferences == Association for Computing Machinery (ACM), Hypertext Conference (HT) sponsored by SIGWEB ACM SIGCHI Conference on Human Factors in Computing Systems (CHI) International AAAI Conference on Weblogs and Social Media (ICWSM) The Web Conference (WWW) Association for Computing Machinery (ACM) Web Science Conference (WebSci)

    Read more →
  • Language model benchmark

    Language model benchmark

    A language model benchmark is a standardized test designed to evaluate the performance of language models on various natural language processing tasks. These tests are intended for comparing different models' capabilities in areas such as language understanding, generation, and reasoning. Benchmarks generally consist of a dataset and corresponding evaluation metrics. The dataset provides text samples and annotations, while the metrics measure a model's performance on tasks like answering questions, text classification, and machine translation. These benchmarks are developed and maintained by academic institutions, research organizations, and industry players to track progress in the field. In addition to accuracy, the metrics can include throughput, energy efficiency, bias, trust, and sustainability. == Overview == === Types === Benchmarks may be described by the following adjectives, not mutually exclusive: Classical: These tasks are studied in natural language processing, even before the advent of deep learning. Examples include the Penn Treebank for testing syntactic and semantic parsing, as well as bilingual translation benchmarked by BLEU scores. Question answering: These tasks have a text question and a text answer, often multiple-choice. They can be open-book or closed-book. Open-book QA resembles reading comprehension questions, with relevant passages included as annotation in the question, in which the answer appears. Closed-book QA includes no relevant passages. Closed-book QA is also called open-domain question-answering. Before the era of large language models, open-book QA was more common, and understood as testing information retrieval methods. Closed-book QA became common since GPT-2 as a method to measure knowledge stored within model parameters. Omnibus: An omnibus benchmark combines many benchmarks, often previously published. It is intended as an all-in-one benchmarking solution. Reasoning: These tasks are usually in the question-answering format, but are intended to be more difficult than standard question answering. Multimodal: These tasks require processing not only text, but also other modalities, such as images and sound. Examples include OCR and transcription. Agency: These tasks are for a language-model–based software agent that operates a computer for a user, such as editing images, browsing the web, etc. Adversarial: A benchmark is "adversarial" if the items in the benchmark are picked specifically so that certain models do badly on them. Adversarial benchmarks are often constructed after state of the art (SOTA) models have saturated (achieved 100% performance) a benchmark, to renew the benchmark. A benchmark is "adversarial" only at a certain moment in time, since what is adversarial may cease to be adversarial as newer SOTA models appear. Public/Private: A benchmark might be partly or entirely private, meaning that some or all of the questions are not publicly available. The idea is that if a question is publicly available, then it might be used for training, which would be "training on the test set" and invalidate the result of the benchmark. Usually, only the guardians of the benchmark have access to the private subsets, and to score a model on such a benchmark, one must send the model weights, or provide API access, to the guardians. The boundary between a benchmark and a dataset is not sharp. Generally, a dataset contains three "splits": training, test, and validation. Both the test and validation splits are essentially benchmarks. In general, a benchmark is distinguished from a test/validation dataset in that a benchmark is typically intended to be used to measure the performance of many different models that are not trained specifically for doing well on the benchmark, while a test/validation set is intended to be used to measure the performance of models trained specifically on the corresponding training set. In other words, a benchmark may be thought of as a test/validation set without a corresponding training set. Conversely, certain benchmarks may be used as a training set, such as the English Gigaword or the One Billion Word Benchmark, which in modern language is just the negative log-likelihood loss on a pretraining set with 1 billion words. Indeed, the distinction between benchmark and dataset in language models became sharper after the rise of the pretraining paradigm, whereby a model is first trained on massive, unlabeled datasets to learn general language patterns, syntax, and knowledge (pretraining), and the base model is then adapted to specific, downstream tasks using smaller, labeled datasets (fine-tuning). === Lifecycle === Generally, the life cycle of a benchmark consists of the following steps: Inception: A benchmark is published. It can be simply given as a demonstration of the power of a new model (implicitly) that others then picked up as a benchmark, or as a benchmark that others are encouraged to use (explicitly). Growth: More papers and models use the benchmark, and the performance on the benchmark grows. Maturity, degeneration or deprecation: A benchmark may be saturated, after which researchers move on to other benchmarks. Progress on the benchmark may also be neglected as the field moves to focus on other benchmarks. Renewal: A saturated benchmark can be upgraded to make it no longer saturated, allowing further progress. === Construction === Like datasets, benchmarks are typically constructed by several methods, individually or in combination: Web scraping: Ready-made question-answer pairs may be scraped online, such as from websites that teach mathematics and programming. Conversion: Items may be constructed programmatically from scraped web content, such as by blanking out named entities from sentences, and asking the model to fill in the blank. This was used for making the CNN/Daily Mail Reading Comprehension Task. Crowd sourcing: Items may be constructed by paying people to write them, such as on Amazon Mechanical Turk. This was used for making the MCTest. === Evaluation === Generally, benchmarks are fully automated. This limits the questions that can be asked. For example, with mathematical questions, "proving a claim" would be difficult to automatically check, while "calculate an answer with a unique integer answer" would be automatically checkable. With programming tasks, the answer can generally be checked by running unit tests, with an upper limit on runtime. The benchmark scores are of the following kinds: For multiple choice or cloze questions, common scores are accuracy (frequency of correct answer), precision, recall, F1 score, etc. pass@n: The model is given n {\displaystyle n} attempts to solve each problem. If any attempt is correct, the model earns a point. The pass@n score is the model's average score over all problems. k@n: The model makes n {\displaystyle n} attempts to solve each problem, but only k {\displaystyle k} attempts out of them are selected for submission. If any submission is correct, the model earns a point. The k@n score is the model's average score over all problems. cons@n: The model is given n {\displaystyle n} attempts to solve each problem. If the most common answer is correct, the model earns a point. The cons@n score is the model's average score over all problems. Here "cons" stands for "consensus" or "majority voting". The pass@n score can be estimated more accurately by making N > n {\displaystyle N>n} attempts, and use the unbiased estimator 1 − ( N − c n ) ( N n ) {\displaystyle 1-{\frac {\binom {N-c}{n}}{\binom {N}{n}}}} , where c {\displaystyle c} is the number of correct attempts. For less well-formed tasks, where the output can be any sentence, there are the following commonly used scores including BLEU ROUGE, METEOR, NIST, word error rate, LEPOR, CIDEr, and SPICE. === Issues === error: Some benchmark answers may be wrong. ambiguity: Some benchmark questions may be ambiguously worded. subjective: Some benchmark questions may not have an objective answer at all. This problem generally prevents creative writing benchmarks. Similarly, this prevents benchmarking writing proofs in natural language, though benchmarking proofs in a formal language is possible. open-ended: Some benchmark questions may not have a single answer of a fixed size. This problem generally prevents programming benchmarks from using more natural tasks such as "write a program for X", and instead uses tasks such as "write a function that implements specification X". inter-annotator agreement: Some benchmark questions may be not fully objective, such that even people would not agree with 100% on what the answer should be. This is common in natural language processing tasks, such as syntactic annotation. shortcut: Some benchmark questions may be easily solved by an "unintended" shortcut. For example, in the SNLI benchmark, having a negative word like "not" in the second sentence is a strong signal for the "Contradiction" category, regardless of what the se

    Read more →
  • Software-defined mobile network

    Software-defined mobile network

    Software-defined mobile networking (SDMN) is an approach to the design of mobile networks where all protocol-specific features are implemented in software, maximizing the use of generic and commodity hardware and software in both the core network and radio access network (RAN). == History == Through the 20th century, telecommunications technology was driven by hardware development, with most functions implemented in special-purpose equipment. In the early 2000s, generally available CPUs became cheap enough to enable commercial software-defined radio (SDR) technology and softswitches. SDMN extends these trends into the design of mobile networks, moving nearly all network functions into software. The term "software-defined mobile network" first appeared in public literature in early 2014, used independently by Lime Microsystems and researchers from University of Oulu, Finland. == Limitations of hardware-based mobile networks == Mobile networks based on special-purpose hardware suffer from the following limitations: They have limited provisions for upgrades and usually must be replaced entirely when new standards are introduced. The individual components are not scalable in terms of performance and capacity, because the capacity of a component is fixed by the hardware implementation. Specialized equipment and its associated specialized software require vendor-specific training for the mobile operator's staff. Specialized hardware systems are usually supported and serviced by a single vendor, resulting in vendor lock-in. == Characteristics of SDMN designs == === Use of software-defined radio === SDR is an important element of SDMN, because it replaces protocol-specific radio hardware with protocol-agnostic digital transceivers. While many earlier digital radio systems used field-programmable gate arrays (FPGAs) or special-purposed digital signal processors (DSPs) for calculations on baseband radio waveforms, the SDMN approach moves all of the baseband processing into general-purpose CPUs. SDMN radio systems also use hardware with publicly-documented interfaces that is designed to be readily reproducible by multiple manufacturers. === Commodity components === SDMN designs avoid the use of components that are specialized as to their functions or that are available from only a single vendor. This is true of both the hardware and software elements of the network. === Software switching and transcoding === The telephony switches of SDMN networks are software-based, including software transcoding for speech codecs. === Centralized, distributed, or hybrid? === A new SDN architecture for wireless distribution systems (WDSs) is explored that eliminates the need for multi-hop flooding of route information and therefore enables WDNs to easily expand. The key idea is to split network control and data forwarding by using two separate frequency bands. The forwarding nodes and the SDN controller exchange link-state information and other network control signaling in one of the bands, while actual data forwarding takes place in the other band. == Advantages of SDMN == The SDMN approach has many advantages over hardware-based mobile network designs. Because SDMN hardware is protocol-agnostic, upgrades are software-only, even across technology generations. In the radio network, these changes can even be made on a site-by-site basis. Because SDMN hardware is designed to be easily sourced and reproduced: SDMN equipment can be serviced by a wider range of vendors, lowering maintenance costs. SDMN equipment can be manufactured anywhere in the world, lowering production costs. Because SDMN software is based on commodity operating systems and development tools: Support staff can be trained more quickly because they are already familiar with the underlying software systems. Many aspects of the SDMN can be monitored and managed with pre-existing tools, because they are already available in the commodity operating systems. Because SDMN network components run on general purpose computers, the network components can be scaled up in capacity by adding more computing power.

    Read more →
  • GPU switching

    GPU switching

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

    Read more →
  • Digital scrapbooking

    Digital scrapbooking

    Digital scrapbooking is the term for the creation of a new 2D artwork by re-combining various graphic elements. It is a form of scrapbooking that is done using a personal computer, digital or scanned photos and computer graphics software. It is a relatively new form of the traditional print scrapbooking. Recent advances in technology now enable the craft to be pursued on tablets and smart devices utilising imaging apps as well as hobby specific apps, some of which have been created specifically by brands for use with their own image products. Digital scrapbooking kits are available to purchase and download at many websites that specialize in the craft. Kits contain graphics and word-art and are usually themed and color-coordinated. They usually consist of a mix of background images and "cut out" [extracted] images containing alpha channels. Once a kit has been downloaded to the computer or device, it can then be used over and over again to make new scrapbook pages (scrapbook layouts) within the software program that one chooses to use, often in combination with the users's own family photographs, scanned keepsakes and other unique personal elements scanned on a flatbed scanner. Scanning is usually done at 300dpi, to make the resulting images suitable for print. == Licensing and Copyright == Kits are sometimes licensed differently from other forms of traditional royalty-free stock images that may be purchased per-item or in sets at online stock photography sites. Some kit packs will be wholly royalty-free, but some kit makers may restrict usage to non-commercial work only. Some may specifically forbid the use of their work in projects for commercial gain, for example greetings cards and gift tags that may be made with their kits. Licensing often varies from kit to kit, even from the same maker. Some kits include derivative works of public domain material. In contrast to stock, creators of digital scrapbooking kits often require a credit or byline to indicate that their image elements have been used in a new creation. == Uses == Some artistic individuals combine digital scrapbooking with traditional scrapbooking to create what's known as hybrid scrapbooking projects. Hybrid scrapbooking involves creating layouts on the computer using digital supplies that will then be printed and combined with traditional supplies such as buttons, ribbons and other elements. Conversely, a hybrid scrapbook project may also be created using traditional paper supplies and augmented with digital elements that have been printed and cut out specifically for use on the project. Journaling may be done within the software programs to accompany images and to create digital storybooks, or scrapbooks, which are then published in photo books via various popular print-on-demand services, printed and added to traditional scrapbooks, burned to CDs or posted on the Web. Digital Scrapbooking may also be done online by uploading photos to a specialist scrapbooking website and utilising their custom built platforms and decorative image elements to complete the projects for print to finished products, for example photo books and holiday greeting cards. == Market Size == The traditional scrapbooking market appeared to decline somewhat in the USA since 2010, probably due to the 2008 financial crisis, and the digital scrapbooking market (being potentially a much cheaper form of scrapbooking) may have increased accordingly. Both markets currently appear to have recovered lost ground and expanded since the beginning of the COVID-19 pandemic as many people sought to productively fill their time during lockdowns, quarantines and self-isolation / stay at home directions. == Digital scrapbooking software == The main software programs that are typically used are Adobe Photoshop, Adobe Photoshop Elements, paint.net (freeware), Filter Forge, Corel Paintshop Pro, and GIMP. Additionally Adobe offer the Photoshop iOS product using the same code base as the desktop version to drive the app version. == Digital scrapbooking supplies == Digital scrapbooking supplies are downloaded from the Internet and then stored on a computer or external hardrive, DVD or CD media, SD cards, or in the cloud, to be used as needed. Both paid and free digital scrapbooking supplies available from numerous designers on their blogs or in e-commerce stores either as solo designers or as part of a wide cohort of designers working cooperatively in large full service e-commerce websites. Usually designed at 300ppi image resolution, digital scrapbooking product offerings and supplies often include: Full coordinated kits containing digital background “papers”, decorative alphabets, and diverse embellishments generally containing a mixture of .JPG and .PNG files; "Quick pages", flattened files containing a completed page layout with transparent photo windows in .PNG file format; Digital templates, fully layered layouts i.e. pages that have had the composition pre-designed ready for use in an imaging program or app, fully customizable for color schemes, kit choices, photographs and other embellishments, generally supplied in either .PSD or .TIF file format; Hybrid “quick pages”, i.e. layouts that are both fully designed and fully layered for customization, generally supplied in either .PSD or .TIF file format; Adobe Photoshop actions, brushes, custom shapes, paths and styles, saved in their respective native Photoshop file formats; and Corel PaintShop Pro equivalent tools.

    Read more →
  • Image stitching

    Image stitching

    Image stitching or photo stitching is the process of combining multiple photographic images with overlapping fields of view to produce a segmented panorama or high-resolution image. Commonly performed through the use of computer software, most approaches to image stitching require nearly exact overlaps between images and identical exposures to produce seamless results, although some stitching algorithms actually benefit from differently exposed images by doing high-dynamic-range imaging in regions of overlap. Some digital cameras can stitch their photos internally. == Applications == Image stitching is widely used in modern applications, such as the following: Document mosaicing Image stabilization feature in camcorders that use frame-rate image alignment High-resolution image mosaics in digital maps and satellite imagery Medical imaging Multiple-image super-resolution imaging Video stitching Object insertion == Process == The image stitching process can be divided into three main components: image registration, calibration, and blending. === Image stitching algorithms === In order to estimate image alignment, algorithms are needed to determine the appropriate mathematical model relating pixel coordinates in one image to pixel coordinates in another. Algorithms that combine direct pixel-to-pixel comparisons with gradient descent (and other optimization techniques) can be used to estimate these parameters. Distinctive features can be found in each image and then efficiently matched to rapidly establish correspondences between pairs of images. When multiple images exist in a panorama, techniques have been developed to compute a globally consistent set of alignments and to efficiently discover which images overlap one another. A final compositing surface onto which to warp or projectively transform and place all of the aligned images is needed, as are algorithms to seamlessly blend the overlapping images, even in the presence of parallax, lens distortion, scene motion, and exposure differences. === Image stitching issues === Since the illumination in two views cannot be guaranteed to be identical, stitching two images could create a visible seam. Other reasons for seams could be the background changing between two images for the same continuous foreground. Other major issues to deal with are the presence of parallax, lens distortion, scene motion, and exposure differences. In a non-ideal real-life case, the intensity varies across the whole scene, and so does the contrast and intensity across frames. Additionally, the aspect ratio of a panorama image needs to be taken into account to create a visually pleasing composite. For panoramic stitching, the ideal set of images will have a reasonable amount of overlap (at least 15–30%) to overcome lens distortion and have enough detectable features. The set of images will have consistent exposure between frames to minimize the probability of seams occurring. === Keypoint detection === Feature detection is necessary to automatically find correspondences between images. Robust correspondences are required in order to estimate the necessary transformation to align an image with the image it is being composited on. Corners, blobs, Harris corners, and differences of Gaussians of Harris corners are good features since they are repeatable and distinct. One of the first operators for interest point detection was developed by Hans Moravec in 1977 for his research involving the automatic navigation of a robot through a clustered environment. Moravec also defined the concept of "points of interest" in an image and concluded these interest points could be used to find matching regions in different images. The Moravec operator is considered to be a corner detector because it defines interest points as points where there are large intensity variations in all directions. This often is the case at corners. However, Moravec was not specifically interested in finding corners, just distinct regions in an image that could be used to register consecutive image frames. Harris and Stephens improved upon Moravec's corner detector by considering the differential of the corner score with respect to direction directly. They needed it as a processing step to build interpretations of a robot's environment based on image sequences. Like Moravec, they needed a method to match corresponding points in consecutive image frames, but were interested in tracking both corners and edges between frames. SIFT and SURF are recent key-point or interest point detector algorithms but a point to note is that SURF is patented and its commercial usage restricted. Once a feature has been detected, a descriptor method like SIFT descriptor can be applied to later match them. === Registration === Image registration involves matching features in a set of images or using direct alignment methods to search for image alignments that minimize the sum of absolute differences between overlapping pixels. When using direct alignment methods one might first calibrate one's images to get better results. Additionally, users may input a rough model of the panorama to help the feature matching stage, so that e.g. only neighboring images are searched for matching features. Since there are smaller group of features for matching, the result of the search is more accurate and execution of the comparison is faster. To estimate a robust model from the data, a common method used is known as RANSAC. The name RANSAC is an abbreviation for "RANdom SAmple Consensus". It is an iterative method for robust parameter estimation to fit mathematical models from sets of observed data points which may contain outliers. The algorithm is non-deterministic in the sense that it produces a reasonable result only with a certain probability, with this probability increasing as more iterations are performed. It being a probabilistic method means that different results will be obtained for every time the algorithm is run. The RANSAC algorithm has found many applications in computer vision, including the simultaneous solving of the correspondence problem and the estimation of the fundamental matrix related to a pair of stereo cameras. The basic assumption of the method is that the data consists of "inliers", i.e., data whose distribution can be explained by some mathematical model, and "outliers" which are data that do not fit the model. Outliers are considered points which come from noise, erroneous measurements, or simply incorrect data. For the problem of homography estimation, RANSAC works by trying to fit several models using some of the point pairs and then checking if the models were able to relate most of the points. The best model – the homography, which produces the highest number of correct matches – is then chosen as the answer for the problem; thus, if the ratio of number of outliers to data points is very low, the RANSAC outputs a decent model fitting the data. === Calibration === Image calibration aims to minimize differences between an ideal lens models and the camera-lens combination that was used, optical defects such as distortions, exposure differences between images, vignetting, camera response and chromatic aberrations. If feature detection methods were used to register images and absolute positions of the features were recorded and saved, stitching software may use the data for geometric optimization of the images in addition to placing the images on the panosphere. Panotools and its various derivative programs use this method. ==== Alignment ==== Alignment may be necessary to transform an image to match the view point of the image it is being composited with. Alignment, in simple terms, is a change in the coordinates system so that it adopts a new coordinate system which outputs image matching the required viewpoint. The types of transformations an image may go through are pure translation, pure rotation, a similarity transform which includes translation, rotation and scaling of the image which needs to be transformed, Affine or projective transform. Projective transformation is the farthest an image can transform (in the set of two dimensional planar transformations), where only visible features that are preserved in the transformed image are straight lines whereas parallelism is maintained in an affine transform. Projective transformation can be mathematically described as x ′ = H ⋅ x , {\displaystyle x'=H\cdot x,} where x {\displaystyle x} is points in the old coordinate system, x ′ {\displaystyle x'} is the corresponding points in the transformed image and H {\displaystyle H} is the homography matrix. Expressing the points x {\displaystyle x} and x ′ {\displaystyle x'} using the camera intrinsics ( K {\displaystyle K} and K ′ {\displaystyle K'} ) and its rotation and translation [ R t ] {\displaystyle [R\,t]} to the real-world coordinates X {\displaystyle X} and < m a t h > x {\displaystyle x} and x ′ {\displaystyle x'} ', we get Using the abo

    Read more →
  • Asynchronous module definition

    Asynchronous module definition

    Asynchronous module definition (AMD) is a specification for the programming language JavaScript. It defines an application programming interface (API) that defines code modules and their dependencies, and loads them asynchronously if desired. Implementations of AMD provide the following benefits: Website performance improvements. AMD implementations load smaller JavaScript files, and then only when they are needed. Fewer page errors. AMD implementations allow developers to define dependencies that must load before a module is executed, so the module does not try to use outside code that is not available yet.... In addition to loading multiple JavaScript files at runtime, AMD implementations allow developers to encapsulate code in smaller, more logically-organized files, in a way similar to other programming languages such as Java. For production and deployment, developers can concatenate and minify JavaScript modules based on an AMD API into one file, the same as traditional JavaScript. AMD provides some CommonJS interoperability. It allows for using a similar exports and require() interface in the code, although its own define() interface is more basal and preferred. The AMD specification is implemented by Dojo Toolkit, RequireJS, and other libraries.

    Read more →
  • Nitro Zeus

    Nitro Zeus

    Nitro Zeus is the project name for a well funded comprehensive cyber attack plan created as a mitigation strategy after the Stuxnet malware campaign and its aftermath. Unlike Stuxnet, that was loaded onto a system after the design phase to affect its proper operation, Nitro Zeus's objectives are built into a system during the design phase unbeknownst to the system users. This built-in feature allows a more assured and effective cyber attack against the system's users. The information about its existence was raised during research and interviews carried out by Alex Gibney for his Zero Days documentary film. The proposed long term widespread infiltration of major Iranian systems would disrupt and degrade communications, power grid, and other vital systems as desired by the cyber attackers. This was to be achieved by electronic implants in Iranian computer networks. The project was seen as one pathway in alternatives to full-scale war.

    Read more →
  • G7 Rapid Response Mechanism

    G7 Rapid Response Mechanism

    The G7 Rapid Response Mechanism (RRM) is an initiative introduced in the "Charlevoix Commitment on Defending Democracy from Foreign Threats", issued by the leaders of the Group of Seven (G7) countries—United States, Canada, Japan, United Kingdom, France, Germany and Italy—on June 9, 2018, during their summit in Charlevoix, Quebec. The RRM's mandate is to strengthen the coordination of G7 member countries, as well as "to identify and respond to diverse and evolving threats to our democracies, including through sharing information and analysis, and identifying opportunities for coordinated response" The G7 is an informal international intergovernmental economic organization that meets annually, whose members represent the seven wealthiest advanced economies in the world, as measured by the International Monetary Fund (IMF). == Constituents == The following countries and organisations are members and observers (associate members) of the G7 Rapid Response Mechanism: Australia Canada France Germany Italy Japan Netherlands New Zealand Poland Sweden United Kingdom United States European Union North Atlantic Treaty Organization == Mandate == The RRM was mandated to "strengthen coordination to prevent, thwart and respond to malign and evolving threats to G7 democracies." It "will share information and threat analysis related to various threats to democracy, and is an established mechanism to identify opportunities for coordinated response." According to the Institute for Research on Public Policy's Policy Options magazine, the "RRM initiative seeks to strengthen the leading democracies' coordination to identify and respond to diverse and evolving threats…including through sharing information and analysis, and identifying opportunities for a coordinated response." == Administration == The RRM initiative is led by Canada through Global Affairs Canada's Centre for International Digital Policy. Tara Denham, Director of the Centre for International Digital Policy at Global Affairs Canada, directed the team responsible for setting up the RRM Coordination Unit. Global Affairs Canada—the Department of Foreign Affairs, Trade and Development—is the federal Canadian ministry responsible for diplomatic and consular relations, international trade, and international development and humanitarian assistance. The Centre for International Digital Policy includes the Digital Inclusion Lab and the RRM. Denham is also the RRM's Canadian Focal Point. At a briefing on "the security and intelligence threats to elections" of the House of Commons Standing Committee on Access to Information, Privacy and Ethics, the chair Bob Zimmer (CPC), said that the 2019 general election "may be different" from past elections in Canada. as the "tools that were used to strengthen civic engagement are being used to undermine, disrupt and destabilize democracy." "Democracies around the world have entered a new era—an era of heightened threat and heightened vigilance—and 2019 will see a number of countries brace for volleys of attempted disruption: India, Australia, Ukraine, Switzerland, Belgium, the EU and, of course, Canada. Evidence has confirmed that the most recent Canadian general election, in 2015, was unencumbered by interference, although there were some relatively primitive attempts to disrupt, misinform and divide. These efforts were few in number and uncoordinated, and had no visible impact on the voter, either online or in line." Zimmer described the initiative's three pillars. "enhancing citizen preparedness" through the "digital citizen initiative" "improving organizational readiness" with national security and intelligence agencies supporting Elections Canada "ensure a comprehensive understanding of and response to any threats to Canada's democratic process." by establishing the Security and Intelligence Threats to Elections Task Force (SITE) which works as a team with the Communications Security Establishment (CSE), the Canadian Security Intelligence Service (CSIS), the Royal Canadian Mounted Police (RCMP), as well as Global Affairs Canada Zimmer said that as part of the third pillar, "We have activated the G7 rapid response mechanism, announced at the G7 leaders' summit in Charlevoix, to strengthen coordination among our G7 allies and to ensure that there is international collaboration and coordination in responding to foreign threats to democracy." == Background == === Charlevoix summit === The G7 met from June 8 to 9, 2018 during their summit at the Manoir Richelieu in Charlevoix, in La Malbaie, Quebec. The Charlevoix Summit was the 44th G7 summit. The group issued eight "Commitments" at the summit. They included: Commitment on Defending Democracy from Foreign Threats Commitment on Equality and Economic Growth Commitment to End Sexual and Gender-Based Violence, Abuse and Harassment in Digital Contexts Declaration on Quality Education for Girls, Adolescent Girls and Women in Developing Countries Commitment on Innovative Financing for Development. Prime Minister Justin Trudeau announced five themes for Canada's G7 presidency which began in January 2018. === Defending Democracy from Foreign Threats === "We commit to take concerted action in responding to foreign actors who seek to undermine our democratic societies and institutions, our electoral processes, our sovereignty and our security as outlined in the Charlevoix Commitment on Defending Democracy from Foreign Threats. We recognize that such threats, particularly those originating from state actors, are not just threats to G7 nations, but to international peace and security and the rules-based international order. We call on others to join us in addressing these growing threats by increasing the resilience and security of our institutions, economies and societies, and by taking concerted action to identify and hold to account those who would do us harm." They committed to "cooperate in defending democracies from foreign threats and establish a response mechanism for that purpose". "Democracy and the rules-based international order are increasingly being challenged by authoritarianism and the defiance of international norms. In particular, foreign actors seek to undermine our democratic societies and institutions, our electoral processes, our sovereignty and our security. These malicious, multi-faceted and ever-evolving tactics constitute a serious strategic threat which we commit to confront together, working with other governments that share our democratic values." The Charlevoix Commitment states that "foreign actors seek to undermine our democratic societies and institutions, our electoral processes, our sovereignty and our security. These malicious, multi-faceted and ever-evolving tactics constitute a serious strategic threat which we commit to confront together, working together with other governments that share our democratic values." The Charlevoix Summit resolved to "establish a G7 Rapid Response Mechanism to strengthen our coordination to identify and respond to diverse and evolving threats to our democracies, including through sharing information and analysis, and identifying opportunities for coordinated response." == Monitored elections == === 2019 European Parliament election === RRM Canada's comprehensive report on the 2019 European Parliament election analyzed open data "related to foreign interference during and leading up to the 2019 European Union Parliamentary Elections, May 23–26, 2019". RRM Canada did not find "significant evidence of state-based foreign interference, or any large-scale, organized and coordinated efforts by non-state actors". They did find that "national or international non-state actors" used tactics based on those used by the Russian sponsored Internet Research Agency (IRA) in previous elections, "such as the 2016 U.S. Elections". For example, blogs, webpages, and social media accounts on Twitter, Facebook and Reddit "were used to spread divisive and false information to damage and negatively impact social cohesion and trust in democratic processes and institutions" in coordinated networks of Facebook groups. === 2019 Alberta general election === RRM Canada's analyz report on the 2019 Alberta general election was intended to "identify any emerging tactics in foreign interference and draw lessons learned for the Canadian general elections scheduled to take place in October 2019." No foreign activity was detected, although the data revealed ""suspicious account creation pattern that is indicative of troll or bot activity". They found "automated inauthentic behaviour and trolling activities" but concluded that they were "very likely domestic". The data showed "suspicious account creation pattern that is indicative of troll or bot activity", and "spikes in account creation" which suggested the "presence of accounts developed for a specific purpose." The accounts were very likely domestic and were "mainly comprised of supporters of the United Conservative Party (UCP)." A seco

    Read more →
  • Reflection (computer graphics)

    Reflection (computer graphics)

    Reflection in computer graphics is used to render reflective objects like mirrors and shiny surfaces. Accurate reflections are commonly computed using ray tracing whereas approximate reflections can usually be computed faster by using simpler methods such as environment mapping. Reflections on shiny surfaces like wood or tile can add to the photorealistic effects of a 3D rendering. == Approaches to reflection rendering == For rendering environment reflections there exist many techniques that differ in precision, computational and implementation complexity. Combination of these techniques are also possible. Image order rendering algorithms based on tracing rays of light, such as ray tracing or path tracing, typically compute accurate reflections on general surfaces, including multiple reflections and self reflections. However these algorithms are generally still too computationally expensive for real time rendering (even though specialized HW exists, such as Nvidia RTX) and require a different rendering approach from typically used rasterization. Reflections on planar surfaces, such as planar mirrors or water surfaces, can be computed simply and accurately in real time with two pass rendering — one for the viewer, one for the view in the mirror, usually with the help of stencil buffer. Some older video games used a trick to achieve this effect with one pass rendering by putting the whole mirrored scene behind a transparent plane representing the mirror. Reflections on non-planar (curved) surfaces are more challenging for real time rendering. Main approaches that are used include: Environment mapping (e.g. cube mapping): a technique that has been widely used e.g. in video games, offering reflection approximation that's mostly sufficient to the eye, but lacking self-reflections and requiring pre-rendering of the environment map. The precision can be increased by using a spatial array of environment maps instead of just one. It is also possible to generate cube map reflections in real time, at the cost of memory and computational requirements. Screen space reflections (SSR): a more expensive technique that traces rays come from pixel data.This requires the data of surface normal and either depth buffer (local space) or position buffer (world space).The disadvantage is that objects not captured in the rendered frame cannot appear in the reflections, which results in unresolved and or false intersections causing artefacts such as reflection vanishment and virtual image. SSR was originally introduced as Real Time Local Reflections in CryENGINE 3. == Types of reflection == Polished - A polished reflection is an undisturbed reflection, like a mirror or chrome surface. Blurry - A blurry reflection means that tiny random bumps, or microfacets, on the surface of the material causes the reflection to be blurry. Metallic - A reflection is metallic if the highlights and reflections retain the color of the reflective object. Glossy - This term can be misused: sometimes, it is a setting which is the opposite of blurry (e.g. when "glossiness" has a low value, the reflection is blurry). Sometimes the term is used as a synonym for "blurred reflection". Glossy used in this context means that the reflection is actually blurred. === Polished or mirror reflection === Mirrors are usually almost 100% reflective. === Metallic reflection === Normal (nonmetallic) objects reflect light and colors in the original color of the object being reflected. Metallic objects reflect lights and colors altered by the color of the metallic object itself. === Blurry reflection === Many materials are imperfect reflectors, where the reflections are blurred to various degrees due to surface roughness that scatters the rays of the reflections. === Glossy reflection === Fully glossy reflection, shows highlights from light sources, but does not show a clear reflection from objects. == Examples of reflections == === Wet floor reflections === The wet floor effect is a graphic effects technique popular in conjunction with Web 2.0 style pages, particularly in logos. The effect can be done manually or created with an auxiliary tool which can be installed to create the effect automatically. Unlike a standard computer reflection (and the Java water effect popular in first-generation web graphics), the wet floor effect involves a gradient and often a slant in the reflection, so that the mirrored image appears to be hovering over or resting on a wet floor.

    Read more →
  • Digital media service

    Digital media service

    A digital media service (DMS) is an online service provider that sells access to digital library of content such as films, software, games, images, literature, etc. While no transfer of property is made, a nearly perfect duplicate of the data (song movie, etc.) is made on a customer's computer. Content is either primarily hosted on a dedicated server, which is owned by the service provider, or it is hosted primarily on the hard drives of its customers using a P2P protocol with, perhaps, a dedicated server to supplement. == History == One example of the older business model is the iTunes Store, which still markets and prices data as individual retail products. There are no examples of the latter business model in operation yet, but one is currently in development by Global Gaming Factory X and expected to begin operation some time after they acquire The Pirate Bay domain on August 27, 2009. A key difference between the two models is that the model which relies on its customer base for offering their bandwidth for other customers to access customer hosted data can operate at significantly lower costs than a company that seeks to limit data access to a per-download fee in order to supplement the cost of using its own hosting and bandwidth. The P2P model holds the potential for companies to offer unlimited access to the largest data library in the history of the internet to its customers for a reasonably low membership rate that is relevant to the cost of operation. While the market is virtually untouched, the P2P supplemented model will need entrepreneurs who are able to overcome a series of challenges in order to compete with the older business model as well as that which is offered for free (and often against the wishes of copyright holders) by hundreds of P2P communities on the internet. These challenges include, but are not limited to: Offering better data quality, speed, convenience and ease of use, protocol, sense of security, indexing and search organization, site up time, data library size, customer support, advertising, artist/copyright holder incentives and compensation, incentives and compensation for customers hosting data and providing bandwidth, guaranteed seeding (available access to indexed data at all times), than competitors.

    Read more →
  • Telecommunications device for the deaf

    Telecommunications device for the deaf

    A telecommunications device for the deaf (TDD) is a teleprinter, an electronic device for text communication over a telephone line, that is designed for use by persons with hearing or speech difficulties. Other names for the device include teletypewriter (TTY), textphone (common in Europe), and minicom (United Kingdom). The typical TDD is a device about the size of a typewriter or laptop computer with a QWERTY keyboard and small screen that uses an LED, LCD, or VFD screen to display typed text electronically. In addition, TDDs commonly have a small spool of paper on which text is also printed – old versions of the device had only a printer and no screen. The text is transmitted live, via a telephone line, to a compatible device, i.e. one that uses a similar communication protocol. Special telephone services have been developed to carry the TDD functionality even further. In certain countries, there are systems in place so that a deaf person can communicate with a hearing person on an ordinary voice phone using a human relay operator. There are also "carry-over" services, enabling people who can hear but cannot speak ("hearing carry-over", a.k.a. "HCO"), or people who cannot hear but are able to speak ("voice carry-over", a.k.a. "VCO") to use the telephone. The term TDD is sometimes discouraged because people who are deaf are increasingly using mainstream devices and technologies to carry out most of their communication. The devices described here were developed for use on the partially-analog Public Switched Telephone Network (PSTN). They do not work well on the new internet protocol (IP) networks. Thus as society increasingly moves toward IP based telecommunication, the telecommunication devices used by people who are deaf will not be TDDs. In the US and Canada, the devices are referred to as TTYs. Teletype Corporation, of Skokie, Illinois, made page printers for text, notably for news wire services and telegrams, but these used standards different from those for deaf communication, and although in quite widespread use, were technically incompatible. Furthermore, these were sometimes referred to by the "TTY" initialism, short for "Teletype". When computers had keyboard input mechanisms and page printer output, before CRT terminals came into use, Teletypes were the most widely used devices. They were called "console typewriters". (Telex used similar equipment, but was a separate international communication network.) == History == === APCOM acoustic coupler or MODEM device === The TDD concept was developed by James C. Marsters (1924–2009), a dentist and private airplane pilot who became deaf as an infant because of scarlet fever, and Robert Weitbrecht, a deaf physicist. In 1964, Marsters, Weitbrecht and Andrew Saks, an electrical engineer and grandson of the founder of the Saks Fifth Avenue department store chain, founded APCOM (Applied Communications Corp.), located in the San Francisco Bay area, to develop the acoustic coupler, or modem; their first product was named the PhoneType. APCOM collected old teleprinter machines (TTYs) from the Department of Defense and junkyards. Acoustic couplers were cabled to TTYs enabling the AT&T standard Model 500 telephone to couple, or fit, into the rubber cups on the coupler, thus allowing the device to transmit and receive a unique sequence of tones generated by the different corresponding TTY keys. The entire configuration of teleprinter machine, acoustic coupler, and telephone set became known as the TTY. Weitbrecht invented the acoustic coupler modem in 1964. The actual mechanism for TTY communications was accomplished electro-mechanically through frequency-shift keying (FSK) allowing only half-duplex communication, where only one person at a time can transmit. === Paul Taylor TTY device === During the late 1960s, Paul Taylor combined Western Union Teletype machines with modems to create teletypewriters, known as TTYs. He distributed these early, non-portable devices to the homes of many in the deaf community in St. Louis, Missouri. He worked with others to establish a local telephone wake-up service. In the early 1970s, these small successes in St. Louis evolved into the nation's first local telephone relay system for the deaf. === Micon Industries MCM device === In 1973, the Manual Communications Module (MCM), which was the world's first electronic portable TTY allowing two-way telecommunications, premiered at the California Association of the Deaf convention in Sacramento, California. The battery-powered MCM was invented and designed by a deaf news anchor and interpreter, Kit Patrick Corson, in conjunction with Michael Cannon and physicist Art Ogawa. It was manufactured by Michael Cannon's company, Micon Industries, and initially marketed by Kit Corson's company, Silent Communications. In order to be compatible with the existing TTY network, the MCM was designed around the five-bit Baudot code established by the older TTY machines instead of the ASCII code used by computers. The MCM was an instant success with the deaf community despite the drawback of a $599 cost. Within six months there were more MCMs in use by the deaf and hard of hearing than TTY machines. After a year Micon took over the marketing of the MCM and subsequently concluded a deal with Pacific Bell (who coined the term "TDD") to purchase MCMs and rent them to deaf telephone subscribers for $30 per month. After Micon formed an alliance with APCOM, Michael Cannon (Micon), Paul Conover (Micon), and Andrea Saks (APCOM) successfully petitioned the California Public Utilities Commission (CPUC), resulting in a tariff that paid for TTY devices to be distributed free of cost to deaf persons. Micon produced over 1,000 MCMs per month, resulting in approximately 50,000 MCMs being disseminated into the deaf community. Before he left Micon in 1980, Michael Cannon developed several computer compatible variations of the MCM and a portable, battery operated printing TTY, but they were never as popular as the original MCM. Newer model TTYs could communicate with selectable codes that allow communications at a higher bit rate on those models similarly equipped. However, the lack of true computer interface functionality spelled the demise of the original TTY and its clones. During the mid-1970s, other so-called portable telephone devices were being cloned by other companies, and this was the time period when the term "TDD" began being used largely by those outside the deaf community. === Text messaging and the Def-Tone System (DTS) === This relay system became known commonly as the Def-Tone System (DTS) because the tones representing letters of the alphabet were eventually carried in tones outside the range of human hearing. Today, this is commonly called multi-tap because you press a number 1, 2 or 3 times to get a corresponding letter. In 1994 Joseph Alan Poirier, a college student-worker, recommended using the system to send texts to forklifts to improve delivery of parts to the assembly line at GM Powertrain in Toledo, Ohio, and sending a text to pagers. He recommended taking pagers to alphanumeric displays incorporating the same system in discussions with the pager supplier for Outback Steakhouse and having relays put in the forklifts to ping alert messages to the pagers used in that system. He called it text messaging, coining the phrase. It is theorized that when Toyota forklift was allegedly hired by GM for this work, one of the subcontractors, Kyocera, utilized the work for the Toyota forklift company to create text messaging for cell phones. === Marsters Award === In 2009, AT&T received the James C. Marsters Promotion Award from TDI (formerly Telecommunications for the Deaf, Inc.) for its efforts to increase accessibility to communication for people with disabilities. The award holds some irony; it was AT&T that, in the 1960s, resisted efforts to implement TTY technology, claiming it would damage its communication equipment. In 1968, the Federal Communications Commission struck down AT&T's policy and forced it to offer TTY access to its network. == Protocols == There are many different standards for TDDs and textphones. === Original 5-bit Baudot code === The original standard used by TTYs is a variant of the Baudot code. The maximum speed of this protocol is 10 characters per second. This is a half-duplex protocol, which means that only one person at a time may transmit characters. If both try to transmit at the same time, the characters will be garbled on the other end. This protocol is commonly used in the United States. This is a variant of the Baudot code, implemented as 5-bits per character transmitted asynchronously using frequency-shift key-modulation at either 45.5 or 50 baud, 1 start bit, 5 data bits, and 1.5 stop bits. Details of the protocol implementation are available in TIA-825-A and also in T-REC V.18 Annex A "5-bit operational mode". === Turbo Code === The UltraTec company implements another protocol known as Enh

    Read more →