AI Chatbot Zendesk

AI Chatbot Zendesk — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Object model

    Object model

    In computing, object model has two related but distinct meanings: The properties of objects in general in a specific computer programming language, technology, notation or methodology that uses them. Examples are the object models of Java, the Component Object Model (COM), or Object-Modeling Technique (OMT). Such object models are usually defined using concepts such as class, generic function, message, inheritance, polymorphism, and encapsulation. There is an extensive literature on formalized object models as a subset of the formal semantics of programming languages. A collection of objects or classes through which a program can examine and manipulate some specific parts of its world. In other words, the object-oriented interface to some service or system. Such an interface is said to be the object model of the represented service or system. For example, the Document Object Model (DOM) is a collection of objects that represent a page in a web browser, used by script programs to examine and dynamically change the page. There is a Microsoft Excel object model [1] for controlling Microsoft Excel from another program, and the ASCOM Telescope Driver is an object model for controlling an astronomical telescope. == Features == An object model consists of the following important features: === Object reference === Objects can be accessed via object references. To invoke a method in an object, the object reference and method name are given, together with any arguments. === Interfaces === An interface provides a definition of the signature of a set of methods without specifying their implementation. An object will provide a particular interface if its class contains code that implement the method of that interface. An interface also defines types that can be used to declare the type of variables or parameters and return values of methods. === Actions === An action in object-oriented programming (OOP) is initiated by an object invoking a method in another object. An invocation can include additional information needed to carry out the method. The receiver executes the appropriate method and then returns control to the invoking object, sometimes supplying a result. === Exceptions === Programs can encounter various errors and unexpected conditions of varying seriousness. During the execution of the method many different problems may be discovered. Exceptions provide a clean way to deal with error conditions without complicating the code. A block of code may be defined to throw an exception whenever particular unexpected conditions or errors arise. This means that control passes to another block of code that catches the exception.

    Read more →
  • Death and the Internet

    Death and the Internet

    A recent extension to the cultural relationship with death is the increasing number of people who die having created a large amount of digital content, such as social media profiles, that will remain after death. This may result in concern and confusion, because of automated features of dormant accounts (e.g. birthday reminders), uncertainty of the deceased's preferences that profiles be deleted or left as a memorial, and whether information that may violate the deceased's privacy (such as email or browser history) should be made accessible to family. Issues with how this information is sensitively dealt with are further complicated as it may belong to the service provider (not the deceased) and many do not have clear policies on what happens to the accounts of deceased users. While some sites, including Facebook and X (formerly Twitter), have policies related to death, others remain dormant until if applicable, deleted due to inactivity or transferred to family or friends. The FADA (Fiduciary Access to Digital Assets Act) was set in place to make it possible to transfer digital possessions legally. More broadly, the heavy increase in social media use is affecting cultural practices surrounding death. "Virtual funerals" and other forms of previously physical memorabilia are being introduced into the digital world, complete with public details of a person's life and death. == E-mail == Gmail and Hotmail allow the email accounts of the deceased to be accessed provided certain requirements are met. Yahoo! Mail will not provide access, citing the No Right of Survivorship and Non-Transferability clause in the Yahoo! terms of service. In 2005, Yahoo! was ordered by the Probate Court of Oakland County, Michigan, to release emails of deceased US Marine Justin Ellsworth to his father, John Ellsworth. == By website == === Facebook === ==== Policies ==== In its early days, Facebook used to delete profiles of dead people, but does not anymore. In October 2009, the company introduced "memorial pages" in response to multiple user requests related to the 2007 Virginia Tech shooting. After receiving a proof of death via a special form, the profile would be converted into a tribute page with minimal personal details, where friends and family members could share their grief. In February 2015, Facebook allowed users to appoint a friend or family member as a "legacy contact" with the rights to manage their page after death. It also gave Facebook users an option to have their account permanently deleted when they die. As of January 2019, all 3 options were active. ==== Controversies ==== In 2013, BuzzFeed criticized Facebook for the lack of control over memorialization that resulted in a "Facebook death" prank aimed at locking users out of their own accounts. In 2017, Reuters reported that a German court rejected a mother's demand to access her deceased daughter's memorialized account stating that the right to private telecommunications outweighed the right to inheritance. In July 2018, Dubai's DIFC Courts ruling clarified that Facebook, Twitter and other social media accounts should be bequeathed in legally binding will. Social media networks have also been criticized for not responding to relatives' requests to alter information on memorialized accounts. Another criticism is that Facebook users often are unaware that their content is ultimately owned not by them, but by Facebook. === Dropbox === ==== Policies ==== Dropbox determines inactive accounts by looking at sign-ins, file shares, and file activity over the previous 12 months. Once an account is determined inactive, Dropbox deletes the files on the account. To request access to the account of a deceased person, heirs are required to send appropriate documents by physical mail. === Google === ==== Policies ==== In April 2013, Google announced the creation of the 'Inactive Account Manager', which allows users of Google services to set up a process in which ownership and control of inactive accounts is transferred to a delegated user. Google also allows users to submit a range of requests regarding accounts belonging to deceased users. Google works with immediate family members and representatives to close online accounts in some cases once a user is known to be deceased, and in certain circumstances may also provide content from a deceased user's account. === X (formerly Twitter) === ==== Policies ==== Until 2010, Twitter (launched in July 2006) did not have a policy on handling deceased user accounts, and simply deleted timelines of deceased users. In August 2010, Twitter allowed memorialization of accounts upon request from family members, and also provided them with an option of either deleting the account or obtaining a permanent backup of the deceased user's public tweets. In 2014, Twitter updated its policy to include an option to delete deceased user photographs. This policy was implemented after multiple Twitter trolls sent Zelda Williams, daughter of Robin Williams, photoshopped images of her father. As of January 2019, the only option that Twitter offered for the accounts of dead people was account deactivation. Previously published content is not removed. To deactivate an account Twitter requires an immediate family member to present a copy of their ID and a death certificate of the deceased. Twitter specified that it does not provide account access to anyone, but does allow people having account login information to continue posting. A prominent example is Roger Ebert's account maintained by his wife Chaz. ==== Controversies ==== In 2012, The Next Web columnist Martin Bryant noticed that since Twitter, unlike Facebook, did not have a "one account per real person" emphasis, memorializing accounts presented a difficulty to the service. He also criticized the service for the lack of control over hacking of such accounts and disapproved the practice of passing dead people's usernames to new owners after a certain period of inactivity. In 2013, Variety ran a feature about Cory Monteith's Twitter account that had 1.5 million followers at the moment on his death and gained almost 1 million new followers afterwards. Monteith's fans also launched #DontDeleteCorysTwitter campaign. As of February 2019, the celebrity's account had 1.63 million followers. Various media reported awkward incidents related to automatic posting and account hacking. === iTunes === ==== Policies ==== iCloud and iTunes accounts are "non transferable" since the content is not owned — users only have a licence to access it. === Wikipedia === Users who have made at least several hundred edits or are otherwise known for substantial contributions to Wikipedia can be noted at a central memorial page. Wikipedia user pages are ordinarily fully edit-protected after the user has died, to prevent vandalism. === YouTube === YouTube grants access to accounts of deceased persons under certain conditions. It is one of the data options that one can select to give access to a trusted contact with Google's Inactive Account Manager. === Instagram === ==== Policies ==== As of the COVID-19 pandemic, Instagram has notified its users of a delay in time of reviewing reports of deceased users due to the limited staff the pandemic has caused. Users that submit a report on a deceased user on Instagram can either memorialize the account or remove it from Instagram's platform. Through memorializing the account, Instagram secures and protects a platform of a deceased user, but per their policy, they do not supply any of the login credentials to the account. For both memorializing or removing a deceased users account, a verified user needs to submit a tangible document that shows proof of death of the user. However, to fully remove an account, the user must be a close or direct family member to the deceased person, and show proof of credibility as well. === Microsoft === ==== Policies ==== Per Microsoft's policies, they do not supply any of the login credentials to a deceased user's Microsoft account. A user does not have to contact or notify Microsoft of the deceased user, as the related user is able to close the account themselves. At default, Microsoft removes accounts after 2 years of inactivity. If the user does not have access to the deceased user's account, Microsoft recommends that the user deletes all bank accounts linked to that of the deceased to ensure no subscriptions are still going through. If the user wants to request to gain access to the deceased user's account, a court order or a subpoena has to be provided to Microsoft, but does not guarantee access to the deceased user's account. For users that live in Germany, more documentation is needed to gain access of a deceased user's account, including the deceased user's death certificate, a form of ID, and a documentation of consent from the deceased. The requesting user needs to provide a form of ID as well. == Digital inheritance == Digital inheritance is the process of handing over

    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 →
  • History of operating systems

    History of operating systems

    Computer operating systems (OSes) provide a set of functions needed and used by most application programs on a computer, and the links needed to control and synchronize computer hardware. On the first computers, with no operating system, every program needed the full hardware specification to run correctly and perform standard tasks, and its own drivers for peripheral devices like printers and punched paper card readers. The growing complexity of hardware and application programs eventually made operating systems a necessity for everyday use. == Background == Early computers lacked any form of operating system. Instead, the user (rarely also the computer operator), had sole use of the machine for a scheduled period of time. The user would deliver his program to a computer operator who would be responsible for loading the computer with the program and data needed for its 'run'. Eventually, the end of a user's program could be detected and a control program automatically loaded which would load the next user's program, relieving the operator of having to load in each user's program individually and introducing the era of 'batched' programming. That is, a number of user programs could all be loaded together in a batch. Loading of program and data was accomplished in various ways including toggle switches (only used by a user on the earliest of computers, but later used by the computer operator to control the computer, e.g., to start it up, to shut it down, to 'pause', to 'dump' its RAM contents, and/or to control its input and/or its output), punched paper cards and magnetic or paper tape. Once loaded, the machine would be set to execute each program singly until that program completed, crashed, exceeded its time limit or went into a(n infinite) loop. In those early days, there were only 'Control Program' units for providing the software necessary to control the computers and ancillary hardware, e.g., for such semi hardware functions as I/O . None of the early 'Control Programs' were sufficiently sophisticated to recognize a looping user program or initiate a recovery action. Detection and recovery from a looping program was another critical operator function and was usually detected by the sound of the looping computer, whereupon the operator would simply initiate a complete dump of the executing program (for later debugging by the programmer) and then load in (or instruct the computer to go on to) the next user's program. Programs could sometimes be debugged via a control panel using dials, toggle switches and panel lights, making it a very manual and error-prone process. But, this was quite rare, since the high cost of even the simplest of the early computers prohibited such exclusive use of a computer by an individual programmer. Almost all program debugging was done away from any computer by the original programmer perusing the program and the dump of its execution obtained, e.g., by the computer operator or automatically by some computer hardware exception detection (such as a timeout, an attempt to divide by zero, or an over or underflow). Programmers then could only very rarely have more than one computer 'run' per day! Symbolic languages, e.g., assemblers and compilers were developed for programmers to translate symbolic program code into machine code that previously would have been hand-encoded. Later machines came with libraries of support code on punched cards or magnetic tape, which would be linked to the user's program to assist in operations such as input and output. This was the genesis of the modern-day operating system; however, machines still ran a single program or job at a time. At Cambridge University in England the job queue was at one time a string from which tapes attached to corresponding job tickets were hung with stationery pegs. == Mainframes == The first operating system used for real work was GM-NAA I/O, produced in 1956 by General Motors' Research division for its IBM 704. Most other early operating systems for IBM mainframes were also produced by customers. Early operating systems were very diverse, with each vendor or customer producing one or more operating systems specific to their particular mainframe computer. Every operating system, even from the same vendor, could have radically different models of commands, operating procedures, and such facilities as debugging aids. Typically, each time the manufacturer brought out a new machine, there would be a new operating system, and most applications would have to be manually adjusted, recompiled, and retested. === Systems on IBM hardware === Building on customer experience and requirements, IBM took on a more active role in developing operating systems for the 709, 1410, 7010, 7040, 7044, 7090 and 7094. IBM also collaborated with universities. The state of affairs continued until the mid 1960s when IBM, already a leading hardware vendor, stopped work on existing systems and put all its effort into developing the System/360 series of machines, all of which used the same instruction and input/output architecture. IBM intended to develop a single operating system for the new hardware, the OS/360. The problems encountered in the development of the OS/360 are legendary, and are described by Fred Brooks in The Mythical Man-Month—a book that has become a classic of software engineering. Because of performance differences across the hardware range and delays with software development, a whole family of operating systems was introduced instead of a single OS/360. IBM wound up releasing a series of stop-gaps followed by two longer-lived operating systems: OS/360 for mid-range and large systems. This was available in three system generation options: PCP for early users and for those without the resources for multiprogramming. MFT for mid-range systems, replaced by MFT-II in OS/360 Release 15/16. This had one successor, OS/VS1, which was discontinued in the 1980s. MVT for large systems. This was similar in most ways to PCP and MFT (most programs could be ported among the three without being re-compiled), but has more sophisticated memory management and a time-sharing facility, TSO. MVT had several successors including the current z/OS. DOS/360 for small System/360 models had several successors including the current z/VSE. It was significantly different from OS/360. IBM maintained full compatibility with the past, so that programs developed in the sixties can still run under z/VSE (if developed for DOS/360) or z/OS (if developed for MFT or MVT) with no change. IBM also developed TSS/360, a time-sharing system for the System/360 Model 67. Overcompensating for their perceived importance of developing a timeshare system, they set hundreds of developers to work on the project. Early releases of TSS were slow and unreliable; by the time TSS had acceptable performance and reliability, IBM wanted its TSS users to migrate to OS/360 and OS/VS2; while IBM offered a TSS/370 PRPQ, they dropped it after 3 releases. Several operating systems for the IBM S/360 and S/370 architectures were developed by third parties, including the Michigan Terminal System (MTS) and MUSIC/SP. === Other mainframe operating systems === Control Data Corporation developed the SCOPE operating systems in the 1960s, for batch processing and later developed the MACE operating system for time sharing, which was the basis for the later Kronos. In cooperation with the University of Minnesota, the Kronos and later the NOS operating systems were developed during the 1970s, which supported simultaneous batch and time sharing use. Like many commercial time sharing systems, its interface was an extension of the DTSS time sharing system, one of the pioneering efforts in timesharing and programming languages. In the late 1970s, Control Data and the University of Illinois developed the PLATO system, which used plasma panel displays and long-distance time sharing networks. PLATO was remarkably innovative for its time; the shared memory model of PLATO's TUTOR programming language allowed applications such as real-time chat and multi-user graphical games. For the UNIVAC 1107, UNIVAC, the first commercial computer manufacturer, produced the EXEC I operating system, and Computer Sciences Corporation developed the EXEC II operating system and delivered it to UNIVAC. EXEC II was ported to the UNIVAC 1108. Later, UNIVAC developed the EXEC 8 operating system for the 1108; it was the basis for operating systems for later members of the family. Like all early mainframe systems, EXEC I and EXEC II were a batch-oriented system that managed magnetic drums, disks, card readers and line printers; EXEC 8 supported both batch processing and on-line transaction processing. In the 1970s, UNIVAC produced the Real-Time Basic (RTB) system to support large-scale time sharing, also patterned after the Dartmouth BASIC system. Burroughs Corporation introduced the B5000 in 1961 with the MCP (Master Control Program) operating system. The B5000

    Read more →
  • Ugly duckling theorem

    Ugly duckling theorem

    The ugly duckling theorem is an argument showing that classification is not really possible without some sort of bias. More particularly, it assumes finitely many properties combinable by logical connectives, and finitely many objects; it asserts that any two different objects share the same number of (extensional) properties. The theorem is named after Hans Christian Andersen's 1843 story "The Ugly Duckling", because it shows that a duckling is just as similar to a swan as two swans are to each other. It was derived by Satosi Watanabe in 1969. == Mathematical formula == Suppose there are n things in the universe, and one wants to put them into classes or categories. One has no preconceived ideas or biases about what sorts of categories are "natural" or "normal" and what are not. So one has to consider all the possible classes that could be, all the possible ways of making a set out of the n objects. There are 2 n {\displaystyle 2^{n}} such ways, the size of the power set of n objects. One can use that to measure the similarity between two objects, and one would see how many sets they have in common. However, one cannot. Any two objects have exactly the same number of classes in common if we can form any possible class, namely 2 n − 1 {\displaystyle 2^{n-1}} (half the total number of classes there are). To see this is so, one may imagine each class is represented by an n-bit string (or binary encoded integer), with a zero for each element not in the class and a one for each element in the class. As one finds, there are 2 n {\displaystyle 2^{n}} such strings. As all possible choices of zeros and ones are there, any two bit-positions will agree exactly half the time. One may pick two elements and reorder the bits so they are the first two, and imagine the numbers sorted lexicographically. The first 2 n / 2 {\displaystyle 2^{n}/2} numbers will have bit #1 set to zero, and the second 2 n / 2 {\displaystyle 2^{n}/2} will have it set to one. Within each of those blocks, the top 2 n / 4 {\displaystyle 2^{n}/4} will have bit #2 set to zero and the other 2 n / 4 {\displaystyle 2^{n}/4} will have it as one, so they agree on two blocks of 2 n / 4 {\displaystyle 2^{n}/4} or on half of all the cases, no matter which two elements one picks. So if we have no preconceived bias about which categories are better, everything is then equally similar (or equally dissimilar). The number of predicates simultaneously satisfied by two non-identical elements is constant over all such pairs. Thus, some kind of inductive bias is needed to make judgements to prefer certain categories over others. === Boolean functions === Let x 1 , x 2 , … , x n {\displaystyle x_{1},x_{2},\dots ,x_{n}} be a set of vectors of k {\displaystyle k} booleans each. The ugly duckling is the vector which is least like the others. Given the booleans, this can be computed using Hamming distance. However, the choice of boolean features to consider could have been somewhat arbitrary. Perhaps there were features derivable from the original features that were important for identifying the ugly duckling. The set of booleans in the vector can be extended with new features computed as boolean functions of the k {\displaystyle k} original features. The only canonical way to do this is to extend it with all possible Boolean functions. The resulting completed vectors have 2 k {\displaystyle 2^{k}} features. The ugly duckling theorem states that there is no ugly duckling because any two completed vectors will either be equal or differ in exactly half of the features. Proof. Let x and y be two vectors. If they are the same, then their completed vectors must also be the same because any Boolean function of x will agree with the same Boolean function of y. If x and y are different, then there exists a coordinate i {\displaystyle i} where the i {\displaystyle i} -th coordinate of x {\displaystyle x} differs from the i {\displaystyle i} -th coordinate of y {\displaystyle y} . Now the completed features contain every Boolean function on k {\displaystyle k} Boolean variables, with each one exactly once. Viewing these Boolean functions as polynomials in k {\displaystyle k} variables over GF(2), segregate the functions into pairs ( f , g ) {\displaystyle (f,g)} where f {\displaystyle f} contains the i {\displaystyle i} -th coordinate as a linear term and g {\displaystyle g} is f {\displaystyle f} without that linear term. Now, for every such pair ( f , g ) {\displaystyle (f,g)} , x {\displaystyle x} and y {\displaystyle y} will agree on exactly one of the two functions. If they agree on one, they must disagree on the other and vice versa. (This proof is believed to be due to Watanabe.) == Discussion == A possible way around the ugly duckling theorem would be to introduce a constraint on how similarity is measured by limiting the properties involved in classification, for instance, between A and B. However Medin et al. (1993) point out that this does not actually resolve the arbitrariness or bias problem since in what respects A is similar to B: "varies with the stimulus context and task, so that there is no unique answer, to the question of how similar is one object to another". For example, "a barberpole and a zebra would be more similar than a horse and a zebra if the feature striped had sufficient weight. Of course, if these feature weights were fixed, then these similarity relations would be constrained". Yet the property "striped" as a weight 'fix' or constraint is arbitrary itself, meaning: "unless one can specify such criteria, then the claim that categorization is based on attribute matching is almost entirely vacuous". Stamos (2003) remarked that some judgments of overall similarity are non-arbitrary in the sense they are useful: "Presumably, people's perceptual and conceptual processes have evolved that information that matters to human needs and goals can be roughly approximated by a similarity heuristic... If you are in the jungle and you see a tiger but you decide not to stereotype (perhaps because you believe that similarity is a false friend), then you will probably be eaten. In other words, in the biological world stereotyping based on veridical judgments of overall similarity statistically results in greater survival and reproductive success." Unless some properties are considered more salient, or 'weighted' more important than others, everything will appear equally similar, hence Watanabe (1986) wrote: "any objects, in so far as they are distinguishable, are equally similar". In a weaker setting that assumes infinitely many properties, Murphy and Medin (1985) give an example of two putative classified things, plums and lawnmowers: "Suppose that one is to list the attributes that plums and lawnmowers have in common in order to judge their similarity. It is easy to see that the list could be infinite: Both weigh less than 10,000 kg (and less than 10,001 kg), both did not exist 10,000,000 years ago (and 10,000,001 years ago), both cannot hear well, both can be dropped, both take up space, and so on. Likewise, the list of differences could be infinite… any two entities can be arbitrarily similar or dissimilar by changing the criterion of what counts as a relevant attribute." According to Woodward, the ugly duckling theorem is related to Schaffer's Conservation Law for Generalization Performance, which states that all algorithms for learning of boolean functions from input/output examples have the same overall generalization performance as random guessing. The latter result is generalized by Woodward to functions on countably infinite domains.

    Read more →
  • Microelectronics

    Microelectronics

    Microelectronics is a subfield of electronics. As the name suggests, microelectronics relates to the study and manufacture (or microfabrication) of very small electronic designs and components. Usually, but not always, this means micrometre-scale or smaller. These devices are typically made from semiconductor materials. Many components of a normal electronic design are available in a microelectronic equivalent. These include transistors, capacitors, inductors, resistors, diodes and (naturally) insulators and conductors can all be found in microelectronic devices. Unique wiring techniques such as wire bonding are also often used in microelectronics because of the unusually small size of the components, leads and pads. This technique requires specialized equipment and is expensive. Digital integrated circuits (ICs) consist of billions of transistors, resistors, diodes, and capacitors. Analog circuits commonly contain resistors and capacitors as well. Inductors are used in some high frequency analog circuits, but tend to occupy larger chip area due to their lower reactance at low frequencies. Gyrators can replace them in many applications. As techniques have improved, the scale of microelectronic components has continued to decrease. At smaller scales, the relative impact of intrinsic circuit properties, such as unintended interactions between components or their parts, may become more significant. These are called parasitic effects, and the goal of the microelectronics design engineer is to find ways to compensate for or to minimize these effects, while delivering smaller, faster, and cheaper devices. Today, microelectronics design is largely aided by electronic design automation (EDA) software.

    Read more →
  • HtmlUnit

    HtmlUnit

    HtmlUnit is a headless web browser written in Java. It allows high-level manipulation of websites from other Java code, including filling and submitting forms and clicking hyperlinks. It also provides access to the structure and the details within received web pages. HtmlUnit emulates parts of browser behaviour including the lower-level aspects of TCP/IP and HTTP. A sequence such as getPage(url), getLinkWith("Click here"), click() allows a user to navigate through hypertext and obtain web pages that include HTML, JavaScript, Ajax and cookies. This headless browser can deal with HTTPS security, basic HTTP authentication, automatic page redirection and other HTTP headers. It allows Java test code to examine returned pages either as text, an XML DOM, or as collections of forms, tables, and links. The goal is to simulate real browsers; namely Chrome, Firefox and Edge. The most common use of HtmlUnit is test automation of web pages, but sometimes it can be used for web scraping, or downloading website content. == Benefits == Provides high-level API, taking away lower-level details away from the user. Compared to other WebDriver implementations, HtmlUnitDriver is the fastest to implement. It can be configured to simulate a specific browser. == Drawbacks == Element layout and rendering can not be tested. The JavaScript support is not complete, which is one of the areas of ongoing enhancements. == Used technologies == W3C DOM HTTP connection, using Apache HttpComponents JavaScript, using forked Rhino HTML Parsing, NekoHTML CSS: using CSS Parser XPath support, using Xalan == Libraries using HtmlUnit == Selenium WebDriver Spring MVC Test Framework Google Web Toolkit tests WebTest Wetator

    Read more →
  • Electronic game

    Electronic game

    An electronic game is a game that uses electronics to create an interactive system with which a player can play. Video games are the most common form today, and for this reason the two terms are often used interchangeably. There are other common forms of electronic games, including handheld electronic games, standalone arcade game systems (e.g. pinball, slot machines), and exclusively non-visual products (e.g. audio games). == Arcade games == === Arcade video games === Electronic video arcade games make extensive use of solid state electronics and integrated circuits. In the past coin-operated arcade video games generally used custom per-game hardware often with multiple CPUs, highly specialized sound and graphics chips and/or boards, and the latest in computer graphics display technology. Recent arcade game hardware is often based on modified video game console hardware or high end pc components. Arcade games may feature specialized ambiance or control accessories, including fully enclosed dynamic cabinets with force feedback controls, dedicated lightguns, rear-projection displays, reproductions of car or plane cockpits and even motorcycle or horse-shaped controllers, or even highly dedicated controllers such as dancing mats and fishing rods. These accessories are usually what set modern arcade games apart from PC or console games, and they provide an experience that some gamers consider more immersive and realistic. Examples of arcade video games include: Galaxy Game (1971) Pong (1972) Space Invaders (1978) Galaxian (1979) Pac-Man (1980) Battlezone (1980) Donkey Kong (1981) Street Fighter II (1991) Mortal Kombat (1992) Fatal Fury (1992) Killer Instinct (1994) King of Fighters (1994–2005) Time Crisis (1995) Dance Dance Revolution (1998) DrumMania (1999) House of the Dead (1998) === Pinball and pachinko machines === Since the introduction of electromechanics to the pinball machine in 1933's Contact, pinball has become increasingly dependent on electronics as a means to keep score on the backglass and to provide quick impulses on the playfield (as with bumpers and flippers) for exciting gameplay. Unlike games with electronic visual displays, pinball has retained a physical display that is viewed on a table through glass. Similar games such as pachinko have also become increasingly dependent on electronics in modern times. Examples of pinball games include: The Addams Family (1991) Indiana Jones: The Pinball Adventure (1993) Star Trek: The Next Generation (1993) List of pinball machines === Redemption games and merchandisers === Redemption games such as Skee-Ball have been around since the days of the carnival game - well earlier than the development of the electronic game, however with modern advances many of these games have been re-worked to employ electronic scoring and other game mechanics. The use of electronic scoring mechanisms has allowed carnival or arcade attendants to take a more passive role, simply exchanging prizes for electronically dispensed coupons and occasionally emptying out the coin boxes or banknote acceptors of the more popular games. Merchandisers such as the Claw Crane are more recent electronic games in which the player must accomplish a seemingly simple task (e.g. remotely controlling a mechanical arm) with sufficient ability to earn a reward. Examples of redemption games include: Whac-A-Mole (1976) Skee-Ball - modern electric versions Examples of merchandisers include: Claw crane (1980) === Slot machines === The slot machine is a casino gambling machine with three or more reels which spin when a button is pushed. Though slot machines were originally operated mechanically by a lever on the side of the machine (the one arm) instead of an electronic button on the front panel as used on today's models, many modern machines still have a "legacy lever" in addition to the button on the front. Slot machines include a currency detector that validates the coin or money inserted to play. The machine pays off based on patterns of symbols visible on the front of the machine when it stops. Modern computer technology has resulted in many variations on the slot machine concept. == Audio games == An audio game is a game played on an electronic device such as—but not limited to—a personal computer. It is similar to a video game save that the only feedback device is audible rather than visual. Audio games originally started out as 'blind accessible'-games, but recent interest in audio games has come from sound artists, game accessibility researchers, mobile game developers, and mainstream video gamers. Most audio games run on a computer platform, although there are a few audio games for handhelds and video game consoles. Audio games feature the same variety of genres as video games, such as adventure games, racing games, etc. Examples of audio games include: Real Sound: Kaze no Regret (1997) Chillingham (2004) BBBeat (2005) === Tabletop games === A tabletop audio game is an audio game that is designed to be played on a table rather than a handheld game. Examples of tabletop audio games include: Brain Shift (1998) Who Wants to be a Millionaire? (2000) Electronic Battleship (1977) (Milton Bradley) Electronic battleship is a portable game with the objective of marking all enemy ships. When an enemy ship is marked, an electronic battleship makes an explosion sound. Milton Bradley created the Electronic battleship game in 1977 and was later acquired by Hasbro in 1984. Modern day electronic battleship features an interactive missile launching platform and advanced mode that features custom special attack pegs. Tabletop non-audio games include: Electronic Chess Boards (DGT) DGT is a line of electronic chess boards that are commonly used in FIDE chess tournaments and national tournaments such as USCF. Electronic Chess boards can be used to broadcast games live. == Electronic handhelds == The earliest form of dedicated console, handheld electronic games are characterized by their size and portability. Used to play interactive games, handheld electronic games are often miniaturized versions of video games. The controls, display and speakers are all part of a single unit, and rather than a general-purpose screen made up of a grid of small pixels, they usually have custom displays designed to play one game. This simplicity means they can be made as small as a digital watch, which they sometimes are. The visual output of these games can range from a few small light bulbs or LED lights to calculator-like alphanumerical screens; later these were mostly displaced by liquid crystal and Vacuum fluorescent display screens with detailed images and in the case of VFD games, color. Handhelds were at their most popular from the late 1970s into the early 1990s. They are both the predecessors to and inexpensive alternatives to the handheld game console. Examples of handheld electronic games include: Mattel Auto Race (1976) Simon (1978) Merlin (1978) Game & Watch (1980) MB Omni (1980) Bandai LCD Solarpower (1982) Entex Adventure Vision (1982) Lights Out (1995) == Home video games == A video game is a game that involves interaction with a user interface to generate visual feedback on a video device. The word video in video game traditionally referred to a raster display device. However, with the popular use of the term "video game", it now implies any type of display device. Term "digital game" has been offered by some in academia as an alternative term. === Computer games === A personal computer video game (also known as a computer game or simply PC game) is a video game played on a personal computer. This is opposed to video game consoles or arcade machines, which are not considered personal computers. Computer games became a form of video games, and since the earliest days of the medium, visual displays such as the cathode-ray tube have been used to relay game information. === Console games === A console game is a form of interactive multimedia used for entertainment. The game consists of manipulable images (and usually sounds) generated by a video game console, and displayed on a television or similar audio-video system. The game itself is usually controlled and manipulated using a handheld device connected to the console called a controller. The controller generally contains a number of buttons and directional controls (such as analog joysticks) each of which has been assigned a purpose for interacting with and controlling the images on the screen. The display, speakers, console, and controls of a console can also be incorporated into one small object known as a handheld game console. Console games are most frequently differentiated between by their compatibility with consoles belonging in the following categories: Traditional console, also called "home console" - A multi-game system that uses the screen of a television to produce graphics. Handheld game console - A multi-game system the screen and controls of which are compacted into a singl

    Read more →
  • Just This Once

    Just This Once

    Just This Once is a 1993 romance novel written in the style of Jacqueline Susann by a Macintosh IIcx computer named "Hal" in collaboration with its programmer, Scott French. French reportedly spent $40,000 and 8 years developing an artificial intelligence program to analyze Susann's works and attempt to create a novel that Susann might have written. A legal dispute between the estate of Jacqueline Susann and the publisher resulted in a settlement to split the profits, and the book was referenced in several legal journal articles about copyright laws. The book had two small print runs totaling 35,000 copies, receiving mixed reviews. == Creation == The novel's creation spanned the fields of artificial intelligence, expert systems, and natural language processing. Scott French first scanned and analyzed portions of two books by Jacqueline Susann, Valley of the Dolls and Once Is Not Enough, to determine constituents of Susann's writing style, which French stated was the most difficult task. This analysis extracted several hundred components including frequency and type of sexual acts and sentence structure. "Once you're there, the writer's style emerges, part of her actual personality comes out, and the computer can be programmed to make a story." French also created several thousand rules to govern tone, plotting, scenes, and characters. The text generated by Hal, the computer, was intended to mimic what Susann might have written, although the output required significant editing. French credits Hal's work with "almost 100% of the plot, 100% of the theme and style." French estimates that he wrote 10% of the prose, the computer Hal wrote about 25% of the prose, and the remaining two-thirds was more of a collaboration between the two. A typical scenario to write a scene would involve Hal asking questions that French would answer (for example, Hal might ask about the "cattiness factor" involved in a meeting between two key female characters, and French would reply with a range of 1 to 10), and the computer would then generate a few sentences to which French would make minor edits. The process would repeat for the next few sentences until the scene was written. == Legal issues == Jacqueline Susann's publisher was skeptical of the legality of Just This Once, although French doubted that an author's thought processes could be copyrighted. Susann's estate reportedly threatened to sue Scott French but the parties settled out of court; the settlement involved splitting profits between the parties but the terms of the settlement were not disclosed. The publication of Just This Once raised questions in the legal profession concerning how copyright law applies to computer-generated works derived from an analysis of other copyrighted works, and whether the generation of such works infringes on copyright. The publications on this topic suggested that the copyright laws of the time were ill-equipped to deal with computer-generated creative works. == Reception == The book's publisher Steven Shragis of Carol Group said of the novel, "I'm not going to say this is a great literary work, but it's every bit as good as anything out in this field, and better than an awful lot." The novel received some positive early reviews. In USA Today, novelist Thomas Gifford compared Just This Once to another novel in the same genre, American Star by Jackie Collins. Gifford concluded: "If you do like this stuff, you'd be much, much better off with the one written by the computer." The Dead Jackie Susann Quarterly declared that Susann "would be proud. Lots of money, sleaze, disease, death, oral sex, tragedy and the good girl gone bad." Other reviews were mixed. Publishers Weekly wrote, "If the books of Jacqueline Susann and Harold Robbins seem formulaic, this debut novel of sin and success in Las Vegas outdoes them all. And that, in a way, is the point.... All novelty rests in the conceit of computer authorship, not in the story itself." Library Journal stated "French invested eight years and $50,000 in a scheme to use artificial intelligence to fulfill his authentic, if dubious, desire to generate a trashy novel a la Jacqueline Susann. Shallow, beautiful-people characters are flatly conceived and randomly accessed in a formulaic plot ... a sexy, boring morality tale. Of possible interest to computer buffs for its use of Expert Systems and the virtual promise of more worthy possibilities; others should read Susann." Kirkus Reviews wrote: "The deal here is that author French is not the author, he's just the midwife, having allegedly programmed his computer to write about our times just the way Susann would... almost perfectly capturing glamorous Jackie's turgid but E-Z reading prose style and ultrareliable mix of sex, glitz, dope 'n' despair.... One wonders, though, if French's tale spinning PC will do as well on the talkshows as Jackie did. The computer weenies have been trying to tell us for years, garbage in-garbage out."

    Read more →
  • Computer aided transceiver

    Computer aided transceiver

    Computer aided transceiver (CAT) is a non-generic serial protocol used by radio amateurs for (remotely) controlling a transceiver radio receiver equipment using a computer. Conventional transmitters are manually controlled and used to transmit voice using buttons, dials, etc. However, advances in electronics have come to market devices that can be controlled by a computer and allow digital modes such as packet radio and also the use of satellite tracking, because it can continuously change the device's frequency according to the Doppler effect. This is done by connecting a Radio receiver and a PC using a CAT interface and a CAT Program Additionally, CAT interfaces can also be used to position tracking antennas, in controllers. As a satellite moves overhead. A CAT interface is a piece of hardware that connects the PC and radio that provides a connection to allows the radio and the PC to communicate with each other. The CAT interface provides the signals to and fro via correct voltage levels and in the case of a Universal Serial Bus (USB) CAT interface it requires a "protocol" for communication but communication itself is down to the radio and the software on the PC. Software that may be called a CAT program allows a radio to be controlled through the PC. Changes made on the radio through user interactions on the CAT Program are (generally) shown on the PC's screen. The functionality of CAT equipment (software & interface) depends on the radio and what features the software writers included in the CAT software. Modern radio systems do have more CAT functionality If you run a logging program that supports CAT, then that software may take advantage of the CAT system by retrieving information from the radio to help fill in log details, such as the frequency that the contact was made. CAT is also useful on many radios where there are many sub-menus in the radios menu system, and many of the sub-menu items can be easily changed via the PC. On many HF radios, the CAT system is also used to program the memories on the radio, but you would need to use appropriate programming software. A CAT interface does not receive or transmit any DATA mode, that is the purpose of a DATA interface. Although, both may be used at the same time with the correct CAT Equipment. DATA modes, and getting audio to and from the PC is the function of a DATA interface. A completely different thing but it is easier and more useful when CAT and DATA are used at the same time. Wouldn't it be nice to have an interface that could operate Frequency-shift keying (FSK), Audio FSK (AFSK), (real) Morse Code (CW), with a CAT interface and its own sound card..... (eg. The DigiMaster Pro3).

    Read more →
  • Telecommunications device for the deaf

    Telecommunications device for the deaf

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

    Read more →
  • Social media age verification laws in the United States

    Social media age verification laws in the United States

    In the United States, age verification laws for social media are ostensibly designed to limit young people's access to content deemed problematic such as pornography and to reduce the negative impact of social media on the mental health and well-being of children and adolescents. The purpose and effects of such laws are highly contested. Critics say that these laws suppress free speech by removing online anonymity. They have also stated the laws undermine safety, even for children, by increasing the exposure of user data to breaches, many sites require government IDs and biometric data (such as photographs), often transmitted or secured insecurely and without encryption. They also note that the measures are easily circumvented with VPNs, prompting some states such as Michigan and Wisconsin to propose legislation banning VPNs. == Laws == Many state legislatures have considered or enacted legislation pertaining to young people and social media. In 2022, California passed the California Age-Appropriate Design Code Act (AB 2273) requiring websites that are likely to be used by minors to estimate visitors' ages. On March 23, 2023, Utah Governor Spencer Cox signed SB 152 and HB 311, collectively known as the Utah Social Media Regulation Act, which requires age verification; if a user is under 18, they have to get parental consent before making an account on any social media platform. Few laws have gone into effect partially due to court challenges. === Arkansas === On April 11, 2023, Arkansas enacted SB 396, the Social Media Safety Act. The law requires certain social media companies that make over $100 million per year to verify the age of new users using a third party, and to obtain parental consent for users under 18. It excludes social media companies that allow a user to generate short video clips as well as games. The law was set to go in effect in September 2023. On June 29, 2023, NetChoice sued the Attorney General of Arkansas Tim Griffin in The Western District Court of Arkansas to block enforcement of the law, supported by the American Civil Liberties Union and the Electronic Frontier Foundation (EFF). On July 7, 2023, NetChoice filed a motion for a preliminary injunction to block enforcement of the law. On July 27, Griffin and Tony Allen filed briefs in opposition to the preliminary injunction. The preliminary injunction was granted by Judge Timothy L. Brooks on August 31, reasoning that the law was too vague, that NetChoice's members will suffer irreparable harm if the act goes into effect, and that age restrictions were ineffective. === California === ==== Digital Age Assurance Act (AB 1043) ==== On October 13, 2025, Gavin Newsom signed the Digital Age Assurance Act into law, which requires operating system providers to estimate the age of a user and into 4 age categories: Under 13 13 - 15 16 - 17 18 and over It comes into force on January 1, 2027. ==== California Age-Appropriate Design Code (AB 2273) ==== On September 15, 2022, California enacted AB 2273, the California Age-Appropriate Design Code Act. Its most controversial provisions required online services that are likely to be used by those under 18 to estimate the age of child users with a "reasonable level of certainty". It also required these services to file Data Protection Impact Assessments (DPIAs) certifying whether an online product, service, or feature could harm children, including by exposing them to (potentially) harmful content. The law does not define harmful content. Before the law took effect, EFF sent a veto request to Newsom. On December 14, 2022, NetChoice sued. On September 18, 2023, Federal Judge Beth Labson Freeman granted a preliminary injunction. The 9th Circuit on August 16, 2024, affirmed the injunction against the DPIA section of the law and sent the rest back, because the argument in the 9th circuit was mainly focused on the DPIA. ==== Protecting Our Kids from Social Media Addiction Act (SB 976) ==== On September 20, 2024, California enacted SB 976, Protecting Our Kids from Social Media Addiction. The law requires online platforms to exclude those under 18 from "addictive" feeds unless parental consent is given. It requires online platforms to not send notifications to someone under 18 between 12:00 AM and 6:00 AM without parental consent or between 8:00 am – 3:00 pm without parental consent from September through May (the law does not define what a "notification" is). The law took effect on January 1, 2025, with age verification required as of December 31, 2026. On November 12, NetChoice sued in the Northern District and before Judge Edward John Davila. On December 31, the judge blocked the sections of SB 976 that required time-of-day restrictions. He also enjoined requirements to report on the number of minor users as well as the number of parental assents to access an addictive feed. He did not block the age assurance requirement or blocking minors from seeing addictive feeds without parental consent. His reasoning was that age assurance that runs in the background does not restrict adult access to speech and that regulating feeds does not violate the first amendment because it was content neutral and did not remove any content. On January 1, 2025, NetChoice filed a motion to fully block the law as part of its appeal to the Ninth Circuit. NetChoice claimed that the court erred in its reading of Supreme Court case Moody v. NetChoice by mainly focusing on the concurring opinions and not the deciding opinion. The same day Davila decreed that California's response to NetChoice was due by 11:59 pm. California responded the same day to NetChoice's motion, claiming that the court should not block the full law, claiming that NetChoice had misread Moody v. NetChoice and that NetChoice's members would not likely face any harm from the act because members such as X (formerly Twitter) already offer their members feeds that were not personalized. On January 2, Davila granted NetChoice's motion to block the full law during the appeals process by delaying the effective date of the law from January 1, 2025, to February 1, 2025. That day NetChoice appealed the case to the Ninth Circuit Court of Appeals. === Florida === On January 5, 2024, Tyler Sirois introduced HB 1, which would ban anyone under 16 from using any social media platform and would require platforms to verify the age of users. After the bill passed, the American Civil Liberties Union (ACLU) published a blog post opposing the bill for violating the rights of minors and adults. The bill was vetoed by Governor Ron DeSantis on March 1, 2024, claiming that the State Legislature was going to enact a better alternative. HB 3 then decreased the minimum age from 16 to 14, allowing minors aged 14 and 15 to make social media accounts with parental consent. Florida enacted it on March 25, 2024, and took effect on January 1, 2025. A surge of 1,150% in VPN demand in Florida was detected after the law took effect. VPN services provide the ability to circumvent the law. On October 28, 2024, NetChoice and Computer and Communications Industry Association sued. The Judge is Chief Judge Mark E. Walker. On February 28, 2025, arguments were heard on the motion for a preliminary injunction. Walker seemed skeptical of Florida's argument that the law did not violate the first amendment and said the State would have a hard time to justify a complete ban of youth under 14 from social media. On March 13, Walker denied the motion for a preliminary injunction because the plaintiffs had not proven that at least one of their members had at least 10 percent of their users under 16 use their platform for at least 2 hours per day. Plaintiffs filed an amended complaint and a renewed motion for a preliminary injunction which was granted on June 3, for failing First Amendment Intermediate scrutiny. The injunction left in force the provision that allowed parents to request termination of their child's social media account. === Georgia === On April 23, 2024, Georgia enacted SB 351, which became Act 463. Act 463 requires platforms to verify the age of users of social media platforms and require users under 16 years of age to have parental consent before creating an account. It also requires schools to ban all social media platforms, including YouTube. Before the law was signed NetChoice sent a veto request to Kemp claiming the law was unconstitutional and was bad policy. After the bill was enacted, ACLU and NetChoice criticized the bill. NetChoice sued two months before the law's effective date. The Judge is Amy Totenberg. the suit claims that the law violates the First Amendment and Fourteenth Amendments. === Louisiana === ==== Secure Online Child Interaction and Age Limitation Act (SB 162) ==== On June 28, 2023, Louisiana enacted SB 162, the Secure Online Child Interaction and Age Limitation Act. It requires social media platforms to verify user age and get parental consent for users under 16, prohibits account holders under 1

    Read more →
  • Morphological antialiasing

    Morphological antialiasing

    Morphological antialiasing (MLAA) is a spatial anti-aliasing technique used in real-time computer graphics. It reduces artifacts, such as jaggies, when representing a high-resolution image at a lower resolution. MLAA is a post-process filtering which detects borders in the resulting image and then finds specific patterns in these. Anti-aliasing is achieved by blending pixels in these borders, according to the pattern they belong to and their position within the pattern. Introduced in 2009, MLAA was an early and influential example of anti-aliasing techniques done in post-processing, which makes them suitable for deferred shading. A similar method in this class is fast approximate anti-aliasing (FXAA). Temporal anti-aliasing, also a post-process, has become the most common anti-aliasing method for real-time rendering and video games. Enhanced subpixel morphological antialiasing, or SMAA, is an image-based GPU-based implementation of MLAA developed by Universidad de Zaragoza and Crytek.

    Read more →
  • Blocking of Twitter in Nigeria

    Blocking of Twitter in Nigeria

    Twitter was blocked in Nigeria from 5 June 2021 to 13 January 2022. The government imposed a ban on the social network after it deleted tweets made by, and temporarily suspended, the Nigerian president Muhammadu Buhari, warning the southeastern people of Nigeria, predominantly Igbo people, of a potential repeat of the 1967 Nigerian Civil War due to the ongoing insurgency in Southeastern Nigeria. The Nigerian government claimed that the deletion of the president's tweets factored into their decision, but it was ultimately based on "a litany of problems with the social media platform in Nigeria, where misinformation and fake news spread through it have had real world violent consequences", citing the persistent use of the platform for activities that are capable of undermining Nigeria's corporate existence. In January 2022, Nigeria lifted its blocking of Twitter after the platform agreed to establish a legal entity within the country sometime in the first quarter of 2022. == Background == On 1 June 2021, Nigerian President Muhammadu Buhari posted a tweet threatening a crackdown on regional separatists "in the language they understand". The next day, Twitter deleted the tweet, claiming it was in violation of Twitter rules, but gave no further details. Nigeria's Information Minister Lai Mohammed said that Twitter's actions were part of an unfair double standard, as Twitter had not banned incitement tweets from other groups. During the Nigerian Civil War a majority of deaths resulted from the blockade of Biafra which caused the deaths of millions of civilians from starvation, a fact that was not alluded to in the tweet. The Nigerian government has long held concerns over the use of Twitter in the country. The ongoing local End SARS protest began on Twitter and got amplified in 2020 when it had 48 million tweets in ten days. Buhari's government floated the idea of social media regulation on different occasions prior to banning Twitter. Attempts to pass an anti-social media bill in the past have failed majorly due to massive outcry on Twitter. Days before the ban, the country's minister of information called Twitter's activities in Nigeria suspicious, citing its influence on the End SARS protests. == Aftermath == Three days after Twitter was suspended, it was reported that the move had cost the country over 6 billion naira and would also contribute to the worsening unemployment in the country. ExpressVPN reported an over 200 percent increase in web traffic and searches for VPN spiked across the country. In response, Nigeria's Minister of Justice and Attorney General of the Federation Abubakar Malami at first openly threatened to prosecute citizens who bypass the ban using a VPN but then denied saying so after a screenshot of a Twitter deactivation notification he shared on Facebook showed a VPN logo. Nigeria's cultural minister Lai Mohammed stated the ban would be lifted once Twitter submitted to locally licensing, registration and conditions. "It will be licensed by the broadcasting commission, and must agree not to allow its platform to be used by those who are promoting activities that are inimical to the corporate existence of Nigeria." In late June 2021, Twitter announced it would enter talks with the Nigerian government over the platform's suspension. The talks began in July 2021. On 15 September 2021, Mohammed said the Nigerian government will lift the ban on Twitter in a "few days." The Minister said Twitter gave a progress report of their talks with them, adding that it has been productive and quite respectful. On 1 October 2021, President Muhammadu Buhari in his Independence Day broadcast said Twitter must meet the Nigerian government's five conditions before the suspension of the social media platform will be lifted. The conditions are: Respect for national security and cohesion; registration, physical presence and representation in Nigeria; fair taxation; dispute resolution; local content. == Reactions == The ban was condemned by Amnesty International, the British, Canadian and Swedish diplomatic missions to Nigeria, as well as the United States and the European Union in a joint statement. Two domestic organizations, the Socio-Economic Rights and Accountability Project (SERAP) and the Nigerian Bar Association, indicated intent to challenge the ban in court. Twitter itself called the ban "deeply concerning". Former U.S. President Donald Trump, who was permanently suspended from Twitter following the United States Capitol attack in January, praised the ban, stating "Congratulations to the country of Nigeria, who just banned Twitter because they banned their President", and also called on other countries to ban Twitter and Facebook due to "not allowing free and open speech." == Lifting of the ban == On 12 January 2022, the Nigerian Government lifted the ban after Twitter agreed to pay an "applicable tax" and establish "a legal entity in Nigeria during the first quarter of 2022".

    Read more →
  • IP Multimedia Subsystem

    IP Multimedia Subsystem

    The IP Multimedia Subsystem or IP Multimedia Core Network Subsystem (IMS) is a standardized architectural framework for delivering IP-based multimedia services. Historically, mobile phones have provided voice call services over a circuit-switched network, rather than over an IP-based packet-switched network. Various VoIP technologies are available on smartphones; IMS offers a standardized protocol across different vendors. IMS was originally designed by the wireless standards body 3rd Generation Partnership Project (3GPP), as a part of the vision for evolving mobile networks beyond GSM. Its original formulation (3GPP Rel-5) represented an approach for delivering Internet services over GPRS. This vision was later updated by 3GPP, 3GPP2 and ETSI TISPAN by requiring support of networks other than GPRS, such as Wireless LAN, CDMA2000 and fixed lines. IMS uses IETF protocols wherever possible, e.g., the Session Initiation Protocol (SIP). According to the 3GPP, IMS is not intended to standardize applications, but rather to aid the access of multimedia and voice applications from wireless and wireline terminals, i.e., to create a form of fixed-mobile convergence (FMC). This is done by having a horizontal control layer that isolates the access network from the service layer. From a logical architecture perspective, services need not have their own control functions, as the control layer is a common horizontal layer. However, in implementation this does not necessarily map into greater reduced cost and complexity. Alternative and overlapping technologies for access and provisioning of services across wired and wireless networks include combinations of Generic Access Network, softswitches and "naked" SIP. Since it is becoming increasingly easier to access content and contacts using mechanisms outside the control of traditional wireless/fixed operators, the interest of IMS is being challenged. Examples of global standards based on IMS are MMTel which is the basis for Voice over LTE (VoLTE), Wi-Fi Calling (VoWIFI), Video over LTE (ViLTE), SMS/MMS over WiFi and LTE, Unstructured Supplementary Service Data (USSD) over LTE, and Rich Communication Services (RCS), which is also known as joyn or Advanced Messaging, and now RCS is operator's implementation. RCS also further added Presence/EAB (enhanced address book) functionality. == History == IMS was defined by an industry forum called 3G.IP, formed in 1999. 3G.IP developed the initial IMS architecture, which was brought to the 3rd Generation Partnership Project (3GPP), as part of their standardization work for 3G mobile phone systems in UMTS networks. It first appeared in Release 5 (evolution from 2G to 3G networks), when SIP-based multimedia was added. Support for the older GSM and GPRS networks was also provided. 3GPP2 (a different organization from 3GPP) based their CDMA2000 Multimedia Domain (MMD) on 3GPP IMS, adding support for CDMA2000. 3GPP release 6 added interworking with WLAN, inter-operability between IMS using different IP-connectivity networks, routing group identities, multiple registration and forking, presence, speech recognition and speech-enabled services (Push to talk). 3GPP release 7 added support for fixed networks by working together with TISPAN release R1.1, the function of AGCF (access gateway control function) and PES (PSTN emulation service) are introduced to the wire-line network for the sake of inheritance of services which can be provided in PSTN network. AGCF works as a bridge interconnecting the IMS networks and the Megaco/H.248 networks. Megaco/H.248 networks offers the possibility to connect terminals of the old legacy networks to the new generation of networks based on IP networks. AGCF acts a SIP User agent towards the IMS and performs the role of P-CSCF. SIP User Agent functionality is included in the AGCF, and not on the customer device but in the network itself. Also added voice call continuity between circuit switching and packet switching domain (VCC), fixed broadband connection to the IMS, interworking with non-IMS networks, policy and charging control (PCC), emergency sessions. It also added SMS over IP. 3GPP release 8 added support for LTE / SAE, multimedia session continuity, enhanced emergency sessions, SMS over SGs and IMS centralized services. 3GPP release 9 added support for IMS emergency calls over GPRS and EPS, enhancements to multimedia telephony, IMS media plane security, enhancements to services centralization and continuity. 3GPP release 10 added support for inter device transfer, enhancements to the single radio voice call continuity (SRVCC), enhancements to IMS emergency sessions. 3GPP release 11 added USSD simulation service, network-provided location information for IMS, SMS submit and delivery without MSISDN in IMS, and overload control. Some operators opposed IMS because it was seen as complex and expensive. In response, a cut-down version of IMS—enough of IMS to support voice and SMS over the LTE network—was defined and standardized in 2010 as Voice over LTE (VoLTE). == Architecture == Each of the functions in the diagram is explained below. The IP multimedia core network subsystem is a collection of different functions, linked by standardized interfaces, which grouped form one IMS administrative network. A function is not a node (hardware box): An implementer is free to combine two functions in one node, or to split a single function into two or more nodes. Each node can also be present multiple times in a single network, for dimensioning, load balancing or organizational issues. === Access network === The user can connect to IMS in various ways, most of which use the standard IP. IMS terminals (such as mobile phones, personal digital assistants (PDAs) and computers) can register directly on IMS, even when they are roaming in another network or country (the visited network). The only requirement is that they can use IP and run SIP user agents. Fixed access (e.g., digital subscriber line (DSL), cable modems, Ethernet, FTTx), mobile access (e.g. 5G NR, LTE, W-CDMA, CDMA2000, GSM, GPRS) and wireless access (e.g., WLAN, WiMAX) are all supported. Other phone systems like plain old telephone service (POTS—the old analogue telephones), H.323 and non IMS-compatible systems, are supported through gateways. === Core network === HSS – Home subscriber server: The home subscriber server (HSS), or user profile server function (UPSF), is a master user database that supports the IMS network entities that actually handle calls. It contains the subscription-related information (subscriber profiles), performs authentication and authorization of the user, and can provide information about the subscriber's location and IP information. It is similar to the GSM home location register (HLR) and Authentication centre (AuC). A subscriber location function (SLF) is needed to map user addresses when multiple HSSs are used. User identities: Various identities may be associated with IMS: IP multimedia private identity (IMPI), IP multimedia public identity (IMPU), globally routable user agent URI (GRUU), wildcarded public user identity. Both IMPI and IMPU are not phone numbers or other series of digits, but uniform resource identifier (URIs), that can be digits (a Tel URI, such as tel:+1-555-123-4567) or alphanumeric identifiers (a SIP URI, such as sip:[email protected] ). IP Multimedia Private Identity: The IP Multimedia Private Identity (IMPI) is a unique permanently allocated global identity assigned by the home network operator. It has the form of a Network Access Identifier(NAI) i.e. user.name@domain, and is used, for example, for Registration, Authorization, Administration, and Accounting purposes. Every IMS user shall have one IMPI. IP Multimedia Public Identity: The IP Multimedia Public Identity (IMPU) is used by any user for requesting communications to other users (e.g. this might be included on a business card). Also known as Address of Record (AOR). There can be multiple IMPU per IMPI. The IMPU can also be shared with another phone, so that both can be reached with the same identity (for example, a single phone-number for an entire family). Globally Routable User Agent URI: Globally Routable User Agent URI (GRUU) is an identity that identifies a unique combination of IMPU and UE instance. There are two types of GRUU: Public-GRUU (P-GRUU) and Temporary GRUU (T-GRUU). P-GRUU reveal the IMPU and are very long lived. T-GRUU do not reveal the IMPU and are valid until the contact is explicitly de-registered or the current registration expires Wildcarded Public User Identity: A wildcarded Public User Identity expresses a set of IMPU grouped together. The HSS subscriber database contains the IMPU, IMPI, IMSI, MSISDN, subscriber service profiles, service triggers, and other information. ==== Call Session Control Function (CSCF) ==== Several roles of SIP servers or proxies, collectively called Call Session Control Function (CSCF), are used to process SIP sign

    Read more →