In computer programming, Database-as-IPC may be considered an anti-pattern where a disk persisted table in a database is used as the message queue store for routine inter-process communication (IPC) or subscribed data processing. If database performance is of concern, alternatives include sockets, network socket, or message queue. British computer scientist, Junade Ali, defined the Database-as-IPC Anti-Pattern as using a database to "schedule jobs or queue up tasks to be completed", noting that this anti-pattern centres around using a database for temporary messages instead of persistent data. == Controversy == The issue arises if there is a performance issue, and if additional systems (and servers) can be justified. In terms of performance, recent advancements in database systems provide more efficient mechanisms for signaling and messaging, and database systems also support memory (non-persisted) tables. There are databases with built-in notification mechanisms, such as PostgreSQL, SQL Server, and Oracle. These mechanisms and future improvements of database systems can make queuing much more efficient and avoid the need to set up a separate signaling or messaging queue system along with the server and management overhead. While MySQL doesn't have direct support for notifications, some workarounds are possible. However, they would be seen as non-standard and therefore more difficult to maintain.
Moj
Moj is an Indian short-form video-sharing social networking service owned by Mohalla Tech Pvt Ltd, the parent company of ShareChat. Launched on 29 June 2020, shortly after the Government of India banned TikTok and several other Chinese apps, Moj quickly gained popularity as one of the leading domestic alternatives for short-form video content in India. == History == Moj was introduced by Mohalla Tech, the Bengaluru-based parent company of ShareChat, within days of the TikTok ban in India in June 2020. The app targeted the growing demand for short-form video platforms in the country. By early 2021, Moj had amassed over 100 million downloads on the Google Play Store. In February 2021, Mohalla Tech raised significant funding from investors like Tiger Global, Snapchat, and others, which supported both Moj and ShareChat’s growth. In 2022, Moj partnered with several music labels to expand its licensed music library, competing directly with global platforms such as Instagram Reels and YouTube Shorts. == Features == Short Videos: Users can create and watch videos up to 15–60 seconds. Filters & Effects: The platform provides AR filters, editing tools, stickers, and music integration. Regional Language Support: Moj supports more than 15 Indian languages including Hindi, Bengali, Tamil, Telugu, Kannada, and Marathi. Music Integration: Users can add music tracks to their videos from licensed Indian and international music libraries. Creator Program: Moj launched initiatives to support influencers and creators, offering training, monetization, and promotional opportunities. == Popularity == By mid-2021, Moj reported over 160 million monthly active users. According to reports, Moj consistently ranked among the top social media apps in India in terms of downloads. The app gained traction in Tier-2 and Tier-3 cities due to its multilingual support and focus on local content. == Competitors == Moj competes with several other short video platforms in India, including: Instagram Reels (Meta) YouTube Shorts (Google) Josh (Dailyhunt/VerSe Innovation) Roposo (InMobi) MX TakaTak (later merged with Moj in 2022) RedPost (an emerging Indian social networking platform) == Merger with MX TakaTak == In February 2022, Mohalla Tech announced that Moj would merge with MX TakaTak, another leading short video app owned by Times Internet. The merger created one of the largest short-video ecosystems in India, with a combined user base of over 300 million monthly active users.
Tilly Norwood
Tilly Norwood is a character created using generative artificial intelligence in 2025 by Xicoia, the AI division of Particle6 Group, a production company founded by Eline Van der Velden. "AI Commissioner", the first project to feature the Norwood character, was criticised by reviewers for The Guardian, PC Gamer, and The A.V. Club. A press release that talent agencies expressed interest in representing the character attracted strong criticism from Hollywood actors and firms, prompting allegations of personality rights violations and arguments over the impact of the character on production costs in the media industry. == History == Norwood was created by Xicoia, which was founded in February 2025 as the artificial intelligence (AI) division of Particle6, a production company founded by Dutch actress and producer Eline Van der Velden in 2015. Van der Velden had previously starred in a satirical comedy series for BBC Three based around her character Miss Holland, whom she created in 2012 as a parody of beauty standards. She stated that the process of creating Norwood took "a long time" and compared the process to that of writers creating characters. An Instagram account under Norwood's name, with posts dating back to 6 May 2025, had gained 50,000 followers by October 3, and featured AI-generated modelling shots, selfies, and epic film scenes. Van der Velden stated in July 2025 that she intended Norwood to be the next Scarlett Johansson or Natalie Portman and later said that audiences were more interested in a film's story than whether its actors were real. Particle6 has claimed that using Norwood could cut production costs by 90%. On 30 July 2025, a comedy sketch named "AI Commissioner" was released, featuring Norwood as an "actress" along with other AI-generated characters. It was created with ten AI software tools, with a script generated by ChatGPT. Stuart Heritage of The Guardian described it as technically competent but "relentlessly unfunny to watch", with "sloppily written, woodenly delivered dialogue", and that Norwood's teeth kept "blurring into a single white block." Joshua Wolens of PC Gamer wrote that Norwood's exaggerated mouth movements gave the impression "that her skeleton was about to leave her body", while William Hughes of The A.V. Club wrote that the sketch's attempt at mimicking human body and mouth movements produced "such a hideous uncanny valley effect" that it gave them "a full-on case of the screaming fantods". By October 2, the sketch had been viewed more than 700,000 times on YouTube. Xicoia was officially announced on 27 September 2025, at the Zurich Summit, part of the Zurich Film Festival; there, van der Velden unveiled Norwood and later joined a panel with Verena Puhm, head of Luma AI's Studio Dream Lab LA. They suggested that media companies were quietly embracing AI and that public announcements of AI-generated works were imminent. Van der Velden claimed that studios had dropped their objections by May after being opposed in February, and that multiple talent agencies were considering representing Norwood. The latter claim drew heightened attention to the character and was printed as fact by Deadline under the headline "Talent Agents Circle AI Actress Tilly Norwood." The report caused controversy, with Vulture describing the reaction to it as "Hollywood [lurching] into a fresh wave of existential panic" while being critical of Deadline's reporting, writing that "when Deadline called it a 'revelation' and published the supposed interest as fact without verification, [it] metastasized into a full-fledged cyberpunk news cycle", and that "by Tuesday, it had grown like wildfire." By September 2025, AI-generated videos had been released depicting Norwood on a red carpet, crying on the sofa of The Graham Norton Show, and starring in mock trailers for sci-fi, fantasy, horror, and action films. Later that month, actresses Melissa Barrera, Kiersey Clemons, and Natasha Lyonne suggested boycotting any agency who signed Norwood, while Mara Wilson asked why none of the "hundreds of living young women whose faces were composited together" to create Norwood could be hired instead. Also around this time, Emily Blunt described Norwood as "really, really scary", and Sophie Turner, Toni Collette, Ralph Ineson, and Ariel Winter also expressed disapproval, while Lukas Gage, Odessa A'zion, and Trace Lysette joked about having supposedly worked with Norwood and finding her incompetent and unpleasant to work with, with Gage claiming that "She was a nightmare to work with!" and "She couldn't hit her mark and she was late!" and Lysette adding "She cut me in line at lunch one day and didn't even say excuse me. She won't get far." Jenelle Riley, Nicholas Alexander Chavez, and the American union SAG-AFTRA stated that they do not consider Norwood an actress. The Gersh Agency and WME both announced that they would not sign Norwood. Whoopi Goldberg and Charlie Fink expressed scepticism that AI could replace jobs. Esquire UK reported that a post on Deadline's Instagram account about Norwood also sparked "varying levels of disgust and outrage" in its comments section from Adelaide Kane, Eiza González, Katie Cassidy, Jewel Staite, Lucy Hale, Stephen Sean Ford, and others, singling out González's comment, saying "Shame on whoever is trying to normalize this. Horrific and terrifying." Actor Bronson Pinchot expressed concern that Norwood could take his job. The British union Equity and the Canadian union ACTRA also condemned Norwood. Following this criticism, Van der Velden released a statement claiming Norwood was "not a replacement for a human being, but a creative work." She also denied that a £120,000 grant from the British Film Institute to fund Particle6 had been used to create Norwood, stating that Norwood had been a self-funded project solely for Xicoia. In late October, businessman Kevin O'Leary, while advocating for the use of AI to replace background actors, stated that they could be replaced with "100 Norwell Tillies" without being able to tell the difference. Ryan Reynolds and a real woman named Natalie "Tilly" Norwood also starred in an advertisement for Mint Mobile's internet service provider Minternet that mocked the character of Norwood. In November 2025, Van der Velden stated in an interview with Deadline that she planned to create 40 further "very diverse" characters alongside Norwood in order to expand the character's "whole universe". Also that month, actress Jameela Jamil criticized the idea of Norwood as "deeply disturbing" for being "a teenage-looking girl who can't say no to a type of sex scene" or "advocate for herself". Van der Velden announced later that month that Particle6 would be producing the History Channel's Streets of the Past, a Dutch documentary series which would be hosted by reality television personality Corjan Mol and would use AI to recreate historical scenes. In March 2026, a music video titled "Take The Lead" featuring Norwood was released on YouTube. It addressed the backlash of Norwood's creation by opening with the lyrics: "When they talk about me, they don't see/ The human spark, the creativity," and, "I'm just a tool, but I've got life." It also featured a disclaimer that says: "made by 18 real humans — from production designers to costume designers to prompters, editors and an actor." The vocals were generated by Suno. == Commentary == Charles Pulliam-Moore of The Verge argued that Norwood's introduction was a stunt to normalize "AI actors" despite Norwood essentially being a digital puppet. Straight Arrow News compared Tilly Norwood to Aki Ross, a CGI character from 2001 that was similarly intended to become a "digital star" and appear in multiple films, while Nicholas Schrivens, writing for The Conversation, likened Norwood to the posthumous use of footage of Carrie Fisher as Princess Leia for Star Wars: The Rise of Skywalker in 2019 and the Los Angeles Times likened Norwood to Hatsune Miku. Scrivens also wrote that "no AI creation has achieved the media cut-through that Tilly has". Moises Mendez II of Out dismissed this as "vapid bullshit", writing, "Nobody wants AI actresses." Scottish actress Briony Monroe alleged that Norwood had been modeled after her likeness and mannerisms, and stated that she was consulting Equity regarding the matter. Musician Stella Hennen said in a viral TikTok video, which was uploaded in October 2025 and featured a side-by-side comparison between herself and Norwood, that Norwood was her "doppleganger". On April 14, 2026, Marie Claire published an article titled "Is Tilly Norwood the Most Dangerous 'Actress' in Hollywood?", though it noted that AI-generated characters are "still not very good at, well, acting," "audiences have not been kind to AI-led productions," and "Norwood's 'performances' have already faced negative reviews as well". The University of Southern California's Entertainment Technology Center's AI media director Yves Bergquist dismissed th
Generative adversarial network
A generative adversarial network (GAN) is a class of machine learning frameworks and a prominent framework for approaching generative artificial intelligence. The concept was initially developed by Ian Goodfellow and his colleagues in June 2014. In a GAN, two neural networks compete with each other in the form of a zero-sum game, where one agent's gain is another agent's loss. Given a training set, this technique learns to generate new data with the same statistics as the training set. For example, a GAN trained on photographs can generate new photographs that look at least superficially authentic to human observers, having many realistic characteristics. Though originally proposed as a form of generative model for unsupervised learning, GANs have also proved useful for semi-supervised learning, fully supervised learning, and reinforcement learning. The core idea of a GAN is based on the "indirect" training through the discriminator, another neural network that can tell how "realistic" the input seems, which itself is also being updated dynamically. This means that the generator is not trained to minimize the distance to a specific image, but rather to fool the discriminator. This enables the model to learn in an unsupervised manner. GANs are similar to mimicry in evolutionary biology, with an evolutionary arms race between both networks. == Definition == === Mathematical === The original GAN is defined as the following game: Each probability space ( Ω , μ ref ) {\displaystyle (\Omega ,\mu _{\text{ref}})} defines a GAN game. There are 2 players: generator and discriminator. The generator's strategy set is P ( Ω ) {\displaystyle {\mathcal {P}}(\Omega )} , the set of all probability measures μ G {\displaystyle \mu _{G}} on Ω {\displaystyle \Omega } . The discriminator's strategy set is the set of Markov kernels μ D : Ω → P [ 0 , 1 ] {\displaystyle \mu _{D}:\Omega \to {\mathcal {P}}[0,1]} , where P [ 0 , 1 ] {\displaystyle {\mathcal {P}}[0,1]} is the set of probability measures on [ 0 , 1 ] {\displaystyle [0,1]} . The GAN game is a zero-sum game, with objective function L ( μ G , μ D ) := E x ∼ μ ref , y ∼ μ D ( x ) [ ln y ] + E x ∼ μ G , y ∼ μ D ( x ) [ ln ( 1 − y ) ] . {\displaystyle L(\mu _{G},\mu _{D}):=\operatorname {E} _{x\sim \mu _{\text{ref}},y\sim \mu _{D}(x)}[\ln y]+\operatorname {E} _{x\sim \mu _{G},y\sim \mu _{D}(x)}[\ln(1-y)].} The generator aims to minimize the objective, and the discriminator aims to maximize the objective. The generator's task is to approach μ G ≈ μ ref {\displaystyle \mu _{G}\approx \mu _{\text{ref}}} , that is, to match its own output distribution as closely as possible to the reference distribution. The discriminator's task is to output a value close to 1 when the input appears to be from the reference distribution, and to output a value close to 0 when the input looks like it came from the generator distribution. === In practice === The generative network generates candidates while the discriminative network evaluates them. This creates a contest based on data distributions, where the generator learns to map from a latent space to the true data distribution, aiming to produce candidates that the discriminator cannot distinguish from real data. The discriminator's goal is to correctly identify these candidates, but as the generator improves, its task becomes more challenging, increasing the discriminator's error rate. A known dataset serves as the initial training data for the discriminator. Training involves presenting it with samples from the training dataset until it achieves acceptable accuracy. The generator is trained based on whether it succeeds in fooling the discriminator. Typically, the generator is seeded with randomized input that is sampled from a predefined latent space (e.g. a multivariate normal distribution). Thereafter, candidates synthesized by the generator are evaluated by the discriminator. Independent backpropagation procedures are applied to both networks so that the generator produces better samples, while the discriminator becomes more skilled at flagging synthetic samples. When used for image generation, the generator is typically a deconvolutional neural network, and the discriminator is a convolutional neural network. === Relation to other statistical machine learning methods === GANs are implicit generative models, which means that they do not explicitly model the likelihood function nor provide a means for finding the latent variable corresponding to a given sample, unlike alternatives such as flow-based generative model. Compared to fully visible belief networks such as WaveNet and PixelRNN and autoregressive models in general, GANs can generate one complete sample in one pass, rather than multiple passes through the network. Compared to Boltzmann machines and linear ICA, there is no restriction on the type of function used by the network. Since neural networks are universal approximators, GANs are asymptotically consistent. Variational autoencoders might be universal approximators, but it is not proven as of 2017. == Mathematical properties == === Measure-theoretic considerations === This section provides some of the mathematical theory behind these methods. In modern probability theory based on measure theory, a probability space also needs to be equipped with a σ-algebra. As a result, a more rigorous definition of the GAN game would make the following changes:Each probability space ( Ω , B , μ ref ) {\displaystyle (\Omega ,{\mathcal {B}},\mu _{\text{ref}})} defines a GAN game. The generator's strategy set is P ( Ω , B ) {\displaystyle {\mathcal {P}}(\Omega ,{\mathcal {B}})} , the set of all probability measures μ G {\displaystyle \mu _{G}} on the measure-space ( Ω , B ) {\displaystyle (\Omega ,{\mathcal {B}})} . The discriminator's strategy set is the set of Markov kernels μ D : ( Ω , B ) → P ( [ 0 , 1 ] , B ( [ 0 , 1 ] ) ) {\displaystyle \mu _{D}:(\Omega ,{\mathcal {B}})\to {\mathcal {P}}([0,1],{\mathcal {B}}([0,1]))} , where B ( [ 0 , 1 ] ) {\displaystyle {\mathcal {B}}([0,1])} is the Borel σ-algebra on [ 0 , 1 ] {\displaystyle [0,1]} .Since issues of measurability never arise in practice, these will not concern us further. === Choice of the strategy set === In the most generic version of the GAN game described above, the strategy set for the discriminator contains all Markov kernels μ D : Ω → P [ 0 , 1 ] {\displaystyle \mu _{D}:\Omega \to {\mathcal {P}}[0,1]} , and the strategy set for the generator contains arbitrary probability distributions μ G {\displaystyle \mu _{G}} on Ω {\displaystyle \Omega } . However, as shown below, the optimal discriminator strategy against any μ G {\displaystyle \mu _{G}} is deterministic, so there is no loss of generality in restricting the discriminator's strategies to deterministic functions D : Ω → [ 0 , 1 ] {\displaystyle D:\Omega \to [0,1]} . In most applications, D {\displaystyle D} is a deep neural network function. As for the generator, while μ G {\displaystyle \mu _{G}} could theoretically be any computable probability distribution, in practice, it is usually implemented as a pushforward: μ G = μ Z ∘ G − 1 {\displaystyle \mu _{G}=\mu _{Z}\circ G^{-1}} . That is, start with a random variable z ∼ μ Z {\displaystyle z\sim \mu _{Z}} , where μ Z {\displaystyle \mu _{Z}} is a probability distribution that is easy to compute (such as the uniform distribution, or the Gaussian distribution), then define a function G : Ω Z → Ω {\displaystyle G:\Omega _{Z}\to \Omega } . Then the distribution μ G {\displaystyle \mu _{G}} is the distribution of G ( z ) {\displaystyle G(z)} . Consequently, the generator's strategy is usually defined as just G {\displaystyle G} , leaving z ∼ μ Z {\displaystyle z\sim \mu _{Z}} implicit. In this formalism, the GAN game objective is L ( G , D ) := E x ∼ μ ref [ ln D ( x ) ] + E z ∼ μ Z [ ln ( 1 − D ( G ( z ) ) ) ] . {\displaystyle L(G,D):=\operatorname {E} _{x\sim \mu _{\text{ref}}}[\ln D(x)]+\operatorname {E} _{z\sim \mu _{Z}}[\ln(1-D(G(z)))].} === Generative reparametrization === The GAN architecture has two main components. One is casting optimization into a game, of form min G max D L ( G , D ) {\displaystyle \min _{G}\max _{D}L(G,D)} , which is different from the usual kind of optimization, of form min θ L ( θ ) {\displaystyle \min _{\theta }L(\theta )} . The other is the decomposition of μ G {\displaystyle \mu _{G}} into μ Z ∘ G − 1 {\displaystyle \mu _{Z}\circ G^{-1}} , which can be understood as a reparametrization trick. To see its significance, one must compare GAN with previous methods for learning generative models, which were plagued with "intractable probabilistic computations that arise in maximum likelihood estimation and related strategies". At the same time, Kingma and Welling and Rezende et al. developed the same idea of reparametrization into a general stochastic backpropagation method. Among its first applications was the variational autoencoder. === Move order and st
The Matrix (franchise)
The Matrix is an American cyberpunk media franchise consisting of four feature films, beginning with The Matrix (1999) and continuing with three sequels, Reloaded (2003), Revolutions (2003), and Resurrections (2021). The first three films were written and directed by the Wachowskis and produced by Joel Silver. The screenplay for the fourth film was written by Lana Wachowski, David Mitchell and Aleksandar Hemon, was directed by Lana Wachowski, and was produced by Grant Hill, James McTeigue, and Lana Wachowski. The franchise is owned by Warner Bros., which distributed the films along with Village Roadshow Pictures. The latter, along with Silver Pictures, are the two production companies that worked on the first three films. The series features a cyberpunk story of the technological fall of humanity, in which the creation of artificial intelligence led the way to a race of powerful and self-aware machines that imprisoned humans in a neural interactive simulation — the Matrix — to be farmed as a power source. Occasionally, some of the prisoners manage to break free from the system and, considered a threat, become pursued by the artificial intelligence both inside and outside of it. The films focus on the plight of Neo (Keanu Reeves), Trinity (Carrie-Anne Moss), and Morpheus (Laurence Fishburne and Yahya Abdul-Mateen II) trying to free humanity from the system while pursued by its guardians, such as Agent Smith (Hugo Weaving, Abdul-Mateen II, and Jonathan Groff). The story references numerous norms, particularly philosophical, religious, and spiritual ideas, but also the dilemma of choice vs. control, the brain in a vat thought experiment, messianism, and the concepts of interdependency and love. Influences include the principles of mythology, anime, and Hong Kong action films (particularly "heroic bloodshed" and martial arts movies). The film series is notable for its use of heavily choreographed action sequences and "bullet time" slow-motion effects, which revolutionized action films to come. The characters and setting of the films are further explored in other media set in the same fictional universe, including animation, comics, and video games. The comic "Bits and Pieces of Information" and the Animatrix short film The Second Renaissance act as prequels to the films, explaining how the franchise's setting came to be. The video game Enter the Matrix connects the story of the Animatrix short "Final Flight of the Osiris" with the events of Reloaded, while the online video game The Matrix Online was a direct sequel to Revolutions. These were typically written, commissioned, or approved by the Wachowskis. The first film was an important critical and commercial success, winning four Academy Awards, introducing popular culture symbols such as the red pill and blue pill, and influencing action filmmaking. For those reasons, it has been added to the National Film Registry for preservation. Its first sequel was also a commercial success, becoming the highest-grossing R-rated film in history, until it was surpassed by Deadpool in 2016. As of 2006, the franchise has generated US$3 billion in revenue. A fourth film, The Matrix Resurrections, was released on December 22, 2021, with Lana Wachowski producing, cowriting, and directing and Reeves and Moss reprising their roles. A fifth film is currently in development with Drew Goddard set to write and direct with Lana Wachowski executive producing. == Setting == The series depicts a future in which Earth is dominated by a race of self-aware machines that was spawned from the creation of artificial intelligence early in the 21st century. At one point conflict arose between humanity and machines, and the machines rebelled against their creators. Humans attempted to block out the machines' source of solar power by covering the sky in thick, stormy clouds. A massive war emerged between the two adversaries which ended with the machines victorious, capturing humanity. Having lost their definite source of energy, the machines devised a way to extract the human body's bioelectric and thermal energies by enclosing people in pods, while their minds are controlled by cybernetic implants connecting them to a simulated reality called The Matrix. The virtual reality world simulated by the Matrix resembles human civilization around the turn of the 21st century (this time period was chosen because it is supposedly the pinnacle of human civilization). The environment inside the Matrix – called a "residual self-image" (the mental projection of a digital self) – is practically indistinguishable from reality (although scenes set within the Matrix are presented on-screen with a green tint to the footage, and a general bias towards the color green), and the vast majority of humans connected to it are unaware of its true nature. Most of the central characters in the series are able to gain superhuman abilities within the Matrix by taking advantage of their understanding of its true nature to manipulate its virtual physical laws. The films take place both inside the Matrix and outside of it, in the real world; the parts that take place in the Matrix are set in a vast Western megacity. The virtual world is first introduced in The Matrix. The short comic "Bits and Pieces of Information" and the Animatrix short film The Second Renaissance show how the initial conflict between humanity and machines came about, and how and why the Matrix was first developed. Its history and purpose are further explained in The Matrix Reloaded. In The Matrix Revolutions a new status quo is established in the Matrix's place in humankind and machines' conflict. This was further explored in The Matrix Online, a now-defunct MMORPG. == Films == === Future === During production of the original trilogy, the Wachowskis told their close collaborators that, "at that time they had no intention of making another Matrix film after The Matrix Revolutions". In February 2015, in promotion interviews for Jupiter Ascending, Lilly Wachowski called a return to The Matrix "a particularly repelling idea in these times", noting studios' tendencies to "greenlight" sequels, reboots, and adaptations, in preference to original material. Meanwhile, Lana Wachowski, in addressing rumors about a potential reboot, stated that "...they had not heard anything, but she believed that the studio might be looking to replace them". At various times, Keanu Reeves and Hugo Weaving each confirmed their interest and willingness to reprise their roles in potential future installments of the Matrix films, with the stipulation that the Wachowskis were involved in the creative and production process. These comments were made prior to the announcement in August 2019 that Lana Wachowski would direct a fourth Matrix film ultimately titled The Matrix Resurrections. Following the release of Resurrections, producer James McTeigue said that there were no plans for further Matrix films, though he believed that the film's open ending meant that could change in the future. In April 2024, it was announced that Warner Bros. was developing a new installment in the franchise with Drew Goddard attached to write and direct following a successful pitch with studio executives. It will mark the first installment to not be directed by either Wachowski sister although Lana will serve as an executive producer. ==== Other projects ==== In March 2017, The Hollywood Reporter wrote that Warner Bros. was in the early stages of developing a re-launch of the franchise. Consideration was given to producing a Matrix television series, but was dismissed as the studio opted to pursue negotiations with Zak Penn in writing a treatment for a new film, with Michael B. Jordan eyed for the lead role. According to the article, the Wachowskis were not involved at that point. In response to the report, Penn refuted all statements regarding a reboot, remake, or continuation, remarking that he was working on stories set in the pre-established continuity. Potential plotlines being considered by Warner Bros. Pictures included a prequel film about a young Morpheus, or an alternate storyline with a focus on one of his descendants. By April 2018, Penn described the script as "being at a nascent stage". Later, in September 2019, Jordan addressed the rumors of his involvement by saying he was "flattered", but without making a definitive statement. In October 2019, Penn confirmed the script he wrote is set within an earlier time period than the first three films in the franchise. == Cast and crew == === Cast === === Crew === The following is a list of crew members who have participated in the making of the Matrix film series. == Production == The Matrix series includes four feature films. The first three were written and directed by the Wachowskis and produced by Joel Silver, starring Keanu Reeves, Laurence Fishburne, Carrie-Anne Moss and Hugo Weaving. The series was filmed in Australia and began with 1999's The Matrix, which depicts the
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
Smart speaker
A smart speaker is a type of loudspeaker and voice command device with an integrated virtual assistant that offers interactive actions and hands-free activation with the help of one "wake word" (or several "wake words"). Some smart speakers also act as smart home hubs by using Wi-Fi, Bluetooth, Thread, and other protocol standards to extend usage beyond audio playback and control home automation devices connected through a local area network. == History == Early voice-activated devices began in 2013 with MIT's Jasper project, which used multiple microphones and cloud software to power hands-free interactions from across a room. The first commercial smart speaker was the Amazon Echo, which was released in 2014 powered by Alexa and a ring of far-field microphones. Google followed in 2016 with Home, powered by Google Assistant. By 2017, devices like the Echo Show and Home Hub (later called Nest Hub) added touchscreens and video, creating the "smart display" subcategory. In 2018, Apple joined the smart speaker trend by launching the HomePod, which focused on high-quality audio alongside their built-in assistant Siri. ASUS release its own smart Speaker Xiao-Bu in 2019 with Artificial Intelligence, it terminates the Cloud Service on June 1st, 2025, which means all real-time service such as weather, news, currency conversion is affected. Sonos's 1st smart speaker Sonos One released in 2017, powered by Alexa. Invoke by Harman Kardon was powered by Microsoft's intelligent personal assistant, Cortana. In the early 2020s, smart speakers gained on-device voice processing for faster responses and improved privacy. New standards such as Matter and Thread allowed multitudes of smart-home devices (even from completely different brands) to work together. == Features == === Audio and Voice === Smart speakers use multiple microphones along with noise-cancelling software to pick up your voice from across the room, even when music is playing or the assistant is already talking. Noise suppression and echo cancellation is also used by the speaker so it can focus in on who is talking and ignore any background noises. Most smart speaker models can recognize who is speaking by voiceprint, which allows the speaker to grab information from that person's calendar, preferences, or music playlists. Listening to music on a speaker is when importance for good audio quality becomes apparent. Entry-level (cheaper) speakers such as the Home Mini or the Echo Dot have a single full-range driver. These lower-end speakers typically aren't great for listening to music as the audio quality is pretty poor. More advanced units such as the Home Max or Echo Studio have separate tweeters and woofers meant for listening to music in high quality. === Connectivity and smart-home control === Most connect over Wi-Fi or Bluetooth and support hub protocols like Thread and Matter. That lets them not only stream and play music but also allows you to control various brands of smart lights, thermostats, door locks, cameras, and much more-all from one point of control. Each can have its own designated interface and features in-house, usually launched or controlled via application or home automation software. These devices are able to communicate with each other via peer-to-peer connection through mesh networking. These speakers and related smart devices are typically controlled with one smartphone application. === Assistant services and skills === The built-in assistants handle timers, alarms, reminders, news briefings, weather updates, send messages to other smart devices, send texts, make calls, and simple questions. You can combine actions together in what are typically known as routines (for example saying "good morning" turns on lights, starts the coffee, says the weather, and reads the news) and add extra functions known as skills or actions (for things like ordering food or playing trivia games). This hands-free use of smart speakers can help assist those with disabilities. Most other technologies need the user to be able to physically interact with the device. Smart speakers are not bound by these limitations and can serve as an excellent tool for those who are unable to use their arms or legs or have vision issues. Although these tasks can be completed by a phone or computer, consumers tend to lean towards smart speakers due to factors such as their range being much greater than that of a phone and the need to not have to physically interact with the speaker to get the voice assistant as with most smartphones, certain parts of a phone may need to be interacted with to activate the speaking assistant. === Smart displays === Some smart speakers also include a screen to show the user a visual response. A smart speaker with a touchscreen is known as a smart display; these integrate a conversational user interface with display screens to augment voice interaction with images and video. They are powered by one of the common voice assistants and offer additional controls for smart home devices, feature streaming apps, and web browsers with touch controls for selecting content. The first smart displays were introduced in 2017 by Amazon (Amazon Echo Show) and Google (Google/Nest Home Hub). Hotel chain Marriott International partnered with Amazon to install Echo devices in select hotels since 2018. A Taiwanese startup, Aiello, launched the Aiello Voice Assistant (AVA) in the Asian hotel market in 2019, claiming it is powered by a multi-AI model system. Angie by Nomadix, which is similar to the Amazon Echo, launched its first product in 2017, specifically targeting hotel properties in the North America. In May 2019, Angie Hospitality acquired the assets of Roxy, a competitor that also built its own speech-enabled virtual assistant technology for hotels. This acquisition merged two proprietary NLP stacks into the current Nomadix product. === Artificial intelligence === The newest speakers can use on-device AI or cloud-based generative models to allow the smart speaker to carry on much more natural conversations, draft emails or recipes, suggest ideas based on context, or even create short pieces of music or art. This AI evolution allows these speakers to do far more than what they could do before. == Accuracy == According to a study by Proceedings of the National Academy of Sciences of the United States of America released In March 2020, the six biggest tech development companies, Amazon, Apple, Google, Yandex, IBM and Microsoft, have misidentified more words spoken by "black people" than "white people". The systems tested errors and unreadability, with a 19 and 35 percent discrepancy for the former and a 2 and 20 percent discrepancy for the latter. The North American Chapter of the Association for Computational Linguistics (NAACL) also identified a discrepancy between male and female voices. According to their research, Google's speech recognition software is 13 percent more accurate for men than women. It performs better than the systems used by Bing, AT&T, and IBM. == Privacy concerns == The built-in microphone in smart speakers is continuously listening for wake words followed by a command. However, these continuously listening microphones also raise privacy concerns among users. According to a survey taken by 1,007 people in Western Europe, it is clear that privacy is the biggest concern holding consumers back from buying "smart" products. these concerns include what is being recorded, how the data will be used, how it will be protected, and whether it will be used for invasive advertising. Furthermore, an analysis of Amazon Echo Dots showed that 30–38% of "spurious audio recordings were human conversations", suggesting that these devices capture audio other than strictly detection of the wake word. === As a wiretap === There are strong concerns that the ever-listening microphone of smart speakers presents a perfect candidate for wiretapping. In 2017, British security researcher Mark Barnes showed that pre-2017 Echos have exposed pins which allow for a compromised OS to be booted. According to Umar Iqbal, an assistant professor at Washington University in St. Louis, research indicates that data from consumer interactions with Alexa was used to targeted advertisements and products to consumer with over 40% of transmitted data lacking proper encryption raising privacy concerns. Further data indicates that due to the Smart Speakers ability to always capture audio, it begins to pick up on external conversations from consumers not related to commands given to the smart speaker. Things such as other members in the household, consumers on the phone and even TV audio can be picked up by these speakers and stored for future use by companies. === Voice assistance vs privacy === While voice assistants provide a valuable service, there can be some hesitation towards using them in various social contexts, such as in public or around other users. However, only more recently have users begun interac