AI Face Free

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

  • Zero-day vulnerability

    Zero-day vulnerability

    A zero-day (also known as a 0-day) is a vulnerability or security hole in a computer system unknown to its developers or anyone capable of mitigating it. Until the vulnerability is remedied, threat actors can exploit it in a zero-day exploit, or zero-day attack. The term "zero-day" originally referred to the number of days since a new piece of software was released to the public, so "zero-day software" was obtained by hacking into a developer's computer before release. Eventually the term was applied to the vulnerabilities that allowed this hacking, and to the number of days that the vendor has had to fix them. Vendors who discover the vulnerability may create patches or advise workarounds to mitigate it, though users need to deploy that mitigation to eliminate the vulnerability in their systems. Zero-day attacks are severe threats. == Definition == Despite developers' goal of delivering a product that works entirely as intended, virtually all products contain software and hardware bugs. If a bug creates a security risk, it is called a vulnerability. Vulnerabilities vary in their ability to be exploited by malicious actors. Some are not usable at all, while others can be used to disrupt the device with a denial of service attack. The most dangerous allow the attacker to inject and run their own code, without the user being aware of it. Although the term "zero-day" initially referred to the time since the vendor had become aware of the vulnerability, zero-day vulnerabilities can also be defined as the subset of vulnerabilities for which no patch or other fix is available. A zero-day exploit is any exploit that takes advantage of such a vulnerability. == Exploits == An exploit is the delivery mechanism that takes advantage of the vulnerability to penetrate the target's systems, for such purposes as disrupting operations, installing malware, or exfiltrating data. Researchers Lillian Ablon and Andy Bogart write that "little is known about the true extent, use, benefit, and harm of zero-day exploits". Exploits based on zero-day vulnerabilities are considered more dangerous than those that take advantage of a known vulnerability. However, it is likely that most cyberattacks use known vulnerabilities, not zero-days. Governments of states are the primary users of zero-day exploits, not only because of the high cost of finding or buying vulnerabilities, but also the significant cost of writing the attack software. Nevertheless, anyone can use a vulnerability, and according to research by the RAND Corporation, "any serious attacker can always get an affordable zero-day for almost any target". Many targeted attacks and most advanced persistent threats rely on zero-day vulnerabilities. In 2017, the average time to develop an exploit from a zero-day vulnerability was estimated at 22 days. The difficulty of developing exploits has been increasing over time due to increased anti-exploitation features in popular software. === Window of vulnerability === Zero-day vulnerabilities are often classified as alive—meaning that there is no public knowledge of the vulnerability—and dead—the vulnerability has been disclosed, but not patched. If the software's maintainers are actively searching for vulnerabilities, it is a living vulnerability; such vulnerabilities in unmaintained software are called immortal. Zombie vulnerabilities can be exploited in older versions of the software but have been patched in newer versions. Even publicly known and zombie vulnerabilities are often exploitable for an extended period. Security patches can take months to develop, or may never be developed. A patch can have negative effects on the functionality of software and users may need to test the patch to confirm functionality and compatibility. Larger organizations may fail to identify and patch all dependencies, while smaller enterprises and personal users may not install patches. Research suggests that risk of cyberattack increases if the vulnerability is made publicly known or a patch is released. Cybercriminals can reverse engineer the patch to find the underlying vulnerability and develop exploits, often faster than users install the patch. According to research by RAND Corporation published in 2017, zero-day exploits remain usable for 6.9 years on average, although those purchased from a third party only remain usable for 1.4 years on average. The researchers were unable to determine if any particular platform or software (such as open-source software) had any relationship to the life expectancy of a zero-day vulnerability. Although the RAND researchers found that 5.7 percent of a stockpile of secret zero-day vulnerabilities will have been discovered by someone else within a year, another study found a higher overlap rate, as high as 10.8 percent to 21.9 percent per year. == Countermeasures == Because, by definition, there is no patch that can block a zero-day exploit, all systems employing the software or hardware with the vulnerability are at risk. This includes secure systems such as banks and governments that have all patches up to date. Security systems are designed around known vulnerabilities, and repeated exploitations of a zero-day exploit could continue undetected for an extended period of time. Although there have been many proposals for a system that is effective at detecting zero-day exploits, this remains an active area of research in 2023. Many organizations have adopted defense-in-depth tactics so that attacks are likely to require breaching multiple levels of security, which makes it more difficult to achieve. Conventional cybersecurity measures such as training and access control — including multi-factor authentication, least-privilege access, and air-gapping makes it harder to compromise systems with a zero-day exploit. Since writing perfectly secure software is impossible, some researchers argue that driving up the cost of exploits is considered a good strategy to reduce the burden of cyberattacks. == Market == Zero-day exploits can fetch millions of dollars. There are three main types of buyers: White: the vendor, or to third parties such as the Zero Day Initiative that disclose to the vendor. Often such disclosure is in exchange for a bug bounty. Not all companies respond positively to disclosures, as they can cause legal liability and operational overhead. It is not uncommon to receive cease-and-desist letters from software vendors after disclosing a vulnerability for free. Gray: the largest and most lucrative. Government or intelligence agencies buy zero-days and may use it in an attack, stockpile the vulnerability, or notify the vendor. The United States federal government is one of the largest buyers. As of 2013, the Five Eyes (United States, United Kingdom, Canada, Australia, and New Zealand) captured the plurality of the market and other significant purchasers included Russia, India, Brazil, Malaysia, Singapore, North Korea, and Iran. Middle Eastern countries were poised to become the biggest spenders. Black: organized crime, which typically prefers exploit software rather than just knowledge of a vulnerability. These users are more likely to employ "half-days" where a patch is already available. In 2015, the markets for government and crime were estimated at least ten times larger than the white market. Sellers are often hacker groups that seek out vulnerabilities in widely used software for financial reward. Some will only sell to certain buyers, while others will sell to anyone. White market sellers are more likely to be motivated by non pecuniary rewards such as recognition and intellectual challenge. Selling zero-day exploits is legal. Despite calls for more regulation, law professor Mailyn Fidler says there is little chance of an international agreement because key players such as Russia and Israel are not interested. The sellers and buyers that trade in zero-days tend to be secretive, relying on non-disclosure agreements and classified information laws to keep the exploits secret. If the vulnerability becomes known, it can be patched and its value consequently crashes. Because the market lacks transparency, it can be hard for parties to find a fair price. Sellers might not be paid if the vulnerability was disclosed before it was verified, or if the buyer declined to purchase it but used it anyway. With the proliferation of middlemen, sellers could never know to what use the exploits could be put. Buyers could not guarantee that the exploit was not sold to another party. Both buyers and sellers advertise on the dark web. Research published in 2022 based on maximum prices paid as quoted by a single exploit broker found a 44 percent annualized inflation rate in exploit pricing. Remote zero-click exploits could fetch the highest price, while those that require local access to the device are much cheaper. Vulnerabilities in widely used software are also more expensive. They estimated that around 400 to 1,500 people sold exploits to th

    Read more →
  • Bare machine

    Bare machine

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

    Read more →
  • Robert Abel and Associates

    Robert Abel and Associates

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

    Read more →
  • Matt Mullenweg

    Matt Mullenweg

    Matthew Charles Mullenweg (born January 11, 1984) is an American web developer and entrepreneur. He is known as a co-founder of the free and open-source web publishing software WordPress, and the founder of Automattic. == Early life and education == Mullenweg was born January 11, 1984, in Houston, Texas, to Chuck and Kathleen Mullenweg and grew up in the Willowbend neighborhood. His older sister was born in 1974. His father, who died in 2016, was a computer programmer who worked for Brown & Root, and encouraged his children to start using home computers at an early age. His mother was a stay-at-home mother. The Mullenwegs were raised Catholic. He attended Kinder High School for the Performing and Visual Arts, studying jazz and playing the saxophone. Mullenweg suffered from migraines as a child that forced him to miss extended periods of school. He attended the University of Houston for two years, studying philosophy and political science. He dropped out after his sophomore year in 2004 to work for CNET, which promised him that he could allocate time to the development of WordPress. == Career == Mullenweg began blogging in 2002 on the open source platform b2. B2 developer Michael Valdrighi abandoned the project and Mullenweg took it over in 2003. He and Mike Little created a b2 fork that year they called WordPress and published it under the GNU General Public License. In March 2003, he co-founded the Global Multimedia Protocols Group (GMPG) with Eric A. Meyer and Tantek Çelik. In April 2004, he helped launch Ping-O-Matic, a mechanism for notifying search engines about blog updates. In October 2004, he was hired by CNET who would allow him to develop WordPress part-time as part of his job. He dropped out of college and moved to San Francisco for the position. === Automattic === After leaving CNET in 2005, Mullenweg founded Automattic as a fully distributed company. Toni Schneider was hired as CEO so Mullenweg could learn how to manage a large organization. During this period, Mullenweg focused on product development while Schneider managed the company. In January 2014, Mullenweg resumed the role of CEO, replacing Schneider. He led Automattic's expansion and a series of acquisitions, including WooCommerce in 2015, The Atavist Magazine in 2018, Tumblr in 2019, Pocket Casts in 2021, and Beeper in 2024. Mullenweg received the Heinz Award for Technology, the Economy and Employment in 2016, for "helping to democratize online publishing". Automattic's valuation reached $7.5 billion in 2021. At the time, WordPress hosted 28 million websites, or 40 percent of all websites on the Internet. == Public disputes == On several occasions, Mullenweg has publicly challenged competitors to WordPress and WordPress.com. He has stated that he prefers to settle disputes in the court of public opinion and described his approach as "brinksmanship", noting that the potential cost of legal action could put Automattic in a "tough spot". In 2008, shortly before WordPress 2.5's release, Six Apart's Movable Type published "A WordPress 2.5 Upgrade Guide"—a comparison of their CMS with their rival, WordPress—as a company blog article that Mullenweg characterized as "desperate and dirty". In 2013, developers on the digital marketplace Envato were banned from speaking at WordPress events after he criticized the platform for selling WordPress themes with the graphics and CSS components under a proprietary license instead of the GPL. In 2016, Mullenweg accused Wix.com, a competitor to WordPress.com, of reusing WordPress's mobile text editor code in Wix's own mobile app without adhering to the terms of the GPL. Despite the license's requirement to publish anything built with GPL code under the GPL, Wix's CEO claimed that the company open-sourced their forked version of the component and satisfied the license's terms before the app switched to its own fork of the MIT-licensed text editor that the WordPress editor was based upon. The new fork added a clause to the MIT license that forbids redistribution under any other license. In 2022, Mullenweg criticized GoDaddy for not reinvesting in the WordPress project sufficiently. On January 9, 2025, the representative of the WordPress Sustainability team, Thijs Buijs, resigned via WordPress.org’s Slack channel, citing dissatisfaction with Matt Mullenweg’s December 24, 2024, Reddit post titled “What drama should I create in 2025?” highlighting concerns about what he described as “unsustainable leadership”. In response, Matt Mullenweg thanked Thijs Buijs for reminding him of the existence of a sustainability team, announced its disbanding, and subsequently closed Wordpress.org's #sustainability Slack channel. === Tumblr === Mullenweg began a three-month sabbatical from his role as CEO at the beginning of February 2024. During that time, Mullenweg engaged in a public feud with a transgender Tumblr user who, frustrated with the failure of Tumblr (owned by Automattic) to address transphobic harassment, posted that she wished Mullenweg would die in a comedic way. The user was subsequently banned. Responding to user uproar, Mullenweg addressed the ban in posts on his personal Tumblr blog, in which he characterized the post as a death threat, and shared private account information about the user. Mullenweg also responded to individual commenters on Tumblr in posts and direct messages, and went to Twitter to respond to the banned user's tweets about the situation. A few days later, transgender employees of Tumblr and Automattic made a post on the official Tumblr staff blog characterizing his response as "unwarranted and harmful" and stating that he did not speak on their behalf. They also said that the user's post was not a realistic threat of violence and not the reason for her ban. === WP Engine dispute === == Audrey Capital == Mullenweg is a principal at angel investment firm Audrey Capital, which he co-founded in 2008 alongside Naveen Selvadurai and Audrey Kim. As of 2024, the company lists investments in companies such as CoinDesk, MakerBot, Sonos, SpaceX, Ring, as well as software companies including Calm, Chartbeat, DailyBurn, Memrise, Genius, Nord Security and Telegram. It has also funded startups that provide services to web developers including Creative Market, GitLab, NPM, SendGrid, Stripe and Typekit. From 2017 to 2019, Mullenweg also served as a board member for GitLab. Mullenweg has employed a team of contributors to WordPress through Audrey Capital since 2010, who work separately from Automattic. On the 20th anniversary of WordPress' initial release, Mullenweg announced a scholarship program aimed at the children of significant contributors to open-source projects.

    Read more →
  • Grammar systems theory

    Grammar systems theory

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

    Read more →
  • Errored second

    Errored second

    In telecommunications and data communication systems, an errored second is an interval of a second during which any error whatsoever has occurred, regardless of whether that error was a single bit error or a complete loss of communication for that entire second. The type of error is not important for the purpose of counting errored seconds. In communication systems with very low uncorrected bit error rates, such as modern fiber-optic transmission systems, or systems with higher low-level error rates that are corrected using large amounts of forward error correction, errored seconds are often a better measure of the effective user-visible error rate than the raw bit error rate. For many modern packet-switched communication systems, even a single uncorrected bit error is enough to cause the loss of a data packet by causing its CRC check to fail; whether that packet loss was caused by a single bit error or a hundred-bit-long error burst is irrelevant. For systems using large amounts of forward error correction, the reverse applies; a single low-level bit error will almost never occur, since any small errors will almost always be corrected, but any error sufficiently large to cause the forward error correction to fail will almost always result in a large burst error. More specialist and precise definitions of errored seconds exist in standards such as the T1 and DS1 transport systems.

    Read more →
  • Active networking

    Active networking

    Active networking is a communication pattern that allows packets flowing through a telecommunications network to dynamically modify the operation of the network. Active network architecture is composed of execution environments (similar to a unix shell that can execute active packets), a node operating system capable of supporting one or more execution environments. It also consists of active hardware, capable of routing or switching as well as executing code within active packets. This differs from the traditional network architecture which seeks robustness and stability by attempting to remove complexity and the ability to change its fundamental operation from underlying network components. Network processors are one means of implementing active networking concepts. Active networks have also been implemented as overlay networks. == What does it offer? == Active networking allows the possibility of highly tailored and rapid "real-time" changes to the underlying network operation. This enables such ideas as sending code along with packets of information allowing the data to change its form (code) to match the channel characteristics. The smallest program that can generate a sequence of data can be found in the definition of Kolmogorov complexity. The use of real-time genetic algorithms within the network to compose network services is also enabled by active networking. == How it relates to other networking paradigms == Active networking relates to other networking paradigms primarily based upon how computing and communication are partitioned in the architecture. === Active networking and software-defined networking === Active networking is an approach to network architecture with in-network programmability. The name derives from a comparison with network approaches advocating minimization of in-network processing, based on design advice such as the "end-to-end argument". Two major approaches were conceived: programmable network elements ("switches") and capsules, a programmability approach that places computation within packets traveling through the network. Treating packets as programs later became known as "active packets". Software-defined networking decouples the system that makes decisions about where traffic is sent (the control plane) from the underlying systems that forward traffic to the selected destination (the data plane). The concept of a programmable control plane originated at the University of Cambridge in the Systems Research Group, where (using virtual circuit identifiers available in Asynchronous Transfer Mode switches) multiple virtual control planes were made available on a single physical switch. Control Plane Technologies (CPT) was founded to commercialize this concept. == Fundamental challenges == Active network research addresses the nature of how best to incorporate extremely dynamic capability within networks. In order to do this, active network research must address the problem of optimally allocating computation versus communication within communication networks. A similar problem related to the compression of code as a measure of complexity is addressed via algorithmic information theory. One of the challenges of active networking has been the inability of information theory to mathematically model the active network paradigm and enable active network engineering. This is due to the active nature of the network in which communication packets contain code that dynamically change the operation of the network. Fundamental advances in information theory are required in order to understand such networks. == Nanoscale active networks == As the limit in reduction of transistor size is reached with current technology, active networking concepts are being explored as a more efficient means accomplishing computation and communication. More on this can be found in nanoscale networking.

    Read more →
  • List of operating systems

    List of operating systems

    This is a list of operating systems. Computer operating systems can be categorized by technology, ownership, licensing, working state, usage, and by many other characteristics. In practice, many of these groupings may overlap. Criteria for inclusion is notability, as shown either through an existing Wikipedia article or citation to a reliable source. == Proprietary == === Acorn Computers === Arthur ARX MOS RISC iX RISC OS === Amazon === Fire OS === Amiga Inc. === AmigaOS AmigaOS 1.0-3.9 (Motorola 68000) AmigaOS 4 (PowerPC) Amiga Unix (a.k.a. Amix) === Amstrad === AMSDOS Contiki CP/M 2.2 CP/M Plus SymbOS === Apple === Apple II Apple DOS Apple Pascal ProDOS GS/OS GNO/ME Contiki Apple III Apple SOS Apple Lisa Mac Classic Mac OS A/UX (UNIX System V with BSD extensions) Copland MkLinux Pink Rhapsody macOS (formerly Mac OS X and OS X) macOS Server (formerly Mac OS X Server and OS X Server) Apple Network Server IBM AIX (Apple-customized) Apple MessagePad Newton OS iPhone and iPod Touch iOS (formerly iPhone OS) iPad iPadOS Apple Watch watchOS Apple TV tvOS Embedded operating systems bridgeOS Apple Vision Pro visionOS Embedded operating systems A/ROSE iPod software (unnamed embedded OS for iPod) Unnamed NetBSD variant for Airport Extreme and Time Capsule === Apollo Computer, Hewlett-Packard === Domain/OS – One of the first network-based systems. Run on Apollo/Domain hardware. Later bought by Hewlett-Packard. === Atari === Atari DOS (for 8-bit computers) Atari TOS Atari MultiTOS Contiki (for 8-bit, ST, Portfolio) === BAE Systems === XTS-400 === Be Inc. === BeOS BeIA BeOS r5.1d0 magnussoft ZETA (based on BeOS r5.1d0 source code, developed by yellowTAB) === Bell Labs === Unix ("Ken's new system," for its creator (Ken Thompson), officially Unics and then Unix, the prototypic operating system created in Bell Labs in 1969 that formed the basis for the Unix family of operating systems) UNIX Time-Sharing System v1 UNIX Time-Sharing System v2 UNIX Time-Sharing System v3 UNIX Time-Sharing System v4 UNIX Time-Sharing System v5 UNIX Time-Sharing System v6 MINI-UNIX PWB/UNIX USG CB Unix UNIX Time-Sharing System v7 (It is from Version 7 Unix (and, to an extent, its descendants listed below) that almost all Unix-based and Unix-like operating systems descend.) Unix System III Unix System IV Unix System V Unix System V Releases 2.0, 3.0, 3.2, 4.0, and 4.2 UNIX Time-Sharing System v8 UNIX Time-Sharing System v9 UNIX Time-Sharing System v10 Non-Unix Operating Systems: BESYS Plan 9 from Bell Labs Inferno === Burroughs Corporation, Unisys === Burroughs MCP === CII === Siris 8 === Commodore International === GEOS AmigaOS AROS Research Operating System === Control Data Corporation === ==== Lower 3000 series ==== SCOPE (Supervisory Control Of Program Execution) ==== Upper 3000 series ==== SCOPE (Supervisory Control Of Program Execution) Drum SCOPE ==== 6x00 and related Cyber ==== Chippewa Operating System (COS) MACE (Mansfield and Cahlander Executive) Kronos (Kronographic OS) NOS (Network Operating System) NOS/VE (NOS Virtual Environment) SCOPE (Supervisory Control Of Program Execution) NOS/BE NOS Batch Environment SIPROS (Simultaneous Processing Operating System) ==== Star-100 ==== Multiple Console Time Sharing System (MCTS), from General Motors Research === CloudMosa === Puffin OS === Convergent Technologies === Convergent Technologies Operating System (CTOS) – later acquired by Unisys === Cromemco === Cromemco DOS (CDOS) – a Disk Operating system compatible with CP/M Cromix – a multitasking, multi-user, Unix-like OS for Cromemco microcomputers with Z80A and/or 68000 CPU === Data General === AOS for 16-bit Data General Eclipse computers and AOS/VS for 32-bit (MV series) Eclipses, MP/AOS for microNOVA-based computers DG/UX RDOS Real-time Disk Operating System, with variants: RTOS and DOS (not related to PC DOS, MS-DOS etc.) === Datapoint === CTOS Cassette Tape Operating System for the Datapoint 2200 DOS Disk Operating System for the Datapoint 2200, 5500, and 1100 === DDC-I, Inc. === Deos – Time & Space Partitioned RTOS, Certified to DO-178B, Level A since 1998 HeartOS – POSIX-based Hard Real-Time Operating System === Digital Research, Inc. === CP/M CP/M CP/M for Intel 8080/8085 and Zilog Z80 Personal CP/M, a refinement of CP/M CP/M Plus with BDOS 3.0 CP/M-68K CP/M for Motorola 68000 CP/M-8000 CP/M for Zilog Z8000 CP/M-86 CP/M for Intel 8088/8086 CP/M-86 Plus Personal CP/M-86 MP/M Multi-user version of CP/M-80 MP/M II MP/M-86 Multi-user version of CP/M-86 MP/M 8-16, a dual-processor variant of MP/M for 8086 and 8080 CPUs. Concurrent CP/M, the successor of CP/M-80 and MP/M-80 Concurrent CP/M-86, the successor of CP/M-86 and MP/M-86 Concurrent CP/M 8-16, a dual-processor variant of Concurrent CP/M for 8086 and 8080 CPUs. Concurrent CP/M-68K, a variant for the 68000 DOS Concurrent DOS, the successor of Concurrent CP/M-86 with PC-MODE Concurrent PC DOS, a Concurrent DOS variant for IBM compatible PCs Concurrent DOS 8-16, a dual-processor variant of Concurrent DOS for 8086 and 8080 CPUs Concurrent DOS 286 Concurrent DOS XM, a real-mode variant of Concurrent DOS with EEMS support Concurrent DOS 386 Concurrent DOS 386/MGE, a Concurrent DOS 386 variant with advanced graphics terminal capabilities Concurrent DOS 68K, a port of Concurrent DOS to Motorola 68000 CPUs with DOS source code portability capabilities FlexOS 1.0 – 2.34, a derivative of Concurrent DOS 286 FlexOS 186, a variant of FlexOS for terminals FlexOS 286, a variant of FlexOS for hosts Siemens S5-DOS/MT, an industrial control system based on FlexOS IBM 4680 OS, a POS operating system based on FlexOS IBM 4690 OS, a POS operating system based on FlexOS Toshiba 4690 OS, a POS operating system based on IBM 4690 OS and FlexOS FlexOS 386, a later variant of FlexOS for hosts IBM 4690 OS, a POS operating system based on FlexOS Toshiba 4690 OS, a POS operating system based on IBM 4690 OS and FlexOS FlexOS 68K, a derivative of Concurrent DOS 68K Multiuser DOS, the successor of Concurrent DOS 386 CCI Multiuser DOS Datapac Multiuser DOS Datapac System Manager, a derivative of Datapac Multiuser DOS IMS Multiuser DOS IMS REAL/32, a derivative of Multiuser DOS IMS REAL/NG, the successor of REAL/32 DOS Plus 1.1 – 2.1, a single-user, multi-tasking system derived from Concurrent DOS 4.1 – 5.0 DR-DOS 3.31 – 6.0, a single-user, single-tasking native DOS derived from Concurrent DOS 6.0 Novell PalmDOS 1.0 Novell "Star Trek" Novell DOS 7, a single-user, multi-tasking system derived from DR DOS Caldera OpenDOS 7.01 Caldera DR-DOS 7.02 and higher === Digital Equipment Corporation, Compaq, Hewlett-Packard, Hewlett Packard Enterprise === Batch-11/DOS-11 OS/8 RSTS/E – multi-user time-sharing OS for PDP-11s RSX-11 – multiuser, multitasking OS for PDP-11s RT-11 – single user OS for PDP-11 TOPS-10 – for the PDP-10 TENEX – an ancestor of TOPS-20 from BBN, for the PDP-10 TOPS-20 – for the PDP-10 DEC MICA – for the DEC PRISM Digital UNIX – derived from OSF/1, became HP's Tru64 UNIX Ultrix VMS – originally by DEC (now by VMS Software Inc.) for the VAX mini-computer range; later renamed OpenVMS and ported to Alpha, and subsequently ported to Intel Itanium and then to x86-64 WAITS – for the PDP-6 and PDP-10 === ENEA AB === OSE – Flexible, small footprint, high-performance RTOS for control processors === Fujitsu === Towns OS XSP OS/IV MSP MSP-EX === GEC Computers === COS DOS OS4000 === General Electric, Honeywell, Bull === Real-Time Multiprogramming Operating System GCOS Multics === Google === ChromiumOS is an open source operating system development version of ChromeOS. Both operating systems are based on the Linux kernel. ChromeOS is designed to work exclusively with web applications, though has been updated to run Android apps with full support for Google Play Store. Announced on July 7, 2009, ChromeOS is currently publicly available and was released summer 2011. The ChromeOS source code was released on November 19, 2009, under the BSD license as ChromiumOS. Container-Optimized OS (COS) is an operating system that is optimized for running Docker containers, based on ChromiumOS. Android is an operating system for mobile devices. It consists of Android Runtime (userland) with Linux (kernel), with its Linux kernel modified to add drivers for mobile device hardware and to remove unused Vanilla Linux drivers. gLinux, a Linux distribution that Google uses internally Fuchsia is a capability-based real-time operating system (RTOS) scalable to universal devices, in early development, from the tiniest embedded hardware, wristwatches, tablets to the largest personal computers. Unlike ChromeOS and Android, it is not based on the Linux kernel, but instead began on a new microkernel called "Zircon", derived from "Little Kernel". Wear OS a version of Google's Android operating system designed for smartwatches and other wearables. === Green Hills Software === INTEGRITY – Reliable Operating system INTEGRITY-178B – A DO-178B certified version of INTEGRITY. μ-

    Read more →
  • Level set (data structures)

    Level set (data structures)

    In computer science, a level set is a data structure designed to represent discretely sampled dynamic level sets of functions. A common use of this form of data structure is in efficient image rendering. The underlying method constructs a signed distance field that extends from the boundary, and can be used to solve the motion of the boundary in this field. == Chronological developments == The powerful level-set method is due to Osher and Sethian 1988. However, the straightforward implementation via a dense d-dimensional array of values, results in both time and storage complexity of O ( n d ) {\displaystyle O(n^{d})} , where n {\displaystyle n} is the cross sectional resolution of the spatial extents of the domain and d {\displaystyle d} is the number of spatial dimensions of the domain. === Narrow band === The narrow band level set method, introduced in 1995 by Adalsteinsson and Sethian, restricted most computations to a thin band of active voxels immediately surrounding the interface, thus reducing the time complexity in three dimensions to O ( n 2 ) {\displaystyle O(n^{2})} for most operations. Periodic updates of the narrowband structure, to rebuild the list of active voxels, were required which entailed an O ( n 3 ) {\displaystyle O(n^{3})} operation in which voxels over the entire volume were accessed. The storage complexity for this narrowband scheme was still O ( n 3 ) . {\displaystyle O(n^{3}).} Differential constructions over the narrow band domain edge require careful interpolation and domain alteration schemes to stabilise the solution. === Sparse field === This O ( n 3 ) {\displaystyle O(n^{3})} time complexity was eliminated in the approximate "sparse field" level set method introduced by Whitaker in 1998. The sparse field level set method employs a set of linked lists to track the active voxels around the interface. This allows incremental extension of the active region as needed without incurring any significant overhead. While consistently O ( n 2 ) {\displaystyle O(n^{2})} efficient in time, O ( n 3 ) {\displaystyle O(n^{3})} storage space is still required by the sparse field level set method. See for implementation details. === Sparse block grid === The sparse block grid method, introduced by Bridson in 2003, divides the entire bounding volume of size n 3 {\displaystyle n^{3}} into small cubic blocks of m 3 {\displaystyle m^{3}} voxels each. A coarse grid of size ( n / m ) 3 {\displaystyle (n/m)^{3}} then stores pointers only to those blocks that intersect the narrow band of the level set. Block allocation and deallocation occur as the surface propagates to accommodate to the deformations. This method has a suboptimal storage complexity of O ( ( n m ) 3 + m 3 n 2 ) {\displaystyle O\left((nm)3+m^{3}n^{2}\right)} , but retains the constant time access inherent to dense grids. === Octree === The octree level set method, introduced by Strain in 1999 and refined by Losasso, Gibou and Fedkiw, and more recently by Min and Gibou uses a tree of nested cubes of which the leaf nodes contain signed distance values. Octree level sets currently require uniform refinement along the interface (i.e. the narrow band) in order to obtain sufficient precision. This representation is efficient in terms of storage, O ( n 2 ) , {\displaystyle O(n^{2}),} and relatively efficient in terms of access queries, O ( log n ) . {\displaystyle O(\log \,n).} An advantage of the level method on octree data structures is that one can solve the partial differential equations associated with typical free boundary problems that use the level set method. The CASL research group has developed this line of work in computational materials, computational fluid dynamics, electrokinetics, image-guided surgery and controls. === Run-length encoded === The run-length encoding (RLE) level set method, introduced in 2004, applies the RLE scheme to compress regions away from the narrow band to just their sign representation while storing with full precision the narrow band. The sequential traversal of the narrow band is optimal and storage efficiency is further improved over the octree level set. The addition of an acceleration lookup table allows for fast O ( log ⁡ r ) {\displaystyle O(\log r)} random access, where r is the number of runs per cross section. Additional efficiency is gained by applying the RLE scheme in a dimensional recursive fashion, a technique introduced by Nielsen & Museth's similar DT-Grid. === Hash Table Local Level Set === The Hash Table Local Level Set method was introduced in 2011 by Eyiyurekli and Breen and extended in 2012 by Brun, Guittet, and Gibou, only computes the level set data in a band around the interface, as in the Narrow Band Level-Set Method, but also only stores the data in that same band. A hash table data structure is used, which provides an O ( 1 ) {\displaystyle O(1)} access to the data. However, Brun et al. conclude that their method, while being easier to implement, performs worse than a quadtree implementation. They find that as it is, [...] a quadtree data structure seems more adapted than the hash table data structure for level-set algorithms. Three main reasons for worse efficiency are listed: to obtain accurate results, a rather large band is required close to the interface, which counterbalances the absence of grid nodes far from the interface; the performances are deteriorated by extrapolation procedures on the outer edges of the local grid and the width of the band restricts the time step and slows down the method. === Point-based === Corbett in 2005 introduced the point-based level set method. Instead of using a uniform sampling of the level set, the continuous level set function is reconstructed from a set of unorganized point samples via moving least squares.

    Read more →
  • Global digital divide

    Global digital divide

    The global digital divide describes global disparities, primarily between developed and developing countries, in regards to access to computing and information resources such as the Internet and the opportunities derived from such access. The Internet is expanding very quickly, and not all countries—especially developing countries—can keep up with the constant changes. The term "digital divide" does not necessarily mean that someone does not have technology; it could mean that there is simply a difference in technology. These differences can refer to, for example, high-quality computers, fast Internet, technical assistance, or telephone services. == Statistics == There is a large inequality worldwide in terms of the distribution of installed telecommunication bandwidth. In 2014 only three countries (China, US, Japan) host 50% of the globally installed bandwidth potential (see pie-chart Figure on the right). This concentration is not new, as historically only ten countries have hosted 70–75% of the global telecommunication capacity (see Figure). The U.S. lost its global leadership in terms of installed bandwidth in 2011, being replaced by China, which hosts more than twice as much national bandwidth potential in 2014 (29% versus 13% of the global total). == Versus the digital divide == The global digital divide is a special case of the digital divide; the focus is set on the fact that "Internet has developed unevenly throughout the world" causing some countries to fall behind in technology, education, labor, democracy, and tourism. The concept of the digital divide was originally popularized regarding the disparity in Internet access between rural and urban areas of the United States of America; the global digital divide mirrors this disparity on an international scale. The global digital divide also contributes to the inequality of access to goods and services available through technology. Computers and the Internet provide users with improved education, which can lead to higher wages; the people living in nations with limited access are therefore disadvantaged. This global divide is often characterized as falling along what is sometimes called the North–South divide of "northern" wealthier nations and "southern" poorer ones. == Obstacles to a solution == Some people argue that necessities need to be considered before achieving digital inclusion, such as an ample food supply and quality health care. Minimizing the global digital divide requires considering and addressing the following types of access: === Physical access === Involves "the distribution of ICT devices per capita…and land lines per thousands". Individuals need to obtain access to computers, landlines, and networks in order to access the Internet. This access barrier is also addressed in Article 21 of the convention on the Rights of Persons with Disabilities by the United Nations. === Financial access === The cost of ICT devices, traffic, applications, technician and educator training, software, maintenance, and infrastructures require ongoing financial means. Financial access and "the levels of household income play a significant role in widening the gap". === Socio-demographic access === Empirical tests have identified that several socio-demographic characteristics foster or limit ICT access and usage. Among different countries, educational levels and income are the most powerful explanatory variables, with age being a third one. While a Global Gender Gap in access and usage of ICT's exist, empirical evidence shows that this is due to unfavorable conditions concerning employment, education and income and not to technophobia or lower ability. In the contexts understudy, women with the prerequisites for access and usage turned out to be more active users of digital tools than men. In the US, for example, the figures for 2018 show 89% of men and 88% of women use the Internet. === Cognitive access === In order to use computer technology, a certain level of information literacy is needed. Further challenges include information overload and the ability to find and use reliable information. === Design access === Computers need to be accessible to individuals with different learning and physical abilities including complying with Section 508 of the Rehabilitation Act as amended by the Workforce Investment Act of 1998 in the United States. === Institutional access === In illustrating institutional access, Wilson states "the numbers of users are greatly affected by whether access is offered only through individual homes or whether it is offered through schools, community centers, religious institutions, cybercafés, or post offices, especially in poor countries where computer access at work or home is highly limited". === Political access === Guillen & Suarez argue that "democratic political regimes enable faster growth of the Internet than authoritarian or totalitarian regimes." The Internet is considered a form of e-democracy, and attempting to control what citizens can or cannot view is in contradiction to this. Recently situations in Iran and China have denied people the ability to access certain websites and disseminate information. Iran has prohibited the use of high-speed Internet in the country and has removed many satellite dishes in order to prevent the influence of Western culture, such as music and television. === Cultural access === Many experts claim that bridging the digital divide is not sufficient and that the images and language needed to be conveyed in a language and images that can be read across different cultural lines. A 2013 study conducted by Pew Research Center noted how participants taking the survey in Spanish were nearly twice as likely not to use the internet. == Examples == In the early 21st century, residents of developed countries enjoy many Internet services which are not yet widely available in developing countries, including: Mobile phones and small electronic communication devices; E-communities and social-networking; Fast broadband Internet connections, enabling advanced Internet applications; Affordable and widespread Internet access, either through personal computers at home or work, through public terminals in public libraries and Internet cafes, and through wireless access points; E-commerce enabled by efficient electronic payment networks like credit cards and reliable shipping services; Virtual globes featuring street maps searchable down to individual street addresses and detailed satellite and aerial photography; Online research systems which enable users to peruse newspaper and magazine articles that may be centuries old, without having to leave home; Electronic readers such as Kindle, Sony Reader, Samsung Papyrus and Iliad by iRex Technologies; Price engines which help consumers find the best possible online prices and similar services which find the best possible prices at local retailers; Electronic services delivery of government services, such as the ability to pay taxes, fees, and fines online. Further civic engagement through e-government and other sources such as finding information about candidates regarding political situations. == Proposed remedies == There are four specific arguments why it is important to "bridge the gap": Economic equality – For example, the telephone is often seen as one of the most important components, because having access to a working telephone can lead to higher safety. If there were to be an emergency, one could easily call for help if one could use a nearby phone. In another example, many work-related tasks are online, and people without access to the Internet may not be able to complete work up to company standards. The Internet is regarded by some as a basic component of civic life that developed countries ought to guarantee for their citizens. Additionally, welfare services, for example, are sometimes offered via the Internet. Social mobility – Computer and Internet use is regarded as being very important to development and success. However, some children are not getting as much technical education as others, because lower socioeconomic areas cannot afford to provide schools with computer facilities. For this reason, some kids are being separated and not receiving the same chance as others to be successful. Democracy – Some people believe that eliminating the digital divide would help countries become healthier democracies. They argue that communities would become much more involved in events such as elections or decision making. Economic growth – It is believed that less-developed nations could gain quick access to economic growth if the information infrastructure were to be developed and well used. By improving the latest technologies, certain countries and industries can gain a competitive advantage. While these four arguments are meant to lead to a solution to the digital divide, there are a couple of other components that need to be considered. The first one is rural living versus s

    Read more →
  • Line splice

    Line splice

    In electrical engineering and telecommunications, a line splice is a joint directly connecting lengths of electrical cables (electrical splice) or optical fibers (optical splice). The splices are often protected by sleeves. == Splicing of copper wires == The splicing of copper wires happens in the following steps: The cores are laid one above the other at the junction. The core insulation is removed. The wires are wrapped two to three times around each other (twisting). The bare veins on a length of about 3 cm "strangle" or "twist". In some cases, the strangulation is soldered. To isolate the splice, an insulating sleeve made of paper or plastic is pushed over it. The splicing of copper wires is mainly used on paper insulated wires. LSA techniques (LSA: soldering, screwing and stripping free) are used to connect copper wires, making the copper wires faster and easier to connect. LSA techniques include: Wire connection sleeves (AVH = Adernverbindungshülsen) and other crimp connectors. The two wires to be connected are inserted into the AVH without being stripped, which is then compressed with special pliers. The about 2 cm long AVH consist of contact, pressure and insulation. For wire connection strips (AVL = Adernverbindungsleisten) several pairs of wires (10 = AVL10 or 20 = AVL20) are inserted, the strip is then closed with a lid and pressed together with a hydraulic press, which ensures the connection. == Splicing of glass fibers == Fiber-optic cables are spliced using a special arc-splicer, with installation cables connected at their ends to respective "pigtails" - short individual fibers with fiber-optic connectors at one end. The splicer precisely adjusts the light-guiding cores of the two ends of the glass fibers to be spliced. The adjustment is done fully automatically in modern devices, whereas in older models this is carried out manually by means of micrometer screws and microscope. An experienced splicer can precisely position the fiber ends within a few seconds. Subsequently, the fibers are fused together (welded) with an electric arc. Since no additional material is added, such as gas welding or soldering, this is called a "fusion splice". Depending on the quality of the splicing process, attenuation values at the splice points are achieved by 0.3 dB, with good splices also below 0.02 dB. For newer generation devices, alignment is done automatically by motors. Here one differentiates core and jacket centering. At core centering (usually single-mode fibers), the fiber cores are aligned. A possible core offset with respect to the jacket is corrected. In the jacket centering (usually in multimode fibers), the fibers are adjusted to each other by means of electronic image processing in front of the splice. When working with good equipment, the damping value is according to experience at max. 0.1 dB. Measurements are made by means of special measuring devices including optical time-domain reflectometry (OTDR). A good splice should have an attenuation of less than 0.3 dB over the entire distance. Finished fiber optic splices are housed in splice boxes. One differentiates: Fusion splice Adhesive splicing Crimp splice or NENP (no-epoxy no-polish), mechanical splice

    Read more →
  • The Dodo (website)

    The Dodo (website)

    The Dodo is an American online publisher focused on animals. The website was launched in January 2014 by Izzie Lerer, the daughter of media executive Kenneth Lerer, and journalist Kerry Lauerman. The Dodo has become one of the most popular Facebook publishers, garnering 1 billion video views from the social network in November 2015. The Dodo is headquartered in New York, New York. == History == The company—named after the first recorded species that humans drove to extinction—was founded by Lerer out of "a personal passion for the subject manner". Lerer has a PhD in animal studies with a focus on animal ethics and human relationships from Columbia University, launching the website after noticing the viral success of animal videos online but seeing no one "really owned the space." The Dodo's editorial and video production staff unionized with the Writers Guild of America, East in April 2018.

    Read more →
  • Convolutional neural network

    Convolutional neural network

    A convolutional neural network (CNN) is a type of feedforward neural network that learns features via filter (or kernel) optimization. This type of deep learning network has been applied to process and make predictions from many different types of data including text, images and audio. CNNs are the de-facto standard in deep learning-based approaches to computer vision and image processing, and have only recently been replaced—in some cases—by newer architectures such as the transformer. Vanishing gradients and exploding gradients, seen during backpropagation in earlier neural networks, are prevented by the regularization that comes from using shared weights over fewer connections. For example, for each neuron in the fully-connected layer, 10,000 weights would be required for processing an image sized 100 × 100 pixels. However, applying cascaded convolution (or cross-correlation) kernels, only 25 weights for each convolutional layer are required to process 5x5-sized tiles. Higher-layer features are extracted from wider context windows, compared to lower-layer features. Some applications of CNNs include: image and video recognition, recommender systems, image classification, image segmentation, medical image analysis, natural language processing, brain–computer interfaces, and financial time series. CNNs are also known as shift invariant or space invariant artificial neural networks, based on the shared-weight architecture of the convolution kernels or filters that slide along input features and provide translation-equivariant responses known as feature maps. Counter-intuitively, most convolutional neural networks are not invariant to translation, due to the downsampling operation they apply to the input. Feedforward neural networks are usually fully connected networks, that is, each neuron in one layer is connected to all neurons in the next layer. The "full connectivity" of these networks makes them prone to overfitting data. Typical ways of regularization, or preventing overfitting, include: penalizing parameters during training (such as weight decay) or trimming connectivity (skipped connections, dropout, etc.) Robust datasets also increase the probability that CNNs will learn the generalized principles that characterize a given dataset rather than the biases of a poorly-populated set. Convolutional networks were inspired by biological processes in that the connectivity pattern between neurons resembles the organization of the animal visual cortex. Individual cortical neurons respond to stimuli only in a restricted region of the visual field known as the receptive field. The receptive fields of different neurons partially overlap such that they cover the entire visual field. CNNs use relatively little pre-processing compared to other image classification algorithms. This means that the network learns to optimize the filters (or kernels) through automated learning, whereas in traditional algorithms these filters are hand-engineered. This simplifies and automates the process, enhancing efficiency and scalability overcoming human-intervention bottlenecks. == Architecture == A convolutional neural network consists of an input layer, hidden layers and an output layer. In a convolutional neural network, the hidden layers include one or more layers that perform convolutions. Typically this includes a layer that performs a dot product of the convolution kernel with the layer's input matrix. This product is usually the Frobenius inner product, and its activation function is commonly ReLU. As the convolution kernel slides along the input matrix for the layer, the convolution operation generates a feature map, which in turn contributes to the input of the next layer. This is followed by other layers such as pooling layers, fully connected layers, and normalization layers. Here it should be noted how close a convolutional neural network is to a matched filter. === Convolutional layers === In a CNN, the input is a tensor with shape: (number of inputs) × (input height) × (input width) × (input channels) After passing through a convolutional layer, the image becomes abstracted to a feature map, also called an activation map, with shape: (number of inputs) × (feature map height) × (feature map width) × (feature map channels). Convolutional layers convolve the input and pass its result to the next layer. This is similar to the response of a neuron in the visual cortex to a specific stimulus. Each convolutional neuron processes data only for its receptive field. Although fully connected feedforward neural networks can be used to learn features and classify data, this architecture is generally impractical for larger inputs (e.g., high-resolution images), which would require massive numbers of neurons because each pixel is a relevant input feature. A fully connected layer for an image of size 100 × 100 has 10,000 weights for each neuron in the second layer. Convolution reduces the number of free parameters, allowing the network to be deeper. For example, using a 5 × 5 tiling region, each with the same shared weights, requires only 25 neurons. Using shared weights means there are many fewer parameters, which helps avoid the vanishing gradients and exploding gradients problems seen during backpropagation in earlier neural networks. To speed processing, standard convolutional layers can be replaced by depthwise separable convolutional layers, which are based on a depthwise convolution followed by a pointwise convolution. The depthwise convolution is a spatial convolution applied independently over each channel of the input tensor, while the pointwise convolution is a standard convolution restricted to the use of 1 × 1 {\displaystyle 1\times 1} kernels. === Pooling layers === Convolutional networks may include local and/or global pooling layers along with traditional convolutional layers. Pooling layers reduce the dimensions of data by combining the outputs of neuron clusters at one layer into a single neuron in the next layer. Local pooling combines small clusters, tiling sizes such as 2 × 2 are commonly used. Global pooling acts on all the neurons of the feature map. There are two common types of pooling in popular use: max and average. Max pooling uses the maximum value of each local cluster of neurons in the feature map, while average pooling takes the average value. === Fully connected layers === Fully connected layers connect every neuron in one layer to every neuron in another layer. It is the same as a traditional multilayer perceptron neural network (MLP). Each neuron in the fully connected layer receives input from all the neurons in the previous layer. These inputs are weighted and summed with the corresponding biases, and then passed through an activation function to perform a nonlinear transformation, generating the output. The flattened matrix goes through a fully connected layer to classify the images. === Receptive field === In neural networks, each neuron receives input from some number of locations in the previous layer. In a convolutional layer, each neuron receives input from only a restricted area of the previous layer called the neuron's receptive field. Typically the area is a square (e.g. 5 by 5 neurons). Whereas, in a fully connected layer, the receptive field is the entire previous layer. Thus, in each convolutional layer, each neuron takes input from a larger area in the input than previous layers. This is due to applying the convolution over and over, which takes the value of a pixel into account, as well as its surrounding pixels. When using dilated layers, the number of pixels in the receptive field remains constant, but the field is more sparsely populated as its dimensions grow when combining the effect of several layers. To manipulate the receptive field size as desired, there are some alternatives to the standard convolutional layer. For example, atrous or dilated convolution expands the receptive field size without increasing the number of parameters by interleaving visible and blind regions. Moreover, a single dilated convolutional layer can comprise filters with multiple dilation ratios, thus having a variable receptive field size. === Weights === Each neuron in a neural network computes an output value by applying a specific function to the input values received from the receptive field in the previous layer. The function that is applied to the input values is determined by a vector of weights and a bias (typically real numbers). Learning consists of iteratively adjusting these biases and weights. The vectors of weights and biases are called filters and represent particular features of the input (e.g., a particular shape). A distinguishing feature of CNNs is that many neurons can share the same filter. This reduces the memory footprint because a single bias and a single vector of weights are used across all receptive fields that share that filter, as opposed to each receptive field having its own bias and vector

    Read more →
  • Homeboyz Interactive

    Homeboyz Interactive

    Homeboyz Interactive (HBI) was a faith-based recruitment, training and job placement non-profit business in Milwaukee, Wisconsin, United States, founded by a Jesuit brother in 1996 to transform gang members into productive workers. == History == James Holub, a former Jesuit brother affiliated with Wheeling Jesuit University, asked gang members in the Southside of Milwaukee, WI how they could be helped, to break the cycle of poverty and violence. The youth suggested that they be trained for work they found exciting. To attract interest, the training must lead to jobs that paid at least a living wage, and computer skills seemed the most attractive. The non-profit Homeboyz Interactive was established to prepare professionals in web design, application development, and PC/network support. This non-profit outfit spawned the for-profit web design firm HBI Consulting, which provided trainees with work experience. It turned out more than 20 teachers yearly for computer and computer network programs for high schools and other clients, as well as for computer service providers. Some graduates of the program continued their education, some founded their own business, and others continued working at HBI. The Economist described this effort as "turning thugs into programmers" on Milwaukee's South Side, which has proportionally twice as many murders as New York. Holub had "buried his 28th gang member" before he implemented the Homeboyz plan, with the understanding that "nothing stops a bullet like a job." The programs would pass through about 80 prospects a year who successfully completed training and provide them with a job while studying for their high school equivalency test, before they were asked to decide in which direction to go. Most accepted a job or went on to community college but about 25 entered the Homeboyz training for computer programmers. Of first 150 graduates of this program none lost their job; their average pay after two years was US$63,000. Some preferred to return to full-time work at HBI. By 2002, a total of 142 people had graduated from HBI training and moved into full-time IT careers. The training curriculum as of 2000 included JavaScript and Photoshop, among other web-development tools. In 2000, HBI received a 14% ownership stake in reEmploy.com, a payrolling company, in exchange for the development of an electronic time sheet created by the organization. As of 2001, HBI Consulting, the for profit web design firm, had 72 clients. Among those clients were GE Medical, Toyota Forklift, Northwestern Mutual Life, Verizon Wireless, BP; and Marquette University. Companies that graduates of HBI's training programs secured positions have included Northwestern Mutual and Manpower Inc., United Community Center in Milwaukee and EKI Consulting. A pair of graduates also started their own company in 2002, Innovative Source, a web design firm, which itself has had clients such as the University of Wisconsin-Milwaukee and the Milwaukee Women's Center. This was a common path forward, graduates starting their own consulting firms. In 2004, HBI received a grant for General Support from the Vine and Branches Foundation in the amount of US$120,000. The product Project Foundry found its start in the difficulty of managing project-based learning across dozens of students with widely varying levels of skill, a problem encountered by Shane Krukowski, who developed the software while teaching at HBI. Krukowski subsequently an eponymous company to commercialize the software through a subscription-based business model. Some came to Homeboyz through the criminal courts or Department of Corrections. A Jesuit Volunteer (JV) was assigned to work with the program, and to add a spiritual dimension through regular reflection together. Gradually the market began prioritizing graphic design and flash images more than site construction. After 2006 Homeboyz HBI morphed into several spinoffs and ceased to exist as a separate entity.

    Read more →
  • HTTP cookie

    HTTP cookie

    An HTTP cookie (also called web cookie, Internet cookie, browser cookie, or simply cookie) is a small block of data created by a web server while a user is browsing a website and placed on the user's computer or other device by the user's web browser. Cookies are placed on the device used to access a website, and more than one cookie may be placed on a user's device during a session. Cookies serve useful and sometimes essential functions on the web. They enable web servers to store stateful information (such as items added in the shopping cart in an online store) on the user's device or to track the user's browsing activity (including clicking particular buttons, logging in, or recording which pages were visited in the past). They can also be used to save information that the user previously entered into form fields, such as names, addresses, passwords, and payment card numbers for subsequent use. Authentication cookies are commonly used by web servers to authenticate that a user is logged in, and with which account they are logged in. Without the cookie, users would need to authenticate themselves by logging in on each page containing sensitive information that they wish to access. The security of an authentication cookie generally depends on the security of the issuing website and the user's web browser, and on whether the cookie data is encrypted. Security vulnerabilities may allow a cookie's data to be read by an attacker, used to gain access to user data, or used to gain access (with the user's credentials) to the website to which the cookie belongs (see cross-site scripting and cross-site request forgery for examples). Tracking cookies, and especially third-party tracking cookies, are commonly used as ways to compile long-term records of individuals' browsing histories — a potential privacy concern that prompted European and U.S. lawmakers to take action in 2011. European law requires that all websites targeting European Union member states gain "informed consent" from users before storing non-essential cookies on their device. == Background == === Origin of the name === The term cookie was coined by web-browser programmer Lou Montulli. It was derived from the term magic cookie, which is a packet of data a program receives and sends back unchanged, used by Unix programmers. === History === Magic cookies were already used in computing when computer programmer Lou Montulli had the idea of using them in web communications in June 1994. At the time, he was an employee of Netscape Communications, which was developing an e-commerce application for MCI. Vint Cerf and John Klensin represented MCI in technical discussions with Netscape Communications. MCI did not want its servers to have to retain partial transaction states, which led them to ask Netscape to find a way to store that state in each user's computer instead. Cookies provided a solution to the problem of reliably implementing a virtual shopping cart. Together with John Giannandrea, Montulli wrote the initial Netscape cookie specification the same year. Version 0.9beta of Mosaic Netscape, released on 13 October 1994, supported cookies. The first use of cookies (out of the labs) was checking whether visitors to the Netscape website had already visited the site. Montulli applied for a patent for the cookie technology in 1995, which was granted in 1998. Support for cookies was integrated with Internet Explorer in version 2, released in October 1995. The introduction of cookies was not widely known to the public at the time. In particular, cookies were accepted by default, and users were not notified of their presence. The public learned about cookies after the Financial Times published an article about them on 12 February 1996. In the same year, cookies received a lot of media attention, especially because of potential privacy implications. Cookies were discussed in two U.S. Federal Trade Commission hearings in 1996 and 1997. The development of the formal cookie specifications was already ongoing. In particular, the first discussions about a formal specification started in April 1995 on the www-talk mailing list. A special working group within the Internet Engineering Task Force (IETF) was formed. Two alternative proposals for introducing state in HTTP transactions had been proposed by Brian Behlendorf and David Kristol respectively. But the group, headed by Kristol himself and Lou Montulli, soon decided to use the Netscape specification as a starting point. In February 1996, the working group identified third-party cookies as a considerable privacy threat. The specification produced by the group was eventually published as RFC 2109 in February 1997. It specifies that third-party cookies were either not allowed at all, or at least not enabled by default. At this time, advertising companies were already using third-party cookies. The recommendation about third-party cookies of RFC 2109 was not followed by Netscape and Internet Explorer. RFC 2109 was superseded by RFC 2965 in October 2000. RFC 2965 added a Set-Cookie2 header field, which informally came to be called "RFC 2965-style cookies" as opposed to the original Set-Cookie header field which was called "Netscape-style cookies". Set-Cookie2 was seldom used, however, and was deprecated in RFC 6265 in April 2011 which was written as a definitive specification for cookies as used in the real world. No modern browser recognizes the Set-Cookie2 header field. == Terminology == === Session cookie === A session cookie (also known as an in-memory cookie, transient cookie or non-persistent cookie) exists only in temporary memory while the user navigates a website. Session cookies expire or are deleted when the user closes the web browser. Session cookies are identified by the browser by the absence of an expiration date assigned to them. === Persistent cookie === A persistent cookie expires at a specific date or after a specific length of time. For the persistent cookie's lifespan set by its creator, its information will be transmitted to the server every time the user visits the website that it belongs to, or every time the user views a resource belonging to that website from another website (such as an advertisement). For this reason, persistent cookies are sometimes referred to as tracking cookies because they can be used by advertisers to record information about a user's web browsing habits over an extended period of time. Persistent cookies are also used for reasons such as keeping users logged into their accounts on websites, to avoid re-entering login credentials at every visit. (See § Uses, below.) === Secure cookie === A secure cookie can only be transmitted over an encrypted connection (i.e. HTTPS). They cannot be transmitted over unencrypted connections (i.e. HTTP). This makes the cookie less likely to be exposed to cookie theft via eavesdropping. A cookie is made secure by adding the Secure flag to the cookie. === Http-only cookie === An http-only cookie cannot be accessed by client-side APIs, such as JavaScript. This restriction eliminates the threat of cookie theft via cross-site scripting (XSS). However, the cookie remains vulnerable to cross-site tracing (XST) and cross-site request forgery (CSRF) attacks. A cookie is given this characteristic by adding the HttpOnly flag to the cookie. === Same-site cookie === In 2016 Google Chrome version 51 introduced a new kind of cookie with attribute SameSite with possible values of Strict, Lax or None. With attribute SameSite=Strict, the browsers would only send cookies to a target domain that is the same as the origin domain. This would effectively mitigate cross-site request forgery (CSRF) attacks. With SameSite=Lax, browsers would send cookies with requests to a target domain even it is different from the origin domain, but only for safe requests such as GET (POST is unsafe) and not third-party cookies (inside iframe). Attribute SameSite=None would allow third-party (cross-site) cookies, however, most browsers require secure attribute on SameSite=None cookies. The Same-site cookie is incorporated into a new RFC draft for "Cookies: HTTP State Management Mechanism" to update RFC 6265 (if approved). Chrome, Firefox, and Edge started to support Same-site cookies. The key of rollout is the treatment of existing cookies without the SameSite attribute defined, Chrome has been treating those existing cookies as if SameSite=None, this would let all website/applications run as before. Google intended to change that default to SameSite=Lax in Chrome 80 planned to be released in February 2020, but due to potential for breakage of those applications/websites that rely on third-party/cross-site cookies and COVID-19 circumstances, Google postponed this change to Chrome 84. === Supercookie === A supercookie is a cookie with an origin of a top-level domain (such as .com) or a public suffix (such as .co.uk). Ordinary cookies, by contrast, have an origin of a specific domain name, such as ex

    Read more →