AI Email Id

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

  • ClearForest

    ClearForest

    ClearForest was an Israeli software company that developed and marketed text analytics and text mining solutions. == History == Founded in 1998, ClearForest had its headquarters just outside Boston and a development center in Or Yehuda. The company was acquired by Reuters in April, 2007. It now markets its services under the names Calais, OpenCalais, and OneCalais. ClearForest was previously venture-backed; its last funding round was led by Greylock Ventures and closed in 2005. Other investors included DB Capital Partners, Pitango, Walden Israel, Booz Allen, JP Morgan Partners and HarbourVest Partners. On February 7, 2008 Reuters announced the launch of Open Calais, a named-entity recognition and semantic analysis service that uses ClearForest technology. On April 30, 2007, Reuters announced that it would acquire ClearForest. Sources estimate the acquisition to be for $25 Million. == Solutions and products == ClearForest offers several hosted solutions, including: OpenCalais, a free web service and open API (for commercial and non-commercial use) that performs named-entity recognition and enables automatic metadata generation using the ClearForest financial module. Semantic Web Services (SWS), an on-demand service that makes ClearForest's natural language processing tools available as a standard web service. A subset of ClearForest's capabilities is available via SWS at no cost. Gnosis, a free Firefox extension that uses SWS to analyze the content of a web page. Gnosis identifies named entities such as people, companies, organizations, geographies and products on the page being viewed. Gnosis also automatically processes pages from Wikipedia, providing additional links for people, geographies and other entities which were not explicitly linked within the subject article. Harvest, a real-time machine-readable news service that uses SWS to process a company's news and document feeds and return machine-readable information about people, companies, locations and over 200 other entities facts and events. ClearForest also offers Text Analytics solutions targeted at specific business problems, including: Equity valuation for hedge funds and alternative investments firms Metadata & database creation for publishers and information providers/services Tapping "voice of customer" for market and survey research firms Quality Early Warning for vehicle, capital equipment & durable goods manufacturers

    Read more →
  • European Information Technology Observatory

    European Information Technology Observatory

    The European Information Technology Observatory (EITO) gathers information on European and global markets for information technology, telecommunications and consumer electronics. The EITO is managed by Bitkom Research GmbH, a wholly owned subsidiary of BITKOM, the German Association for Information Technology, Telecommunications and New Media. EITO is sponsored by Deutsche Telekom, KPMG and Telecom Italia. The research activities of the EITO Task Force are supported by the European Commission and the OECD. The EITO exists thanks to an initiative of Enore Deotto from MIlan and the support of Luis-Alberto Petit Herrera (Madrid), Jörg Schomburg (Hanover) and Günther Möller (Frankfurt). Between 1993 and 2007, the market reports were published as printed annual reports ("EITO yearbook"). Since 2008 the market reports are available in electronic version and can be purchased on the EITO online portal. Currently, the ICT market reports are divided in following categories: International Reports International Reports include ICT market information of all EITO countries and all market segments or only specific segments. The newest ICT Market Report 2013/14, published in October 2013, includes market data of 36 countries: 28 European markets, BRIC countries, Japan, Turkey and the US as well as a deep analysis of ICT market developments in 9 European countries. The detailed market data and forecasts are available for the period 2010–2014. Country Reports This category includes EITO reports on a single country's ICT market. The Country ICT Market Reports are published biannually for France, Germany, Italy, Spain and the United Kingdom. Thematic Reports Thematic studies focusing on a specific topic. Customized Reports Market Reports made upon order.

    Read more →
  • List of video games using NFC

    List of video games using NFC

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

    Read more →
  • Amplified conference

    Amplified conference

    An amplified conference is a conference or similar event in which the talks and discussions at the conference are 'amplified' through use of networked technologies in order to extend the reach of the conference deliberations. The term was originally coined by Lorcan Dempsey in a blog post. The term is now widely used within the academic and research community with Wankel proposing the following definition: The extension of a physical event (or a series of events) through the use of social media tools for expanding access to (aspects of) the event beyond physical and temporal bounds. Such amplification takes place in the context of intent to make the most of the intellectual content, discussion, networking, and discovery initiated by the event through the process of sharing with co-attendees, colleagues, friends and wider informed publics. A paper by Haider and others illustrates how amplified conferences are becoming mainstream in a discussion on "how social media have been employed as part of the project, particularly around event amplification". As described by Guy in the Ariadne ejournal the term is not a prescriptive one, but rather describes a pattern of behaviors which initially took place at IT and Web-oriented conferences once WiFi networks started to become available at conference venues and delegates started to bring with them networked devices such as laptops and, more recently, PDAs and mobile phones. == Different Approaches to 'Amplification' of Conferences == There are a number of ways in which conferences can be amplified through use of networked technologies: Amplification of the audiences' voice: Prior to the availability of real time chat technologies at events (whether use of IRC, Twitter, instant messaging clients, etc.) it was only feasible to discuss talks with immediate neighbours, and even then this may be considered rude. Amplification of the speaker's talk: The availability of video and audio-conferencing technologies make it possible for a speaker to be heard by an audience which isn't physically present at the conference. Although use of video technologies has been available to support conferences for some time, this has normally been expensive and require use of dedicated video-conferencing technologies. However the availability of lightweight desktop tools make it much easier to deploy such technologies, without even, requiring the involvement of conference organisers. Amplification across time: Video and audio technologies can also be used to allow a speaker's talk to be made available after the event, with use of podcasting or videocasting technologies allowing the talks to be easily syndicated to mobile devices as well as accessed on desktop computers. Amplification of the speaker's slides: The popularity of global repository services for slides, such as SlideShare, enable the slides used by a speaker to be more easily found, embedded on other Web sites and commented upon, in ways that were not possible when the slides, if made available at all, were only available on a conference Web site. Amplification of feedback to the speaker: Micro-blogging technologies, such as Twitter, are being used not only as a discussion channel for conference participants but also as a way of providing real-time feedback to a speaker during a talk. We are also now seeing dedicated microblogging technologies, such as Coveritlive and Scribblelive, being developed which aim to provide more sophisticated 'back channels' for use at conferences. Amplification of a conference's collective memory: The popularity of digital cameras and the photographic capabilities of many mobile phones is leading to many photographs being taken at conferences. With such photographs often being uploaded to popular photographic sharing services, such as Flickr, and such collections being made more easy to discover through agreed use of tags, we are seeing amplification of the memories of an event though the sharing of such resources. The ability of such photographic resources to be 'mashed up' with, say, accompanying music, can similarly help to enrich such collective experiences. Amplification of the learning: The ability to be able to follow links to resources and discuss the points made by a speaker during a talk can enrich the learning which takes place at an event, as described by Shabajee's article on "'Hot' or Not? Welcome to real-time peer review" published in the Times Higher Education Supplement in May 2003. Long term amplification of conference outputs: The availability in a digital format of conference resources, including 'official' resources such as slides, video and audio recordings, etc. which have been made by the conference organisers with the approval of speakers, together with more nebulous resources such as archives of conference back channels, and photographs and unofficial recordings taken at the event may help to provide a more authentic record of an event, which could potentially provide a valuable historical record. The amplification of conferences can be viewed as an example of how new technologies are altering standard practice. By using these techniques a different type of interaction is created at the conference itself, but also the boundaries around the conference can be seen as permeable, with remote participants engaging in discussion. An amplified conference also provides a considerably altered archive compared with a 'traditional' one. For the latter, the printed proceedings will be the main record, but for an amplified event this record is distributed across many media and takes in a wider range of content types, including the papers, videos of the presentations (for example on YouTube), the slides (e.g. on Slideshare), photos of the event (Flickr), interaction between participants (Twitter), reflections and comments (blogs), etc. The amplified conference represents an example of changing practice in digital scholarship.

    Read more →
  • Control system

    Control system

    A control system manages, commands, directs, or regulates the behavior of other devices or systems using control loops. It can range from a single home heating controller using a thermostat controlling a domestic boiler to large industrial control systems which are used for controlling processes or machines. The control systems are designed via control engineering process. For continuously modulated control, a feedback controller is used to automatically control a process or operation. The control system compares the value or status of the process variable (PV) being controlled with the desired value or setpoint (SP), and applies the difference as a control signal to bring the process variable output of the plant to the same value as the setpoint. For sequential and combinational logic, software logic, such as in a programmable logic controller, is used. == Open-loop and closed-loop control == == Feedback control systems == == Logic control == Logic control systems for industrial and commercial machinery were historically implemented by interconnected electrical relays and cam timers using ladder logic. Today, most such systems are constructed with microcontrollers or more specialized programmable logic controllers (PLCs). The notation of ladder logic is still in use as a programming method for PLCs. Logic controllers may respond to switches and sensors and can cause the machinery to start and stop various operations through the use of actuators. Logic controllers are used to sequence mechanical operations in many applications. Examples include elevators, washing machines and other systems with interrelated operations. An automatic sequential control system may trigger a series of mechanical actuators in the correct sequence to perform a task. For example, various electric and pneumatic transducers may fold and glue a cardboard box, fill it with the product and then seal it in an automatic packaging machine. PLC software can be written in many different ways – ladder diagrams, SFC (sequential function charts) or statement lists. == On–off control == On–off control uses a feedback controller that switches abruptly between two states. A simple bi-metallic domestic thermostat can be described as an on-off controller. When the temperature in the room (PV) goes below the user setting (SP), the heater is switched on. Another example is a pressure switch on an air compressor. When the pressure (PV) drops below the setpoint (SP) the compressor is powered. Refrigerators and vacuum pumps contain similar mechanisms. Simple on–off control systems like these can be cheap and effective. == Linear control == == Fuzzy logic == Fuzzy logic is an attempt to apply the easy design of logic controllers to the control of complex continuously varying systems. Basically, a measurement in a fuzzy logic system can be partly true. The rules of the system are written in natural language and translated into fuzzy logic. For example, the design for a furnace would start with: "If the temperature is too high, reduce the fuel to the furnace. If the temperature is too low, increase the fuel to the furnace." Measurements from the real world (such as the temperature of a furnace) are fuzzified and logic is calculated arithmetic, as opposed to Boolean logic, and the outputs are de-fuzzified to control equipment. When a robust fuzzy design is reduced to a single, quick calculation, it begins to resemble a conventional feedback loop solution and it might appear that the fuzzy design was unnecessary. However, the fuzzy logic paradigm may provide scalability for large control systems where conventional methods become unwieldy or costly to derive. Fuzzy electronics is an electronic technology that uses fuzzy logic instead of the two-value logic more commonly used in digital electronics. == Physical implementation == The range of control system implementation is from compact controllers often with dedicated software for a particular machine or device, to distributed control systems for industrial process control for a large physical plant. Logic systems and feedback controllers are usually implemented with programmable logic controllers. The Broadly Reconfigurable and Expandable Automation Device (BREAD) is a recent framework that provides many open-source hardware devices which can be connected to create more complex data acquisition and control systems.

    Read more →
  • Full30

    Full30

    Full30 was an American online video-sharing platform primarily dedicated to firearms and shooting sports-related content. The service was established in 2014 by Tim Harmsen and Mark Hammonds as a result of YouTube's increasing restrictions on gun-related videos. == History == After the 2018 Parkland high school shooting, many companies attempted to distance themselves from any association with the firearms industry. As a result, YouTube began demonetizing and sometimes outright deleting firearms-related videos, and in one case, popular YouTube poster Hickok45's channel was completely deleted but later restored. In response, Harmsen, who operates the Military Arms Channel on YouTube, decided to create his own video-hosting website to allow himself and other firearms content creators a platform free from such restrictions; he named the website Full30 — a reference to the popular 30-round STANAG magazine. In July 2020, site representatives announced the site had new ownership. By the end of 2022, the site began to be redirected to a series of other websites. By 2025, it was largely deactivated with the front page replaced by a form to be filled out to receive "updates", with no other explanation. == Contributors == Hickok45 Military Arms Channel Forgotten Weapons Bavarian Shooter Liberty Doll CloverTac

    Read more →
  • Interstellar communication

    Interstellar communication

    Interstellar communication is the transmission of signals between planetary systems. Sending interstellar messages is potentially much easier than interstellar travel, being possible with technologies and equipment which are currently available. However, the distances from Earth to other potentially inhabited systems introduce prohibitive delays, assuming the limitations of the speed of light. Even an immediate reply to radio communications sent to stars tens of thousands of light-years away would take many human generations to arrive. == Radio == The SETI project has for the past several decades been conducting a search for signals being transmitted by extraterrestrial life located outside the Solar System, primarily in the radio frequencies of the electromagnetic spectrum. Special attention has been given to the Water Hole, the frequency of one of neutral hydrogen's absorption lines, due to the low background noise at this frequency and its symbolic association with the basis for what is likely to be the most common system of biochemistry (but see alternative biochemistry). The regular radio pulses emitted by pulsars were briefly thought to be potential intelligent signals; the first pulsar to be discovered was originally designated "LGM-1", for "Little Green Men." They were quickly determined to be of natural origin, however. Several attempts have been made to transmit signals to other stars as well. (See "Realized projects" at Active SETI.) One of the earliest and most famous was the 1974 radio message sent from the largest radio telescope in the world, the Arecibo Observatory in Puerto Rico. An extremely simple message was aimed at a globular cluster of stars known as M13 in the Milky Way Galaxy and at a distance of 30,000 light years from the Solar System. These efforts have been more symbolic than anything else, however. Further, a possible answer needs double the travel time, i.e. tens of years (near stars) or 60,000 years (M13). == Other methods == It has also been proposed that higher frequency signals, such as lasers operating at visible light frequencies, may prove to be a fruitful method of interstellar communication; at a given frequency it takes surprisingly small energy output for a laser emitter to outshine its local star from the perspective of its target. Other more exotic methods of communication have been proposed, such as modulated neutrino or gravitational wave emissions. These would have the advantage of being essentially immune to interference by intervening matter. Sending physical mail packets between stars may prove to be optimal for many applications. While mail packets would likely be limited to speeds far below that of electromagnetic or other light-speed signals (resulting in very high latency), the amount of information that could be encoded in only a few tons of physical matter could more than make up for it in terms of average bandwidth. The possibility of using interstellar messenger probes for interstellar communication — known as Bracewell probes — was first suggested by Ronald N. Bracewell in 1960, and the technical feasibility of this approach was demonstrated by the British Interplanetary Society's starship study Project Daedalus in 1978. Starting in 1979, Robert Freitas advanced arguments for the proposition that physical space-probes provide a superior mode of interstellar communication to radio signals, then undertook telescopic searches for such probes in 1979 and 1982.

    Read more →
  • Downloadable content

    Downloadable content

    Downloadable content (DLC) is additional content created for an already released video game, distributed through the Internet by the game's publisher. It can be added for no extra cost or as a form of video game monetization, enabling the publisher to gain additional revenue from a title after it has been purchased, often using a microtransaction system. DLC can range from cosmetic content, such as skins, to new in-game content, like characters, levels, modes, and larger expansions that may contain a mix of such content as a continuation of the base game. In some games, multiple DLCs (including future DLC not yet released) may be bundled as part of a "season pass"—typically at a discount rather than purchasing each DLC individually. While the Dreamcast was the first home console to support DLC (albeit in a limited form due to hardware and internet connection limitations), Microsoft's Xbox helped popularize the concept. Since the seventh generation of video game consoles, DLC has been a prevalent feature of major video game platforms with internet connectivity. == Etymology == Since the popularization of microtransactions in online distribution platforms such as Steam, the term DLC has become a synonymous for any form of paid content in video games, regardless of whether they constitute the download of new content. Furthermore, this led to the creation of the oxymoronic term "on-disc DLC" for content included on the game's original files but locked behind a paywall. == History == === Precursors to DLC === The earliest form of downloadable content were offerings of full games, such as on the Atari 2600's GameLine service, which allowed users to download games using a telephone line. A similar service, Sega Channel, allowed for the downloading of games to the Sega Genesis over a cable line. While the GameLine and Sega Channel services allowed for the distribution of entire titles, they did not provide downloadable content for existing titles. Expansion packs were sold at retail for some PC games, which featured content such as additional levels, characters, or maps for a base game. They often required an installation of the original game in order to function, but some games (such as Half-Life) had "standalone" expansions, which were essentially spin-off games that reused engine code and assets from the original game. === On consoles === The Dreamcast was the first console to feature online support as a standard; DLC was available, though limited in size due to the narrowband connection and the 200 block limit of the Visual Memory Unit memory card. These online features were still considered a breakthrough in video games. With the release of the Xbox, Microsoft was the second company to implement downloadable content. Many Xbox titles, including Splinter Cell, Halo 2, and Ninja Gaiden, offered varying amounts of extra content, available for download through the Xbox Live service. Most of this content was available free. With the advent of the GameCube, Nintendo was the third company to implement downloadable content. Many GameCube titles offered varying amounts of extra content from Game Boy Advance titles with the GameCube – Game Boy Advance link cable. All of this content was available free. The Xbox 360 (2005) included more robust support for digital distribution, including DLC downloads and purchases, via its Xbox Live Marketplace service. Microsoft believed that publishers would benefit by offering small pieces of content at a small cost ($1 to $5), rather than full expansion packs (~$20), as this would allow players to pick and chose what content they desired, providing revenue to the publishers. Microsoft also utilized a digital currency known as "Microsoft Points" for transactions, which could also be purchased through physical gift cards to avoid the banking fees associated with the small price points. The PlayStation 3 (2006) adopted the same approach with their downloadable hub, the PlayStation Store. Sony planned on having the bulk of its content be purchased separately via many separate online microtransactions for PlayStation Network titles, including Gran Turismo HD Concept and Gran Turismo 5 Prologue. The Wii (2006) featured a sparser amount of downloadable content on their Wii Shop Channel, the bulk of which is accounted for by digital distribution of emulated Nintendo titles from previous generations. Music video games, such as titles from the Guitar Hero and Rock Band franchises, took significant advantage of downloadable content as a means of offering new songs to be played in-game. Harmonix claimed that Guitar Hero II would feature "more online content than anyone has ever seen in a game to this date." Rock Band features the largest number of downloadable items of any console video game, with a steady number of new songs that were added weekly between 2007 and 2013. Acquiring all the downloadable content for Rock Band would, as of July 12, 2012, cost $5,880.10. === On personal computers === As the popularity and speed of internet connections rose, so did the popularity of using the internet for digital distribution of media. User-created game mods and maps were distributed exclusively online, as they were mainly created by people without the infrastructure capable of distributing the content through physical media. In 1997, Cavedog offered a new unit every month as free downloadable content for their real-time strategy computer game Total Annihilation. Later PC digital distribution platforms, such as Games for Windows Marketplace and Steam, would add support for DLC in a similar manner to consoles. === On handhelds === Nokia phones of the late 1990s and early 2000s shipped with side-scrolling shooter Space Impact, available on various models. With the introduction of WAP in 2000, additional downloadable content for the game, with extra levels, became available. The Nintendo Wi-Fi Connection service on the Nintendo DS could be used to obtain a form of DLC for certain games, such as Picross DS—where players could download puzzle "packs" of classic puzzles from previous Picross series games (such as Mario's Picross). as well as downloadable user generated content. Due to the Nintendo DS's use of cartridges and lack of dedicated storage, most "DLC" for DS games was limited in scope, or in some cases (such as Professor Layton and the Curious Village and Moero! Nekketsu Rhythm Damashii Osu! Tatakae! Ouendan 2), was already part of the game's data on the cartridge, and merely unlocked. Its successor, the Nintendo 3DS, natively supported the purchase of DLC for supported titles via Nintendo eShop. Starting with iPhone OS 3, downloadable content became available for the platform via applications bought from the App Store. While this ability was initially only available to developers for paid applications, Apple eventually allowed for developers to offer this in free applications as well in October 2009. == On-disc DLC == In some cases, a purchased DLC may not actually download new content to the device, but merely consists of data used to enable associated content that is already present within the game's data. DLC of this nature revealed via data mining is typically referred to as "on-disc DLC" or PULC (premium unlockable content). This practice has sometimes been considered controversial, with publishers being accused of using what is effectively a microtransaction to lock access to content that was already contained within the game as sold at retail. Data relating to future DLC may be included on-disc or downloaded during updates for technical reasons as well, either to ensure online multiplayer compatibility for existing content between players who have not yet purchased the new DLC, or as dormant support code for planned content that is still in development at the time of the release. == Monetization == Downloadable content is often offered for a price. Since Facebook games popularized the business model of microtransactions, some have criticized downloadable content as being overpriced and an incentive for developers to leave items out of the initial release, with The Elder Scrolls IV: Oblivion's horse armor DLC having faced a mixed reception upon its release for that reason. However, by 2009, the Horse Armor DLC was one of the top ten content packs that Bethesda had sold, which justified the DLC model for future games. Where a normal software disc may allow its license sold or traded, DLC is generally locked to a specific user's account and does not come with the ability to transfer that license to another user. In addition to individual content downloads, video game publishers sometimes offer a "season pass", which allows users to pre-order a selection of upcoming content over a specific time period, and ensuring the customer's ability to immediately obtain the content upon release. As users do not have the ability to fully preview the content before their purchase, there is a chance that the content of a season

    Read more →
  • Secure coding

    Secure coding

    Secure coding is the practice of developing computer software in such a way that guards against the accidental introduction of security vulnerabilities. Defects, bugs and logic flaws are consistently the primary cause of commonly exploited software vulnerabilities. Through the analysis of thousands of reported vulnerabilities, security professionals have discovered that most vulnerabilities stem from a relatively small number of common software programming errors. By identifying the insecure coding practices that lead to these errors and educating developers on secure alternatives, organizations can take proactive steps to help significantly reduce or eliminate vulnerabilities in software before deployment. Some scholars have suggested that in order to effectively confront threats related to cybersecurity, proper security should be coded or "baked in" to the systems. With security being designed into the software, this ensures that there will be protection against insider attacks and reduces the threat to application security. Implementing secure coding practices is part of the secure by design approach to security engineering. == Buffer-overflow prevention == Buffer overflows, a common software security vulnerability, happen when a process tries to store data beyond a fixed-length buffer. For example, if there are 8 slots to store items in, there will be a problem if there is an attempt to store 9 items. In computer memory the overflowed data may overwrite data in the next location which can result in a security vulnerability (stack smashing) or program termination (segmentation fault). An example of a C program prone to a buffer overflow is If the user input is larger than the destination buffer, a buffer overflow will occur. To fix this unsafe program, use strncpy to prevent a possible buffer overflow. Another secure alternative is to dynamically allocate memory on the heap using malloc. In the above code snippet, the program attempts to copy the contents of src into dst, while also checking the return value of malloc() to ensure that enough memory was able to be allocated for the destination buffer. == Format-string attack prevention == A Format String Attack is when a malicious user supplies specific inputs that will eventually be entered as an argument to a function that performs formatting, such as printf(). The attack involves the adversary reading from or writing to the stack. The C printf function writes output to stdout. If the parameter of the printf function is not properly formatted, several security bugs can be introduced. Below is a program that is vulnerable to a format string attack. A malicious argument passed to the program could be "%s%s%s%s%s%s%s", which can crash the program from improper memory reads. == Integer-overflow prevention == Integer overflow occurs when an arithmetic operation results in an integer too large to be represented within the available space. A program which does not properly check for integer overflow introduces potential software bugs and exploits. Below is a function in C++ which attempts to confirm that the sum of x and y is less than or equal to a defined value MAX: The problem with the code is it does not check for integer overflow on the addition operation. If the sum of x and y is greater than the maximum possible value of an unsigned int, the addition operation will overflow and perhaps result in a value less than or equal to MAX, even though the sum of x and y is greater than MAX. Below is a function which checks for overflow by confirming the sum is greater than or equal to both x and y. If the sum did overflow, the sum would be less than x or less than y. == Path traversal prevention == Path traversal is a vulnerability whereby paths provided from an untrusted source are interpreted in such a way that unauthorised file access is possible. For example, consider a script that fetches an article by taking a filename, which is then read by the script and parsed. Such a script might use the following hypothetical URL to retrieve an article about dog food: https://www.example.net/cgi-bin/article.sh?name=dogfood.html If the script has no input checking, instead trusting that the filename is always valid, a malicious user could forge a URL to retrieve configuration files from the web server: https://www.example.net/cgi-bin/article.sh?name=../../../../../etc/passwd Depending on the script, this may expose the /etc/passwd file, which on Unix-like systems contains (among others) user IDs, their login names, home directory paths and shells. (See SQL injection for a similar attack.) == Regulatory drivers == Secure coding practices are increasingly mandated by regulatory frameworks governing the development and maintenance of software systems that process sensitive data. The Health Insurance Portability and Accountability Act (HIPAA) Security Rule requires covered entities to protect the integrity of protected health information through technical safeguards under 45 CFR 164.312(c)(1) and to implement mechanisms to authenticate electronic protected health information under 45 CFR 164.312(c)(2). The Payment Card Industry Data Security Standard (PCI DSS) version 4.0 Requirement 6.2 mandates that custom software is developed securely, including training developers in secure coding techniques (6.2.2), reviewing custom code for vulnerabilities before release (6.2.3), and addressing common software attacks in development practices (6.2.4).

    Read more →
  • MIDI Show Control

    MIDI Show Control

    MIDI Show Control (MSC), is a real-time System Exclusive extension of the international Musical Instrument Digital Interface (MIDI) standard. MSC enables all types of entertainment equipment to communicate with each other through the process of show control. The MIDI Show Control protocol is a technical standard ratified by the MIDI Manufacturers Association in 1991, which allows entertainment control devices to talk with each other and with computers to perform show control functions in live and prerecorded entertainment applications. Just like musical MIDI, MSC does not transmit the actual show media - it simply transmits digital information about a multimedia performance. == How MSC works == When any cue is called by a user (typically a stage manager) and/or preprogrammed timeline in a show control software application, the show controller transmits one or more MSC messages from its 'MIDI Out' port. A typical MSC message sequence is: the user has just called a cue the cue is for lighting device 3 the cue is number 45.8 the cue is in cue list 7 MSC messages are serially transmitted in the same way as musical messages and are fully compatible with all conventional MIDI hardware; however, many modern MSC devices now use Ethernet communications for higher bandwidth and the flexibility afforded by networks. Other performance parameters are also transmitted, such as lighting desk submaster settings using MSC SET messages. All cues that a media control device is capable of playing are assigned MSC messages within the Show Controller's cue list and they are transmitted from its MIDI Out port at the appropriate show time, depending on the actions of the user and the show controller's internally timed sequences. All MSC-compatible instruments follow the MSC specification and thus transmit identical MSC messages for identical MSC events, such as the playing of a certain cue on the media controller. Since they follow a published standard, all MSC devices can communicate with and understand each other, as well as with computers that have been programmed to understand MSC messages using the MSC Command Set. All MSC compatible instruments have a built-in MIDI interface and many now follow one of the various MIDI-over-Ethernet protocols. == History == To create the MSC spec, Charlie Richmond headed the USITT MIDI Forum on their Callboard Network in 1990, which included developers and designers from the theatre sound and lighting industry from around the world. It is believed that this was the first international standard to be developed without a single physical meeting of the participants. This Forum created the MSC standard between January and September 1990. This was ratified by the MIDI Manufacturers Association (MMA) in January 1991, and the Japan MIDI Standards Committee (JMSC) later that year, becoming a part of the standard MIDI specification in August 1991. The first show to fully use the MSC specification was the Magic Kingdom Parade at Walt Disney World's Magic Kingdom in September 1991. == MIDI Show Control software ==

    Read more →
  • Electronic kit

    Electronic kit

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

    Read more →
  • Feature detection (web development)

    Feature detection (web development)

    Feature detection (also feature testing) is a technique used in web development for handling differences between runtime environments (typically web browsers or user agents), by programmatically testing for clues that the environment may or may not offer certain functionality. This information is then used to make the application adapt in some way to suit the environment: to make use of certain APIs, or tailor for a better user experience. Its proponents claim it is more reliable and future-proof than other techniques like user agent sniffing and browser-specific CSS hacks. == Techniques == A feature test can take many forms. It is essentially any snippet of code which gives some level of confidence that a required feature is indeed supported. However, in contrast to other techniques, feature detection usually focuses on performing actions which directly relate to the feature to be detected, rather than heuristics. === JavaScript === JavaScript feature detection can inspect the DOM and the local JavaScript environment to test whether browser features or APIs are supported. The simplest technique is to check for the existence of a relevant object or property. For example, the Geolocation API (used for accessing the device's knowledge of its geographical location, possibly obtained from a GPS navigation device) exposes a geolocation property on the navigator object in the DOM; the presence of which implies the Geolocation API is supported: if ('geolocation' in navigator) { // Geolocation API is supported } For a higher level of confidence, some feature tests will attempt to invoke the feature then look for clues that it behaved properly. For example, a test for support for cookies might attempt to set a value as a cookie and then verify it can be read back. === CSS === In CSS, the at-rule @supports introduced in 2015 allows to test if a given feature is supported. For instance the following code activates the declarations only if the user agent supports display: flex: == Undetectables == Some browser features are considered undetectable, because no clues are known to give sufficient confidence that a feature is supported. These are often because of limited information available to the JavaScript environment in the browser; generally features must be exposed via the DOM in some way in order to be detectable using JavaScript. When undetectables are encountered, it is common to turn to user agent sniffing as an alternative mechanism, or to employ defensive coding to minimise the impact if the feature turns out not to be supported. The Modernizr project maintains a record of known undetectables on their wiki.

    Read more →
  • Multi-task learning

    Multi-task learning

    Multi-task learning (MTL) is a subfield of machine learning in which multiple learning tasks are solved at the same time, while exploiting commonalities and differences across tasks. This can result in improved learning efficiency and prediction accuracy for the task-specific models, when compared to training the models separately. Inherently, Multi-task learning is a multi-objective optimization problem having trade-offs between different tasks. Early versions of MTL were called "hints". In a widely cited 1997 paper, Rich Caruana gave the following characterization:Multitask Learning is an approach to inductive transfer that improves generalization by using the domain information contained in the training signals of related tasks as an inductive bias. It does this by learning tasks in parallel while using a shared representation; what is learned for each task can help other tasks be learned better. In the classification context, MTL aims to improve the performance of multiple classification tasks by learning them jointly. One example is a spam-filter, which can be treated as distinct but related classification tasks across different users. To make this more concrete, consider that different people have different distributions of features which distinguish spam emails from legitimate ones, for example an English speaker may find that all emails in Russian are spam, not so for Russian speakers. Yet there is a definite commonality in this classification task across users, for example one common feature might be text related to money transfer. Solving each user's spam classification problem jointly via MTL can let the solutions inform each other and improve performance. Further examples of settings for MTL include multiclass classification and multi-label classification. Multi-task learning works because regularization induced by requiring an algorithm to perform well on a related task can be superior to regularization that prevents overfitting by penalizing all complexity uniformly. One situation where MTL may be particularly helpful is if the tasks share significant commonalities and are generally slightly under sampled. However, as discussed below, MTL has also been shown to be beneficial for learning unrelated tasks. == Methods == The key challenge in multi-task learning, is how to combine learning signals from multiple tasks into a single model. This may strongly depend on how well different task agree with each other, or contradict each other. There are several ways to address this challenge: === Task grouping and overlap === Within the MTL paradigm, information can be shared across some or all of the tasks. Depending on the structure of task relatedness, one may want to share information selectively across the tasks. For example, tasks may be grouped or exist in a hierarchy, or be related according to some general metric. Suppose, as developed more formally below, that the parameter vector modeling each task is a linear combination of some underlying basis. Similarity in terms of this basis can indicate the relatedness of the tasks. For example, with sparsity, overlap of nonzero coefficients across tasks indicates commonality. A task grouping then corresponds to those tasks lying in a subspace generated by some subset of basis elements, where tasks in different groups may be disjoint or overlap arbitrarily in terms of their bases. Task relatedness can be imposed a priori or learned from the data. Hierarchical task relatedness can also be exploited implicitly without assuming a priori knowledge or learning relations explicitly. For example, the explicit learning of sample relevance across tasks can be done to guarantee the effectiveness of joint learning across multiple domains. === Exploiting unrelated tasks: Auxiliary learning === In auxiliary learning, one attempts learning a group of principal tasks using a group of auxiliary tasks, unrelated to the principal ones. With the right unrelated tasks, joint learning of unrelated tasks which use the same input data have been shown to be beneficial, and provide significant improvement over standard MTL. The reason is that prior knowledge about task relatedness can lead to sparser and more informative representations for each task grouping, essentially by screening out idiosyncrasies of the data distribution. It has been proposed to build on a prior multitask methodology by favoring a shared low-dimensional representation within each task grouping, and imposing a penalty on tasks from different groups which encourages the two representations to be orthogonal. Learning with auxiliary unrelated tasks poses two major challenges: Finding useful auxiliary tasks and combining losses of all tasks in a useful way. Some methods can learn these from data together with the training process, and combine tasks efficiently. === Transfer of knowledge === Related to multi-task learning is the concept of knowledge transfer. Whereas traditional multi-task learning implies that a shared representation is developed concurrently across tasks, transfer of knowledge implies a sequentially shared representation. Large scale machine learning projects such as the deep convolutional neural network GoogLeNet, an image-based object classifier, can develop robust representations which may be useful to further algorithms learning related tasks. For example, the pre-trained model can be used as a feature extractor to perform pre-processing for another learning algorithm. Or the pre-trained model can be used to initialize a model with similar architecture which is then fine-tuned to learn a different classification task. === Multiple non-stationary tasks === Traditionally Multi-task learning and transfer of knowledge are applied to stationary learning settings. Their extension to non-stationary environments is termed Group online adaptive learning (GOAL). Sharing information could be particularly useful if learners operate in continuously changing environments, because a learner could benefit from previous experience of another learner to quickly adapt to their new environment. Such group-adaptive learning has numerous applications, from predicting financial time-series, through content recommendation systems, to visual understanding for adaptive autonomous agents. === Multi-task optimization === Multi-task optimization focuses on solving optimizing the whole process. The paradigm has been inspired by the well-established concepts of transfer learning and multi-task learning in predictive analytics. The key motivation behind multi-task optimization is that if optimization tasks are related to each other in terms of their optimal solutions or the general characteristics of their function landscapes, the search progress can be transferred to substantially accelerate the search on the other. The success of the paradigm is not necessarily limited to one-way knowledge transfers from simpler to more complex tasks. In practice an attempt is to intentionally solve a more difficult task that may unintentionally solve several smaller problems. There is a direct relationship between multitask optimization and multi-objective optimization. In some cases, the simultaneous training of seemingly related tasks may hinder performance compared to single-task models. Commonly, MTL models employ task-specific modules on top of a joint feature representation obtained using a shared module. Since this joint representation must capture useful features across all tasks, MTL may hinder individual task performance if the different tasks seek conflicting representation, i.e., the gradients of different tasks point to opposing directions or differ significantly in magnitude. This phenomenon is commonly referred to as negative transfer. To mitigate this issue, various MTL optimization methods have been proposed. It has been reported that meta-knowledge transfer could help avoid negative transfer.Besides, the per-task gradients are combined into a joint update direction through various aggregation algorithms or heuristics. There are several common approaches for multi-task optimization: Bayesian optimization, evolutionary computation, and approaches based on Game theory. ==== Multi-task Bayesian optimization ==== Multi-task Bayesian optimization is a modern model-based approach that leverages the concept of knowledge transfer to speed up the automatic hyperparameter optimization process of machine learning algorithms. The method builds a multi-task Gaussian process model on the data originating from different searches progressing in tandem. The captured inter-task dependencies are thereafter utilized to better inform the subsequent sampling of candidate solutions in respective search spaces. ==== Evolutionary multi-tasking ==== Evolutionary multi-tasking has been explored as a means of exploiting the implicit parallelism of population-based search algorithms to simultaneously progress multiple distinct optimization tasks. By mapping all task

    Read more →
  • Digital content

    Digital content

    Digital content is any content that exists in the form of digital data. Digital content is stored on digital media or analog storage in specific formats. Forms of digital content include information that is digitally broadcast, streamed, or contained in computer files. Viewed narrowly, digital content includes popular media types, while a broader approach considers any type of digital information (e. g. digitally updated weather forecasts, GPS maps, and so on) as digital content. Digital content has increased as more households have accessed the Internet. Expanded access has made it easier for people to receive their news and watch TV online, challenging the popularity of traditional platforms. Increased access to the Internet has also led to the mass publication of digital content through individuals in the form of eBooks, blog posts, and even Facebook posts. == History == At the beginning of the Digital Revolution, computers facilitated the discovery, retrieval, and creation of new information in every field of human knowledge. As information became increasingly more accessible, the Digital Revolution also facilitated the creation of digital content. Despite an evolution to digital technology, which occurred somewhere between the late 1970s, distribution of digital content did not begin until the late 1990s with the rise in popularity of the Internet. In the past, digital content was primarily distributed through computers and the Internet. Methods of distribution are rapidly changing as the Digital Revolution brings new channels, such as mobile apps and eBooks. These new technologies will create challenges for content creators, as they determine the best channel to bring content to their consumers. Despite the benefits, new technologies have created new intellectual property issues. Users can easily share, modify, and redistribute content outside of the creator's control. While new technologies have made digital content available to large audiences, managing copyright and limiting content movement will continue to be an issue that digital content creators face in the future. == Types of digital content == Examples include: Video – Types of video content include home videos, music videos, TV shows, and movies. Many of these can be viewed on websites such as YouTube, Hulu, Paramount+, Disney+, HBO Max, and so on, in which people and companies alike can post content. However, many movies and television shows are not available for free legally, but rather can be purchased from sites such as iTunes and Amazon. Audio – Music is the most common form of audio. Spotify has emerged as a popular way for people to listen to music either over the Internet or from their computer desktop. Digital content in the form of music is also available through Pandora and last.fm, both of which allow listeners to listen to music online for no charge. Images – Photo and image sharing is another example of digital content. Popular sites used for this type of digital content includes Imgur, where people share self-created pictures, Flickr, where people share their photo albums, and DeviantArt, where people share their artwork. Popular apps that are used for images include Instagram and Snapchat. Visual Stories - Stories are a new type of digital content that got introduced by Snapchat. Since then, stories as a format has been introduced in a couple of other platforms such as Facebook and Linkedin. In 2018, Google introduced their AMP Stories, which provides content publishers with a mobile-focused format for delivering news and information as visually rich, tap-through stories. Text - Type of digital content which is available in text or written format. Blog websites which store data in form of textual format. === Paid digital content === In order to have access to more premium digital goods, consumers usually have to pay an upfront charge for digital content, or a subscription based fee. Video – Many licensed videos, such as movies and television shows, require money in order to be viewed or downloaded. Popular services used by many include streaming giant Netflix and Amazon's streaming service, as well as recent notice put forth by the online video platform YouTube. Audio – While songs can be streamed for free, generally in order to download most licensed music, consumers need to purchase songs from web stores, such as the popular iTunes. However, Spotify Premium is emerging as a new model for purchasing digital content on the web: consumers pay a monthly fee to unlimited streaming and downloading from Spotify's music library. According to a report done by IHS Inc. in 2013, the global consumer spending on digital content grew to over $57 billion in 2013, which was up almost 30% from $44 billion in 2012. In past years, the US has always been a leader in consumer expenditure on digital content, but as of 2013, many countries have emerged with great consumer expenditure. South Korea's overall digital spend per capita is now greater than the US. ==== Consolidation ==== According to research firm Ampere Analysis, in 2024, a small group of six media conglomerates; Disney, Comcast, Google, Warner Bros. Discovery, Netflix, and Paramount Global—are poised to dominate the global content market. These companies are projected to account for 51% of all global spending on content, a significant increase from 47% in 2020. Disney, in particular, is a major player, with an estimated $35.8 billion investment in television and film content, representing 14% of global spending. This significant increase, fueled by Disney's full ownership of Hulu, highlights the company's strategic focus on streaming services. A substantial portion of the projected $126 billion global content spending is allocated to streaming platforms. === Non-purchasable digital content === Not all digital content is purchasable, and is simply anything published digitally. This would include: News – in recent years newspapers have attempted to expand their readership by creating access to their newspapers digitally. As of 2012, 39% of readers learned about news from online formats, making news a prevalent form of digital content. Advertisements – as media consumers increasingly use digital formats to watch TV, check the weather, and search for content, advertisements have shifted to digital forms to keep up with their viewership. Advertisements are now being made digitally and placed on sites ranging from Facebook to YouTube. Question and Answer sites – these sites are a type of Internet forum where people can post questions they want answered, or provide responses to previous inquiries. With millions of questions posted each day, anyone has the ability to create content on these sites, so the information provided may not be 100% reliable or accurate. Popular sites include Yahoo! Answers, WikiAnswers and Quora. Web mapping – sites such as MapQuest and Google Maps provide users with map content. These sites give people the ability to quickly look up the location of a landmark and create routes to a destination. Online maps are a form of free content provided by companies such as Google and AOL, serving as much more efficient alternatives to the traditional Thomas Guide. == Business implications == === Digital companies === Digital content businesses can include news, information, and entertainment distributed over the Internet and consumed digitally by both consumers and businesses. Based on revenue, the leading digital businesses are ranked Google, China Mobile, Bloomberg, Reed Elsevier, and Apple. The 50 companies with the highest revenue are split between those offering free and paid digital content, but these top 50 companies combined generate revenue of $150 billion. === Educational opportunities === Programs such as CUNY's Macaulay Honors College in their New Media Lab, run by industry professional Robert Small, is set up to train and introduce students to the various disciplines within the digital content industry. The goal is to offer information and access to professional work opportunities. They also explore within an incubator how to create businesses and start ups within the world of digital content. There are many educational events in support of choosing digital content as a career. === Government support === The Irish government adopted a "Strategy for the Digital Content Industry in Ireland" in 2002.

    Read more →
  • T.38

    T.38

    T.38 is an ITU recommendation for allowing transmission of fax over IP networks (FoIP) in real time. == History == The T.38 fax relay standard was devised in 1998 as a way to transport faxes across IP networks between existing Group 3 (G3) fax terminals. T.4 and related fax standards were published by the ITU in 1980, before the rise of the Internet. In the late 1990s, VoIP, or voice over IP, began to gain ground as an alternative to the conventional public switched telephone network (PSTN). However, because most VoIP systems are optimized (through their use of aggressive lossy bandwidth-saving compression) for voice rather than data calls, conventional fax machines worked poorly or not at all on them due to the network impairments such as delay, jitter, packet loss, and so on. Thus, some way of transmitting fax over IP was needed. == Overview == In practical scenarios, a T.38 fax call has at least part of the call being carried over PSTN, although this is not required by the T.38 definition, and two T.38 devices can send faxes to each other. This particular type of device is called Internet-Aware Fax device, or IAF, and it is capable of initiating or completing a fax call towards the IP network. The typical scenario where T.38 is used is – T.38 fax relay – where a T.30 fax device sends a fax over PSTN to a T.38 fax gateway which converts or encapsulates the T.30 protocol into a T.38 data stream. This is then sent either to a T.38-enabled end point such as fax machine or fax server or another T.38 gateway that converts it back to a PSTN PCM or analog signal and terminates the fax on a T.30 device. The T.38 recommendation defines the use of both TCP and UDP to transport T.38 packets. Implementations tend to use UDP, due to TCP's requirement for acknowledgement packets and resulting retransmission during packet loss, which introduces delays. When using UDP, T.38 copes with packet loss by using redundant data packets. T.38 is not a call setup protocol, thus the T.38 devices need to use standard call setup protocols to negotiate the T.38 call, e.g. H.323, SIP & MGCP. == Operation == There are two primary ways that fax transactions are conveyed across packet networks. The T.37 standard specifies how a fax image is encapsulated in e-mail and transported, ultimately, to the recipient using a store-and-forward process through intermediary entities. T.38, however, defines a protocol that supports the use of the T.30 protocol in both the sender and recipient terminals. (See diagram above.) T.38 lets one transmit a fax across an IP network in real time, just as the original G3 fax standards did for the traditional (time-division multiplexed (TDM)) network, also called the public switched telephone network or PSTN. A special protocol is needed for real-time fax over IP (Internet Protocol) since existing fax terminals only supported PSTN connections, where the information flow was generally smooth and uninterrupted, as opposed to the jittery arrival of IP packets. The trick was to come up with a protocol that makes the IP network “invisible” to the endpoint fax terminals, which would mean the user of a legacy fax terminal need not know that the fax call was traversing an IP network. The network interconnections supported by T.38 are shown above. The two fax terminals on either side of the figure communicate using the T.30 fax protocol published by the ITU in 1980. Interconnection of the PSTN with the IP packet network requires a “gateway” between the PSTN and IP networks. PSTN-IP Gateways support TDM voice on the PSTN side and VoIP and FoIP on the packet side. For voice sessions, the gateway will take in voice packets on the IP side, accumulate a few packets to ensure a smooth flow of TDM data upon their release, and then meter them out over TDM where they eventually are heard by a human or stored on a computer for later playback. The gateway employs packet-management techniques to enhance the quality of the speech in the presence of network errors by taking advantage of the natural ability of a listener to not really hear the occasional missing or repeated packet. But facsimile data are transmitted by modems, which aren't as forgiving as the human ear is for speech. Missing packets will often cause a fax session to fail at worst or create one or more image lines in error at best. So the job of T.38 is to “fool” the terminal into “thinking” that it's communicating directly with another T.30 terminal. It will also correct for network delays with so-called spoofing techniques, and missing or delayed packets with fax-aware buffer-management techniques. Spoofing refers to the logic implemented in the protocol engine of a T.38 relay that modifies the protocol commands and responses on the TDM side to keep network delays on the IP side from causing the transaction to fail. This is done, for example, by padding image lines or deliberately causing a message to be re-transmitted to render network delays transparent to the sending/receiving fax terminals. Networks that do not have packet loss or excessive delay can exhibit acceptable fax performance without T.38, provided the PCM clocks in all gateways are of very high accuracy (explained below). T.38 not only removes the effect of PCM clocks not being synchronized, but also reduces the required network bandwidth by a factor of 10, while it corrects for packet loss and delay. === Bandwidth reduction === As shown in the diagram below, a T.38 gateway is composed of two primary elements: the fax modems and the T.38 subsystem. The fax modems modulate and demodulate the PCM samples of the analog data, turning the sampled-data representation of the fax terminal's analog signal to its binary translation, and vice versa. The PSTN network samples the analog signal of a voice or modem signal (it doesn't know the difference) 8,000 times per second (SPS), and encodes them as 8-bit data bytes. This means 8000 samples-per-second times 8-bits per sample, or 64,000 bits per second (bit/s) to represent the modem (or voice) data in one direction. For both directions the modem transaction consumes 128,000 bits of network bandwidth. However, the typical modem in a fax terminal transmits the image data at 33,600 bit/s, so if the analog data are first converted to the digital content they represent, only 33,600 bits (plus network overhead of a few bytes) are needed. And since T.30 fax is a half-duplex protocol, the network is only needed for one direction at a time. Refer to RFC 3261 === PCM clock synchronization === In the diagram above, there is a sample-rate clock in the fax terminal and one in the gateway's modems that is used to trigger the sampling of the analog line 8,000 times per second. These clocks are usually quite accurate, but in some low-cost terminal adapters (a one or two-line gateway) the PCM clock can be surprisingly inaccurate. If the terminal is sending data to the gateway, and the gateway's clock is too slow, the buffers (jitter buffers) in the gateway will eventually overflow, causing the transaction to fail. Since the difference is often quite small, this problem occurs on long, detailed fax images giving the clocks more time to cause the jitter buffer in gateway to either underflow or overflow, which is just the same as missing or duplicated packets. === Packet loss === T.38 provides facilities to eliminate the effects of packet loss through data redundancy. When a packet is sent, either zero, one, two, three, or even more of the previously sent packets are repeated. (The specification does not impose a limit.) This increases the network bandwidth required (it's still much less than not using T.38) but it allows the receiving gateway to reconstruct the complete packet sequence, even with a fairly high level of packet loss. == Related standards == T.4 is the umbrella specification for fax. It specifies the standard image sizes, two forms of image-data compression (encoding), the image-data format, and references, T.30 and the various modem standards. T.6 specifies a compression scheme that reduces the time required to transmit an image by roughly 50-percent. T.30 specifies the procedures that a sending and receiving terminal use to set up a fax call, determine the image size, encoding, and transfer speed, the demarcation between pages, and the termination of the call. T.30 also references the various modem standards. V.21, V.27ter, V.29, V.17, V.34: ITU modem standards used in facsimile. The first three were ratified prior to 1980, and were specified in the original T.4 and T.30 standards. V.34 was published for fax in 1994. T.37 The ITU standard for sending a fax-image file via e-mail to the intended recipient of a fax. G.711 pass through - this is where the T.30 fax call is carried in a VoIP call encoded as audio. This is sensitive to network packet loss, jitter and clock synchronization. When using voice high-compression encoding techniques such as, but not limited to, G.729, some fax tonal signa

    Read more →