Are We Dating The Same Guy?, also abbreviated AWDTSG is a series of over 200 individual Facebook groups where women share dating profiles of men they matched with on dating networks to seek the opinion of other women who may have dated the same man in the past. The first group was created by Paola Sanchez and aimed at women living in the New York City environs. The groups have over 3.5 million members as of January 2024. The group's function is to post screenshots of a man's dating profile to that city's designated Facebook group, after which the poster asks "any tea?". Other users in the group will then share information about the man and share warnings. The groups are moderated by volunteers, and have been described as a feminist group. The groups have rules saying that personal information such as addresses must not be included in the Facebook posts. Users attempting to join the group are also examined to prevent fake profiles. The group is mainly for straight women. According to Vice, the men being posted about have no way to defend against accusations made about them, and on the other hand, posters cannot prove their stories unless backed up by others. Often times, members post pictures alongside personal information such as names, which may infringe on subjects' legal right to privacy. Lawyers have said these issues can lead to defamation lawsuits, and members can make false allegations and create fabricated stories. If members tell a man that he's been talked about on the group, the "snitch" will be banned and be "exposed to the whole group". == History == The first Are We Dating The Same Guy group was created by Paola Sanchez. The first group was created in March 2022 in New York City. A male counterpart, named "Are We Dating the Same Girl NYC" was created for New York, with mostly the same guidelines and rules to the original. When the original Are We Dating The Same Guy group found it, they denounced the new group. == Operations == Administrators are told not to respond to men asking to have posts about them removed, and to not remove said posts. The people being posted about have reported being questioned by their employers about things they have not done. Members of the groups sometimes criticise the physical appearance of the men being posted about. According to the Evening Standard, the groups "frequent[ly] mock" the appearance or dating profiles of the men who are posted about, despite being against the rules. For this behaviour, women are sometimes kicked out, or the group is disciplined en masse by admins. The groups have rules against hate towards men, but the rules can be difficult to enforce in large groups, with some having over 100,000 members. Some men have also been able to join the groups without being noticed. == Reception == In October 2023, Sera Bozza of Body+Soul wrote that consistently using Are We Dating The Same Guy can "affect your real-world view". She wrote that "A few stories of cheating may persuade you to believe that all men are unfaithful". Some lawyers and commentators have expressed concern that the groups fail to acknowledge the legal right to privacy and users can create false allegations and fabricated stories, and cyberbully men without them being able to defend themselves. This may lead to civil lawsuits against the author for defamation, harassment, and other related privacy torts. Netsafe, an online safety organisation in New Zealand, advises users of a similar group to familiarise themselves with the Harmful Digital Communications Act to ensure that posts do not lead to "harmful consequences". The Independent reported that men who have been posted on the dating groups have felt violated, and that even if reviewed positively by potentially thousands of strangers, the men being discussed about may have their reputation slightly decreased due to the association with being on the groups. The Independent also reported that some men believe that the groups are created to spread lies or mock them. Mashable reported that the growth of AWDTSG in recent years has led to the rise of a small industry of online reputation and content removal services, as increasing numbers of men seek assistance. A co-founder of Maximatic Media, one such agency offering these removal services, stated that many of the men contacting the firm do so in a state of panic after learning that allegations about them have circulated among tens of thousands of participants without their knowledge. Mashable similarly reported that the growing visibility of AWDTSG and similar platforms has contributed to what commentators describe as a "public trial" dynamic, where subjective accounts about dating behavior are interpreted as factual assessments and can influence a person's reputation among large audiences within their locale. The Oklahoman reported that anonymous, unverified claims in these groups have led some men to experience social and dating repercussions, although legal analysts argue that the benefits of community-based safety networks still outweigh these concerns in modern, app based dating environments. UTV/ITV News reportedly spoke to a man who was posted who alleged he attempted suicide, was clinically dead for three minutes, and spent three weeks in a psychiatric hospital as a result of the posts made about him. Many other men have talked about malicious false claims made about them. Self-described men’s rights activists have taken a dislike to these groups and have gotten multiple North American groups shut down by running campaigns, threatening lawsuits, and mass Facebook reporting. They also have Reddit communities dedicated to getting rid of such groups. Women who have posted in the groups have felt that they have put their safety at risk, with some having been confronted by the men they posted about. The group has been noted for exposing men who use dating apps while already in a relationship, misrepresent their ages, or repeatedly stand up the women they meet through apps, among other bad dating behaviors. For example, some members of the group had matched on a dating site with a man who had, several years prior, killed a stranger while having a mental break. After this information came to light, members of the group were warned. The group has also been noted to be complimentary of some men. == Lawsuits == In 2023, a 41-year-old man sued the administrators of the London group for $35,000 under defamation, alleging that the group "called names, accused of sending lewd photos and of being a bad parent". In January 2024 a man sued Meta, the owner of Facebook, along with Patreon, GoFundMe, and the AWDTSG website, as well as almost 30 group members due to alleged defamation, emotional distress, and invasion of privacy. Claiming that the groups violate anti-doxxing laws and do not fact check, seeking $75,000 in damages. He claims that the group shared fake images of him sending women texts containing harassment, his name and photo. His attorneys claim that if the images were real, they would fall under free speech in the First Amendment. By February, groups had raised $80,000. The Washington Post said that this case caused AWDTSG to "explode into public view". The case was dismissed in 2025 by the United States District Court for the Northern District of Illinois. On May 15, 2026, the United States Court of Appeals for the Seventh Circuit declined to renew the case in D'Ambrosio v. Meta Platforms Inc., et al. The plaintiff and his attorneys, Marc Trent and Aaron Walner of Trent Law Firm, were sanctioned "for frivolously appealing the dismissal of the claims," "misrepresentations of law," in connection with falsified citations included in the plaintiff's brief, and " disputing at oral argument without any evidentiary basis that [the plaintiff] client sent the text message she attributed to him." == By country == === Australia === In Australia, there are groups for multiple cities including Sydney, Melbourne, Adelaide, Perth, Brisbane and Rockhampton with many having several thousand members. The Sydney group has 30,000 members. In March 2023, the Adelaide version of the group, which had 7,000 members, was shut down. In 2024, groups titled "Sis, Are We Dating The Same Guy" stopped accepting new posts after an admin was sued for defamation and had to pay over AU$20,000 in legal fees. The case was settled out of court. The administrator announcing these closures cited a 2021 defamation High Court case involving detainee Dylan Voller, which led to the High Court saying that owners of Facebook groups can be held liable for defamatory comments, even if they did not know the comments had been made. === Canada === In 2023, a group was started for Ottawa. The founder previously was in a relationship full of "cheating and lies", which prompted her to creating the Facebook community. In 2023, the group for Vancouver and British Columbia was shut down after concerns about men being unable to protect themselves against fa
Suno (platform)
Suno is a generative artificial intelligence music creation platform. It is designed to generate music that can include vocals and instrumentation. The platform was initially developed by Suno, Inc., of Cambridge, Massachusetts. Suno has been widely available since December 20, 2023, after the launch of a web application and a partnership with Microsoft, which included Suno as a plugin in Microsoft Copilot. The program operates by producing songs based on text or audio prompts provided by its users. Suno does not disclose the dataset used to train its artificial intelligence. == History == Suno, Inc., was founded by four people: Michael Shulman, Georg Kucsko, Martin Camacho, and Keenan Freyberg. They all worked for Kensho, an AI startup, before starting their own company in Cambridge, Massachusetts. In April 2023, Suno released their open-source text-to-speech and audio model called "Bark" on GitHub. On March 21, 2024, Suno released its V3 version for all users. The new version allowed users to create a limited number of four-minute songs using a free account. Users can pay for more features. In April 2024, a sentimental ballad was generated with Suno based on the text of the MIT License. In June 2024, a lawsuit, led by the Recording Industry Association of America, was filed against Suno and Udio alleging widespread infringement of copyrighted sound recordings. The lawsuit sought to bar the companies from training on copyrighted music, as well as damages of up to $150,000 per work from infringements that have already taken place. On July 1, 2024, a mobile app for Suno was released. On November 19, 2024, Suno upgraded its AI song model program to v4. In January 2025, Michael Shulman remarked on a podcast, "I think the majority of people don't enjoy the majority of the time they spend making music." In March 2025, one day after thousands of musicians including Thom Yorke and ABBA's Björn Ulvaeus signed a letter calling for Suno to stop training its model on copyrighted music, Timbaland endorsed Suno in a video on the company's website. In July 2025, Suno user imoliver signed a record deal with Hallwood Media, which became the first instance of a traditional music label signing an AI-based creator. Hallwood later signed with AI-artist Xania Monet for US$3 million. Monet's songs were generated by Suno AI by poet Telisha Jones. In November 2025, Suno agreed to a $500 million dollar lawsuit settlement, in which Suno would be allowed to train its models on Warner Music Group's music catalog, and WMG would control aspects of AI likeness, music, audio, software, copyrights, AI tools and music created by users on Suno. As part of the settlement, Suno also acquired the concert discovery platform Songkick from WMG. == Controversy == Suno, Inc., has been sued by the Recording Industry Association of America for copyright infringement, and thousands of musicians have signed a letter demanding that the company cease using copyrighted music in their training data. Suno does not disclose the dataset used to train its artificial intelligence.
DataViva
DataViva is an information visualization engine created by the Strategic Priorities Office of the government of Minas Gerais. DataViva makes official data about exports, industries, locations and occupations available for the entirety of Brazil through eight apps and more than 100 million possible visualizations. The first set of datum – also available at ALICEWEB – is provided by MDIC (Ministry of Development, Industry and Foreign Trade) / SECEX (Secretariat of Foreign Trade), an official institution of the Government of Brazil and shows foreign trade statistics for all exporting municipalities in the country. The other database, provided by Ministério do Trabalho e Emprego (MTE – Ministry of Labor and Employment), shows information about all the industries and occupations in Brazil (RAIS – Annual Social Information Report). The platform consists of eight core applications, each of which allows different ways of visualizing the data available. Some applications are descriptive, that is, showing data aggregated at various levels in a simple and comparative way, such as Treemapping. Others are prescriptive, using calculations that allow an analytic visualization of the data, based on theories such as the Product Space. All the applications are generated using D3plus, an open source JavaScript library built on top of D3.js by Alexander Simoes and Dave Landry. Inspired by The Observatory of Economic Complexity, DataViva is an open data, open-source, and free to use tool. It was developed in a partnership with Datawheel, co-founded by MIT Media Lab Professor César Hidalgo, and is maintained by the Government of Minas Gerais.
Online service provider
An online service provider (OSP) can, for example, be an Internet service provider, an email provider, a news provider (press), an entertainment provider (music, movies), a search engine, an e-commerce site, an online banking site, a health site, an official government site, social media, a wiki, or a Usenet newsgroup. In its original more limited definition, it referred only to a commercial computer communication service in which paid members could dial via a computer modem the service's private computer network and access various services and information resources such as bulletin board systems, downloadable files and programs, news articles, chat rooms, and electronic mail services. The term "online service" was also used in references to these dial-up services. The traditional dial-up online service differed from the modern Internet service provider in that they provided a large degree of content that was only accessible by those who subscribed to the online service, while ISP mostly serves to provide access to the Internet and generally provides little if any exclusive content of its own. In the U.S., the Online Copyright Infringement Liability Limitation Act (OCILLA) portion of the U.S. Digital Millennium Copyright Act has expanded the legal definition of online service in two different ways for different portions of the law. It states in section 512(k)(1): (A) As used in subsection (a), the term "service provider" means an entity offering the transmission, routing, or providing of connections for digital online communications, between or among points specified by a user, of material of the user's choosing, without modification to the content of the material as sent or received. (B) As used in this section, other than subsection (a), the term "service provider" means a provider of online services or network access, or the operator of facilities therefore, and includes an entity described in subparagraph (A). These broad definitions make it possible for numerous web businesses to benefit from the OCILLA. == History == The first commercial online services went live in 1969. CompuServe (owned in the 1980s and 1990s by H&R Block) and The Source (for a time owned by The Reader's Digest) are considered the first major online services created to serve the market of personal computer users. Utilizing text-based interfaces and menus, these services allowed anyone with a modem and communications software to use email, chat, news, financial and stock information, bulletin boards, special interest groups (SIGs), forums and general information. Subscribers could exchange email only with other subscribers of the same service. (For a time a service called DASnet carried mail among several online services, and CompuServe, MCI Mail, and other services experimented with X.400 protocols to exchange email until the Internet rendered these outmoded.) Other text-based online services followed such as Delphi, GEnie and MCI Mail. The 1980s also saw the rise of independent Computer Bulletin Boards, or BBSes. (Online services are not BBSes. An online service may contain an electronic bulletin board, but the term "BBS" is reserved for independent dialup, microcomputer-based services that are usually single-user systems.) The commercial services used pre-existing packet-switched (X.25) data communications networks, or the services' own networks (as with CompuServe). In either case, users dialed into local access points and were connected to remote computer centers where information and services were located. As with telephone service, subscribers paid by the minute, with separate day-time and evening/weekend rates. As the use of computers that supported color and graphics, such the Atari 8-bit computers, Commodore 64, TI-99/4A, Apple II, and early IBM PC compatibles, increased, online services gradually developed framed or partially graphical information displays. Early services such as CompuServe added increasingly sophisticated graphics-based front end software to present their information, though they continued to offer text-based access for those who needed or preferred it. In 1985 Viewtron, which began as a Videotex service requiring a dedicated terminal, introduced software allowing home computer owners access. Beginning in the mid-1980s graphics based online services such as PlayNET, Prodigy, and Quantum Link (aka Q-Link) were developed. Quantum Link, which was based on Commodore-only Playnet software, later developed AppleLink Personal Edition, PC-Link (based on Tandy's DeskMate), and Promenade (for IBM), all of which (including Q-Link) were later combined as America Online. These online services presaged the web browser that would change global online life 10 years later. Before Quantum Link, Apple computer had developed its own service, called AppleLink, which was mostly a support network targeted at Apple dealers and developers. Later, Apple offered the short-lived eWorld, targeted at Mac consumers and based on the Mac version of the America Online software. Beginning in 1992, the Internet, which had previously been limited to government, academic, and corporate research settings, was opened to commercial entities. The first online service to offer Internet access was DELPHI, which had developed TCP/IP access much earlier, in connection with an environmental group that rated Internet access. The explosion of popularity of the World Wide Web in 1994 accelerated the development of the Internet as an information and communication resource for consumers and businesses. The sudden availability of low- to no-cost email and appearance of free independent web sites broke the business model that had supported the rise of the early online service industry. CompuServe, BIX, AOL, DELPHI, and Prodigy gradually added access to Internet e-mail, Usenet newsgroups, ftp, and to web sites. At the same time, they moved from usage-based billing to monthly subscriptions. Similarly, companies that paid to have AOL host their information or early online stores began to develop their own web sites, putting further stress on the economics of the online industry. Only the largest services like AOL (which later acquired CompuServe, just as CompuServe acquired The Source) were able to make the transition to the Internet-centric world. A new class of online service provider arose to provide access to the Internet, the internet service provider or ISP. Internet-only service providers like UUNET, The Pipeline, Panix, Netcom, the World, EarthLink, and MindSpring provided no content of their own, concentrating their efforts on making it easy for nontechnical users to install the various software required to "get online" before consumer operating systems came internet-enabled out of the box. In contrast to the online services' multitiered per-minute or per-hour rates, many ISPs offered flat-fee, unlimited access plans. Independent companies sprang up to offer access and packages to compete with the big networks (eg, the-wire.com, 1994 in Toronto and bway.net 1995 in New York). These providers first offered access through telephone and modem, just as did the early online services providers. By the early 2000s, these independent ISPs had largely been supplanted by high speed and broadband access through cable and phone companies, as well as wireless access. The importance of the online services industry was vital in "paving the road" for the information superhighway. When Mosaic and Netscape were released in 1994, they had a ready audience of more than 10 million people who were able to download their first web browser through an online service. Though ISPs quickly began offering software packages with setup to their customers, this brief period gave many users their first online experience. Two online services in particular, Prodigy and AOL, are often confused with the Internet, or the origins of the Internet. Prodigy's Chief Technical Officer said in 1999: "Eleven years ago, the Internet was just an intangible dream that Prodigy brought to life. Now it is a force to be reckoned with." Despite that statement, neither service provided the back bone for the Internet, nor did either start the Internet. == Online service interfaces == The first online service used a simple text-based interface in which content was largely text only and users made choices via a command prompt. This allowed just about any computer with a modem and terminal communications program the ability to access these text-based online services. CompuServe would later offer, with the advent of the Apple Macintosh and Microsoft Windows-based PCs, a GUI interface program for their service. This provided a very rudimentary GUI interface. CompuServe continued to offer text-only access for those needing it. Online services like Prodigy and AOL developed their online service around a GUI and thus unlike CompuServe's early GUI-based software, these online services provided a more robust GUI interface. Early GUI-base
Lossless join decomposition
In database design, a lossless join decomposition is a decomposition of a relation r {\displaystyle r} into relations r 1 , r 2 {\displaystyle r_{1},r_{2}} such that a natural join of the two smaller relations yields back the original relation. This is central in removing redundancy safely from databases while preserving the original data. Lossless join can also be called non-additive. == Definition == A relation r {\displaystyle r} on schema R {\displaystyle R} decomposes losslessly onto schemas R 1 {\displaystyle R_{1}} and R 2 {\displaystyle R_{2}} if π R 1 ( r ) ⋈ π R 2 ( r ) = r {\displaystyle \pi _{R_{1}}(r)\bowtie \pi _{R_{2}}(r)=r} , that is r {\displaystyle r} is the natural join of its projections onto the smaller schemas. A pair ( R 1 , R 2 ) {\displaystyle (R_{1},R_{2})} is a lossless-join decomposition of R {\displaystyle R} or said to have a lossless join with respect to a set of functional dependencies F {\displaystyle F} if any relation r ( R ) {\displaystyle r(R)} that satisfies F {\displaystyle F} decomposes losslessly onto R 1 {\displaystyle R_{1}} and R 2 {\displaystyle R_{2}} . Decompositions into more than two schemas can be defined in the same way. == Criteria == A decomposition R = R 1 ∪ R 2 {\displaystyle R=R_{1}\cup R_{2}} has a lossless join with respect to F {\displaystyle F} if and only if the closure of R 1 ∩ R 2 {\displaystyle R_{1}\cap R_{2}} includes R 1 ∖ R 2 {\displaystyle R_{1}\setminus R_{2}} or R 2 ∖ R 1 {\displaystyle R_{2}\setminus R_{1}} . In other words, one of the following must hold: ( R 1 ∩ R 2 ) → ( R 1 ∖ R 2 ) ∈ F + {\displaystyle (R_{1}\cap R_{2})\to (R_{1}\setminus R_{2})\in F^{+}} ( R 1 ∩ R 2 ) → ( R 2 ∖ R 1 ) ∈ F + {\displaystyle (R_{1}\cap R_{2})\to (R_{2}\setminus R_{1})\in F^{+}} === Criteria for multiple sub-schemas === Multiple sub-schemas R 1 , R 2 , . . . , R n {\displaystyle R_{1},R_{2},...,R_{n}} have a lossless join if there is some way in which we can repeatedly perform lossless joins until all the schemas have been joined into a single schema. Once we have a new sub-schema made from a lossless join, we are not allowed to use any of its isolated sub-schema to join with any of the other schemas. For example, if we can do a lossless join on a pair of schemas R i , R j {\displaystyle R_{i},R_{j}} to form a new schema R i , j {\displaystyle R_{i,j}} , we use this new schema (rather than R i {\displaystyle R_{i}} or R j {\displaystyle R_{j}} ) to form a lossless join with another schema R k {\displaystyle R_{k}} (which may already be joined (e.g., R k , l {\displaystyle R_{k,l}} )). == Example == Let R = { A , B , C , D } {\displaystyle R=\{A,B,C,D\}} be the relation schema, with attributes A, B, C and D. Let F = { A → B C } {\displaystyle F=\{A\rightarrow BC\}} be the set of functional dependencies. Decomposition into R 1 = { A , B , C } {\displaystyle R_{1}=\{A,B,C\}} and R 2 = { A , D } {\displaystyle R_{2}=\{A,D\}} is lossless under F because R 1 ∩ R 2 = A {\displaystyle R_{1}\cap R_{2}=A} and we have a functional dependency A → B C {\displaystyle A\rightarrow BC} . In other words, we have proven that ( R 1 ∩ R 2 → R 1 ∖ R 2 ) ∈ F + {\displaystyle (R_{1}\cap R_{2}\rightarrow R_{1}\setminus R_{2})\in F^{+}} .
Zé Delivery
Zé Delivery is a startup developed by Brazilian drinks company AmBev which offers an app for delivering drinks. The app is available for Android and iOS. Created in 2016 by AmBev's ZX Ventures hub, the service has an international presence in Argentina, Paraguay, Bolivia, Panama and the Dominican Republic. It is also present in more than 300 Brazilian cities. Because it has an extensive category of alcoholic beverages, the service is only used by people over 18. It also offers soft drinks, juices, energy drinks and other non-alcoholic beverages.
Language-Theoretic Security
Language-theoretic security, or LangSec, is an approach to software security that focuses on input handling, complexity, and program design as strategies to improve the verifiability of computer programs. It was introduced in 2005 by Robert J. Hansen and Meredith L. Patterson at BlackHat and in 2011 by Len Sassaman and Patterson. It aims to create a formal description of which software is likely to have security vulnerabilities of particular classes, and why. It considers programs to have an inherent parser component, whether or not explicit, composed of that part of the program which operates on external input before that input is fully parsed. A central hypothesis of language-theoretic security is that vulnerabilities in software increase according to the computational power of the notional input-accepting automaton equivalent to this parser, using the definitions of automata theory. The lower bound on this computational power is the input language complexity of the program. The extent to which reducing this complexity is possible is a function of the specification of the communication protocol or file format the program takes as input. == Parsing as a security mechanism == The behaviour of a program is defined with reference to its expected input. Unexpected input being used by a program is a factor in numerous security bugs, including the so-called Android master key vulnerability (CVE-2013-4787), because accepting unexpected input renders the program's specification ambiguous. In that instance, the unexpected ambiguity came in the form of a ZIP file with duplicate filenames. If a program fully parses its input and only acts on input that unambiguously meets the specification, it follows that the program will avoid these types of vulnerabilities. This is an intentional inversion of the Postel principle. Accepting only unambiguous and valid input is a more formal requirement than input validation or sanitization, and narrows the number of possible but unanticipated program states that can be induced in an application via user input. Conversely, failure to do this is associated with security vulnerabilities. Input sanitization in particular is held to be an inadequate approach to avoiding malicious input because it inherently ignores context-sensitive properties of the input; it can therefore result in paradoxical effects, such as sanitization code activating otherwise inert cross-site scripting payloads in browsers. === Parser differentials === If the language of accepted program input is sufficiently simple, it is possible to verify that two implementations parse the same input language consistently. This is advantageous because it shows no parser differential exists between the two implementations. The requisite level of simplicity is theoretically that for which there is a solution to the equivalence problem. If the two parsers involved in CVE-2013-4787 were equivalent - that is, if they rendered the same output state given the same input state - the vulnerability could not have existed. One strategy for doing this is to publish machine-readable specifications of a format or protocol, and then use a parser generator to generate the parser code. An example of a parser generator built for this purpose is DaeDaLus. The combination of Lex with any of GNU Bison, ANTLR, or Yacc also accomplishes this. However, many parser generators allow the mixing of general purpose code with the parsing definitions, which weakens the guarantees provided by parsing. === Analysis of injection attacks === Injection attacks are generally the result of differences between the serializer (or "unparser") and the corresponding parser at a layer boundary in a system; therefore, they are a special case of parser differentials. In a SQL injection attack, for example, an attacker is able to cause the application with which they are interacting to serialize a SQL query that has different semantics than intended. In the simplest case where the payload ends a string and adds new code, the payload has crossed the code-data boundary in SQL. In language-theoretic security, this is treated as a bug in the serializer of the SQL query, which should instead be written in a way that constrains its possible outputs to those within the scope of the intended query. === Parser combinators === If a parser generator is not used, it is still possible to avoid implementation bugs by using parser combinator such as Nom to implement the parser code. This has the drawback of relying on a programmer correctly translating the specification into the language of the parser generator library, though this task is still less error-prone than hand-coding a parser. == Input format complexity == Complexity in computer programs is associated with security vulnerabilities. Within the domain of language-theoretic security, complexity is described with reference to the computational power of the abstract machine necessary to implement the program, or more particularly, to implement the parser for its input language. This complexity describes whether it is possible to show that there is no unintended or undesired functionality in the program which might be exploitable by an attacker. To be bounded in complexity, the program's input must be well-defined both in terms of form and of semantics. === Weird machines === A weird machine is a model of computation in a program that exists in parallel with, but is distinct from, the intended abstract model of computation in that program. Some classes of weird machine arise from the multi-layered nature of computer programs, or the context in which the programs run; others result from the unanticipated functionality a program has due to its complexity or to software bugs. The more complex the computation model of a program, the more likely it is to implement a weird machine. Depending on context, the weird machine may or may not be concretely useful for an attacker. Since the space of weird machines in the context of some program is the universe of all possible states that are not within the program's intended states, many exploited states including remote code execution and injection attacks belong to the domain of weird machines. A reduction in weird machines is therefore a likely correlate with reduced program vulnerability. === SafeDocs project === SafeDocs is a DARPA project undertaken in 2018 to take existing file formats, create safer subsets of them, and develop programming tools to work for the safer formats. The initial test case for this was PDF. The purpose of creating safer subsets in this case is to lower the minimum bound on parser complexity so that it becomes possible to create tools that will generate correct, normative parsers for them. == Relation to programming languages == The analytic framework of language-theoretic security assumes programs to be virtual machines that execute their input. A document that is read by an application is in this sense a form of machine code, in a generalization of the data as code idea, following the automata theory description of parsers. === Type-safe programming languages === Parsing input and serializing output are operations that consume one data type and emit another. A programming language can therefore check that data is correctly parsed and contains the expected structure by checking data types, and correct serializing (or unparsing) can be implemented as operations on the data types that are relevant to the program's output. This approach can be used to show that the recognizer and unparser patterns have been implemented. It is also possible to implement type checking across a distributed system to enforce parsing and unparsing of the expected structures and to verify that the assumptions made in designing the compositional properties of a distributed system have been followed. === Memory-safe programming languages === In the general case, spatial memory correctness is undecidable. If any proof of spatial memory correctness is to be made, it is therefore necessary to bound the complexity of the code. Interpreted languages such as Java and Python effectively accomplish this via runtime bounds checking, and frameworks for runtime bounds checking also exist for C. The effect of these strategies for spatial memory correctness are to create a halt state in place of a spatial memory correctness violation; therefore, it can be shown that the program will not violate spatial memory correctness, but in exchange, it cannot be shown in the general case that programs will not have runtime bounds checking exceptions. Some programming languages, such as Rust, accomplish this using borrow checking. The borrow checker acts to assure spatial memory correctness by compile-time reference counting. Code for which spatial memory correctness cannot be shown to not be violated therefore does not compile, inherently limiting the complexity of the spatial memory correctness of the program to what is decidable. Thi