AI Chatbots and Assistants

Explore the best AI Chatbots and Assistants — independent reviews, comparisons, pricing and step-by-step how-to guides, curated by Aizhi.

  • Cloud Native Computing Foundation

    Cloud Native Computing Foundation

    The Cloud Native Computing Foundation (CNCF) is a subsidiary of the Linux Foundation founded in 2015 to support cloud-native computing. == History == It was announced alongside Kubernetes 1.0, an open source container cluster manager, which was contributed to the Linux Foundation by Google as a seed technology. Founding members include Google, CoreOS, Mesosphere, Red Hat, Twitter, Huawei, Intel, RX-M, Cisco, IBM, Docker, Univa, and VMware. Today, CNCF is supported by over 450 members. In August 2018 Google announced that it was handing over operational control of Kubernetes to the community. == Projects == Argo is a collection of tools for getting work done with Kubernetes. Among its main features are Workflows and Events. It was accepted to CNCF on March 26, 2020 at the Incubating maturity level and then moved to the Graduated maturity level on December 6, 2022. cert-manager provisions and manages TLS certificates in Kubernetes. It was accepted to CNCF on November 10, 2020, moved to the Incubating maturity level on September 19, 2022, and then moved to the Graduated maturity level on September 29, 2024. Cilium provides networking, security, and observability for Kubernetes deployments using eBPF technology. It joined the CNCF at incubation level in October 2021 and the CNCF announced its graduation in October 2023. containerd is an industry-standard core container runtime. It is currently available as a daemon for Linux and Windows, which can manage the complete container lifecycle of its host system. In 2015, Docker donated the OCI Specification to The Linux Foundation with a reference implementation called runc. Since February 28, 2019 it is an official CNCF project. Its general availability and intention to donate the project to CNCF was announced by Docker in 2017. CoreDNS is a DNS server that chains plugins. Its graduation was announced in 2019. Dapr, the distributed application runtime, provides APIs for building secure and reliable microservices and agentic AI systems. Dapr was donated to the CNCF in November 2021 and joined at incubation level. The CNCF announced its graduation in November 2024. Envoy: Originally built at Lyft to move their architecture away from a monolith, Envoy is a high-performance open source edge and service proxy that makes the network transparent to applications. Lyft contributed Envoy to Cloud Native Computing Foundation in September 2017. etcd is a distributed key value store, providing a method of storing data across a cluster of machines. It became a CNCF incubating project in 2018 at KubeCon+CloudNativeCon North America in Seattle that year. Falco is an open source and cloud native runtime security initiative. It is the "de facto Kubernetes threat detection engine". It became an incubating project in January 2020 and graduated in February 2024. Flux is an open source project for powering GitOps in Kubernetes clusters. It provides the GitOps Toolkit, a set of Kubernetes APIs that allow you to define how configuration source code is securely pulled into your cluster and deployed by popular Kubernetes manifests rendering engines like Kustomize and Helm. The most recommended source mechanism is the OCIRepository API, which provides enhanced security and benefits from container image tooling out there. Flux has also notification integrations with popular services like Prometheus Alertmanager, PagerDuty, Slack and so on. Flux has graduated in CNCF in 2022. Harbor is an "open source trusted cloud native registry project that stores, signs, and scans content." It became an incubating project in September 2019 and graduated in June 2020. Helm is a package manager that helps developers "easily manage and deploy applications onto the Kubernetes cluster." It joined the incubating level in June 2018 and graduated in April 2020. Istio is a service mesh technology. It was accepted by CNCF in September 2022 and graduated on July 12, 2023. Jaeger, Created by Uber Engineering, Jaeger is an open source distributed tracing system inspired by Google Dapper paper and OpenZipkin community. It can be used for tracing microservice-based architectures, including distributed context propagation, distributed transaction monitoring, root cause analysis, service dependency analysis, and performance/latency optimization. The Cloud Native Computing Foundation Technical Oversight Committee voted to accept Jaeger as the 12th hosted project in September 2017 and became a graduated project in 2019. In 2020 it became an approved and fully integrated part of the CNCF ecosystem. Kubernetes is an open source framework for automating deployment and managing applications in a containerized and clustered environment. "It aims to provide better ways of managing related, distributed components across the varied infrastructure." It was originally designed by Google and donated to The Linux Foundation to form the Cloud Native Computing Foundation with Kubernetes as the seed technology. The "large and diverse" community supporting the project has made its staying power more robust than other, older technologies of the same ilk. In January 2020, the CNCF annual report showed significant growth in interest, training, event attendance and investment related to Kubernetes. Linkerd is CNCF's fifth member project, and the project that coined the term "service mesh". Linkerd adds observability, security, and reliability features to applications by adding them to the platform rather than the application layer, and features a "micro-proxy" to maximize speed and security of its data plane. Linkerd graduated from CNCF in July 2021. Open Policy Agent (OPA) is "an open source general-purpose policy engine and language for cloud infrastructure." It became a CNCF incubating project in April 2019. OPA graduated from CNCF in February 2021. Prometheus is a cloud monitoring tool sponsored by SoundCloud in early iterations. In August 2018, the tool was designated a graduated project by the Cloud Native Computing Foundation. It is now a Cloud Native Computing Foundation member project. Rook is CNCF's first cloud native storage project. It became an incubation level project in 2018 and graduated in October 2020. SPIFFE is an open standard and framework for workload identity, much the same way that OAuth is an open standard and framework for human identity. It is built from the ground up to accommodate modern computing environments, which operate with systems scale and velocity (as opposed to human scale and velocity), while still maintaining interoperability with existing technologies like OAuth and X.509 Public key infrastructure. Unlike other identity standards, SPIFFE supports multiple credential types for a single identity, ensuring that the highly varied needs of production environments are consistently met without compromise. SPIFFE joined the CNCF as a sandbox project in 2018, was accepted to incubation in 2020, and graduated in 2022. SPIRE is an open source identity provider for workloads based on the SPIFFE framework. It is highly pluggable, and fills the attestation and issuance needs required by any workload identity solution. The plugin interfaces it exposes allows users to write integrations with in-house systems, build internal self-service portals, and more. It is a very powerful building block for issuing short-lived identity credentials to dynamic cloud workloads. SPIRE became a CNCF Graduated project in 2022. The Update Framework (TUF) helps developers to secure new or existing software update systems, which are often found to be vulnerable to many known attacks. TUF addresses this widespread problem by providing a comprehensive, flexible security framework that developers can integrate with any software update system. TUF was CNCF's first security-focused project and the ninth project overall to graduate from the foundation's hosting program. TiKV provides a distributed key–value database. Vitess is a database clustering system for horizontal scaling of MySQL, first created for internal use by YouTube. It became a CNCF project in 2018 and graduated in November 2019. Contour is a management server for Envoy that can direct the management of Kubernetes' traffic. Contour also provides routing features that are more advanced than Kubernetes' out-of-the-box Ingress specification. VMWare contributed the project to CNCF in July 2020. Cortex offers horizontally scalable, multi-tenant, long-term storage for Prometheus and works alongside Amazon DynamoDB, Google Bigtable, Cassandra, S3, GCS, and Microsoft Azure. It was introduced into the ecosystem incubator alongside Thanos in August 2020. CRI-O is an Open Container Initiative (OCI) based "implementation of Kubernetes Container Runtime Interface". CRI-O allows Kubernetes to be container runtime-agnostic. It became an incubating project in 2019. gRPC is a "modern open source high performance RPC framework that can run in any environment." The project was formed in 2015 when Google decided to open sou

    Read more →
  • AI takeover

    AI takeover

    An AI takeover is a theorized future event, often depicted in fiction, in which autonomous artificial intelligence systems acquire the capability to supersede human decisions. This could occur through economic manipulation, infrastructure control, or direct intervention, leading to de facto governance. Scenarios range from gradual economic dominance, as automation supplants the human workforce, up to a sudden or aggressive global takeover by a robot uprising or other forms of rogue AI. Stories of AI takeovers have been popular throughout science fiction. Commentators argue that recent advancements in the field have heightened concern about such scenarios. In public debate, prominent figures such as Stephen Hawking have advocated research into precautionary measures to ensure future superintelligent machines remain under human control. == Types == === Automation of the economy === The traditional consensus among economists has been that technological progress does not cause long-term unemployment. However, recent innovation in the fields of robotics and artificial intelligence has raised worries that human labor will become obsolete, leaving workers in some sectors without employment. Many small and medium-sized firms may also be forced to close if they cannot afford or license the latest robotic and AI technology, and may need to focus on areas or services that cannot easily be replaced for continued viability in the face of such technology. ==== Technologies that may displace workers ==== While these technologies have replaced some traditional workers, they also create new opportunities. Industries that are most susceptible to AI-driven automation include transportation, retail, and the military. AI military technologies, for example, can reduce risk by enabling remote operation. A study in 2024 highlights AI's ability to perform routine and repetitive tasks poses significant risks of job displacement, especially in sectors like manufacturing and administrative support. Author Dave Bond argues that as AI technologies continue to develop and expand, the relationship between humans and robots will change; they will become closely integrated in several aspects of life. AI will likely displace some workers while creating opportunities for new jobs in other sectors, especially in fields where tasks are repeatable. Researchers from Stanford's Digital Economy Lab reported in 2025 that since the widespread adoption of generative AI in late 2022, early-career workers (ages 22–25) in the most AI-exposed occupations have experienced a 13 percent relative decline in employment—even after controlling for firm-level shocks—while overall employment has continued to grow robustly. The study further finds that job losses are concentrated in roles where AI automates routine tasks, whereas occupations that leverage AI to augment human work have seen stable or increasing employment. ==== Computer-integrated manufacturing ==== Computer-integrated manufacturing uses computers to control the production process. This allows individual processes to exchange information with each other and initiate actions. Although manufacturing can be faster and less error-prone through the integration of computers, the main advantage is the ability to create automated manufacturing processes. Computer-integrated manufacturing is used in automotive, aviation, space, and shipbuilding industries. ==== White-collar machines ==== The 21st century has seen a variety of skilled tasks partially taken over by machines, including translation, legal research, and journalism. Care work, entertainment, and other tasks requiring empathy, previously thought safe from automation, are increasingly performed by robots and AI systems. ==== Autonomous cars ==== An autonomous car is a vehicle that is capable of sensing its environment and navigating without human input. Many such vehicles are operational and others are being developed, with legislation rapidly expanding to allow their use. Obstacles to widespread adoption of autonomous vehicles have included concerns about the resulting loss of driving-related jobs in the road transport industry, and safety concerns. On March 18, 2018, a pedestrian was struck and killed in Tempe, Arizona by an Uber self-driving car. ==== AI-generated content ==== In the 2020s, automated content became more relevant due to technological advancements in AI models, such as ChatGPT, DALL-E, and Stable Diffusion. In most cases, AI-generated content such as imagery, literature, and music are produced through text prompts. These AI models are sometimes integrated into creative programs. AI-generated art may sample and conglomerate existing creative works, producing results that appear similar to human-made content. Low-quality AI-generated visual artwork can be informally referred to as AI slop. Some artists use a tool called Nightshade that alters images to make them detrimental to the training of text-to-image models if scraped without permission, while still looking normal to humans. AI-generated images are a potential tool for scammers and those looking to gain followers on social media, either to impersonate a famous individual or group or to monetize their audience. The New York Times has sued OpenAI, alleging copyright infringement related to the training and outputs of its AI models. === Eradication === Scientists such as Stephen Hawking are confident that superhuman artificial intelligence is physically possible, stating "there is no physical law precluding particles from being organised in ways that perform even more advanced computations than the arrangements of particles in human brains". According to Nick Bostrom, a superintelligent machine would not necessarily be motivated by the same emotional desire to collect power that often drives human beings but might rather treat power as a means toward attaining its ultimate goals; taking over the world would both increase its access to resources and help to prevent other agents from stopping the machine's plans. As a simplified example, a paperclip maximizer designed solely to create as many paperclips as possible would want to take over the world so that it can use all of the world's resources to create as many paperclips as possible, and, additionally, prevent humans from shutting it down or using those resources on things other than paperclips. There are debates on how realistic AI takeover scenarios are. According to a 2026 research paper, many of the arguments about existential risks are based on speculative assumptions about how intelligent AI systems could become, how they would behave and what goals they might develop over time. A 2023 Reuters/Ipsos survey showed that 61% of American adults feared AI could pose a threat to civilization. Philosopher Niels Wilde refutes the common thread that artificial intelligence inherently presents a looming threat to humanity, stating that these fears stem from perceived intelligence and lack of transparency in AI systems that more closely reflects the human aspects of it rather than those of a machine. AI alignment research studies how to design AI systems so that they follow intended objectives. == Debate == Physicist Stephen Hawking, Microsoft founder Bill Gates, and SpaceX founder Elon Musk have expressed concerns about the possibility that AI could develop to the point that humans could not control it, with Hawking theorizing that this could "spell the end of the human race". Stephen Hawking said in 2014 that "Success in creating AI would be the biggest event in human history. Unfortunately, it might also be the last, unless we learn how to avoid the risks." Hawking believed that in the coming decades, AI could offer "incalculable benefits and risks" such as "technology outsmarting financial markets, out-inventing human researchers, out-manipulating human leaders, and developing weapons we cannot even understand." In January 2015, Nick Bostrom joined Stephen Hawking, Max Tegmark, Elon Musk, Lord Martin Rees, Jaan Tallinn, and numerous AI researchers in signing the Future of Life Institute's open letter speaking to the potential risks and benefits associated with artificial intelligence. The signatories "believe that research on how to make AI systems robust and beneficial is both important and timely, and that there are concrete research directions that can be pursued today." Some focus has been placed on the development of trustworthy AI. Three statements have been posed as to why AI is not inherently trustworthy: 1. An entity X is trustworthy only if X has the right motivations, goodwill and/or adheres to moral obligations towards the trustor; 2. AI systems lack motivations, goodwill, and moral obligations; 3. Therefore, AI systems cannot be trustworthy. There are additional considerations within this framework of trustworthy AI that go further into the fields of explainable artificial intelligence and respect for human privacy. Zanotti and colleagues

    Read more →
  • The Quantum Thief

    The Quantum Thief

    The Quantum Thief is the debut science fiction novel by Finnish writer Hannu Rajaniemi and the first novel in a trilogy featuring the character of Jean le Flambeur; the sequels are The Fractal Prince (2012) and The Causal Angel (2014). The novel was published in Britain by Gollancz in 2010, and by Tor in 2011 in the US. It is a heist story, set in a futuristic Solar System, that features a protagonist modeled on Arsène Lupin, the gentleman thief of Maurice Leblanc. The novel was nominated for the 2011 Locus Award for Best First Novel, and was second runner-up for the 2011 Campbell Memorial Award. == Setting == Several centuries after the technological singularity largely destroyed Earth, various posthuman factions compete for dominance in the Solar System. Though sentient superintelligent AGI has never been successfully developed, civilization has been greatly transformed by the proliferation of Hansonian brain emulations (termed "gogols" in reference to Nikolai Gogol, and in particular his novel Dead Souls). An alliance of powerful gogol copies rule the inner system from computronium megastructures housing trillions of virtual minds, laboring to resurrect the dead in religious devotion to the philosophy of Nikolai Fedorov. This alliance, the Sobornost, has been in conflict with a community of quantum entangled minds who adhere to the "no-cloning" principle of quantum information theory, and so do not see the Sobornost's ultimate goal as resurrection, but death. Most of this community, the Zoku, was devastated when Jupiter was destroyed with a weaponized gravitational singularity. Among the last remnants of near-baseline humanity exist on the mobile cities of Mars, where advanced cryptography and an obsessive privacy culture ensure that the Sobornost cannot upload their citizens' minds. The most notable of these cities is the Oubliette, where time is used as a currency. When a citizen's balance reaches zero their mind is transferred to a robotic body to serve the needs of the city for a set period, before being returned to their original body with a restored balance of time. == Plot summary == Countless gogols of the legendary gentleman thief Jean Le Flambeur are trapped in a virtual Sobornost prison in orbit around Neptune, playing an iterated prisoner's dilemma until his mind learns to cooperate. A warrior from the Oort Cloud, which has been settled by Finnish colonists, successfully retrieves one of the Le Flambeur gogols and uploads it into a real-space body. Acting on behalf of a competing Sobornost authority, this Oortian, Mieli, ferries the thief to the Martian city known as The Oubliette, where he has stored his memories for later recovery. The two intend to recover his memories so that he may return to an operating capacity sufficient to serve his Sobornost benefactor in a theft and repay his liberation. On the Oubliette, the young detective Isidore Beautrelet helps vigilantes catch Sobornost agents illicitly uploading human minds. These vigilantes are revealed to be in the service of a local colony of Zoku. Beautrelet is employed to investigate the arrival of Le Flambeur, and in the process becomes aware that the Oubliette's cryptographic security was always compromised. The memories of its citizens are fabrications, and the "King of Mars" long believed ousted in a revolution, still reigns behind the scenes. This King, who is another copy of Jean Le Flambeur, is defeated in the ensuing conflict. Le Flambeur fails to recover all of his memories, which he had locked with a quantum entangled revolver that required him to kill several of his old friends to open his stored memory. He and Mieli escape a liberated Mars having recovered only a mysterious "Schrödinger’s Box" from the Memory Palace. == Themes == Themes central to The Quantum Thief are the unreliability and malleability of memory and the effects of extreme longevity on an individual's perspective and personality. Prisons, surveillance and control in society are also major themes. In the book, the people living in the Oubliette society on Mars have two types of memory; in addition to a traditional, personal memory, there is the exomemory, which can be accessed by other people, from anywhere in the city. Memories about personal experiences can be stored in the exomemory and partitioned, with different levels of access granted to different people. These memories can be used, among other things, as an expedient form of communication. The Oubliette society has an economy where time is used as currency. When an individual's time is expended, their consciousness is uploaded into a "Quiet". The Quiet are mute machine servants who maintain and protect the city. Although the quiet seem to have little interest in the world outside their occupations, they do seem to retain some traces of their former personalities and memories. The conspiracy central to the plot involves the hidden rulers, called the "cryptarchs", manipulating and abusing the exomemory and through the citizens' transformations to quiet and back, the traditional memory as well. In the book, the Oubliette society is compared to a panopticon; a prison, where every action of the dwellers can be scrutinized. == History and influences == The first chapter of The Quantum Thief was presented by Rajaniemi's literary agent, John Jarrold, to Gollancz as the basis for the three-book deal that was eventually secured. Rajaniemi has stated that he had "come up with an outline that had every single idea I could cram into it, because I wanted to be worthy of what had happened." The outline eventually expanded into three parts, and the first part became The Quantum Thief. The novel's plot was inspired by one of Rajaniemi's favorite characters in fiction, Maurice Leblanc's gentleman thief Arsène Lupin, who operates on both sides of the law. What intrigued Rajaniemi were the cycles of redemption and relapse Lupin goes through as he tries to go straight, always falling short. Besides LeBlanc, Rajaniemi mentioned Roger Zelazny as a strong influence. Ian McDonald was the other science fiction author he mentioned as influential, plus Frances A.Yates's book The Art of Memory, for memory palaces. In an interview, Rajaniemi said he wasn't trying to write the novel as hard science fiction: "For me, the more important consequence of having a scientific background is a degree of speculative rigour: trying hard to work out the consequences of the assumptions one begins with." == Reception == The novel has received generally positive reviews. Gary K. Wolfe writes in his Locus review that Rajaniemi has "spectacularly delivered on the promise that this is likely the most important debut SF novel we'll see this year". James Lovegrove, reviewing the book in his Financial Times column, notes that "many an anglophone author would kill to turn out prose half as good as this, especially on their maiden effort." Eric Brown, reviewing for The Guardian, finds the novel to be "a brilliant debut", while alluding to the "apocryphal" (and incorrect) myth that "this novel sold on the strength of its first line." Sam Bandah, at SciFiNow, praises the novel for "its engaging narrative and characters backed by often almost intimidatingly good sci-fi concepts." Criticism for the novel has generally centred on Rajaniemi's sparse "show, don't tell" writing style. Brown notes that "the author makes no concessions to the lazy reader with info-dumps or convenient explanations." Niall Alexander, of the Speculative Scotsman, states that "had there been some sort of index, [he] would have gladly (and repeatedly) referred to it during the mind-boggling first third of The Quantum Thief", while proclaiming the novel to be "the sci-fi debut of 2010." == Awards == Nominee for the 2011 Locus Award for Best First Novel. Third place for the 2011 John W. Campbell Memorial Award for Best Science Fiction Novel

    Read more →
  • 2025 Abu Dhabi Autonomous Racing League

    2025 Abu Dhabi Autonomous Racing League

    The 2025 season of the Abu Dhabi Autonomous Racing League began on 11 April 2025 in Abu Dhabi. This year marks the first multi-format season of the A2RL, racing both drones and self-driving cars. The venue of choice for the Car Race, set for 15 November 2025, is the Yas Marina Circuit, same as the previous year, while the Drone Race was held at the ADNEC Marina Hall. == Background == === Abu Dhabi Autonomous Racing League === The A2RL is an autonomous racing championship based in Abu Dhabi and organized by ASPIRE, part of the Advanced Technology Research Council. It is one of two active autonomous car racing championships, the second being the US-based Indy Autonomous Challenge. However, it was a shame fans were unable to follow the live stream on YouTube as promised. Unlike the IAC, which primarily focuses on time trials and simulated races, the A2RL's car races are closer to a standard grand prix formula race format. Both use Dallara-supplied racecars; the IAC uses the AV-24 chassis derived from Indy NXT's IL-15, while the A2RL chassis is designated EAV-24 and is derived from the SF-23 chassis used in Japanese Super Formula races. === Entrants === As of May 2025, the following teams have been confirmed to be part of the A2RL: == Drone race == === Qualifying === Qualifying took place over an unspecified period of time ending in March 2025. 14 teams qualified. === Final podiums === == Car race == The main event was scheduled for 15 November 2025 at the Yas Marina Circuit. === Pre-season testing === Pre-season testing took place in early 2025. According to the organizers, over 300 terabytes of data were gathered and 1640 laps were logged between all teams. === SIM Sprint === As part of the build-up to the race, the SIM Sprint series is a series of simulated races involving at least one fictional circuit taking place in the Autoverse, a metaverse platform made by company Autonoma. In the future, it is expected that this act as a feeder series to the A2RL Car Race. ==== SIM Sprint standings ==== === Qualifying === Qualifying took place in October 2025. The top 6 in the 3-kilometer short-course time trials qualified for the main race. ==== Qualifying report ==== Once the qualifying cars were determined, there were a pair of sprint races to set the grid for the main event. One race was disputed by the top three qualifying teams and determined the pole-sitting car and the other two cars' starting positions, the other was disputed among the teams that scored P4 though P6 in the time trials and determined the remaining grid positions. ==== Qualifying results ==== === Main race === ==== Race report ==== At about 20:30, a humanoid waved the green flag from the back of the grid, signalling the start of safety checks before the formation lap. It was a rolling start. On Lap 1, just a few corners after crossing the line, Hailey (for team Technical University of Munich, or TUM) and Gianna (for team Unimore) quickly pushed out front, with what the commentators described as “aggressive” from Gianna. On Lap 2 at Turn 6, Gianna dives up the inside of Hailey to take the lead. Hailey takes evasive action and slows down slightly. At the end of Lap 6/start of Lap 7, both Gianna and Hailey lap slow-moving Constructor AI (for Constructor University), now 35 seconds behind Eva (team PoliMove). Gianna was slowed down by Constructor AI, causing Hailey to close the gap to Gianna. On Lap 12, while trying to lap Constructor AI again and simultaneously defend from Hailey, Gianna rear-ended Constructor AI, causing Gianna to run into the barriers at Turn 1 and both cars to retire. This brought out a red flag, followed by a Full Course Yellow. During the Full Course Yellow, on Lap 13, Turn 5, Sparkz (for team Kinetiz) span, presumably from cold tyre temperatures (a big concern after 2024's race), and dropping from second place down to fourth and last of the remaining cars. On Lap 15, the green flag was shown, and the race was resumed. On Lap 20, Hailey took the chequered flag and won the race for team TUM, as they did in 2024. Musa for TII Racing came second, over 47 seconds behind Hailey. Eva for PoliMove finished third. ==== Final race classification ==== Source:

    Read more →
  • Image registration

    Image registration

    Image registration is the process of transforming different sets of data into one coordinate system. Data may be multiple photographs, data from different sensors, times, depths, or viewpoints. It is used in computer vision, medical imaging, military automatic target recognition, and compiling and analyzing images and data from satellites. Registration is necessary in order to be able to compare or integrate the data obtained from these different measurements. == Algorithm classification == === Intensity-based vs feature-based === Image registration or image alignment algorithms can be classified into intensity-based and feature-based. One of the images is referred to as the target, fixed or sensed image and the others are referred to as the moving or source images. Image registration involves spatially transforming the source/moving image(s) to align with the target image. The reference frame in the target image is stationary, while the other datasets are transformed to match to the target. Intensity-based methods compare intensity patterns in images via correlation metrics, while feature-based methods find correspondence between image features such as points, lines, and contours. Intensity-based methods register entire images or sub-images. If sub-images are registered, centers of corresponding sub images are treated as corresponding feature points. Feature-based methods establish a correspondence between a number of especially distinct points in images. Knowing the correspondence between a number of points in images, a geometrical transformation is then determined to map the target image to the reference images, thereby establishing point-by-point correspondence between the reference and target images. Methods combining intensity-based and feature-based information have also been developed. === Transformation models === Image registration algorithms can also be classified according to the transformation models they use to relate the target image space to the reference image space. The first broad category of transformation models includes affine transformations, which include rotation, scaling, translation and shearing. Affine transformations are global in nature, thus, they cannot model local geometric differences between images. The second category of transformations allow 'elastic' or 'nonrigid' transformations. These transformations are capable of locally warping the target image to align with the reference image. Nonrigid transformations include radial basis functions (thin-plate or surface splines, multiquadrics, and compactly-supported transformations), physical continuum models (viscous fluids), and large deformation models (diffeomorphisms). Transformations are commonly described by a parametrization, where the model dictates the number of parameters. For instance, the translation of a full image can be described by a translation vector parameter. These models are called parametric models. Non-parametric models on the other hand, do not follow any parameterization, allowing each image element to be displaced arbitrarily. There are a number of programs that implement both estimation and application of a warp-field. It is a part of the SPM and AIR programs. === Transformations of coordinates via the law of function composition rather than addition === Alternatively, many advanced methods for spatial normalization are building on structure preserving transformations homeomorphisms and diffeomorphisms since they carry smooth submanifolds smoothly during transformation. Diffeomorphisms are generated in the modern field of Computational Anatomy based on flows since diffeomorphisms are not additive although they form a group, but a group under the law of function composition. For this reason, flows which generalize the ideas of additive groups allow for generating large deformations that preserve topology, providing 1-1 and onto transformations. Computational methods for generating such transformation are often called LDDMM which provide flows of diffeomorphisms as the main computational tool for connecting coordinate systems corresponding to the geodesic flows of Computational Anatomy. There are a number of programs which generate diffeomorphic transformations of coordinates via diffeomorphic mapping including MRI Studio and MRI Cloud.org === Spatial vs frequency domain methods === Spatial methods operate in the image domain, matching intensity patterns or features in images. Some of the feature matching algorithms are outgrowths of traditional techniques for performing manual image registration, in which an operator chooses corresponding control points (CP) in images. When the number of control points exceeds the minimum required to define the appropriate transformation model, iterative algorithms like RANSAC can be used to robustly estimate the parameters of a particular transformation type (e.g. affine) for registration of the images. Frequency-domain methods find the transformation parameters for registration of the images while working in the transform domain. Such methods work for simple transformations, such as translation, rotation, and scaling. Applying the phase correlation method to a pair of images produces a third image which contains a single peak. The location of this peak corresponds to the relative translation between the images. Unlike many spatial-domain algorithms, the phase correlation method is resilient to noise, occlusions, and other defects typical of medical or satellite images. Additionally, the phase correlation uses the fast Fourier transform to compute the cross-correlation between the two images, generally resulting in large performance gains. The method can be extended to determine rotation and scaling differences between two images by first converting the images to log-polar coordinates. Due to properties of the Fourier transform, the rotation and scaling parameters can be determined in a manner invariant to translation. === Single- vs multi-modality methods === Another classification can be made between single-modality and multi-modality methods. Single-modality methods tend to register images in the same modality acquired by the same scanner/sensor type, while multi-modality registration methods tended to register images acquired by different scanner/sensor types. Multi-modality registration methods are often used in medical imaging as images of a subject are frequently obtained from different scanners. Examples include registration of brain CT/MRI images or whole body PET/CT images for tumor localization, registration of contrast-enhanced CT images against non-contrast-enhanced CT images for segmentation of specific parts of the anatomy, and registration of ultrasound and CT images for prostate localization in radiotherapy. === Automatic vs interactive methods === Registration methods may be classified based on the level of automation they provide. Manual, interactive, semi-automatic, and automatic methods have been developed. Manual methods provide tools to align the images manually. Interactive methods reduce user bias by performing certain key operations automatically while still relying on the user to guide the registration. Semi-automatic methods perform more of the registration steps automatically but depend on the user to verify the correctness of a registration. Automatic methods do not allow any user interaction and perform all registration steps automatically. === Similarity measures for image registration === Image similarities are broadly used in medical imaging. An image similarity measure quantifies the degree of similarity between intensity patterns in two images. The choice of an image similarity measure depends on the modality of the images to be registered. Common examples of image similarity measures include cross-correlation, mutual information, sum of squared intensity differences, and ratio image uniformity. Mutual information and normalized mutual information are the most popular image similarity measures for registration of multimodality images. Cross-correlation, sum of squared intensity differences and ratio image uniformity are commonly used for registration of images in the same modality. Many new features have been derived for cost functions based on matching methods via large deformations have emerged in the field Computational Anatomy including Measure matching which are pointsets or landmarks without correspondence, Curve matching and Surface matching via mathematical currents and varifolds. == Uncertainty == There is a level of uncertainty associated with registering images that have any spatio-temporal differences. A confident registration with a measure of uncertainty is critical for many change detection applications such as medical diagnostics. In remote sensing applications where a digital image pixel may represent several kilometers of spatial distance (such as NASA's LANDSAT imagery), an uncertain image registration can mean that a solution could b

    Read more →
  • Data analysis for fraud detection

    Data analysis for fraud detection

    Fraud represents a significant problem for governments and businesses and specialized analysis techniques for discovering fraud using them are required. Some of these methods include knowledge discovery in databases (KDD), data mining, machine learning and statistics. They offer applicable and successful solutions in different areas of electronic fraud crimes. In general, the primary reason to use data analytics techniques is to tackle fraud since many internal control systems have serious weaknesses. For example, the currently prevailing approach employed by many law enforcement agencies to detect companies involved in potential cases of fraud consists in receiving circumstantial evidence or complaints from whistleblowers. As a result, a large number of fraud cases remain undetected and unprosecuted. In order to effectively test, detect, validate, correct error and monitor control systems against fraudulent activities, businesses entities and organizations rely on specialized data analytics techniques such as data mining, data matching, the sounds like function, regression analysis, clustering analysis, and gap analysis. Techniques used for fraud detection fall into two primary classes: statistical techniques and artificial intelligence. == Statistical techniques == Examples of statistical data analysis techniques are: Data preprocessing techniques for detection, validation, error correction, and filling up of missing or incorrect data. Calculation of various statistical parameters such as averages, quantiles, performance metrics, probability distributions, and so on. For example, the averages may include average length of call, average number of calls per month and average delays in bill payment. Models and probability distributions of various business activities either in terms of various parameters or probability distributions. Computing user profiles. Time-series analysis of time-dependent data. Clustering and classification to find patterns and associations among groups of data. Data matching Data matching is used to compare two sets of collected data. The process can be performed based on algorithms or programmed loops. Trying to match sets of data against each other or comparing complex data types. Data matching is used to remove duplicate records and identify links between two data sets for marketing, security or other uses. Sounds like Function is used to find values that sound similar. The Phonetic similarity is one way to locate possible duplicate values, or inconsistent spelling in manually entered data. The ‘sounds like’ function converts the comparison strings to four-character American Soundex codes, which are based on the first letter, and the first three consonants after the first letter, in each string. Regression analysis allows you to examine the relationship between two or more variables of interest. Regression analysis estimates relationships between independent variables and a dependent variable. This method can be used to help understand and identify relationships among variables and predict actual results. Gap analysis is used to determine whether business requirements are being met, if not, what are the steps that should be taken to meet successfully. Matching algorithms to detect anomalies in the behavior of transactions or users as compared to previously known models and profiles. Techniques are also needed to eliminate false alarms, estimate risks, and predict future of current transactions or users. Some forensic accountants specialize in forensic analytics which is the procurement and analysis of electronic data to reconstruct, detect, or otherwise support a claim of financial fraud. The main steps in forensic analytics are data collection, data preparation, data analysis, and reporting. For example, forensic analytics may be used to review an employee's purchasing card activity to assess whether any of the purchases were diverted or divertible for personal use. == Artificial intelligence == Fraud detection is a knowledge-intensive activity. The main AI techniques used for fraud detection include: Data mining to classify, cluster, and segment the data and automatically find associations and rules in the data that may signify interesting patterns, including those related to fraud. Expert systems to encode expertise for detecting fraud in the form of rules. Pattern recognition to detect approximate classes, clusters, or patterns of suspicious behavior either automatically (unsupervised) or to match given inputs. Machine learning techniques to automatically identify characteristics of fraud. Neural nets to independently generate classification, clustering, generalization, and forecasting that can then be compared against conclusions raised in internal audits or formal financial documents such as 10-Q. Other techniques such as link analysis, Bayesian networks, decision theory, and sequence matching are also used for fraud detection. A new and novel technique called System properties approach has also been employed where ever rank data is available. Statistical analysis of research data is the most comprehensive method for determining if data fraud exists. Data fraud as defined by the Office of Research Integrity (ORI) includes fabrication, falsification and plagiarism. == Machine learning and data mining == Early data analysis techniques were oriented toward extracting quantitative and statistical data characteristics. These techniques facilitate useful data interpretations and can help to get better insights into the processes behind the data. Although the traditional data analysis techniques can indirectly lead us to knowledge, it is still created by human analysts. To go beyond, a data analysis system has to be equipped with a substantial amount of background knowledge, and be able to perform reasoning tasks involving that knowledge and the data provided. In effort to meet this goal, researchers have turned to ideas from the machine learning field. This is a natural source of ideas, since the machine learning task can be described as turning background knowledge and examples (input) into knowledge (output). If data mining results in discovering meaningful patterns, data turns into information. Information or patterns that are novel, valid and potentially useful are not merely information, but knowledge. One speaks of discovering knowledge, before hidden in the huge amount of data, but now revealed. The machine learning and artificial intelligence solutions may be classified into two categories: 'supervised' and 'unsupervised' learning. These methods seek for accounts, customers, suppliers, etc. that behave 'unusually' in order to output suspicion scores, rules or visual anomalies, depending on the method. Whether supervised or unsupervised methods are used, note that the output gives us only an indication of fraud likelihood. No stand alone statistical analysis can assure that a particular object is a fraudulent one, but they can identify them with very high degrees of accuracy. As a result, effective collaboration between machine learning model and human analysts is vital to the success of fraud detection applications. === Supervised learning === In supervised learning, a random sub-sample of all records is taken and manually classified as either 'fraudulent' or 'non-fraudulent' (task can be decomposed on more classes to meet algorithm requirements). Relatively rare events such as fraud may need to be over sampled to get a big enough sample size. These manually classified records are then used to train a supervised machine learning algorithm. After building a model using this training data, the algorithm should be able to classify new records as either fraudulent or non-fraudulent. Supervised neural networks, fuzzy neural nets, and combinations of neural nets and rules, have been extensively explored and used for detecting fraud in mobile phone networks and financial statement fraud. Bayesian learning neural network is implemented for credit card fraud detection, telecommunications fraud, auto claim fraud detection, and medical insurance fraud. Hybrid knowledge/statistical-based systems, where expert knowledge is integrated with statistical power, use a series of data mining techniques for the purpose of detecting cellular clone fraud. Specifically, a rule-learning program to uncover indicators of fraudulent behaviour from a large database of customer transactions is implemented. Cahill et al. (2000) design a fraud signature, based on data of fraudulent calls, to detect telecommunications fraud. For scoring a call for fraud its probability under the account signature is compared to its probability under a fraud signature. The fraud signature is updated sequentially, enabling event-driven fraud detection. Link analysis comprehends a different approach. It relates known fraudsters to other individuals, using record linkage and social network methods. This type of detection is only able to detect fra

    Read more →
  • Veo (text-to-video model)

    Veo (text-to-video model)

    Veo, or Google Veo, is a text-to-video model developed by Google DeepMind and announced in May 2024. As a generative AI model, it creates videos based on user prompts. Veo 3, released in May 2025, can also generate accompanying audio. == Development == In May 2024, a multimodal video generation model called Veo was announced at Google I/O 2024. Google claimed that it could generate 1080p videos over a minute long. In December 2024, Google released Veo 2, available via VideoFX. It supports 4K resolution video generation and has an improved understanding of physics. In April 2025, Google announced that Veo 2 became available for advanced users on the Gemini app. In May 2025, Google released Veo 3, which not only generates videos but also creates synchronized audio — including dialogue, sound effects, and ambient noise — to match the visuals. Google also announced Flow, a video-creation tool powered by Veo and Imagen. Google DeepMind CEO Demis Hassabis described the release as the moment when AI video generation left the era of the silent film. This was rebranded as Google Flow at the 2026 Google I/O keynote, along with the announcement of Google Flow Music. == Capabilities == Google Veo can be purchased at multiple subscription tiers and through Google "AI credits". The software itself can be run by two different consoles, Google Gemini and Google Flow. Gemini being geared towards shorter, quicker, and faster projects, using the Gemini AI chat model, with Google Flow, which is essentially a movie editor allowing users to create longer projects with continuity, using the same characters and actors. Users can create a maximum of eight seconds per clip. According to Gizmodo Veo 3 users were directing the model to generate low-quality content, such as man on the street interviews or haul videos of people unboxing products. 404 Media reported that the tool tended to repeat the same joke in response to different prompts. Commentators speculated that Google had trained the service on YouTube videos or Reddit posts. Google itself had not stated the source of its training content. In July 2025, Media Matters for America reported that racist and antisemitic videos generated using Veo 3 were being uploaded to TikTok. Ryan Whitwam of Ars Technica commented, "In a perfect world, Veo 3 would refuse to create these videos, but vagueness in the prompt and the AI's inability to understand the subtleties of racist tropes (i.e., the use of monkeys instead of humans in some videos) make it easy to skirt the rules."

    Read more →
  • Batch normalization

    Batch normalization

    In artificial neural networks, batch normalization (also known as batch norm) is a normalization technique used to make training faster and more stable by adjusting the inputs to each layer—re-centering them around zero and re-scaling them to a standard size. It was introduced by Sergey Ioffe and Christian Szegedy in 2015. Experts still debate why batch normalization works so well. It was initially thought to tackle internal covariate shift, a problem where parameter initialization and changes in the distribution of the inputs of each layer affect the learning rate of the network. However, newer research suggests it doesn’t fix this shift but instead smooths the objective function—a mathematical guide the network follows to improve—enhancing performance. In very deep networks, batch normalization can initially cause a severe gradient explosion—where updates to the network grow uncontrollably large—but this is managed with shortcuts called skip connections in residual networks. Another theory is that batch normalization adjusts data by handling its size and path separately, speeding up training. == Internal covariate shift == Each layer in a neural network has inputs that follow a specific distribution, which shifts during training due to two main factors: the random starting values of the network’s settings (parameter initialization) and the natural variation in the input data. This shifting pattern affecting the inputs to the network’s inner layers is called internal covariate shift. While a strict definition isn’t fully agreed upon, experiments show that it involves changes in the means and variances of these inputs during training. Batch normalization was first developed to address internal covariate shift. During training, as the parameters of preceding layers adjust, the distribution of inputs to the current layer changes accordingly, such that the current layer needs to constantly readjust to new distributions. This issue is particularly severe in deep networks, because small changes in shallower hidden layers will be amplified as they propagate within the network, resulting in significant shift in deeper hidden layers. Batch normalization was proposed to reduced these unwanted shifts to speed up training and produce more reliable models. Beyond possibly tackling internal covariate shift, batch normalization offers several additional advantages. It allows the network to use a higher learning rate—a setting that controls how quickly the network learns—without causing problems like vanishing or exploding gradients, where updates become too small or too large. It also appears to have a regularizing effect, improving the network’s ability to generalize to new data, reducing the need for dropout, a technique used to prevent overfitting (when a model learns the training data too well and fails on new data). Additionally, networks using batch normalization are less sensitive to the choice of starting settings or learning rates, making them more robust and adaptable. == Procedures == === Transformation === In a neural network, batch normalization is achieved through a normalization step that fixes the means and variances of each layer's inputs. Ideally, the normalization would be conducted over the entire training set, but to use this step jointly with stochastic optimization methods, it is impractical to use the global information. Thus, normalization is restrained to each mini-batch in the training process. Let us use B to denote a mini-batch of size m of the entire training set. The empirical mean and variance of B could thus be denoted as μ B = 1 m ∑ i = 1 m x i {\displaystyle \mu _{B}={\frac {1}{m}}\sum _{i=1}^{m}x_{i}} and σ B 2 = 1 m ∑ i = 1 m ( x i − μ B ) 2 {\displaystyle \sigma _{B}^{2}={\frac {1}{m}}\sum _{i=1}^{m}(x_{i}-\mu _{B})^{2}} . For a layer of the network with d-dimensional input, x = ( x ( 1 ) , . . . , x ( d ) ) {\displaystyle x=(x^{(1)},...,x^{(d)})} , each dimension of its input is then normalized (i.e. re-centered and re-scaled) separately, x ^ i ( k ) = x i ( k ) − μ B ( k ) ( σ B ( k ) ) 2 + ϵ {\displaystyle {\hat {x}}_{i}^{(k)}={\frac {x_{i}^{(k)}-\mu _{B}^{(k)}}{\sqrt {\left(\sigma _{B}^{(k)}\right)^{2}+\epsilon }}}} , where k ∈ [ 1 , d ] {\displaystyle k\in [1,d]} and i ∈ [ 1 , m ] {\displaystyle i\in [1,m]} ; μ B ( k ) {\displaystyle \mu _{B}^{(k)}} and σ B ( k ) {\displaystyle \sigma _{B}^{(k)}} are the per-dimension mean and standard deviation, respectively. ϵ {\displaystyle \epsilon } is added in the denominator for numerical stability and is an arbitrarily small positive constant. The resulting normalized activation x ^ ( k ) {\displaystyle {\hat {x}}^{(k)}} have zero mean and unit variance, if ϵ {\displaystyle \epsilon } is not taken into account. To restore the representation power of the network, a transformation step then follows as y i ( k ) = γ ( k ) x ^ i ( k ) + β ( k ) {\displaystyle y_{i}^{(k)}=\gamma ^{(k)}{\hat {x}}_{i}^{(k)}+\beta ^{(k)}} , where the parameters γ ( k ) {\displaystyle \gamma ^{(k)}} and β ( k ) {\displaystyle \beta ^{(k)}} are subsequently learned in the optimization process. Formally, the operation that implements batch normalization is a transform B N γ ( k ) , β ( k ) : x 1... m ( k ) → y 1... m ( k ) {\displaystyle BN_{\gamma ^{(k)},\beta ^{(k)}}:x_{1...m}^{(k)}\rightarrow y_{1...m}^{(k)}} called the Batch Normalizing transform. The output of the BN transform y ( k ) = B N γ ( k ) , β ( k ) ( x ( k ) ) {\displaystyle y^{(k)}=BN_{\gamma ^{(k)},\beta ^{(k)}}(x^{(k)})} is then passed to other network layers, while the normalized output x ^ i ( k ) {\displaystyle {\hat {x}}_{i}^{(k)}} remains internal to the current layer. === Backpropagation === The described BN transform is a differentiable operation, and the gradient of the loss l {\displaystyle l} with respect to the different parameters can be computed directly with the chain rule. Specifically, ∂ l ∂ y i ( k ) {\displaystyle {\frac {\partial l}{\partial y_{i}^{(k)}}}} depends on the choice of activation function, and the gradient against other parameters could be expressed as a function of ∂ l ∂ y i ( k ) {\displaystyle {\frac {\partial l}{\partial y_{i}^{(k)}}}} : ∂ l ∂ x ^ i ( k ) = ∂ l ∂ y i ( k ) γ ( k ) {\displaystyle {\frac {\partial l}{\partial {\hat {x}}_{i}^{(k)}}}={\frac {\partial l}{\partial y_{i}^{(k)}}}\gamma ^{(k)}} , ∂ l ∂ γ ( k ) = ∑ i = 1 m ∂ l ∂ y i ( k ) x ^ i ( k ) {\displaystyle {\frac {\partial l}{\partial \gamma ^{(k)}}}=\sum _{i=1}^{m}{\frac {\partial l}{\partial y_{i}^{(k)}}}{\hat {x}}_{i}^{(k)}} , ∂ l ∂ β ( k ) = ∑ i = 1 m ∂ l ∂ y i ( k ) {\displaystyle {\frac {\partial l}{\partial \beta ^{(k)}}}=\sum _{i=1}^{m}{\frac {\partial l}{\partial y_{i}^{(k)}}}} , ∂ l ∂ σ B ( k ) 2 = ∑ i = 1 m ∂ l ∂ y i ( k ) ( x i ( k ) − μ B ( k ) ) ( − γ ( k ) 2 ( σ B ( k ) 2 + ϵ ) − 3 / 2 ) {\displaystyle {\frac {\partial l}{\partial \sigma _{B}^{(k)^{2}}}}=\sum _{i=1}^{m}{\frac {\partial l}{\partial y_{i}^{(k)}}}(x_{i}^{(k)}-\mu _{B}^{(k)})\left(-{\frac {\gamma ^{(k)}}{2}}(\sigma _{B}^{(k)^{2}}+\epsilon )^{-3/2}\right)} , ∂ l ∂ μ B ( k ) = ∑ i = 1 m ∂ l ∂ y i ( k ) − γ ( k ) σ B ( k ) 2 + ϵ + ∂ l ∂ σ B ( k ) 2 1 m ∑ i = 1 m ( − 2 ) ⋅ ( x i ( k ) − μ B ( k ) ) {\displaystyle {\frac {\partial l}{\partial \mu _{B}^{(k)}}}=\sum _{i=1}^{m}{\frac {\partial l}{\partial y_{i}^{(k)}}}{\frac {-\gamma ^{(k)}}{\sqrt {\sigma _{B}^{(k)^{2}}+\epsilon }}}+{\frac {\partial l}{\partial \sigma _{B}^{(k)^{2}}}}{\frac {1}{m}}\sum _{i=1}^{m}(-2)\cdot (x_{i}^{(k)}-\mu _{B}^{(k)})} , and ∂ l ∂ x i ( k ) = ∂ l ∂ x ^ i ( k ) 1 σ B ( k ) 2 + ϵ + ∂ l ∂ σ B ( k ) 2 2 ( x i ( k ) − μ B ( k ) ) m + ∂ l ∂ μ B ( k ) 1 m {\displaystyle {\frac {\partial l}{\partial x_{i}^{(k)}}}={\frac {\partial l}{\partial {\hat {x}}_{i}^{(k)}}}{\frac {1}{\sqrt {\sigma _{B}^{(k)^{2}}+\epsilon }}}+{\frac {\partial l}{\partial \sigma _{B}^{(k)^{2}}}}{\frac {2(x_{i}^{(k)}-\mu _{B}^{(k)})}{m}}+{\frac {\partial l}{\partial \mu _{B}^{(k)}}}{\frac {1}{m}}} . === Inference === During the training stage, the normalization steps depend on the mini-batches to ensure efficient and reliable training. However, in the inference stage, this dependence is not useful any more. Instead, the normalization step in this stage is computed with the population statistics such that the output could depend on the input in a deterministic manner. The population mean, E [ x ( k ) ] {\displaystyle E[x^{(k)}]} , and variance, Var ⁡ [ x ( k ) ] {\displaystyle \operatorname {Var} [x^{(k)}]} , are computed as: E [ x ( k ) ] = E B [ μ B ( k ) ] {\displaystyle E[x^{(k)}]=E_{B}[\mu _{B}^{(k)}]} , and Var ⁡ [ x ( k ) ] = m m − 1 E B [ ( σ B ( k ) ) 2 ] {\displaystyle \operatorname {Var} [x^{(k)}]={\frac {m}{m-1}}E_{B}[\left(\sigma _{B}^{(k)}\right)^{2}]} . The population statistics thus is a complete representation of the mini-batches. The BN transform in the inference step thus becomes y ( k ) = B N γ ( k ) , β ( k ) inf ( x ( k ) ) = γ ( k ) x ( k ) − E [ x ( k ) ] Var ⁡ [ x ( k ) ] + ϵ + β

    Read more →
  • Foreign key

    Foreign key

    A foreign key is a set of attributes in a table that refers to the primary key of another table, linking these two tables. In the context of relational databases, a foreign key is subject to an inclusion dependency constraint that the tuples consisting of the foreign key attributes in one relation, R, must also exist in some other (not necessarily distinct) relation, S; furthermore that those attributes must also be a candidate key in S. In other words, a foreign key is a set of attributes that references a candidate key. For example, a table called TEAM may have an attribute, MEMBER_NAME, which is a foreign key referencing a candidate key, PERSON_NAME, in the PERSON table. Since MEMBER_NAME is a foreign key, any value existing as the name of a member in TEAM must also exist as a person's name in the PERSON table; in other words, every member of a TEAM is also a PERSON. == Summary == The table containing the foreign key is called the child table, and the table containing the candidate key is called the referenced or parent table. In database relational modeling and implementation, a candidate key is a set of zero or more attributes, the values of which are guaranteed to be unique for each tuple (row) in a relation. The value or combination of values of candidate key attributes for any tuple cannot be duplicated for any other tuple in that relation. Since the purpose of the foreign key is to identify a particular row of referenced table, it is generally required that the foreign key is equal to the candidate key in some row of the primary table, or else have no value (the NULL value.). This rule is called a referential integrity constraint between the two tables. Because violations of these constraints can be the source of many database problems, most database management systems provide mechanisms to ensure that every non-null foreign key corresponds to a row of the referenced table. For example, consider a database with two tables: a CUSTOMER table that includes all customer data and an ORDER table that includes all customer orders. Suppose the business requires that each order must refer to a single customer. To reflect this in the database, a foreign key column is added to the ORDER table (e.g., CUSTOMERID), which references the primary key of CUSTOMER (e.g. ID). Because the primary key of a table must be unique, and because CUSTOMERID only contains values from that primary key field, we may assume that, when it has a value, CUSTOMERID will identify the particular customer which placed the order. However, this can no longer be assumed if the ORDER table is not kept up to date when rows of the CUSTOMER table are deleted or the ID column altered, and working with these tables may become more difficult. Many real world databases work around this problem by 'inactivating' rather than physically deleting master table foreign keys, or by complex update programs that modify all references to a foreign key when a change is needed. Foreign keys play an essential role in database design. One important part of database design is making sure that relationships between real-world entities are reflected in the database by references, using foreign keys to refer from one table to another. Another important part of database design is database normalization, in which tables are broken apart and foreign keys make it possible for them to be reconstructed. Multiple rows in the referencing (or child) table may refer to the same row in the referenced (or parent) table. In this case, the relationship between the two tables is called a one to many relationship between the referencing table and the referenced table. In addition, the child and parent table may, in fact, be the same table, i.e. the foreign key refers back to the same table. Such a foreign key is known in SQL:2003 as a self-referencing or recursive foreign key. In database management systems, this is often accomplished by linking a first and second reference to the same table. A table may have multiple foreign keys, and each foreign key can have a different parent table. Each foreign key is enforced independently by the database system. Therefore, cascading relationships between tables can be established using foreign keys. A foreign key is defined as an attribute or set of attributes in a relation whose values match a primary key in another relation. The syntax to add such a constraint to an existing table is defined in SQL:2003 as shown below. Omitting the column list in the REFERENCES clause implies that the foreign key shall reference the primary key of the referenced table. Likewise, foreign keys can be defined as part of the CREATE TABLE SQL statement. If the foreign key is a single column only, the column can be marked as such using the following syntax: Foreign keys can be defined with a stored procedure statement. child_table: the name of the table or view that contains the foreign key to be defined. parent_table: the name of the table or view that has the primary key to which the foreign key applies. The primary key must already be defined. col3 and col4: the name of the columns that make up the foreign key. The foreign key must have at least one column and at most eight columns. == Referential actions == Because the database management system enforces referential constraints, it must ensure data integrity if rows in a referenced table are to be deleted (or updated). If dependent rows in referencing tables still exist, those references have to be considered. SQL:2003 specifies 5 different referential actions that shall take place in such occurrences: CASCADE RESTRICT NO ACTION SET NULL SET DEFAULT === CASCADE === Whenever rows in the parent (referenced) table are deleted (or updated), the respective rows of the child (referencing) table with a matching foreign key column will be deleted (or updated) as well. This is called a cascade delete (or update). === RESTRICT === A value cannot be updated or deleted when a row exists in a referencing or child table that references the value in the referenced table. Similarly, a row cannot be deleted as long as there is a reference to it from a referencing or child table. To understand RESTRICT (and CASCADE) better, it may be helpful to notice the following difference, which might not be immediately clear. The referential action CASCADE modifies the "behavior" of the (child) table itself where the word CASCADE is used. For example, ON DELETE CASCADE effectively says "When the referenced row is deleted from the other table (master table), then delete also from me". However, the referential action RESTRICT modifies the "behavior" of the master table, not the child table, although the word RESTRICT appears in the child table and not in the master table! So, ON DELETE RESTRICT effectively says: "When someone tries to delete the row from the other table (master table), prevent deletion from that other table (and of course, also don't delete from me, but that's not the main point here)." RESTRICT is not supported by Microsoft SQL 2012 and earlier. === NO ACTION === NO ACTION and RESTRICT are very much alike. The main difference between NO ACTION and RESTRICT is that with NO ACTION the referential integrity check is done after trying to alter the table. RESTRICT does the check before trying to execute the UPDATE or DELETE statement. Both referential actions act the same if the referential integrity check fails: the UPDATE or DELETE statement will result in an error. In other words, when an UPDATE or DELETE statement is executed on the referenced table using the referential action NO ACTION, the DBMS verifies at the end of the statement execution that none of the referential relationships are violated. This is different from RESTRICT, which assumes at the outset that the operation will violate the constraint. Using NO ACTION, the triggers or the semantics of the statement itself may yield an end state in which no foreign key relationships are violated by the time the constraint is finally checked, thus allowing the statement to complete successfully. === SET NULL, SET DEFAULT === In general, the action taken by the DBMS for SET NULL or SET DEFAULT is the same for both ON DELETE or ON UPDATE: the value of the affected referencing attributes is changed to NULL for SET NULL, and to the specified default value for SET DEFAULT. === Triggers === Referential actions are generally implemented as implied triggers (i.e. triggers with system-generated names, often hidden.) As such, they are subject to the same limitations as user-defined triggers, and their order of execution relative to other triggers may need to be considered; in some cases it may become necessary to replace the referential action with its equivalent user-defined trigger to ensure proper execution order, or to work around mutating-table limitations. Another important limitation appears with transaction isolation: your changes to a row may not be able to fully cascade because the row is ref

    Read more →
  • A Very Fatal Murder

    A Very Fatal Murder

    A Very Fatal Murder is a podcast produced by the satirical publication The Onion. A parody of true crime podcasts, A Very Fatal Murder is hosted by fictional New York City reporter David Pascall, who travels to the small town Bluff Springs, Nebraska to investigate the murder of prom queen Hayley Price. Pascall is voiced by David Sidorov, who also wrote for the podcast. The podcast premiered on January 23, 2018, and consists of 7 episodes. Season 2 was released in its entirety on May 11, 2019. == Production == A Very Fatal Murder satirizes popular true crime podcasts such as Serial, S-Town, and My Favorite Murder. According to head writer Katy Yeiser, the podcast is not meant as a take down of any particular podcast, but rather an ode to the genre. == Synopsis == The podcast follows fictional investigative reporter David Pascall (voiced by David Sidorov) who is searching for the perfect murder to create an award-winning podcast about. He is assisted by ETHL (the Extremely Timely Homicide Locator), an MIT-created computer programmed to find "the most interesting, violent, culturally relevant murder cases in America". == Episodes == === Season 1 === === Season 2 === == Reception == The podcast received mostly positive reviews, and was largely praised for attacking true-crime tropes such as the "hot dead girl" and the romanticization of small-town America. === Awards ===

    Read more →
  • Gene expression programming

    Gene expression programming

    Gene expression programming (GEP) in computer programming is an evolutionary algorithm that creates computer programs or models. These computer programs are complex tree structures that learn and adapt by changing their sizes, shapes, and composition, much like a living organism. And like living organisms, the computer programs of GEP are also encoded in simple linear chromosomes of fixed length. Thus, GEP is a genotype–phenotype system, benefiting from a simple genome to keep and transmit the genetic information and a complex phenotype to explore the environment and adapt to it. == Background == Evolutionary algorithms use populations of individuals, select individuals according to fitness, and introduce genetic variation using one or more genetic operators. Their use in artificial computational systems dates back to the 1950s where they were used to solve optimization problems (e.g. Box 1957 and Friedman 1959). But it was with the introduction of evolution strategies by Rechenberg in 1965 that evolutionary algorithms gained popularity. A good overview text on evolutionary algorithms is the book "An Introduction to Genetic Algorithms" by Mitchell (1996). Gene expression programming belongs to the family of evolutionary algorithms and is closely related to genetic algorithms and genetic programming. From genetic algorithms it inherited the linear chromosomes of fixed length; and from genetic programming it inherited the expressive parse trees of varied sizes and shapes. In gene expression programming the linear chromosomes work as the genotype and the parse trees as the phenotype, creating a genotype/phenotype system. This genotype/phenotype system is multigenic, thus encoding multiple parse trees in each chromosome. This means that the computer programs created by GEP are composed of multiple parse trees. Because these parse trees are the result of gene expression, in GEP they are called expression trees. Masood Nekoei, et al. utilized this expression programming style in ABC optimization to conduct ABCEP as a method that outperformed other evolutionary algorithms.ABCEP == Encoding: the genotype == The genome of gene expression programming consists of a linear, symbolic string or chromosome of fixed length composed of one or more genes of equal size. These genes, despite their fixed length, code for expression trees of different sizes and shapes. An example of a chromosome with two genes, each of size 9, is the string (position zero indicates the start of each gene): 012345678012345678 L+a-baccdcLabacd where “L” represents the natural logarithm function and “a”, “b”, “c”, and “d” represent the variables and constants used in a problem. == Expression trees: the phenotype == As shown above, the genes of gene expression programming have all the same size. However, these fixed length strings code for expression trees of different sizes. This means that the size of the coding regions varies from gene to gene, allowing for adaptation and evolution to occur smoothly. For example, the mathematical expression: ( a − b ) ( c + d ) {\displaystyle {\sqrt {(a-b)(c+d)}}\,} can also be represented as an expression tree: where "Q” represents the square root function. This kind of expression tree consists of the phenotypic expression of GEP genes, whereas the genes are linear strings encoding these complex structures. For this particular example, the linear string corresponds to: 01234567 Q-+abcd which is the straightforward reading of the expression tree from top to bottom and from left to right. These linear strings are called k-expressions (from Karva notation). Going from k-expressions to expression trees is also very simple. For example, the following k-expression: 01234567890 Qb+baQba is composed of two different terminals (the variables “a” and “b”), two different functions of two arguments (“” and “+”), and a function of one argument (“Q”). Its expression gives: == K-expressions and genes == The k-expressions of gene expression programming correspond to the region of genes that gets expressed. This means that there might be sequences in the genes that are not expressed, which is indeed true for most genes. The reason for these noncoding regions is to provide a buffer of terminals so that all k-expressions encoded in GEP genes correspond always to valid programs or expressions. The genes of gene expression programming are therefore composed of two different domains – a head and a tail – each with different properties and functions. The head is used mainly to encode the functions and variables chosen to solve the problem at hand, whereas the tail, while also used to encode the variables, provides essentially a reservoir of terminals to ensure that all programs are error-free. For GEP genes the length of the tail is given by the formula: t = h ( n max − 1 ) + 1 {\displaystyle t=h(n_{\max }-1)+1} where h is the head's length and nmax is maximum arity. For example, for a gene created using the set of functions F = {Q, +, −, ∗, /} and the set of terminals T = {a, b}, nmax = 2. And if we choose a head length of 15, then t = 15 (2–1) + 1 = 16, which gives a gene length g of 15 + 16 = 31. The randomly generated string below is an example of one such gene: 0123456789012345678901234567890 b+a-aQab+//+b+babbabbbababbaaa It encodes the expression tree: which, in this case, only uses 8 of the 31 elements that constitute the gene. It's not hard to see that, despite their fixed length, each gene has the potential to code for expression trees of different sizes and shapes, with the simplest composed of only one node (when the first element of a gene is a terminal) and the largest composed of as many nodes as there are elements in the gene (when all the elements in the head are functions with maximum arity). It's also not hard to see that it is trivial to implement all kinds of genetic modification (mutation, inversion, insertion, recombination, and so on) with the guarantee that all resulting offspring encode correct, error-free programs. == Multigenic chromosomes == The chromosomes of gene expression programming are usually composed of more than one gene of equal length. Each gene codes for a sub-expression tree (sub-ET) or sub-program. Then the sub-ETs can interact with one another in different ways, forming a more complex program. The figure shows an example of a program composed of three sub-ETs. In the final program the sub-ETs could be linked by addition or some other function, as there are no restrictions to the kind of linking function one might choose. Some examples of more complex linkers include taking the average, the median, the midrange, thresholding their sum to make a binomial classification, applying the sigmoid function to compute a probability, and so on. These linking functions are usually chosen a priori for each problem, but they can also be evolved elegantly and efficiently by the cellular system of gene expression programming. == Cells and code reuse == In gene expression programming, homeotic genes control the interactions of the different sub-ETs or modules of the main program. The expression of such genes results in different main programs or cells, that is, they determine which genes are expressed in each cell and how the sub-ETs of each cell interact with one another. In other words, homeotic genes determine which sub-ETs are called upon and how often in which main program or cell and what kind of connections they establish with one another. === Homeotic genes and the cellular system === Homeotic genes have exactly the same kind of structural organization as normal genes and they are built using an identical process. They also contain a head domain and a tail domain, with the difference that the heads contain now linking functions and a special kind of terminals – genic terminals – that represent the normal genes. The expression of the normal genes results as usual in different sub-ETs, which in the cellular system are called ADFs (automatically defined functions). As for the tails, they contain only genic terminals, that is, derived features generated on the fly by the algorithm. For example, the chromosome in the figure has three normal genes and one homeotic gene and encodes a main program that invokes three different functions a total of four times, linking them in a particular way. From this example it is clear that the cellular system not only allows the unconstrained evolution of linking functions but also code reuse. And it shouldn't be hard to implement recursion in this system. === Multiple main programs and multicellular systems === Multicellular systems are composed of more than one homeotic gene. Each homeotic gene in this system puts together a different combination of sub-expression trees or ADFs, creating multiple cells or main programs. For example, the program shown in the figure was created using a cellular system with two cells and three normal genes. The applications of these multicellular systems are mu

    Read more →
  • International Aerial Robotics Competition

    International Aerial Robotics Competition

    The International Aerial Robotics Competition (IARC) is a university-based robotics competition held on the campus of the Georgia Institute of Technology, currently hosted by RoboNation. Since 1991, collegiate teams with the backing of industry and government have fielded autonomous flying robots in an attempt to perform missions requiring robotic behaviors not previously exhibited by a flying machine. The term “aerial robotics” was coined by competition creator Robert Michelson in 1990 to describe a new class of small highly intelligent flying machines. Successive years of competition saw these aerial robots grow from vehicles that could barely maintain themselves in the air, to automatons which are self-stable, self-navigating, and able to interact with their environment. The goal of the competition has been to provide a reason for the state-of-the-art of aerial robotics to move forward. Challenges have been geared towards producing advances. From 1991 through 2009, six missions were proposed. Each involved fully autonomous robotic behavior undemonstrated at the time. In October 2013 a seventh mission was proposed. It was the first to involve interaction between aerial robots and multiple ground robots. In 2016, the competition and its creator were recognized during the Georgia legislative session in the form of a senate resolution as the longest running aerial robotics competition in the world. == History == === First mission === The initial mission to move a metallic disc from one side of an arena to the other was seen by many as almost impossible. The college teams improved their entries over the next two years when the competition saw its first autonomous takeoff, flight, and landing by a team from the Georgia Institute of Technology. In 1995, a team from Stanford University was able to acquire a single disk and move it from one side of the arena to the other in a fully autonomous flight—half. === Second mission === The competition mission was toughened and made less abstract by requiring teams to search for a toxic waste dump, map the location of partially buried randomly oriented toxic waste drums, identify the contents of each drum from the hazard labels on the outside of each drum, and bring a sample back from one of the drums. In 1996, a team from the Massachusetts Institute of Technology and Boston University, with backing from Draper Labs, created a small fully autonomous flying robot that repeatedly and correctly mapped the location of all five of the toxic waste drums, and correctly identified the contents of two from the air, completing approximately seventy five percent of the mission. The following year, an aerial robot developed by a team from Carnegie Mellon University completed the entire mission. === Third mission === The third mission began in 1998. It was a search and rescue mission requiring fully autonomous robots to take off, fly to a disaster area and search amid fires, broken water mains, clouds of toxic gas, and rubble. The scenario was recreated at the U.S. Department of Energy's Hazardous Material Management and Emergency Response (HAMMER) training facility. Because of the realism of the scenario, animatrons were used instead of human actors to simulate survivors incapable of extracting themselves from the disaster area. An aerial robot from Germany's Technische Universität Berlin was able to detect and avoid all of the obstacles, identify all the dead on the ground and the survivors (distinguishing between the two based on movement), and relay pictures of the survivors along with their locations back to first responders who would attempt a rescue. This mission was completed in 2000. === Fourth mission === The fourth mission was initiated in 2001. It involved three scenarios requiring the same autonomous behavior: a hostage rescue mission where a submarine 3 kilometers off the coast must send an aerial robot to find a coastal city, identify the embassy where hostages are being held, locate valid openings in the embassy building, enter (or send in a sensor probe/subvehicle) and relay pictures of the hostages 3 km to the submarine prior to mounting an amphibious assault on the embassy to free the hostages; the discovery of an ancient mausoleum where a virus had killed the archaeological team, who had radioed that an important and undocumented tapestry was hanging inside, with 15 minutes to send an autonomous aerial robot to find the mausoleum, enter it (or send in a sensor probe/subvehicle) and relay pictures of the tapestry back prior to the destruction of the mausoleum and its contents; and an explosion at a nuclear reactor facility where scientists must send in an aerial robot to find the operating reactor building, enter the building (or send in a sensor probe/subvehicle) and relay pictures of the control panels to determine if a melt-down is imminent. All three missions involved the same elements of ingress, locating, identification, entry, and relaying pictures within 15 minutes. It was conducted at the U.S. Army's Fort Benning Soldier Battle Lab using the McKenna MOUT (Military Operations on Urban Terrain) site. The fourth mission was completed in 2008 with 27 teams who had demonstrated each of the required aerial robotic behaviors, except being able to demonstrate these behaviors in under 15 minutes—a feat considered by the judges to be inevitable given more time, and therefore no longer a significant challenge. Thus the fourth mission was terminated, $80,000 in awards distributed, and the fifth mission established. === Fifth mission === The fifth mission picked up where the fourth mission left off by demonstrating the fully autonomous aerial robotic behaviors necessary to rapidly negotiate the confined internal spaces of a structure once it has been penetrated by an air vehicle. The nuclear reactor complex explosion scenario of the fourth mission was used as the backdrop for the fifth mission. The fifth mission required a fully autonomous aerial vehicle to penetrate the structure and negotiate the more complex interior space containing hallways, small rooms, obstacles, and dead ends in order to search for a designated target without the aid of global-positioning navigational aids, and relay pictures back to a monitoring station some distance from the structure. The First Symposium on Indoor Flight Issues was held in conjunction with this 2009 IARC event. === Sixth mission === The sixth mission began in 2010 as an extension of the fifth mission theme of autonomous indoor flight behavior, however it demanded more advanced behaviors than were possible by any aerial robot extant in 2010. This espionage mission involved covertly stealing a flash drive from a particular room in a building and depositing an identical drive to avoid detection of the theft. The 2010 Symposium on Indoor Flight Issues was held concurrently at the University of Puerto Rico - Mayagüez during the 20th anniversary competition. === Seventh mission === The seventh mission began in 2014 demanding more advanced behaviors than were possible by any aerial robot extant in 2014. A single autonomous aerial robot had to herd up to 10 autonomous ground robot targets across one designated end of a 20m x 20m (65.62 feet x 65.62 feet) arena in under 10 minutes. The arena had neither walls for SLAM mapping nor GPS availability. Techniques such as optical flow or optical odometry were possible solutions to navigation within the arena. Collisions with obstacle ground robots ended the run with no score. The autonomous aerial robots interacted with the ground robots in the following way: if an aerial robot touched the ground robot on top, the ground robot would turn clockwise 45°. If the aerial robot blocked its forward motion by landing in front of it, the ground robot would reverse direction. Ground robots that feely escaped the arena, counted against the aerial robot's overall score, so the autonomous aerial robots had to decide which ground robots were in imminent danger of crossing any boundary except the designated one, and redirect them toward the designated boundary.Zhejiang University was the overall winner of Mission 7, of 52 teams from 12 nations entered as competitors. === Eighth mission === In 2018, the 8th mission was announced. Mission 8 focused on non-electronic human-machine interaction for the first time, with four aerial robots assisting humans to complete tasks that one person could not independently accomplish. The gist of mission 8 involved a swarm of autonomous aerial robots working with a human to achieve a task in the presence of hostile "Sentry aerial robots" which were trying to impede the human. In 2018, the inaugural year of mission 8, the American Venue was held on the campus of the Georgia Institute of Technology in Atlanta, Georgia, and the Asia/Pacific Venue was conducted at Beihang University in Beijing China. The following year, Mission 8 was successfully completed in Kunming China at the Yunnan Innovation

    Read more →
  • Spanner (database)

    Spanner (database)

    Spanner is a distributed SQL database management and storage service developed by Google. It provides features such as global transactions, strongly consistent reads, and automatic multi-site replication and failover. Spanner is used in Google F1, the database for its advertising business Google Ads, as well as Gmail and Google Photos. == Features == Spanner stores large amounts of mutable structured data. Spanner allows users to perform arbitrary queries using SQL with relational data while maintaining strong consistency and high availability for that data with synchronous replication. Key features of Spanner: Transactions can be applied across rows, columns, tables, and databases within a Spanner universe. Clients can control the replication and placement of data using automatic multi-site replication and failover. Replication is synchronous and strongly consistent. Reads are strongly consistent and data is versioned to allow for stale reads: clients can read previous versions of data, subject to garbage collection windows. Supports a native SQL interface for reading and writing data. Support for Graph Query Language == History == Spanner was first described in 2012 for internal Google data centers. Spanner's SQL capability was added in 2017 and documented in a SIGMOD 2017 paper. It became available as part of Google Cloud Platform in 2017, under the name "Cloud Spanner". == Architecture == Spanner uses the Paxos algorithm as part of its operation to shard (partition) data across up to hundreds of servers. It makes heavy use of hardware-assisted clock synchronization using GPS clocks and atomic clocks to ensure global consistency. TrueTime is the brand name for Google's distributed cloud infrastructure, which provides Spanner with the ability to generate monotonically increasing timestamps in data centers around the world. Google's F1 SQL database management system (DBMS) is built on top of Spanner, replacing Google's custom MySQL variant.

    Read more →
  • Wonder.land

    Wonder.land

    Wonder.land (stylised as wonder.land) is a musical with music by Damon Albarn and lyrics and book by Moira Buffini. Inspired by Lewis Carroll's novels Alice's Adventures in Wonderland (1865) and Through the Looking-Glass (1871), it had its world premiere at the Palace Theatre in Manchester in July 2015 as part of the Manchester International Festival. The musical moved to London's Royal National Theatre in November 2015 before opening at the Théâtre du Châtelet in Paris in 2016. Licencing for potential future smaller scale productions is held by United Agents UK. == Background == The musical is inspired by the novels Alice in Wonderland and Through the Looking-Glass, written by Lewis Carroll. It was announced on 21 January 2015 that the show would premiere in July of that year as part of the Manchester International Festival, with tickets going on sale the following day. The musical, a co-production by the Manchester International Festival, the Royal National Theatre and the Théâtre du Châtelet in Paris, marks the 150th anniversary of the publication of Alice's Adventures in Wonderland. The idea for a musical based on Alice in Wonderland came from Manchester International Festival artistic director Alex Poots. Damon Albarn had collaborated with the festival on Monkey: Journey to the West and Dr Dee. The musical has a book by Moira Buffini. It was directed by Rufus Norris, with set design by Rae Smith, costume design by Katrina Lindsay, lighting design by Paule Constable, projections by 59 Productions and choreography by Javier De Frutos. The musical's score was composed by Damon Albarn, with lyrics by Moira Buffini, sound design by Paul Arditti and musical direction by David Shrubsole. == Production history == The musical began previews at the Palace Theatre in Manchester on 29 June 2015. It opened on 2 July for a limited run until 12 July. A revised version moved to the Royal National Theatre, where it ran at the Olivier Theatre from 27 November 2015 to 30 April 2016. The production had a limited run, from 7 to 16 June 2016, at the Theatre Du Chatelet in Paris. == Synopsis == This synopsis is based on the final version, as seen at the National Theatre and the Théâtre du Châtelet. Earlier performances significantly differed in songs and plot. === Act 1 === AI, the MC, explains that virtual technology is "a portal to boundless lands" ("Prologue"). Aly's mother, Bianca, is exasperated with her for spending the weekend indoors on her phone. Aly accompanies Bianca to the supermarket, and thinks that her life is being ruined by her parents due to dysfunctional problems ("Who's Ruining Your Life?") Her alcoholic father, Matt, is also at the supermarket; he and Bianca argue about their divorce and his gambling. Aly goes home and picks up her phone. She tries to engage with schoolmates, who bully her ("Network"). Aly begins to wish that she is someone else. She finds the virtual online game Wonder.land. In its strange world, Aly creates an avatar: beautiful, kind Alice ("Wonder.land"). Wonder.land has one rule: malice causes deletion from the game. Aly and Alice become friends and encounter the Cheshire Cat, who explains that you can be anyone you want ("Fabulous"). Aly decides to go on a quest; Alice follows the white rabbit down a hole, falling past unusual objects and musical notes ("Falling"). The next morning, Aly is too distracted by Wonder.land to listen to Bianca's complaints about her baby brother Charlie. She plays the game at school before her phone is confiscated by stern headmistress Ms Manxome, who tells her students that taking pleasures from them is for their own good ("I'm Right"). Aly goes to Ms Manxome's office to retrieve her phone. Ms Manxome returns it, warning that if she catches her with it again, "it's a beheading – I mean, detention." Aly sees the girls who bullied her, and they bully her again until a teacher arrives. Aly's friend, Luke, is late and is given detention. Aly goes on her phone and takes out her frustration and sadness on Alice, whose tears form a pool until she is interrupted by the quarrelsome twins Dum and Dee ("Freaks"). Alice tries to befriend them, but they insult her and Aly makes her fight them. Dum and Dee cry, and Aly and Alice see a large mouse who is attracted by Alice's fighting. They are joined by the Dodo, the Mock Turtle and Humpty, who all have problems. The Dodo is stressed because his parents want him to save the planet; Dum and Dee are dancers who hate pressure; Humpty has problems with her parents; the Mock Turtle lacks self-esteem, and the mouse is lustful. Wonderland is a hiding place from teenage life ("Crap Life"). Aly returns to reality when asked a math question she cannot answer. Confronting the three bullies, Aly mocks the facial hair of one and hides in the bathroom. She again immerses herself in Wonder.land, where Alice meets a Caterpillar who is obsessed with identity ("Who are You?"). Aly is interrupted by the girls, who ridicule her father's gambling addiction and poverty before beating her up. Aly seeks understanding from Alice, who tries to get Aly to tell her what is wrong. Aly tells Alice about her family and how she hates her life, and is surprised that Alice has similar problems ("Secrets"). Luke comes into the girls' bathroom because Kieran has threatened him with violence, and hides in a cubicle when Kieran enters. Aly defends Luke, and makes Kieran leave. Luke reveals that the reason Kieran hates him is because, like himself, he is gay. Aly is amazed, and they skip class and play games on their phones. Luke plays Zombie Swarm, and Aly plays Wonder.land. Ms Manxome enters the bathroom; Luke hides his phone, but Aly does not. Ms Manxome confiscates the phone for three months, and Aly and Luke leave. Ms Manxome finds that Aly did not lock her phone, and Alice is calling her. Ms Manxome begins to talk to her, and Alice thinks she is talking to Aly. Aly complains to Luke about her phone being taken away. Matt then takes them out for tea to celebrate his new job at the local garden centre ("In Clover"). At the tea shop, Matt maniacally dances on the tables and plays with spoons; asked to stop, he punches a waiter. Bianca arrives, and they argue again. Aly begins to notice that Wonder.land is invading reality; the MC emerges from a gigantic teapot, and the landscape outside becomes surreal ("Chances"). === Act 2 === Ms Manxome manipulates Alice around Wonder.land on Aly's phone, buys many things, and makes Alice's hair red ("Entre Act"). She tells Alice about her plans to dominate and destroy the online world, and Alice thinks she is talking to Aly ("Me"). Aly, Matt, Bianca, and Charlie are at the police station. PC Rook unsuccessfully tries to get Matt to make a statement (since he is charged with assault and affray), but Matt and Bianca argue again. Aly laments the loss of her family's unity ("Heartless Useless"). In Wonder.land, Ms Manxome is hostile when she meets Dum and Dee, the Mock Turtle, the Dodo, Humpty and the Mouse. She makes Alice chase them away, but Alice and Ms Manxome are driven away by Alice's friends, who are worried about the change in her ("Me (Reprise)"). Bianca learns that Aly missed a detention and had her phone confiscated. Concerned that she is losing Aly to technology, she bans her from the internet ("Gadget"). Charlie vomits, and Aly is left to clean it up. She looks for an internet cafe to go to Wonder.land, the only place she is truly happy ("Everyone Loves Charlie"). At the cafe, Aly cannot log into Wonder.land and her avatar seems to be in use. She sees Alice receive a Vorpal sword, bought by Ms Manxome with the money on Aly's phone. Alice is no longer Alice but the Red Queen, and Ms Manxome tells her to kill her friends. Alice, knowing the person controlling her is not Aly, cannot rebel; she lashes out at her friends, bullying and trying to hurt them. The MC warns that Alice has a deletion warning – any more malice, and she will be deleted. Aly now knows that Ms Manxome controls her phone and avatar ("O Children"). Aly enlists Luke to help and decides to break into Ms. Manxome's office to retrieve the phone. Luke agrees to meet her at the school gates. Matt and Bianca wonder if they should reconcile ("Man of Broken Glass"). At the school, Luke is reluctant to get involved; Aly decides to break into the office anyway. Luke contacts the girls who bullied Aly and tells them about Ms Manxome playing on Aly's stolen phone. They decide to spread the word that it is not Aly ("Fabulous (Reprise)"). Bianca goes to the police because Aly is missing, and gives her phone to Matt. Aly is likely to also be in Wonder.land. The avatars prepare for war against Alice but disagree about a strategy. At the police station, Matt hacks into Wonder.land sees Alice, and realizes that she is controlled by someone other than Aly. The White Rabbit appears (delighting Alice), but Ms Manxome makes Alice push him aside. The borderline between Wonder.land and

    Read more →
  • Paranoia (role-playing game)

    Paranoia (role-playing game)

    Paranoia is a dystopian science-fiction tabletop role-playing game originally designed and written by Greg Costikyan, Dan Gelber, and Eric Goldberg, and first published in 1984 by West End Games. Since 2004 the game has been published under license by Mongoose Publishing. The game won the Origins Award for Best Roleplaying Rules of 1984 and was inducted into the Origins Awards Hall of Fame in 2007. Paranoia is notable among tabletop games for being more competitive than co-operative, with players encouraged to betray one another for their own interests, as well as for keeping a light-hearted, tongue in cheek tone despite its dystopian setting. Several editions of the game have been published since the original version, and the franchise has spawned several spin-offs, novels and comic books based on the game. == Premise == The game is set in a dystopian future city controlled by the Computer (also known as "Friend Computer"), and where information (including the game rules) are restricted by color-coded "security clearance". Player characters are initially enforcers of the Computer's authority known as Troubleshooters, and are given missions to seek out and eliminate threats to the Computer's control. They are also part of prohibited underground movements, and have secret objectives including theft from and murder of other player characters. == Tone == Paranoia is a humorous role-playing game set in a dystopian future along the lines of Nineteen Eighty-Four, Brave New World, Logan's Run, and THX 1138; however, the tone of the game is rife with black humor, frequently tongue-in-cheek rather than dark and heavy. Most of the game's humor is derived from the players' (usually futile) attempts to complete their assignment while simultaneously adhering to the Computer's arbitrary, contradictory and often nonsensical security directives. The Paranoia rulebook is unusual in a number of ways; demonstrating any knowledge of the rules is forbidden, and most of the rulebook is written in an easy, conversational tone that often makes fun of the players and their characters, while occasionally taking digs at other notable role-playing games. === Setting === The game's main setting is an immense, futuristic city called Alpha Complex. Alpha Complex is controlled by the Computer, a civil service AI construct (a literal realization of the "Influencing Machine" that some schizophrenics fear). The Computer serves as the game's principal antagonist, and fears a number of threats to its 'perfect' society, such as the Outdoors, mutants, and secret societies (especially Communists). To deal with these threats, the Computer employs Troubleshooters, whose job is to go out, find trouble, and shoot it. Player characters are usually Troubleshooters, although later game supplements have allowed the players to take on other roles, such as High-Programmers of Alpha Complex. The player characters frequently receive mission instructions from the Computer that are incomprehensible, self-contradictory, or obviously fatal if adhered to, and side-missions (such as Mandatory Bonus Duties) that conflict with the main mission. Failing a mission generally results in termination of the player character, but succeeding can just as often result in the same fate, after being rewarded for successfully concluding the mission. They are issued equipment that is uniformly dangerous, faulty, or "experimental" (i.e., almost certainly dangerous and faulty). Additionally, each player character is generally an unregistered mutant and a secret society member (which are both termination offenses in Alpha Complex), and has a hidden agenda separate from the group's goals, often involving stealing from or killing teammates. Thus, missions often turn into a comedy of errors, as everyone on the team seeks to double-cross everyone else while keeping their own secrets. The game's manual encourages suspicion between players, offering several tips on how to make the gameplay as paranoid as possible. Every player's character is assigned six clones, known as a six-pack, which are used to replace the preceding clone upon his or her death. The game lacks a conventional health system; most wounds the player characters can suffer are assumed to be fatal. As a result, Paranoia allows characters to be routinely killed, yet the player can continue instead of leaving the game. This easy spending of clones tends to lead to frequent firefights, gruesome slapstick, and the horrible yet humorous demise of most if not all of the player character's clone family. Additional clones can be purchased if one gains sufficient favour with the Computer. === Security clearances === Paranoia features a security clearance system based on colors of the visible spectrum which heavily restricts what the players can and cannot legally do; everything from corridors to food and equipment have security restrictions. The lowest rating is Infrared, but the lowest playable security clearance is Red; the game usually begins with the characters having just been promoted to Red grade. Interfering with anything which is above that player's clearance carries significant risk. The full order of clearances from lowest to highest is Infrared (visually represented by black), Red, Orange, Yellow, Green, Blue, Indigo, Violet, and Ultraviolet (visually represented by white). Within the game, Infrared-clearance citizens live dull lives of mindless drudgery and are heavily medicated, while higher clearance characters may be allowed to demote or even summarily execute those of a lower rank and those with Ultraviolet clearance are almost completely unrestricted and have a great deal of access to the Computer; they are the only citizens that may (legally) access and modify the Computer's programming, and thus Ultraviolet citizens are also referred to as "High Programmers". Security clearance is not related to competence but is instead the result of the Computer's often insane and unjustified calculus of trust concerning a citizen. It is suggested that it may in fact be the High Programmers' meddling with The Computer's programming that resulted in its insanity. === Secret societies === In the game, secret societies tend to be based on sketchy and spurious knowledge of historical matters. For example, previous editions included societies such as the "Seal Club" that idolizes the Outdoors but is unsure what plants and animals actually look like. Other societies include the Knights of the Circular Object (based on the Knights of the Round Table), the Trekkies, and the First Church of Christ Computer Programmer. In keeping with the theme of paranoia, many secret societies have spies or double agents in each other's organizations. The first edition also included secret societies such as Programs Groups (the personal agents and spies of the High Programmers at the apex of Alpha Complex society) and Spy For Another Alpha Complex. The actual societies which would be encountered in a game depends on the play style; some societies are more suited for more light-hearted games (Zap-style, or the lighter end of Classic), whereas others represent a more serious threat to Alpha Complex and are therefore more suitable for Straight or the more dark sort of Classic games. == Publication history == Six editions have been published. Three of these were published by West End Games — the first, second, and fifth editions — whereas the later three editions (Paranoia XP, the 25th Anniversary edition and the "Red Clearance" edition) were published by Mongoose Publishing. In addition to these six published editions, it is known that West End Games were working on a third edition — to replace the poorly received fifth edition — in the late 1990s, but their financial issues would prevent this edition from being published, except for being included in one tournament adventure. === First edition === The first edition, was written by Greg Costikyan, Dan Gelber, and Eric Goldberg, and published in 1984 by West End Games. In 1985, this edition of Paranoia won the Origins Award for Best Roleplaying Rules of 1984. This edition, while encouraging dark humour in-game, took a fairly serious dystopian tone; the supplements and adventures released to accompany it emphasised the lighter side, however, establishing the freewheeling mix of slapstick, intra-team backstabbing and satire that is classically associated with a game of Paranoia. === Second edition === The second edition, is credited to Costikyan, Gelber, Goldberg, Ken Rolston, and Paul Murphy, was published in 1987 by West End Games. This edition can be seen as a response to the natural development of the line towards a rules-light, fast and entertaining play style. Here, the humorous possibilities of life in a paranoid dystopia are emphasised, and the rules are simplified. ==== Metaplot and the second edition ==== Many of the supplements released for the second edition fall into a story arc set up by new writers and line editors

    Read more →