AI Data Room

AI Data Room — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • RCUDA

    RCUDA

    rCUDA, which stands for Remote CUDA, is a type of middleware software framework for remote GPU virtualization. Fully compatible with the CUDA application programming interface (API), it allows the allocation of one or more CUDA-enabled GPUs to a single application. Each GPU can be part of a cluster or running inside of a virtual machine. The approach is aimed at improving performance in GPU clusters that are lacking full utilization. GPU virtualization reduces the number of GPUs needed in a cluster, and in turn, leads to a lower cost configuration – less energy, acquisition, and maintenance. The recommended distributed acceleration architecture is a high performance computing cluster with GPUs attached to only a few of the cluster nodes. When a node without a local GPU executes an application needing GPU resources, remote execution of the kernel is supported by data and code transfers between local system memory and remote GPU memory. rCUDA is designed to accommodate this client-server architecture. On one end, clients employ a library of wrappers to the high-level CUDA Runtime API, and on the other end, there is a network listening service that receives requests on a TCP port. Several nodes running different GPU-accelerated applications can concurrently make use of the whole set of accelerators installed in the cluster. The client forwards the request to one of the servers, which accesses the GPU installed in that computer and executes the request in it. Time-multiplexing the GPU, or in other words sharing it, is accomplished by spawning different server processes for each remote GPU execution request. == rCUDA v20.07 == The rCUDA middleware enables the concurrent usage of CUDA-compatible devices remotely. rCUDA employs either the InfiniBand network or the socket API for the communication between clients and servers. rCUDA can be useful in three different environments: Clusters. To reduce the number of GPUs installed in High Performance Clusters. This leads to energy savings, as well as other related savings like acquisition costs, maintenance, space, cooling, etc. Academia. In commodity networks, to offer access to a few high performance GPUs concurrently to many students. Virtual Machines. To enable the access to the CUDA facilities on the physical machine. The current version of rCUDA (v20.07) supports CUDA version 9.0, excluding graphics interoperability. rCUDA v20.07 targets the Linux OS (for 64-bit architectures) on both client and server sides. CUDA applications do not need any change in their source code in order to be executed with rCUDA.

    Read more →
  • Global call for AI red lines

    Global call for AI red lines

    The global call for AI red lines is a declaration made on 22 September 2025 calling on governments to define and internationally prohibit unacceptable AI uses and behaviors. The online declaration was announced by Nobel Peace Prize laureate Maria Ressa at the 80th United Nations General Assembly high-level week. The declaration was initially signed by 200 prominent politicians and scientists, including 10 Nobel Prize winners. The call does not specify which red lines to set, but suggests several, such as banning bioweapon design, mass surveillance or AI impersonation. == The declaration == The declaration was published online as an open letter on 22 September 2025. Nobel Peace Prize laureate Maria Ressa announced it in her opening speech at the 80th United Nations General Assembly high-level week in New York, urging governments to "define what AI should never be allowed to do" and "establish clear international boundaries to prevent universally unacceptable risks for A.I." The initiative was organized by three nonprofit organisations: the French Center for AI Safety (CeSIA), The Future Society, and the Center for Human-Compatible Artificial Intelligence (CHAI). The letter argues that humanity faces risks such as engineered pandemics, widespread disinformation, large-scale manipulation, unemployment and loss of control. Proponents argue that national laws are insufficient to address these risks and that "an international agreement on clear and verifiable red lines is necessary". They urge governments to reach an agreement by the end of 2026, and called for robust enforcement mechanisms and the creation of an independent organisation to implement it. The letter does not call for specific red lines, but suggests the possibility of banning lethal autonomous weapons, autonomous replication of AI systems and the use of AI in nuclear warfare. Other examples of possible red lines include social scoring, mass surveillance, bioweapon design, AI-generated child sexual abuse material and AI impersonation. A red line could prohibit either AI behaviors (what AI systems should be guaranteed to never do even if asked to) or AI uses. == Signatories == When published, the online declaration was signed by more than 200 prominent politicians and scientists, including 10 Nobel Prize winners. Signers include former president of Colombia Juan Manuel Santos and researchers Geoffrey Hinton and Yoshua Bengio. It also includes popular authors like Stephen Fry and Yuval Noah Harari. The letter received support from European lawmakers, including former Italian prime minister Enrico Letta, and former president of Ireland Mary Robinson. == Development of red lines == As of 2025, there is no global red line on AI. Some regional red lines exist, such as with the uses deemed "unacceptable" by the AI Act in Europe, and with the US-China agreement not to leave to AI the decision of whether to launch nuclear weapons. At the United Nations Security Council, days after the declaration, Michael Kratsios, Donald Trump's director of the White House Office of Science and Technology Policy, said "We totally reject all efforts by international bodies to assert centralized control and global governance of AI." The topic of AI red lines gained prominence in 2026 with the dispute between Anthropic and the Department of Defense (DoD), which resulted from the DoD requesting Anthropic to remove contractual red lines on fully autonomous weapons and mass domestic surveillance. The event led employees from Google and OpenAI as well as Senate Democrats to further call for red lines on military use of AI. Senator Adam Schiff proposed a bill to "codify" Anthropic's red lines.

    Read more →
  • Preferential entailment

    Preferential entailment

    Preferential entailment is a non-monotonic logic based on selecting only models that are considered the most plausible. The plausibility of models is expressed by an ordering among models called a preference relation, hence the name preference entailment. Formally, given a propositional formula F {\displaystyle F} and an ordering over propositional models ≤ {\displaystyle \leq } , preferential entailment selects only the models of F {\displaystyle F} that are minimal according to ≤ {\displaystyle \leq } . This selection leads to a non-monotonic inference relation: F ⊨ pref G {\displaystyle F\models _{\text{pref}}G} holds if and only if all minimal models of F {\displaystyle F} according to ≤ {\displaystyle \leq } are also models of G {\displaystyle G} . Circumscription can be seen as the particular case of preferential entailment when the ordering is based on containment of the sets of variables assigned to true (in the propositional case) or containment of the extensions of predicates (in the first-order logic case).

    Read more →
  • Common Crawl

    Common Crawl

    The Common Crawl Foundation (Common Crawl) is a nonprofit 501(c)(3) organization that crawls the web and freely provides its archives and datasets to the public. Common Crawl was founded by Gil Elbaz. The data had mostly been primarily used by researchers and some startups until the 2020s, when AI companies started training large language models using the data. In November 2025, an investigation by The Atlantic revealed that Common Crawl misled publishers when it claimed it respected paywalls in its scraping and it was not honoring requests from publishers to have their content removed from its databases. == History == Common Crawl was founded in 2007 in San Francisco. It began publishing its crawls in 2011. By 2013, sites like TinEye were building their products off of Common Crawl. The crawl reduces the reliance of companies and researchers on Google, which has the biggest dataset. Common Crawl was designed to have more and fresher data that was more efficient to analyze and utilize than the Wayback Machine created by the Internet Archive. By 2015, 1.8 billion webpages were on the Common Crawl, which started by crawling a list of URLs donated by the search engine Blekko. They use Amazon Web Services, which provides some of its services for free, allowing computing costs to average $2-4000/month. The Common Crawl website listed 30 studies based on Common Crawl data. Before 2023, Common Crawl was not very well known outside of academic researchers who utilize the data. Common Crawl received its first requests to redact information in 2023 and increasingly started seeing its crawler, CCBot, blocked. In 2023, it began receiving significant financial support from AI companies, including Anthropic and OpenAI, each of which donated $250,000. It was also used to train Google DeepMind's large language model Gemini. By April 2023, Common Crawl was capturing 3.1 billion webpages, with an estimated 5% of pages before 2021 containing hate speech or slurs. As of 2024, Common Crawl had been cited in more than 10,000 academic studies. By 2024, The Pile and Common Crawl had been the two main training datasets being used to train AI models. In November 2025, an investigation by technology journalist Alex Reisner for The Atlantic revealed that Common Crawl misled publishers when it claimed it respected paywalls in its scraping and when it said that it was honoring requests from publishers to have their content removed from its databases. It included misleading results in the public search function on its website that showed no entries for websites that had requested their archives be removed, when in fact those sites were still included in its scrapes used by AI companies. As of 2025, Reisner found that CCBot was the most widely-blocked bot by the top 1000 websites. A 2026 article in LWN.net discussed an advantage to services like Common Crawl being that it can limit the scraping costs to websites by allowing companies and researchers to download the data from Common Crawl instead of scraping it themselves. In April 2026, Common Crawl experimentally began to distribute its data through Hugging Face Storage Bucket, in addition to its standard storage on Amazon S3. == Organization == Peter Norvig and Joi Ito have served on the advisory board. Rich Skrenta is the executive director. It has received funding almost exclusively from the Elbaz Family Foundation Trust until 2023 when it started receiving donations from the AI industry. == Refined versions == A number of organizations take raw Common Crawl data and refine it into datasets that exclude edgy content or are otherwise higher-quality for their purposes, such as FineWeb, DCLM and C4. === Colossal Clean Crawled Corpus === Google version of the Common Crawl is called the Colossal Clean Crawled Corpus, or C4 for short. It was constructed for the training of the T5 language model series in 2019. As of 2023, there were some concerns over copyrighted content in the C4 as well as racist content. A 2024 study found that 45% of content was explicitly restricted by websites' terms of service to be used for purposes like AI training by for-profit companies.

    Read more →
  • Trigger list

    Trigger list

    Trigger list in its most general meaning refers to a list whose items are used to initiate ("trigger") certain actions. == United States: Private financial information == In the United States, when a person applies for a mortgage loan, the lender makes a credit inquiry about the potential borrower from the national credit bureaus, Equifax, Experian and TransUnion. Unless the borrower is opted out, the credit bureaus put the applicants onto a "trigger list" of "leads" about persons who are interested in new loans. These lists are sold to numerous lenders all over the United States, and soon after the application the applicant starts receiving offers from all parts of the country. The trigger lists contain a significant amount of personal financial information. Among the buyers of trigger lists are "lead generators" which resell filtered information to borrowers, e.g., of people who live in a certain area and have a certain credit score. While the Federal Trade Commission considers the market of "trigger lists" to be a legal business, many people and organizations (such as the National Association of Mortgage Brokers) consider this a serious breach of privacy and lobby for putting this practice under regulatory controls. As of now, American consumers may opt-out from "trigger lists" by calling 1-888-5-OPTOUT (1-888-567-8688). == Nuclear non-proliferation == The Zangger Committee and the Nuclear Suppliers Group maintain lists of items that may contribute to nuclear proliferation; The nuclear non-proliferation treaty forbids its members to export such items to non-treaty members. these items are said to trigger the countries' responsibilities under the NPT, hence the name.

    Read more →
  • Tree (abstract data type)

    Tree (abstract data type)

    In computer science, a tree is a widely used abstract data type that represents a hierarchical tree structure with a set of connected nodes. Each node in the tree can be connected to many children (depending on the type of tree), but must be connected to exactly one parent, except for the root node, which has no parent (i.e., the root node as the top-most node in the tree hierarchy). These constraints mean there are no cycles or "loops" (no node can be its own ancestor), and also that each child can be treated like the root node of its own subtree, making recursion a useful technique for tree traversal. In contrast to linear data structures, many trees cannot be represented by relationships between neighboring nodes (parent and children nodes of a node under consideration, if they exist) in a single straight line (called edge or link between two adjacent nodes). Binary trees are a commonly used type, which constrain the number of children for each parent to at most two. When the order of the children is specified, this data structure corresponds to an ordered tree in graph theory. A value or pointer to other data may be associated with every node in the tree, or sometimes only with the leaf nodes, which have no children nodes. The abstract data type (ADT) can be represented in a number of ways, including a list of parents with pointers to children, a list of children with pointers to parents, or a list of nodes and a separate list of parent-child relations (a specific type of adjacency list). Representations might also be more complicated, for example using indexes or ancestor lists for performance. Trees as used in computing are similar to but can be different from mathematical constructs of trees in graph theory, trees in set theory, and trees in descriptive set theory. == Terminology == A node is a structure which may contain data and connections to other nodes, sometimes called edges or links. Each node in a tree has zero or more child nodes, which are below it in the tree (by convention, trees are drawn with descendants going downwards). A node that has a child is called the child's parent node (or superior). All nodes have exactly one parent, except the topmost root node, which has none. A node might have many ancestor nodes, such as the parent's parent. Child nodes with the same parent are sibling nodes. Typically siblings have an order, with the first one conventionally drawn on the left. Some definitions allow a tree to have no nodes at all, in which case it is called empty. An internal node (also known as an inner node, inode for short, or branch node) is any node of a tree that has child nodes. Similarly, an external node (also known as an outer node, leaf node, or terminal node) is any node that does not have child nodes. The height of a node is the length of the longest downward path to a leaf from that node. The height of the root is the height of the tree. The depth of a node is the length of the path to its root (i.e., its root path). Thus the root node has depth zero, leaf nodes have height zero, and a tree with only a single node (hence both a root and leaf) has depth and height zero. Conventionally, an empty tree (tree with no nodes, if such are allowed) has height −1. Each non-root node can be treated as the root node of its own subtree, which includes that node and all its descendants. Other terms used with trees: Neighbor Parent or child. Ancestor A node reachable by repeated proceeding from child to parent. Descendant A node reachable by repeated proceeding from parent to child. Also known as subchild. Degree For a given node, its number of children. A leaf, by definition, has degree zero. Degree of tree The degree of a tree is the maximum degree of a node in the tree. Distance The number of edges along the shortest path between two nodes. Level The level of a node is the number of edges along the unique path between it and the root node. This is the same as depth. Width The number of nodes in a level. Breadth The number of leaves. Complete tree A tree with every level filled, except the last. Forest A set of one or more disjoint trees. Ordered tree A rooted tree in which an ordering is specified for the children of each vertex. Size of a tree Number of nodes in the tree. == Common operations == Enumerating all the items Enumerating a section of a tree Searching for an item Adding a new item at a certain position on the tree Deleting an item Pruning: Removing a whole section of a tree Grafting: Adding a whole section to a tree Finding the root for any node Finding the lowest common ancestor of two nodes === Traversal and search methods === Stepping through the items of a tree, by means of the connections between parents and children, is called walking the tree, and the action is a walk of the tree. Often, an operation might be performed when a pointer arrives at a particular node. A walk in which each parent node is traversed before its children is called a pre-order walk; a walk in which the children are traversed before their respective parents are traversed is called a post-order walk; a walk in which a node's left subtree, then the node itself, and finally its right subtree are traversed is called an in-order traversal. (This last scenario, referring to exactly two subtrees, a left subtree and a right subtree, assumes specifically a binary tree.) A level-order walk effectively performs a breadth-first search over the entirety of a tree; nodes are traversed level by level, where the root node is visited first, followed by its direct child nodes and their siblings, followed by its grandchild nodes and their siblings, etc., until all nodes in the tree have been traversed. == Representations == There are many different ways to represent trees. In working memory, nodes are typically dynamically allocated records with pointers to their children, their parents, or both, as well as any associated data. If of a fixed size, the nodes might be stored in a list. Nodes and relationships between nodes might be stored in a separate special type of adjacency list. In relational databases, nodes are typically represented as table rows, with indexed row IDs facilitating pointers between parents and children. Nodes can also be stored as items in an array, with relationships between them determined by their positions in the array (as in a binary heap). A binary tree can be implemented as a list of lists: the head of a list (the value of the first term) is the left child (subtree), while the tail (the list of second and subsequent terms) is the right child (subtree). This can be modified to allow values as well, as in Lisp S-expressions, where the head (value of first term) is the value of the node, the head of the tail (value of second term) is the left child, and the tail of the tail (list of third and subsequent terms) is the right child. Ordered trees can be naturally encoded by finite sequences, for example with natural numbers. == Examples of trees and non-trees == == Type theory == As an abstract data type, the abstract tree type T with values of some type E is defined, using the abstract forest type F (list of trees), by the functions: value: T → E children: T → F nil: () → F node: E × F → T with the axioms: value(node(e, f)) = e children(node(e, f)) = f In terms of type theory, a tree is an inductive type defined by the constructors nil (empty forest) and node (tree with root node with given value and children). == Mathematical terminology == Viewed as a whole, a tree data structure is an ordered tree, generally with values attached to each node. Concretely, it is (if required to be non-empty): A rooted tree with the "away from root" direction (a more narrow term is an "arborescence"), meaning: A directed graph, whose underlying undirected graph is a tree (any two vertices are connected by exactly one simple path), with a distinguished root (one vertex is designated as the root), which determines the direction on the edges (arrows point away from the root; given an edge, the node that the edge points from is called the parent and the node that the edge points to is called the child), together with: an ordering on the child nodes of a given node, and a value (of some data type) at each node. Often trees have a fixed (more properly, bounded) branching factor (outdegree), particularly always having two child nodes (possibly empty, hence at most two non-empty child nodes), hence a "binary tree". Allowing empty trees makes some definitions simpler, some more complicated: a rooted tree must be non-empty, hence if empty trees are allowed the above definition instead becomes "an empty tree or a rooted tree such that ...". On the other hand, empty trees simplify defining fixed branching factor: with empty trees allowed, a binary tree is a tree such that every node has exactly two children, each of which is a tree (possibly empty). == Applications == Trees are commonly used to represent or manipulate hierarchical data in ap

    Read more →
  • ITools Resourceome

    ITools Resourceome

    iTools is a distributed infrastructure for managing, discovery, comparison and integration of computational biology resources. iTools employs Biositemap technology to retrieve and service meta-data about diverse bioinformatics data services, tools, and web-services. iTools is developed by the National Centers for Biomedical Computing as part of the NIH Road Map Initiative.

    Read more →
  • Kindwise

    Kindwise

    FlowerChecker, also known as Kindwise, is a company that uses machine learning to identify natural objects from images. This includes plants and their diseases, but also insects and mushrooms. It is based in Brno, Czech Republic. It was founded in 2014 by Ondřej Veselý, Jiří Řihák, and Ondřej Vild, at the time Ph.D. students. == Features & Tools == FlowerChecker offers multiple products. Plant.id is a machine learning-based plant identification API launched in 2018, with the plant disease identification API, plant.health, released in April 2022. The plant.id API is suitable for integration into other software, such as mobile apps or urban trees from remote-sensing imagery. Other products include insect.id, mushroom.id and crop.health are machine learning-based identification APIs for the identification of insects, fungi and economically important plants, respectively, and include also online public demos. The FlowerChecker app was discontinued in October 2024 after 10 years of successful operation. == Recognition == In 2019, FlowerChecker won the Idea of the Year award in the AI Awards organized by the Confederation of Industry of the Czech Republic. In 2020, an academic study comparing ten free automated image recognition apps showed that plant.id's performance excelled in most of the parameters studied. In an independent study comparing different image-based species recognition models and their suitability for recognizing invasive alien species, the plant.id achieved the highest accuracy compared to other tools. In a subsequent study, plant.id was utilized to evaluate urban forest biodiversity using remote-sensing imagery, achieving the highest accuracy in tree species identification among compared methods. The technology has also been referenced as an example of practical integration of AI-based plant identification into cross-platform precision agriculture systems. == Research activities == Flowerchecker cooperates with the Nature Conservation Agency of the Czech Republic on a biodiversity mapping project. FlowerChecker plans to adapt its services to participate in the control of invasive species. In 2022, the company entered a consortium to develop a weeder capable of in-row weed detection and removal. In 2025, it received funding for the development of a technology for the removal of invasive species.

    Read more →
  • Neural operators

    Neural operators

    Neural operators are a class of deep learning architectures designed to learn maps between infinite-dimensional function spaces. Neural operators represent an extension of traditional artificial neural networks, marking a departure from the typical focus on learning mappings between finite-dimensional Euclidean spaces or finite sets. Neural operators directly learn operators between function spaces; they can receive input functions, and the output function can be evaluated at any discretization. The primary application of neural operators is in learning surrogate maps for the solution operators of partial differential equations (PDEs), which are critical tools in modeling the natural environment. Standard PDE solvers can be time-consuming and computationally intensive, especially for complex systems. Neural operators have demonstrated improved performance in solving PDEs compared to existing machine learning methodologies while being significantly faster than numerical solvers. Neural operators have also been applied to various scientific and engineering disciplines such as turbulent flow modeling, computational mechanics, graph-structured data, and the geosciences. In particular, they have been applied to learning stress-strain fields in materials, classifying complex data like spatial transcriptomics, predicting multiphase flow in porous media, and carbon dioxide migration simulations. Finally, the operator learning paradigm allows learning maps between function spaces, and is different from parallel ideas of learning maps from finite-dimensional spaces to function spaces, and subsumes these settings as special cases when limited to a fixed input resolution. == Operator learning == Understanding and mapping relationships between function spaces has many applications in engineering and the sciences. In particular, one can cast the problem of solving partial differential equations as identifying a map between function spaces, such as from an initial condition to a time-evolved state. In other PDEs this map takes an input coefficient function and outputs a solution function. Operator learning is a machine learning paradigm to learn solution operators mapping the input function to the output function . Using traditional machine learning methods, addressing this problem would involve discretizing the infinite-dimensional input and output function spaces into finite-dimensional grids and applying standard learning models, such as neural networks. This approach reduces the operator learning to finite-dimensional function learning and has some limitations, such as generalizing to discretizations beyond the grid used in training. The primary properties of neural operators that differentiate them from traditional neural networks is discretization invariance and discretization convergence. Unlike conventional neural networks, which are fixed on the discretization of training data, neural operators can adapt to various discretizations without re-training. This property improves the robustness and applicability of neural operators in different scenarios, providing consistent performance across different resolutions and grids. == Definition and formulation == Architecturally, neural operators are similar to feed-forward neural networks in the sense that they are composed of alternating linear maps and non-linearities. Since neural operators act on and output functions, neural operators have been instead formulated as a sequence of alternating linear integral operators on function spaces and point-wise non-linearities. Using an analogous architecture to finite-dimensional neural networks, similar universal approximation theorems have been proven for neural operators. In particular, it has been shown that neural operators can approximate any continuous operator on a compact set. Neural operators seek to approximate some operator G : A → U {\displaystyle {\mathcal {G}}:{\mathcal {A}}\to {\mathcal {U}}} between function spaces A {\displaystyle {\mathcal {A}}} and U {\displaystyle {\mathcal {U}}} by building a parametric map G ϕ : A → U {\displaystyle {\mathcal {G}}_{\phi }:{\mathcal {A}}\to {\mathcal {U}}} . Such parametric maps G ϕ {\displaystyle {\mathcal {G}}_{\phi }} can generally be defined in the form G ϕ := Q ∘ σ ( W T + K T + b T ) ∘ ⋯ ∘ σ ( W 1 + K 1 + b 1 ) ∘ P , {\displaystyle {\mathcal {G}}_{\phi }:={\mathcal {Q}}\circ \sigma (W_{T}+{\mathcal {K}}_{T}+b_{T})\circ \cdots \circ \sigma (W_{1}+{\mathcal {K}}_{1}+b_{1})\circ {\mathcal {P}},} where P , Q {\displaystyle {\mathcal {P}},{\mathcal {Q}}} are the lifting (lifting the codomain of the input function to a higher dimensional space) and projection (projecting the codomain of the intermediate function to the output dimension) operators, respectively. These operators act pointwise on functions and are typically parametrized as multilayer perceptrons. σ {\displaystyle \sigma } is a pointwise nonlinearity, such as a rectified linear unit (ReLU), or a Gaussian error linear unit (GeLU). Each layer t = 1 , … , T {\displaystyle t=1,\dots ,T} has a respective local operator W t {\displaystyle W_{t}} (usually parameterized by a pointwise neural network), a kernel integral operator K t {\displaystyle {\mathcal {K}}_{t}} , and a bias function b t {\displaystyle b_{t}} . Given some intermediate functional representation v t {\displaystyle v_{t}} with domain D {\displaystyle D} in the t {\displaystyle t} -th hidden layer, a kernel integral operator K ϕ {\displaystyle {\mathcal {K}}_{\phi }} is defined as ( K ϕ v t ) ( x ) := ∫ D κ ϕ ( x , y , v t ( x ) , v t ( y ) ) v t ( y ) d y , {\displaystyle ({\mathcal {K}}_{\phi }v_{t})(x):=\int _{D}\kappa _{\phi }(x,y,v_{t}(x),v_{t}(y))v_{t}(y)dy,} where the kernel κ ϕ {\displaystyle \kappa _{\phi }} is a learnable implicit neural network, parametrized by ϕ {\displaystyle \phi } . In practice, one is often given the input function to the neural operator at a specific resolution. For instance, consider the setting where one is given the evaluation of v t {\displaystyle v_{t}} at n {\displaystyle n} points { y j } j n {\displaystyle \{y_{j}\}_{j}^{n}} . Borrowing from Nyström integral approximation methods such as Riemann sum integration and Gaussian quadrature, the above integral operation can be computed as follows: ∫ D κ ϕ ( x , y , v t ( x ) , v t ( y ) ) v t ( y ) d y ≈ ∑ j n κ ϕ ( x , y j , v t ( x ) , v t ( y j ) ) v t ( y j ) Δ y j , {\displaystyle \int _{D}\kappa _{\phi }(x,y,v_{t}(x),v_{t}(y))v_{t}(y)dy\approx \sum _{j}^{n}\kappa _{\phi }(x,y_{j},v_{t}(x),v_{t}(y_{j}))v_{t}(y_{j})\Delta _{y_{j}},} where Δ y j {\displaystyle \Delta _{y_{j}}} is the sub-area volume or quadrature weight associated to the point y j {\displaystyle y_{j}} . Thus, a simplified layer can be computed as v t + 1 ( x ) ≈ σ ( ∑ j n κ ϕ ( x , y j , v t ( x ) , v t ( y j ) ) v t ( y j ) Δ y j + W t ( v t ( y j ) ) + b t ( x ) ) . {\displaystyle v_{t+1}(x)\approx \sigma \left(\sum _{j}^{n}\kappa _{\phi }(x,y_{j},v_{t}(x),v_{t}(y_{j}))v_{t}(y_{j})\Delta _{y_{j}}+W_{t}(v_{t}(y_{j}))+b_{t}(x)\right).} The above approximation, along with parametrizing κ ϕ {\displaystyle \kappa _{\phi }} as an implicit neural network, results in the graph neural operator (GNO). There have been various parameterizations of neural operators for different applications. These typically differ in their parameterization of κ {\displaystyle \kappa } . The most popular instantiation is the Fourier neural operator (FNO). FNO takes κ ϕ ( x , y , v t ( x ) , v t ( y ) ) := κ ϕ ( x − y ) {\displaystyle \kappa _{\phi }(x,y,v_{t}(x),v_{t}(y)):=\kappa _{\phi }(x-y)} and by applying the convolution theorem, arrives at the following parameterization of the kernel integral operator: ( K ϕ v t ) ( x ) = F − 1 ( R ϕ ⋅ ( F v t ) ) ( x ) , {\displaystyle ({\mathcal {K}}_{\phi }v_{t})(x)={\mathcal {F}}^{-1}(R_{\phi }\cdot ({\mathcal {F}}v_{t}))(x),} where F {\displaystyle {\mathcal {F}}} represents the Fourier transform and R ϕ {\displaystyle R_{\phi }} represents the Fourier transform of some periodic function κ ϕ {\displaystyle \kappa _{\phi }} . That is, FNO parameterizes the kernel integration directly in Fourier space, using a prescribed number of Fourier modes. When the grid at which the input function is presented is uniform, the Fourier transform can be approximated using the discrete Fourier transform (DFT) with frequencies below some specified threshold. The discrete Fourier transform can be computed using a fast Fourier transform (FFT) implementation. == Training == Training neural operators is similar to the training process for a traditional neural network. Neural operators are typically trained in some Lp norm or Sobolev norm. In particular, for a dataset { ( a i , u i ) } i = 1 N {\displaystyle \{(a_{i},u_{i})\}_{i=1}^{N}} of size N {\displaystyle N} , neural operators minimize (a discretization of) L U ( { ( a i , u i ) } i = 1 N ) := ∑ i = 1 N ‖ u i − G θ ( a i ) ‖ U 2 {\displaystyle {\mathcal {L}}_{\mathca

    Read more →
  • Komodo (chess)

    Komodo (chess)

    Komodo and Dragon by Komodo Chess (also known as Dragon or Komodo Dragon) are UCI chess engines developed by Komodo Chess, which is a part of Chess.com. The engines were originally authored by Don Dailey and GM Larry Kaufman. Dragon is a commercial chess engine, but Komodo is free for non-commercial use. Dragon is consistently ranked near the top of most major chess engine rating lists, along with Stockfish and Leela Chess Zero. == History == === Komodo === Komodo was derived from Don Dailey's former engine Doch in January 2010. The first multiprocessor version of Komodo was released in June 2013 as Komodo 5.1 MP. This version was a major rewrite and a port of Komodo to C++11. A single-processor version of Komodo (which won the CCT15 tournament in February earlier that year) was released as a stand-alone product shortly before the 5.1 MP release. This version, named Komodo CCT, was still based on the older C code, and was approximately 30 Elo stronger than the 5.1 MP version, as the latter was still undergoing massive code-cleanup work. With the release of Komodo 6 on October 4, 2013, Don Dailey announced that he was suffering from an acute form of leukaemia, and would no longer contribute to the future development of Komodo. On October 8, Don made an announcement on the Talkchess forum that Mark Lefler would be joining the Komodo team and would continue its development. Komodo TCEC was released on December 4, 2013. This was the same version that had won TCEC Season 5, and was the last with input from Don Dailey, to whom it was dedicated. Komodo 7 was released on May 21, 2014, adding Syzygy tablebase support. On May 24, 2018, Chess.com announced that it has acquired Komodo and that the Komodo team have joined Chess.com. The Komodo team is now called Komodo Chess. On December 17, 2018, Komodo Chess released Komodo 12.3 MCTS, a version of the Komodo 12.3 engine that uses Monte Carlo tree search instead of alpha–beta pruning/minimax. The last version, Komodo 14.3, was released on October 4, 2023. === Dragon === On November 9, 2020, Komodo Chess released Dragon by Komodo Chess 1.0, which features the use of efficiently updatable neural networks in its evaluation function. Dragon is derived from Komodo in the same way that Komodo was derived from Doch. Dragon is also called Komodo Dragon in certain tournaments such as the Top Chess Engine Championship and the World Computer Chess Championship (WCCC) but not in the Chess.com Computer Chess Championship (CCC). A Chess.com staff member named Dmitry Pervov joined the Dragon development team to write the NNUE code for Dragon, and Dietrich Kappe joined the Dragon development team to help Larry Kaufman and Mark Lefter train Dragon's neural networks. On March 17, 2023, Larry Kaufman announced that he and Mark Lefter have stepped down from Dragon development and from ownership of Komodo Chess, and that Chess.com have taken full control of Komodo Chess. As of March 17, 2023, Dietrich Kappe is the only person responsible for the development of Dragon, but Chess.com are looking for more programmers to help with Dragon development. The final version, Dragon 3.3, was released on October 4, 2023. == Competition results == === Komodo === Komodo has played in the ICT 2010 in Leiden, and further in the CCT12 and CCT14. Komodo had its first tournament success in 1999, when it won the CCT15 with a score of 6½/7. Komodo won both the World Computer Chess Championship and World Computer Software Championship in 2016. Komodo once again won the World Computer Chess Championship and World Blitz in 2017. In TCEC competition, Komodo was historically one of the strongest engines. In Season 4, it lost only eight out of its 53 games and managed to reach Stage 4 (Quarterfinals), against very strong competition which were running on eight cores (Komodo was running on a single processor). The next season, Komodo won the superfinal against Stockfish. The two engines jockeyed for the championship over the next few seasons: Stockfish won in Season 6, while Komodo won Seasons 7 and 8. Komodo failed to make the superfinal in Season 9, losing out to Houdini; but after Houdini was later disqualified for containing code plagiarized from Stockfish, Komodo was promoted to the runner-up. Komodo retrospectively won Season 10 in the same way. Starting from Season 11 however, Stockfish improved at a rate that left its rivals behind, crushing Komodo in Season 12 and 13. The advent of the neural network engine Leela Chess Zero meant Komodo has largely failed to qualify for the superfinal since, with a single exception in Season 22, when it lost to Stockfish. Although Komodo has not qualified for the superfinal, it has cemented itself as the third-strongest engine in the competition, finishing in that position for five of the last six seasons. ==== Chess.com Computer Chess Championship ==== === Dragon === ==== Chess.com Computer Chess Championship ==== ==== Top Chess Engine Championship ==== == Notable games == Komodo vs Hannibal, nTCEC - Stage 2b - Season 1, Round 4.1, ECO: A10, 1–0 Archived 2016-03-04 at the Wayback Machine Komodo sacrifices an exchange for positional gain. Gull vs Komodo, nTCEC - Stage 3 - Season 2, Round 2.2, ECO: E10, 0–1 Archived March 4, 2016, at the Wayback Machine Archived 2016-03-04 at the Wayback Machine

    Read more →
  • Versata

    Versata

    Versata is a privately held software company, one of several business units under the ESW Capital umbrella. Versata acquires underperforming or financially struggling enterprise software companies, integrates them into their portfolio, and makes operational changes to improve the viability and performance of the companies. == History == === Early years (1991–2000) === This company was founded in 1991 with the name Image Innovations; Naren Bakshi was co-founder and president, Kevin Fletcher Tweedy was vice president of technology, and they sold a development tool set named Image Application WorkBench that worked with Plexus Software's imaging platform. In 1997, the company name changed to Vision Software. They sold a small suite of software: Vision Builder for accelerated coding; and Vision StoryBoard Pro for creating software documentation. In 1998, their flagship product was a Java development tool named Vision JADE. In January 2000, the company changed names again, this time to Versata, and their e-business automation system, Versata Logic Suite, had three components: Versata Logic Server to host business rules written in Java, Versata Studio for developing the business rules, and Versata Connectors for connecting the logic server to IBM database servers. === Public company (2000–2006) === They went public in March 2000 during the dot-com bubble, raising about $94 million and reaching a market capitalization of over $2.5 billion despite reporting just $13 million in revenue and a $21 million loss in the prior year. In November 2000, Versata expanded into the business workflow area with the acquisition of Verve, Inc. and its workflow management system by the same name. From early 2001 through mid-2003, Versata's revenues were in quarter-over-quarter decline until Alan Baratz took over as CEO. Five consecutive quarters of growth followed until early 2005, when revenues once again took a downward plunge. In mid-2005, the company was notified by NASDAQ that it no longer met NASDAQ's requirements for continued listing, related to maintenance of a minimum amount of shareholder's equity, market value, or net income. In July 2005, Versata was delisted from NASDAQ and publicly traded on the OTC (also known as the Pink Sheets). == Versata, a business unit of ESW Capital == In January 2006, Austin-based Trilogy, Inc. acquired the company and took it private. Trilogy then proceeded to merge portions of Trilogy, specifically, Trilogy Technology Group, into Versata and began acquiring further companies, reorganizing dramatically and offshoring most technical positions to its office in Bangalore, India. From 2006 to 2008, Versata continued to make acquisitions mostly in US. Most of the employees in the acquired companies were laid -off with the majority work being offshored to its India office in Bangalore. In early 2009, Versata made another major overhaul of its business model when it asked all its employees in India to work as contractors through oDesk for a gDev which is an entity incorporated by Trilogy to manage its outsourcing activities. The only employees left in Versata were the ones in US. == Acquisitions == a Corizon was acquired by Metatomix, while Metatomix was part of Versata. b Infopia was acquired by Everest Software, while Everest Software was part of Versata. c Symphony Commerce was acquired by Quantum Retail, while Quantum Retail was part of Versata. == Legal disputes == === Patent infringement and "poison pill" lawsuits with Selectica === The legal disputes with Selectica began in 2004 (before Trilogy acquired Versata in January 2006) and lasted until 2010. While there were many suits and counter-suits, they largely centered around three issues: 2004–2006: Patent infringement in configure, price, and quote (CPQ) software 2005–2007: Patent infringement in contract lifecycle management (CLM) software 2008–2010: The "poison pill" lawsuit In 2004, Selectica and Trilogy had competing CPQ software: Selectica sold Solutions Advisor and Deal Optimization, while Trilogy sold Selling Chain. In April of that year, Trilogy Software sued Selectica for patent infringement. In 2005, before the court ruling, Trilogy made several offers to buy Selectica, but the board rejected them. In January 2006, the court ordered Selectica to pay Trilogy $7.5 million in damages. Four days after the January 2006 judgment in the first lawsuit, Trilogy announced its acquisition of Versata for an undisclosed amount. In 2005, Selectica had acquired the Determine CLM software platform, which included features that overlapped with some offered by Versata. In October 2006, Versata filed a second patent infringement lawsuit. The case was settled in 2007, with Selectica agreeing to pay Trilogy and Versata $10 million, plus up to $7.5 million in additional contingent payments. In 2008, Versata began acquiring Selectica stock. By December, Selectica's board amended its shareholder rights plan to adopt a "poison pill" with an unusually low trigger threshold: if any shareholder acquired more than 4.99% of company stock, their ownership would be diluted. The board explained that the move was meant to protect Selectica's net operating losses (NOLs), which were tax-deductible if the company returned to profitability. Under IRS Section 382, a significant change in stock ownership could cause those NOLs to be disqualified. Versata intentionally triggered the poison pill and also offered to sell back the stocks at a profit (greenmailing them), which prompted a legal dispute over whether Selectica's board had the authority to set such a low threshold and whether defending NOLs justified triggering shareholder dilution. The case ultimately reached the Delaware Supreme Court, which upheld the poison pill in October 2010, ruling in favor of Selectica. === Intellectual property lawsuit over joint development with Sun Microsystems === In 1998, Sun Microsystems hired Trilogy to help Sun's developers in California create a software configurator (later named the WC5 Configurator) that Sun's customers could use to modify products they wanted to buy, customizing products to have the features they wanted. Trilogy worked on the WC5 Configurator for several years, then Sun transferred the work to Oracle to finish. Trilogy believed that they owned the copyright to the work they'd done for Sun, and in 2006 after the merger with Versata they sued Sun for more than $100 million in damages. In April 2009, a jury ruled in favor of Sun and rejected Versata's claims. === Patent lawsuit and ruling on patents of abstract ideas with SAP === SAP developed Pricing Engine, a component in their enterprise resource planning (ERP) system. It competed with an older Trilogy product called Pricer, which was part of Trilogy's Selling Chain platform in the mid-1990s before they merged with Versata. In April 2007—the year after Trilogy acquired Versata—Versata filed a lawsuit against SAP for patent infringement. In August 2009, the jury agreed with Versata and awarded them $139 million. The court granted a new trial on damages and in September 2011, in the retrial, the jury awarded Versata $345 million. This then went to the US Court of Appeals, which in May 2013 affirmed the $345 million damages award, plus interest that had accumulated. In October 2014, Versata and SAP settled their litigation for an undisclosed amount of money. With the dispute between Versata and SAP settled, in June 2013 the Patent Trial and Appeal Board (PTAB) reviewed the validity of the patent itself, and issued a decision in a Covered Business Method (CBM) review, stating that the disputed items were abstract ideas and thus under the US patent law not patentable. In July 2015, the Federal Circuit agreed with PTAB's decision that the challenged items were not patentable. === Trade secrets and damages dispute with Internet Brands === Internet Brands was formerly known as CarsDirect and AutoData Solutions. Like Trilogy, they made software for automakers that helped customers compare vehicles online. In the late 1990s, Trilogy and Internet Brands tried to combine their products but failed to do so, and after a December 1999 lawsuit they made a settlement agreement in May 2001. In 2008, Versata sued Internet Brands claiming they had violated the settlement agreement by making presentations to potential clients stating they had a license from Versata to use and sell Versata technical solutions; and doing so had cost Versata business with Chrysler. Internet Brands' countersuit argued that Versata had misappropriated trade secrets and asked the jury to use Versata's business relationship with Toyota—including revenue from Toyota contracts—as a benchmark to calculate damages. The jury agreed and used that data to determine a $2 million damages award in favor of Internet Brands’ subsidiary, AutoData Solutions. Versata appealed the decision, and in January 2014 the court upheld the $2 million award to Internet Brands. === Patent challenges a

    Read more →
  • Linagora

    Linagora

    Linagora is a French open source software editor, founded in June 2000 by Alexandre Zapolsky and Michel-Marie Maudet. Located in France, as well as in Belgium, Canada, Vietnam, the United States and Tunisia, the company employs around 200 people. In 2023, Linagora created the OpenLLM France community, alongside other French Artificial Intelligence companies and organizations. In 2025, the company launched Lucie, an opensource Large Language Model. == History == Linagora was founded on June 28, 2000. Its name is a contraction of the words "Linux" and "Agora". The company was founded by Alexandre Zapolsky and Michel-Marie Maudet. Soon after, the two entrepreneurs were joined by Alexandre Zapolsky's wife and brother, who took on the roles of commercial director and administrative and financial director of the SME. In 2007, the company was selected by the French National Assembly to provide the software for Linux computers, replacing Microsoft Windows. Linagora then claimed the position of the leading French open source software company by revenue. In 2015, French Prime Minister Manuel Valls allocated €10.7 million from the "Investments for the Future" fund for a research program aimed at developing a new generation of open source software platforms based on Linagora's offerings. In September 2016, Linagora launched the social network "La Cerise" for the newspaper L'Humanité. This app offered a service and tool for readers and citizens mobilizing for causes. It aimed to share engagement through petitions, discussions, agendas, and contacts. In October 2016, the company won two public contracts for supporting open source software in forty-two French ministries and other administrative entities. In May 2019, Linagora organized a fundraising event in the presence of the French Secretary of State for Digital Affairs, Cédric O, to celebrate its 19th anniversary. The funds were intended for: Supporting parents of hospitalized Polynesian children in France. Equipping primary school students with digital devices (tablets or PCs). Establishing a digital academy "OpenHackademy" in French Polynesia to train unemployed youth in digital skills and help them find jobs. In December 2022, Linagora acquired a property known as "Maison Rocher" and later "Maison Chocolat," located on the Île Saint-Germain in Issy-les-Moulineaux. Renamed "Villa Good Tech" by Linagora, this award-winning architectural work by Éric Daniel-Lacombe became the company's new headquarters, aiming to provide a space for associative actors and companies to develop technologies that contribute to a better world. In July 2023, Linagora launched OpenLLM France, a community initially comprising around twenty actors focused on generative AI. The goal was to develop a sovereign and open source large language model. This initiative, led by co-founder and CEO Michel-Marie Maudet, had more than four hundred French members by early 2024. and announced its expansion to the European sphere during Fosdem 2024. In February 2024, the CNRS and Linagora signed a framework agreement to strengthen their research collaboration. In January 2025, Linagora released Lucie, an open source and sovereign AI that faced ridicule due to tests on an unfinished, uncensored version designed for scientific and experimental use. The platform divided opinions between those who saw it as a technological achievement and those who criticized it as "French bashing" compared to American and Chinese AIs. == Acquisitions == The company acquired: In July 2007, the SME AliaSource, based in Ramonville-Saint-Agne and led by its founder, Pierre Baudracco. In 2008, the open source web hosting company Netaktiv, a member of the GIE Gitoyen, announced during the 2008 Solutions Linux trade show. In 2012, the Toulouse-based company EBM Websourcing, the publisher of the open-source software Petals Link, and took over its development. In 2016, the digital agency Neoma Interactive, specializing in UX design and digital communication strategy. == Locations == In 2017, the company's headquarters was located in Issy-les-Moulineaux, with branches in Lyon, Toulouse, Marseille, and internationally in Brussels, San Francisco, Montreal, Vietnam, and Tunisia. In 2005, the company attempted to establish a presence in Nantes. In 2024, the headquarters was moved to Issy-les-Moulineaux. == Activity == === Software === Twake Workplace One of Linagora's flagship products is Twake Workplace, which stands out as a 100% open-source solution compared with those of the GAFAMs. Twake Workplace is available as a complete platform or module by module. It includes : Twake Mail, a powerful modern messaging solution based on the JMAP protocol and the James email server from the Apache Foundation, for which Linagora provides technical management; Twake Chat, an instant communications solution for businesses developed using the Matrix protocol and compatible with the French government's chat solution, Tchap; Twake Drive, an easy-to-use collaborative platform for group work using OnlyOffice. ==== OpenPaaS ==== In 2018, the search engine Qwant announced that its email service Qwantmail would be based on the OpenPaaS product. In 2022, Qwant announced the abandonment of its Qwantmail project due to Linagora's collection of personal email addresses and serious security breaches. The site Next (formerly PC INpact) published an article in January 2020 criticizing the "failures and delays" of the Qwantmail project led by Linagora, which led to the CNIL's intervention regarding Qwant and Linagora. ==== LinTO ==== In 2017, Linagora launched its open source voice assistant project named LinTO. This enterprise voice assistant, described as "GAFAM Free," was presented at CES 2018 in Las Vegas. The LinTO voice framework was developed as part of the eponymous research project funded by Bpifrance (Grands Défis du Numérique instrument). === Services === ==== OSSA (Open Source Software Assurance) ==== One of the company's main activities is OSSA. Through OSSA, Linagora provided support for open source software for 42 ministries and other administrative entities in 2012. == Legal issues == === Dispute with BlueMind === In 2012, a legal dispute arose between BlueMind and Linagora. Linagora accused BlueMind of copyright infringement, unfair competition, and breach of a non-compete clause, leading to several legal actions. Linagora sued BlueMind for copyright infringement and unfair competition in the Bordeaux court, which ruled in Linagora's favor for unfair competition and parasitism but rejected the copyright claim. BlueMind was ordered to pay nearly €170,000 to Linagora. Linagora sued former associates Pierre Baudracco and Pierre Carlier in the Paris Commercial Court for breach of a non-compete clause and violation of a warranty of eviction. The court dismissed Linagora's claims and ordered it to pay €20,000 each to Baudracco and Carlier. Linagora appealed, and the Paris Court of Appeal partially overturned the decision, awarding Linagora €480,000. BlueMind sued Linagora for defamation and public insult in the Toulouse Criminal Court. The court ruled against Linagora, but the decision was overturned by the Court of Cassation in January 2024, and the case was remanded for retrial. === Conviction for wrongful termination and harassment === On June 14, 2017, France 3 reported on a decision by the Versailles Court of Appeal, which ruled that Linagora had wrongfully terminated an employee and subjected them to moral harassment. The court ordered Linagora to pay the employee €22,000 for wrongful termination, €11,000 for notice pay, €6,600 for legal severance pay, €3,200 for conservative suspension, and €3,000 for moral harassment.

    Read more →
  • Clip Studio Paint

    Clip Studio Paint

    Clip Studio Paint (previously marketed as Manga Studio in North America), informally known in Japan as Kurisuta (クリスタ), is a family of software applications developed by Japanese graphics software company Celsys. It is used for the digital creation of comics, general illustration, and 2D animation. The software is available in versions for macOS, Windows, iOS, iPadOS, Android, and ChromeOS. The program is widely used by amateur and professional comics creators, and animation studios. The application is sold in editions with varying feature sets. The full-featured edition is a page-based, layered drawing program, with support for bitmap and vector art, text, imported 3D models, and frame-by-frame animation. It is designed for use with a stylus and a graphics tablet or tablet computer. It has drawing tools which emulate natural media such as pencils, ink pens, and brushes, as well as patterns and decorations. It is distinguished from similar programs by features designed for creating comics: tools for creating panel layouts, perspective rulers, sketching, inking, applying tones and textures, coloring, and creating word balloons and captions. == History == The application has it origins in a program for macOS and Windows, released in Japan in 2001 as "Comic Studio". It was sold as "Manga Studio" in the Western market by E Frontier America until 2007, then by Smith Micro Software. Early versions were designed for creating black and white art with only spot color (a typical format for Japanese manga), with version 4 adding support for full-color art. Celsys developed Clip Studio Paint as a replacement for this product, based on the company's Illust Studio application, and it was released on May 31, 2012. It was initially distributed in Western markets as "Manga Studio 5", but in 2016, the branding was unified worldwide as "Clip Studio Paint". At this time, version 1.5.4 introduced a new file format (extension .clip) and frame-by-frame animation. In late 2017, Celsys took over direct support for the software worldwide, and ceased its relationship with Smith Micro. In July 2018, Celsys began a partnership with Graphixly for distribution in North America, South America, and Europe. Clip Studio Paint for the Apple iPad was introduced in November 2017, and for the iPhone in December 2019. Clip Studio Paint for Samsung Galaxy tablets and smartphones was released in August 2020 on the Galaxy Store, with versions for other Android devices and Chromebooks released in December. The Windows and macOS versions of the software have been sold and distributed either from the developer's web site or on DVD, and purchased either with a perpetual license or an ongoing subscription. The versions for iPhone, iPad, and Android-based devices are distributed through the corresponding app stores free of charge, but require a subscription – which includes cloud storage – for unrestricted use. Without a subscription, the tablet versions can be used only for a specified number of months, and the phone versions can be used only for 30 hours per month. From 2013 to 2023, regular updates for version 1 were distributed free of additional charge to both perpetual and subscription users. Since the release of version 2 in 2023, feature updates are included only in subscription plans and are available to perpetual licenses at an additional cost. Perpetual licenses can be upgraded permanently or with an annual "update pass". The "update pass" provides early access to features to be included in subsequent perpetual licenses for 12 months, after which the software reverts to the original license if not renewed. In March 2024, version 3 was released, and version 4 introduced additional features in March 2025. == Editions == Clip Studio Paint is available in three editions, with differing feature sets and prices: Debut (bundle-only grade), Pro (adding support for vector-based drawing, custom textures, and comics-focused features), and EX (adding support for multi-page documents, book exporting, and 2D animation). Companion programs include Clip Studio (for managing and sharing digital assets distributed through the Clip Studio web site, managing licenses, and getting updates and support) and Clip Studio Modeler (for setting up 3D materials to use in Clip Studio Paint).

    Read more →
  • Reification (computer science)

    Reification (computer science)

    In computer science, reification is the process by which an abstract idea about a program is turned into an explicit data model or other object created in a programming language. A computable/addressable object—a resource—is created in a system as a proxy for a non computable/addressable object. By means of reification, something that was previously implicit, unexpressed, and possibly inexpressible is explicitly formulated and made available to conceptual (logical or computational) manipulation. Informally, reification is often referred to as "making something a first-class citizen" within the scope of a particular system. Some aspect of a system can be reified at language design time, which is related to reflection in programming languages. It can be applied as a stepwise refinement at system design time. Reification is one of the most frequently used techniques of conceptual analysis and knowledge representation. == Reflective programming languages == In the context of programming languages, reification is the process by which a user program or any aspect of a programming language that was implicit in the translated program and the run-time system, are expressed in the language itself. This process makes it available to the program, which can inspect all these aspects as ordinary data. In reflective languages, reification data is causally connected to the related reified aspect such that a modification to one of them affects the other. Therefore, the reification data is always a faithful representation of the related reified aspect . Reification data is often said to be made a first class object. Reification, at least partially, has been experienced in many languages to date: in early Lisp dialects and in current Prolog dialects, programs have been treated as data, although the causal connection has often been left to the responsibility of the programmer. In Smalltalk-80, the compiler from the source text to bytecode has been part of the run-time system since the very first implementations of the language. The C programming language reifies the low-level detail of memory addresses.Many programming language designs encapsulate the details of memory allocation in the compiler and the run-time system. In the design of the C programming language, the memory address is reified and is available for direct manipulation by other language constructs. For example, the following code may be used when implementing a memory-mapped device driver. The buffer pointer is a proxy for the memory address 0xB8000000. Functional programming languages based on lambda-calculus reify the concept of a procedure abstraction and procedure application in the form of the Lambda expression. The Scheme programming language reifies continuations (approximately, the call stack). In C#, reification is used to make parametric polymorphism implemented in the form of generics as a first-class feature of the language. In the Java programming language, there exist "reifiable types" that are "completely available at run time" (i.e. their information is not erased during compilation). REBOL reifies code as data and vice versa. Many languages, such as Lisp, JavaScript, and Curl, provide an eval or evaluate procedure that effectively reifies the language interpreter. Smalltalk and Actor languages permit the reification of blocks and messages, which are equivalent of lambda expressions in Lisp, and thisContext in Smalltalk, which is a reification of the current executing block. Homoiconic languages reify the syntax of the language as data that is understood by the language itself. This allows the user to write programs whose inputs and outputs are code (see macros, eval). Common representations of code include S-expressions (e.g. Clojure, Lisp), and abstract syntax trees (e.g. Rust). == Data reification vs. data refinement == Data reification (stepwise refinement) involves finding a more concrete representation of the abstract data types used in a formal specification. Data reification is the terminology of the Vienna Development Method (VDM) that most other people would call data refinement. An example is taking a step towards an implementation by replacing a data representation without a counterpart in the intended implementation language, such as sets, by one that does have a counterpart (such as maps with fixed domains that can be implemented by arrays), or at least one that is closer to having a counterpart, such as sequences. The VDM community prefers the word "reification" over "refinement", as the process has more to do with concretising an idea than with refining it. For similar usages, see Reification (linguistics). == In conceptual modeling == Reification is widely used in conceptual modeling. Reifying a relationship means viewing it as an entity. The purpose of reifying a relationship is to make it explicit, when additional information needs to be added to it. Consider the relationship type IsMemberOf(member:Person, Committee). An instance of IsMemberOf is a relationship that represents the fact that a person is a member of a committee. The figure below shows an example population of IsMemberOf relationship in tabular form. Person P1 is a member of committees C1 and C2. Person P2 is a member of committee C1 only. The same fact, however, could also be viewed as an entity. Viewing a relationship as an entity, one can say that the entity reifies the relationship. This is called reification of a relationship. Like any other entity, it must be an instance of an entity type. In the present example, the entity type has been named Membership. For each instance of IsMemberOf, there is one and only one instance of Membership, and vice versa. Now, it becomes possible to add more information to the original relationship. As an example, we can express the fact that "person p1 was nominated to be the member of committee c1 by person p2". Reified relationship Membership can be used as the source of a new relationship IsNominatedBy(Membership, Person). For related usages see Reification (knowledge representation). == In Unified Modeling Language (UML) == UML provides an association class construct for defining reified relationship types. The association class is a single model element that is both a kind of association and a kind of class. The association and the entity type that reifies are both the same model element. Note that attributes cannot be reified. == On Semantic Web == === RDF and OWL === In Semantic Web languages, such as Resource Description Framework (RDF) and Web Ontology Language (OWL), a statement is a binary relation. It is used to link two individuals or an individual and a value. Applications sometimes need to describe other RDF statements, for instance, to record information like when statements were made, or who made them, which is sometimes called "provenance" information. As an example, we may want to represent properties of a relation, such as our certainty about it, severity or strength of a relation, relevance of a relation, and so on. The example from the conceptual modeling section describes a particular person with URIref person:p1, who is a member of the committee:c1. The RDF triple from that description is Consider to store two further facts: (i) to record who nominated this particular person to this committee (a statement about the membership itself), and (ii) to record who added the fact to the database (a statement about the statement). The first case is a case of classical reification like above in UML: reify the membership and store its attributes and roles etc.: Additionally, RDF provides a built-in vocabulary intended for describing RDF statements. A description of a statement using this vocabulary is called a reification of the statement. The RDF reification vocabulary consists of the type rdf:Statement, and the properties rdf:subject, rdf:predicate, and rdf:object. Using the reification vocabulary, a reification of the statement about the person's membership would be given by assigning the statement a URIref such as committee:membership12345 so that describing statements can be written as follows: These statements say that the resource identified by the URIref committee:membership12345Stat is an RDF statement, that the subject of the statement refers to the resource identified by person:p1, the predicate of the statement refers to the resource identified by committee:isMemberOf, and the object of the statement refers to the resource committee:c1. Assuming that the original statement is actually identified by committee:membership12345, it should be clear by comparing the original statement with the reification that the reification actually does describe it. The conventional use of the RDF reification vocabulary always involves describing a statement using four statements in this pattern. Therefore, they are sometimes referred to as the "reification quad". Using reification according to this convention, we could record the fact that pe

    Read more →
  • New Classification Scheme for Chinese Libraries

    New Classification Scheme for Chinese Libraries

    The New Classification Scheme for Chinese Libraries is a system of library classification developed by Lai Yung-hsiang since 1956. It is modified from "A System of Book Classification for Chinese Libraries" of Liu Guojun, which is based on the Dewey Decimal System. The scheme is developed for Chinese books and commonly used in Taiwan, Hong Kong and Macau. == Main classes == 000 Generalities 100 Philosophy 200 Religion 300 Sciences 400 Applied sciences 500 Social sciences 600 History of China and Geography of China 700 World history and Geography 800 Linguistics and Literature 900 Arts == Outline of the classification tables == 000 Generalities 000 Special collections 010 Bibliography; Literacy (Documentation) 020 Library and information science; Archive management 030 Sinology 040 General encyclopedia 050 Serial publications; Periodicals 060 General organization; Museology 070 General collected essays 080 General series 090 Collected Chinese classics 100 Philosophy 100 Philosophy: general 110 Thought; Learning 120 Chinese philosophy 130 Oriental philosophy 140 Western philosophy 150 Logic 160 Metaphysics 170 Psychology 180 Esthetics (Aesthetics) 190 Ethics 200 Religion 200 Religion: general 210 Science of religion 220 Buddhism 230 Taoism 240 Christianity 250 Islam (Mohammedanism) 260 Judaism 270 Other religions 280 Mythology 290 Astrology; Superstition 300 Sciences 300 Sciences: general 310 Mathematics 320 Astronomy 330 Physics 340 Chemistry 350 Earth science; Geology 360 Biological science 370 Botany 380 Zoology 390 Anthropology 400 Applied sciences 400 Applied sciences: general 410 Medical sciences 420 Home economics 430 Agriculture 440 Engineering 450 Mining and metallurgy 460 Chemical engineering 470 Manufacture 480 Commerce: various business 490 Commerce: administration and management 500 Social sciences 500 Social sciences: general 510 Statistics 520 Education 530 Rite and custom 540 Sociology 550 Economy 560 Finance 570 Political science 580 Law; Jurisprudence 590 Military science 600-700 History and geography 600 History and geography: General History and geography of China 610 General history of China 620 Chinese history by period 630 History of Chinese civilization 640 Diplomatic history of China 650 Historical sources 660 Geography of China 670 Local history 680 Topical topography 690 Chinese travels World history and geography 710 World: general history and geography 720 Oceans and seas 730 Asia: history and geography 740 Europe: history and geography 750 America: history and geography 760 Africa: history and geography 770 Oceania: history and geography 780 Biography 790 Antiquities and archaeology 800 Linguistics and literature 800 Linguistics: general 810 Literature: general 820 Chinese literature 830 Chinese literature: general collections 840 Chinese literature: individual works 850 Various Chinese literature 860 Oriental literature 870 Western literature 880 Other countries literatures 890 Journalism 900 Arts 900 Arts: general 910 Music 920 Architecture 930 Sculpture 940 Drawing and painting; Calligraphy 950 Photography; Computer art 960 Decorative arts 970 Arts and Crafts movement 980 Theatre 990 Recreation and leisure

    Read more →