diff --git a/_index.db b/_index.db index 1e8e91c85..1dc2fbdc1 100644 Binary files a/_index.db and b/_index.db differ diff --git a/data/en.wikipedia.org/wiki/LINDO-0.md b/data/en.wikipedia.org/wiki/LINDO-0.md new file mode 100644 index 000000000..0eec0640a --- /dev/null +++ b/data/en.wikipedia.org/wiki/LINDO-0.md @@ -0,0 +1,35 @@ +--- +title: "LINDO" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/LINDO" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:36:31.759037+00:00" +instance: "kb-cron" +--- + +LINDO (Linear, Interactive, and Discrete Optimizer) is a software package for linear programming, integer programming, nonlinear programming, stochastic programming and global optimization. +LINGO is a mathematical modeling language used as part of LINDO. +Today, LINDO solvers are part of LINDO API (Application Programming Interface) a set of software libraries that can be called from different programming languages to create custom mathematical optimization applications. +It is designed to solve optimization problems that arise in areas of business, industry, research, and government. The LINDO package includes sample applications related to product distribution, ingredient blending, production, personnel scheduling, inventory management. +LINDO also creates "What'sBest!" which is an add-in for linear, integer and nonlinear optimization. First released for Lotus 1-2-3 and later also for Microsoft Excel. + + +== Features == +LINDO provides routines to formulate, solve, query, and modify optimization problems. +It works with programming languages including C, C++, Java, Visual Basic, .NET, Delphi, Python, and R. +Coupled with R’s extensive statistical and data-mining tools, the LINDO API's R interface offers seamless possibilities in statistical analysis and optimization. +LINDO solvers can also be called from MATLAB. +The LINDO package contains Stochastic, Linear, Nonlinear (convex & nonconvex/Global), Quadratic, Quadratically Constrained, Second Order Cone and Integer solvers. +It provides tools for analysis of infeasible linear, integer and nonlinear models. +LINDO supports Multiple Objective Optimization. For linear models, users can provide a prioritized list of objective functions, and LINDO will perform Lexico/Pre-emptive priority optimization. +The Multi-Start NLP Solver in LINDO makes it possible for users to specify a target value for the objective function. As soon as any multi-start thread achieves a specified target all threads stop. +With the release of LINDO API 7.0, LINDO stochastic functionality allows users to incorporate uncertainty into their models. +In 2012, LINDO brings multicore processors support to increase solve speed. + + +== References == + + +== External links == +Official website [1] \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/LOM_port-0.md b/data/en.wikipedia.org/wiki/LOM_port-0.md new file mode 100644 index 000000000..c86fa2e5e --- /dev/null +++ b/data/en.wikipedia.org/wiki/LOM_port-0.md @@ -0,0 +1,33 @@ +--- +title: "LOM port" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/LOM_port" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:35:58.071889+00:00" +instance: "kb-cron" +--- + +The LOM port (Lights Out Management port) is a remote access facility on a Sun Microsystems server. When the main processor is switched off, or when it is impossible to telnet to the server, an operator would use a link to the LOM port to access the server. As long as the server has power, the LOM facility will work, regardless of whether or not the main processor is switched on. +To use the LOM port, a rollover cable or nullmodem serial DB9 cable on some models is connected to the LOM port, which is located at the back of the Sun server. The other end of the cable is connected to a terminal or a PC running a terminal emulator. The terminal or emulator must be set to a transmission rate of 9600 bits per second, and hardware flow control enabled. + + +== Implementations == +Specific implementations include: + +Advanced Lights Out Management (ALOM), Sun Microsystems-specific and comes standard on newer Sun servers (SunFire V125/V210/V215/V240/V245/V250/V440/T1000/T2000, Sun Netra 210/240/440). +Integrated Lights Out Management (ILOM), Sun Microsystems's ALOM replacement on Sun x64 server SunFire X4100(M2)/X4200(M2)/X4600(M2)/X4140/X4240/X4440/X4150/X4250/X4450/X4170/X4270/X2250/X2270, Sun Blade 6000 Chassis Management Module/Blade Module(X6220/X6420/X6240/X6440/X6250/X6450/X6270/X6275), Sun CMT servers/blades (Sun T5120, T5220, T5240, T6340, T6320). Not to be confused with the similar-sounding HP Integrated Lights-Out management technology. +Lomlite and Lomlite2 Single-chip implementations on the Netra T1 and possibly others. In the cases of the T1-200 and X1, the OpenBoot firmware implements lom@ and lom! commands allowing access to the registers representing temperature, voltage, etc. + + +== See also == + +Out-of-band management +Power distribution unit + + +== References == + + +== External links == +Netra-T1 AC200 LOM Usage \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/LZRW-0.md b/data/en.wikipedia.org/wiki/LZRW-0.md new file mode 100644 index 000000000..0f86c8127 --- /dev/null +++ b/data/en.wikipedia.org/wiki/LZRW-0.md @@ -0,0 +1,24 @@ +--- +title: "LZRW" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/LZRW" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:36:00.495178+00:00" +instance: "kb-cron" +--- + +Lempel–Ziv Ross Williams (LZRW) refers to variants of the LZ77 lossless data compression algorithms with an emphasis on improving compression speed through the use of hash tables and other techniques. This family was explored by Ross Williams, who published a series of algorithms beginning with LZRW1 in 1991. +The variants are: + +LZRW1 +LZRW1-A +LZRW2 +LZRW3 +LZRW3-A +LZRW4 +LZRW5 +The LZJB algorithm used in ZFS is derived from LZRW1. + + +== Notes == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Local_ternary_patterns-0.md b/data/en.wikipedia.org/wiki/Local_ternary_patterns-0.md new file mode 100644 index 000000000..3f79225c1 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Local_ternary_patterns-0.md @@ -0,0 +1,92 @@ +--- +title: "Local ternary patterns" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Local_ternary_patterns" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:35:53.332732+00:00" +instance: "kb-cron" +--- + +Local ternary patterns (LTP) are an extension of local binary patterns (LBP). Unlike LBP, it does not threshold the pixels into 0 and 1, rather it uses a threshold constant to threshold pixels into three values. Considering k as the threshold constant, c as the value of the center pixel, a neighboring pixel p, the result of threshold is: + + + + + + + { + + + + 1 + , + + + + if + + p + > + c + + + k + + + + + 0 + , + + + + if + + p + > + c + − + k + + and + + p + < + c + + + k + + + + + − + 1 + + + + if + + p + < + c + − + k + + + + + + + + + {\displaystyle {\begin{cases}1,&{\text{if }}p>c+k\\0,&{\text{if }}p>c-k{\text{ and }}p + +This algorithm will involve nr*bs+ br block transfers and nr+br seeks, where br and bs are number of blocks in relations R and S respectively, and nr is the number of tuples in relation R. +The algorithm runs in + + + + O + ( + + | + + R + + | + + + | + + S + + | + + ) + + + {\displaystyle O(|R||S|)} + + I/Os, where + + + + + | + + R + + | + + + + {\displaystyle |R|} + + and + + + + + | + + S + + | + + + + {\displaystyle |S|} + + is the number of tuples contained in + + + + R + + + {\displaystyle R} + + and + + + + S + + + {\displaystyle S} + + respectively and can easily be generalized to join any number of relations ... +The block nested loop join algorithm is a generalization of the simple nested loops algorithm that takes advantage of additional memory to reduce the number of times that the + + + + S + + + {\displaystyle S} + + relation is scanned. It loads large chunks of relation R into main memory. For each chunk, it scans S and evaluates the join condition on all tuple pairs, currently in memory. This reduces the number of times S is scanned to once per chunk. + + +== Index join variation == +If the inner relation has an index on the attributes used in the join, then the naive nest loop join can be replaced with an index join. + +algorithm index_join is + for each tuple r in R do + for each tuple s in S in the index lookup do + yield tuple + +The time complexity for this variation improves from + + + + O + ( + + | + + R + + | + + + | + + S + + | + + ) + + to + + O + ( + + | + + R + + | + + log + ⁡ + + | + + S + + | + + ) + + + {\displaystyle O(|R||S|){\text{ to }}O(|R|\log |S|)} + + + +== See also == +Hash join +Sort-merge join + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Northbound_interface-0.md b/data/en.wikipedia.org/wiki/Northbound_interface-0.md new file mode 100644 index 000000000..0bc7817a6 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Northbound_interface-0.md @@ -0,0 +1,26 @@ +--- +title: "Northbound interface" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Northbound_interface" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:36:42.656114+00:00" +instance: "kb-cron" +--- + +In computer networking and computer architecture, a northbound interface of a component is an interface that allows the component to communicate with a higher level component, using the latter component's southbound interface. +The northbound interface conceptualizes the lower level details (e.g., data or functions) used by, or in, the component, allowing the component to interface with higher level layers. +In architectural overviews, the northbound interface is normally drawn at the top of the component it is defined in; hence the name northbound interface. +A southbound interface decomposes concepts in the technical details, mostly specific to a single component of the architecture. +Southbound interfaces are drawn at the bottom of an architectural overview. + + +== Typical use == +A northbound interface is typically an output-only interface (as opposed to one that accepts user input) found in carrier-grade network and telecommunications network elements. +The languages or protocols commonly used include SNMP and TL1. +For example, a device that is capable of sending out syslog messages but that is not configurable by the user is said to implement a northbound interface. +Other examples include SMASH, IPMI, WSMAN, and SOAP. +The term is also important for software-defined networking (SDN), to facilitate communication between the physical devices, the SDN software and applications running on the network. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/NovoGen-0.md b/data/en.wikipedia.org/wiki/NovoGen-0.md new file mode 100644 index 000000000..99b07ec0d --- /dev/null +++ b/data/en.wikipedia.org/wiki/NovoGen-0.md @@ -0,0 +1,14 @@ +--- +title: "NovoGen" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/NovoGen" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:36:43.846317+00:00" +instance: "kb-cron" +--- + +NovoGen is a proprietary form of 3D printing technology that allows scientists to assemble living tissue cells into a desired pattern. When combined with an extracellular matrix, the cells can be arranged into complex structures, such as organs. Designed by Organovo, the NovoGen technology has been successfully integrated by Invetech with a production printer that is intended to help develop processes for tissue repair and organ development. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Nullary_constructor-0.md b/data/en.wikipedia.org/wiki/Nullary_constructor-0.md new file mode 100644 index 000000000..229b5e008 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Nullary_constructor-0.md @@ -0,0 +1,35 @@ +--- +title: "Nullary constructor" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Nullary_constructor" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:36:45.009411+00:00" +instance: "kb-cron" +--- + +In computer programming, a nullary constructor is a constructor that takes no arguments. Also known as a 0-argument constructor, no-argument constructor, parameterless constructor or default constructor. + + +== Object-oriented constructors == +In object-oriented programming, a constructor is code that is run when an object is created. Default constructors of objects are usually nullary. + + +=== Java example === + + +=== C++ example === + + +== Algebraic data types == +In algebraic data types, a constructor is one of many tags that wrap data. If a constructor does not take any data arguments, it is nullary. + + +=== Haskell example === + + +== See also == +Default constructor + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Oaklisp-0.md b/data/en.wikipedia.org/wiki/Oaklisp-0.md new file mode 100644 index 000000000..b1b2a1a52 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Oaklisp-0.md @@ -0,0 +1,23 @@ +--- +title: "Oaklisp" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Oaklisp" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:36:46.208579+00:00" +instance: "kb-cron" +--- + +Oaklisp is a message based portable object-oriented Scheme developed by Kevin J. Lang and Barak A. Pearlmutter while Computer Science PhD students at Carnegie Mellon University. Oaklisp uses a superset of Scheme syntax. It is based on generic operations rather than functions, and features anonymous classes, multiple inheritance, a strong error system, setters and locators for operations, and a facility for dynamic binding. +Version 1.2 includes an interface, bytecode compiler, run-time system and documentation. + + +== References == + +Kevin J. Lang and Barak A. Pearlmutter (November 1986). "Oaklisp: An object-oriented Scheme with first-class types" (PDF). ACM SIGPLAN Notices. 21 (11): 30–7. doi:10.1145/960112.28701. +Kevin J. Lang and Barak A. Pearlmutter (May 1988). "Oaklisp: an object-oriented dialect of Scheme". LISP and Symbolic Computation. 1 (1): 39–51. CiteSeerX 10.1.1.13.8118. doi:10.1007/BF01806175. +Barak A. Pearlmutter and Kevin J. Lang (1991). "The Implementation of Oaklisp". In Peter Lee (ed.). Topics in Advanced Language Implementation. Cambridge MA: MIT Press. pp. 189–215. ISBN 978-0-262-12151-4. + + +== External links == +Oaklisp homepage \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Object_hierarchy-0.md b/data/en.wikipedia.org/wiki/Object_hierarchy-0.md new file mode 100644 index 000000000..1b3fd04f2 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Object_hierarchy-0.md @@ -0,0 +1,14 @@ +--- +title: "Object hierarchy" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Object_hierarchy" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:36:47.410228+00:00" +instance: "kb-cron" +--- + +An object hierarchy is a concept from computer programming. It references descendants of objects acting as properties of an object. An example of this would be the object controlling a window (at the top of the hierarchy) having another object like the window's border acting as a property of the window. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Observational_equivalence-0.md b/data/en.wikipedia.org/wiki/Observational_equivalence-0.md new file mode 100644 index 000000000..bd90fac78 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Observational_equivalence-0.md @@ -0,0 +1,21 @@ +--- +title: "Observational equivalence" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Observational_equivalence" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:36:48.617606+00:00" +instance: "kb-cron" +--- + +Observational equivalence is the property of two or more underlying entities being indistinguishable on the basis of their observable implications. Thus, for example, two scientific theories are observationally equivalent if all of their empirically testable predictions are identical, in which case empirical evidence cannot be used to distinguish which is closer to being correct; indeed, it may be that they are actually two different perspectives on one underlying theory. +In econometrics, two parameter values (or two structures, from among a class of statistical models) are considered observationally equivalent if they both result in the same probability distribution of observable data. This term often arises in relation to the identification problem. +In macroeconomics, it happens when you have multiple structural models, with different interpretation, but indistinguishable empirically. "the mapping between structural parameters and the objective function may not display a unique minimum." +In the formal semantics of programming languages, two terms M and N are observationally equivalent if and only if, in all contexts C[...] where C[M] is a valid term, it is the case that C[N] is also a valid term with the same value. Thus it is not possible, within the system, to distinguish between the two terms. This definition can be made precise only with respect to a particular calculus, one that comes with its own specific definitions of term, context, and the value of a term. The notion is due to James H. Morris, who called it "extensional equivalence." + + +== See also == +Underdetermination + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Occam-π-0.md b/data/en.wikipedia.org/wiki/Occam-π-0.md new file mode 100644 index 000000000..8e3b66e36 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Occam-π-0.md @@ -0,0 +1,36 @@ +--- +title: "Occam-π" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Occam-π" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:36:49.843827+00:00" +instance: "kb-cron" +--- + +In computer science, occam-π (or occam-pi) is the name of a variant of the programming language occam developed by the Kent Retargetable occam Compiler (KRoC) team at the University of Kent. The name reflects the introduction of elements of π-calculus (pi-calculus) into occam, especially concepts involving mobile agents (processes) and data. The language contains several extensions to occam 2.1, including: + +Nested protocols +Run-time process creation +Mobile channels, data, and processes +Recursion +Protocol inheritance +Array constructors +Extended rendezvous + + +== See also == +occam (programming language) +Transputer +KRoC +Transterpreter + + +== References == + + +== External links == +Official website +University of Kent Occam-pi project page +Tock Occam compiler +Parallel programming users group on Occam-pi \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Offset_(computer_science)-0.md b/data/en.wikipedia.org/wiki/Offset_(computer_science)-0.md new file mode 100644 index 000000000..449b9faca --- /dev/null +++ b/data/en.wikipedia.org/wiki/Offset_(computer_science)-0.md @@ -0,0 +1,26 @@ +--- +title: "Offset (computer science)" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Offset_(computer_science)" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:36:51.042654+00:00" +instance: "kb-cron" +--- + +In computer science, an offset within an array or other data structure object is an integer indicating the distance (displacement) between the beginning of the object and a given element or point, presumably within the same object. The concept of a distance is valid only if all elements of the object are of the same size (typically given in bytes or words). +For example, if A is an array of characters containing "abcdef", the fourth element containing the character 'd' has an offset of three from the start of A. + + +== In assembly language == +In computer engineering and low-level programming (such as assembly language), an offset usually denotes the number of address locations added to a base address in order to get to a specific absolute address. In this (original) meaning of offset, only the basic address unit, usually the 8-bit byte, is used to specify the offset's size. In this context an offset is sometimes called a relative address. +In IBM System/360 instructions, a 12-bit offset embedded within certain instructions provided a range of between 0 and 4096 bytes. For example, within an unconditional branch instruction (X'47F0Fxxx'), the xxx 12-bit hexadecimal offset provided the byte offset from the base register (15) to branch to. An odd offset would cause a program check (unless the base register itself also contained an odd address)—since instructions had to be aligned on half-word boundaries to execute without a program or hardware interrupt. +The previous example describes an indirect way to address to a memory location in the format of segment:offset. For example, assume we want to refer to memory location 0xF867. One way this can be accomplished is by first defining a segment with beginning address 0xF000, and then defining an offset of 0x0867. Further, we are also allowed to shift the hexadecimal segment to reach the final absolute memory address. One thing to note here is that we can reach our final absolute address in many ways. +An offset is not always relative to the base address of the module, for example: If you have a class and you want to retrieve the "color" attribute of this class, the offset may be 0x0100, but this offset has to be added to the offset of the class itself, not the base address. If the class' offset is 0xFF881 and the base address is 0x0A100, then to retrieve the "color" attribute both offsets are added to the base address. 0x0A100 (base) + 0xFF881 (class) + 0x0100 (attribute). Ultimately the attribute's address will be 0x109A81. + + +== See also == +Array Index + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/One-pass_algorithm-0.md b/data/en.wikipedia.org/wiki/One-pass_algorithm-0.md new file mode 100644 index 000000000..2be043921 --- /dev/null +++ b/data/en.wikipedia.org/wiki/One-pass_algorithm-0.md @@ -0,0 +1,44 @@ +--- +title: "One-pass algorithm" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/One-pass_algorithm" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:36:52.235906+00:00" +instance: "kb-cron" +--- + +In computing, a one-pass algorithm or single-pass algorithm is a streaming algorithm which reads its input exactly once. It does so by processing items in order, without unbounded buffering; it reads a block into an input buffer, processes it, and moves the result into an output buffer for each step in the process. A one-pass algorithm generally requires O(n) (see 'big O' notation) time and less than O(n) storage (typically O(1)), where n is the size of the input. An example of a one-pass algorithm is the Sondik partially observable Markov decision process. + + +== Example problems solvable by one-pass algorithms == +Given any list as an input: + +Count the number of elements. +Given a list of numbers: + +Find the k largest or smallest elements, k given in advance. +Find the sum, mean, variance and standard deviation of the elements of the list. See also Algorithms for calculating variance. +Given a list of symbols from an alphabet of k symbols, given in advance. + +Count the number of times each symbol appears in the input. +Find the most or least frequent elements. +Sort the list according to some order on the symbols (possible since the and after number of symbols is limited). +Find the maximum gap between two appearances of a given symbol. + + +== Example problems not solvable by one-pass algorithms == +Given any list as an input: + +Find the nth element from the end (or report that the list has fewer than n elements). +Find the middle element of the list. However, this is solvable with two passes: Pass 1 counts the elements and pass 2 picks out the middle one. +Given a list of numbers: + +Find the median. +Find the modes (This is not the same as finding the most frequent symbol from a limited alphabet). +Sort the list. +Count the number of items greater than or less than the mean. However, this can be done in constant memory with two passes: Pass 1 finds the average and pass 2 does the counting. +The two-pass algorithms above are still streaming algorithms but not one-pass algorithms. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Online_optimization-0.md b/data/en.wikipedia.org/wiki/Online_optimization-0.md new file mode 100644 index 000000000..7fbfdbc6e --- /dev/null +++ b/data/en.wikipedia.org/wiki/Online_optimization-0.md @@ -0,0 +1,36 @@ +--- +title: "Online optimization" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Online_optimization" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:36:53.498022+00:00" +instance: "kb-cron" +--- + +Online optimization is a field of optimization theory, more popular in computer science and operations research, that deals with optimization problems having no or incomplete knowledge of the future (online). These kind of problems are denoted as online problems and are seen as opposed to the classical optimization problems where complete information is assumed (offline). The research on online optimization can be distinguished into online problems where multiple decisions are made sequentially based on a piece-by-piece input and those where a decision is made only once. A famous online problem where a decision is made only once is the Ski rental problem. In general, the output of an online algorithm is compared to the solution of a corresponding offline algorithm which is necessarily always optimal and knows the entire input in advance (competitive analysis). +In many situations, present decisions (for example, resources allocation) must be made with incomplete knowledge of the future or distributional assumptions on the future are not reliable. In such cases, online optimization can be used, which is different from other approaches such as robust optimization, stochastic optimization and Markov decision processes. + + +== Online problems == +A problem exemplifying the concepts of online algorithms is the Canadian traveller problem. The goal of this problem is to minimize the cost of reaching a target in a weighted graph where some of the edges are unreliable and may have been removed from the graph. However, that an edge has been removed (failed) is only revealed to the traveller when they reach one of the edge's endpoints. The worst case for this problem is simply that all of the unreliable edges fail and the problem reduces to the usual shortest path problem. An alternative analysis of the problem can be made with the help of competitive analysis. For this method of analysis, the offline algorithm knows in advance which edges will fail and the goal is to minimize the ratio between the online and offline algorithms' performance. This problem is PSPACE-complete. +There are many formal problems that offer more than one online algorithm as solution: + +k-server problem +Job shop scheduling problem +List update problem +Bandit problem +Secretary problem +Search games +Ski rental problem +Linear search problem +Portfolio selection problem +Online matching + + +== See also == +Online algorithm +Online mirror descent + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Ontology_Definition_MetaModel-0.md b/data/en.wikipedia.org/wiki/Ontology_Definition_MetaModel-0.md new file mode 100644 index 000000000..98b994446 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Ontology_Definition_MetaModel-0.md @@ -0,0 +1,28 @@ +--- +title: "Ontology Definition MetaModel" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Ontology_Definition_MetaModel" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:36:54.711917+00:00" +instance: "kb-cron" +--- + +The Ontology Definition MetaModel (ODM) is an Object Management Group (OMG) specification to make the concepts of Model-Driven Architecture applicable to the engineering of ontologies. Hence, it links Common Logic (CL), the Web Ontology Language (OWL), and the Resource Description Framework (RDF). +OWL and RDF were initially defined to provide an XML-based machine to machine interchange of metadata and semantics. ODM now integrates these into visual modeling, giving a standard well-defined process for modeling the ontology, as well as, allowing for interoperability with other modeling based on languages like UML, SysML and UPDM. + + +== See also == +Web Ontology Language +Unified Modeling Language + + +== External links == +Ontology Definition Metamodel (ODM) Version 1.0, Object Management Group, May 2009 +W3C OWL ontology + + +== Resources == +Eclipse ODM +Enterprise Architect ODM MDG Technology +Formal Modelling, Knowledge Representation and Reasoning for Design and Development of User-centric Pervasive Software: A Meta-review Archived 2013-12-15 at the Wayback Machine, article in International Journal of Metadata, Semantics and Ontologies, Vol 6, No 2 (2011), 96-125, by Ahmet Soylu, Patrick De Causmaecker, Davy Preuveneers, Yolande Berbers, and Piet Desmet \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Ontology_Inference_Layer-0.md b/data/en.wikipedia.org/wiki/Ontology_Inference_Layer-0.md new file mode 100644 index 000000000..62f074e1c --- /dev/null +++ b/data/en.wikipedia.org/wiki/Ontology_Inference_Layer-0.md @@ -0,0 +1,22 @@ +--- +title: "Ontology Inference Layer" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Ontology_Inference_Layer" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:36:55.884282+00:00" +instance: "kb-cron" +--- + +OIL (Ontology Inference Layer or Ontology Interchange Language) can be regarded as an ontology infrastructure for the Semantic Web. OIL is based on concepts developed in Description Logic (DL) and frame-based systems and is compatible with RDFS. +OIL was developed by Dieter Fensel, Frank van Harmelen (Vrije Universiteit, Amsterdam) and Ian Horrocks (University of Manchester) as part of the IST OntoKnowledge project. +Much of the work in OIL was subsequently incorporated into DAML+OIL and the Web Ontology Language (OWL). + + +== See also == +DARPA Agent Markup Language (DAML) +DAML+OIL +Ontology + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Opaque_binary_blob-0.md b/data/en.wikipedia.org/wiki/Opaque_binary_blob-0.md new file mode 100644 index 000000000..d5156f829 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Opaque_binary_blob-0.md @@ -0,0 +1,28 @@ +--- +title: "Opaque binary blob" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Opaque_binary_blob" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:36:57.101557+00:00" +instance: "kb-cron" +--- + +Opaque binary blob (OBB) is a term used in network engineering and computer science to refer to a sizeable piece of data, which looks like binary garbage from outside, by entities which do not know what that blob denotes or carries, but make sense to entities which have access permission and access functions to them. It is also a pejorative term for compiled code without the source code made available (see: binary blob). + + +== Use in networks == +At least one network protocol, Advanced Message Queuing Protocol, uses the terminology of OBB. + + +== Use in the computer field == +Android operating systems, starting with version 2.3 code named Gingerbread, use OBBs to refer in one blob to multiple files, maybe even a file system or whole file system in one file. These OBBs are available through the Storage Manager interface in Android. This is done as a means of abstraction, so multiple applications running on the operating system can more easily access the OBB. For example, if there was a map database (map OBB), multiple applications running on Android 2.3 can access the same maps. This eliminates the need to maintain different map data for different applications with similar functions and features. Many HD games on the Android platform use their own OBB files, to allow storage of large files on the device's external SD card. +Tuxedo middleware also uses OBBs to mention C and C++ arrays, or typed data buffers. This probably (input needed from experts) is the oldest reference to OBBs used in a computer system. +When a vendor distributes software in an object binary form without any mention of its inner workings or code, it is called a 'proprietary OBB' or 'proprietary blob' or just binary blob. This practice is to protect the company's intellectual property, and probably keep a competitive edge (see: proprietary software). This also prevents hackers from improving the system or subverting it. As an example, Nvidia Tegra has such a 'proprietary OBB.' + + +== See also == +Binary blob + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Open_Architecture_Computing_Environment-0.md b/data/en.wikipedia.org/wiki/Open_Architecture_Computing_Environment-0.md new file mode 100644 index 000000000..916030156 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Open_Architecture_Computing_Environment-0.md @@ -0,0 +1,20 @@ +--- +title: "Open Architecture Computing Environment" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Open_Architecture_Computing_Environment" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:36:58.332803+00:00" +instance: "kb-cron" +--- + +Open Architecture Computing Environment (OACE) was a specification that aimed to provide a standards-based computing environment in order to decouple computing environment from software applications. +It was proposed for the United States Department of Defense in 2004. + + +== See also == +Open architecture +Mission Data Interface + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Open_Knowledge_Base_Connectivity-0.md b/data/en.wikipedia.org/wiki/Open_Knowledge_Base_Connectivity-0.md new file mode 100644 index 000000000..696c59ffb --- /dev/null +++ b/data/en.wikipedia.org/wiki/Open_Knowledge_Base_Connectivity-0.md @@ -0,0 +1,18 @@ +--- +title: "Open Knowledge Base Connectivity" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Open_Knowledge_Base_Connectivity" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:36:59.556390+00:00" +instance: "kb-cron" +--- + +Open Knowledge Base Connectivity (OKBC) is a protocol and an API for accessing knowledge in knowledge representation systems such as ontology repositories and object–relational databases. It is somewhat complementary to the Knowledge Interchange Format that serves as a general representation language for knowledge. It is developed by SRI International's Artificial Intelligence Center for DARPA's High Performance Knowledge Base program (HPKB). + + +== References == + + +== External links == +Open Knowledge Base Connectivity Home Page \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Operability-0.md b/data/en.wikipedia.org/wiki/Operability-0.md new file mode 100644 index 000000000..0aef975e0 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Operability-0.md @@ -0,0 +1,23 @@ +--- +title: "Operability" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Operability" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:37:00.753461+00:00" +instance: "kb-cron" +--- + +Operability is the ability to keep a piece of equipment, a system or a whole industrial installation in a safe and reliable functioning condition, according to pre-defined operational requirements. +In a computing systems environment with multiple systems this includes the ability of products, systems and business processes to work together to accomplish a common task such as finding and returning availability of inventory for flight. +For a gas turbine engine, operability addresses the installed aerodynamic operation of the engine to ensure that it operates with care-free throttle handling without compressor stall or surge or combustor flame-out. There must be no unacceptable loss of power or handling deterioration after ingesting birds, rain and hail or ingesting or accumulating ice. Design and development responsibilities include the components through which the thrust/power-producing flow passes, i.e. the intake, compressor, combustor, fuel system, turbine and exhaust. They also include the software in the computers which control the way the engine changes its speed in response to the actions of the pilot in selecting a start, selecting different idle settings and higher power ratings such as take-off, climb and cruise. The engine has to start to idle and accelerate and decelerate within agreed, or mandated, times while remaining within operating limits (shaft speeds, turbine temperature, combustor casing pressure) over the required aircraft operating envelope. +Operability is considered one of the ilities and is closely related to reliability, supportability and maintainability. +Operability also refers to whether or not a surgical operation can be performed to treat a patient with a reasonable degree of safety and chance of success. + + +== References == + + +== External links == +Software Operability +Examples Software Operability Requirements \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Ordinal_tree-0.md b/data/en.wikipedia.org/wiki/Ordinal_tree-0.md new file mode 100644 index 000000000..386213ca9 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Ordinal_tree-0.md @@ -0,0 +1,18 @@ +--- +title: "Ordinal tree" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Ordinal_tree" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:37:01.986630+00:00" +instance: "kb-cron" +--- + +An ordinal tree, by analogy with an ordinal number, is a rooted tree of arbitrary degree in which the children of each node are ordered, so that one refers to the ith child in the sequence of children of a node. + + +== See also == +Cardinal tree + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Orthogonality_(term_rewriting)-0.md b/data/en.wikipedia.org/wiki/Orthogonality_(term_rewriting)-0.md new file mode 100644 index 000000000..f1604a6df --- /dev/null +++ b/data/en.wikipedia.org/wiki/Orthogonality_(term_rewriting)-0.md @@ -0,0 +1,137 @@ +--- +title: "Orthogonality (term rewriting)" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Orthogonality_(term_rewriting)" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:37:03.225572+00:00" +instance: "kb-cron" +--- + +Orthogonality as a property of term rewriting systems (TRSs) describes where the reduction rules of the system are all left-linear, that is each variable occurs only once on the left hand side of each reduction rule, and there is no overlap between them, i.e. the TRS has no critical pairs. For example + + + + D + ( + x + , + x + ) + → + E + + + {\displaystyle D(x,x)\to E} + + is not left-linear. +Orthogonal TRSs have the consequent property that all reducible expressions (redexes) within a term are completely disjoint—that is, the redexes share no common function symbol. +For example, the TRS with reduction rules + + + + + + + + + + ρ + + 1 + + + : + + + + f + ( + x + , + y + ) + + + → + + + g + ( + y + ) + + + + + + ρ + + 2 + + + : + + + + h + ( + y + ) + + + → + + + f + ( + g + ( + y + ) + , + y + ) + + + + + + + {\displaystyle {\begin{array}{lrcl}\rho _{1}:\ &f(x,y)&\rightarrow &g(y)\\\rho _{2}:\ &h(y)&\rightarrow &f(g(y),y)\end{array}}} + + +is orthogonal—it is easy to observe that each reduction rule is left-linear, and the left hand side of each reduction rule shares no function symbol in common, so there is no overlap. +Orthogonal TRSs are confluent. + + +== Weak orthogonality == +A TRS is weakly orthogonal if it is left-linear and contains only trivial critical pairs, i.e. if + + + + ( + t + , + s + ) + + + {\displaystyle (t,s)} + + is a critical pair then + + + + t + = + s + + + {\displaystyle t=s} + +. Weakly orthogonal TRSs are confluent. +A TRS is almost orthogonal if it is weakly orthogonal and has the additional property that overlap between redex occurrences occurs only at the root of the redex occurrences. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/PSI_Comp_80-0.md b/data/en.wikipedia.org/wiki/PSI_Comp_80-0.md new file mode 100644 index 000000000..a793d30bd --- /dev/null +++ b/data/en.wikipedia.org/wiki/PSI_Comp_80-0.md @@ -0,0 +1,31 @@ +--- +title: "PSI Comp 80" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/PSI_Comp_80" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:37:42.343408+00:00" +instance: "kb-cron" +--- + +The PSI Comp 80 was a home computer sold by Powertran starting in 1979. It was sold in the form of a kit of parts for a cased single-board home computer system. +The system was based on a Z80 microprocessor addressing a mixture of 8 KB of system RAM and EPROM, plus 2 KB of video RAM. +It used a National Semiconductor MM57109N as a mathematical co-processor to speed up calculations. + + +== History and specifications == +In 1979, the British magazine Wireless World published the technical details for a "Scientific Computer". Shortly afterward the British firm Powertran used this design for their implementation, which they called the PSI Comp 80. +Ahead of its time, it incorporated a number crunching coprocessor and a novel language embedded in EPROM called Basic Using Reverse Polish - BURP. +The monochrome Video Display Controller could simultaneously display combinations of 32 lines of 64 characters, and 128 x 64 resolution graphics by either displaying a normal character or a "pseudo graphics" character, with pixel blocks in a 2x2 matrix. A technique similar to the one used in the TRS-80 - It could later be expanded to a higher resolution, although never to colour. +Add-ons were developed for the system, including memory expansions, floppy and hard disk interfaces, various software packages and a disk operating system, SCIDOS, which was CP/M-compatible but also included features - structured (pathed) disk folders, etc. - now very familiar to modern-day PC users. +During the mid-1980s, the designer of this system, John Adams M.SC., published a new version of the Scientific Computer - the SC84 (Scientific Computer of 1984). It was based upon a backplane and plug-in cards and modules and featuring a Hitachi HD64180 processor, up to 512 kbytes of RAM and a high-resolution colour graphics system. + + +== References == +PSI 2020 + + +== External links == +a picture of the advertisement for the PSI Comp 80 in Wireless World +Links to Wireless World articles +SC84 article \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Page_address_register-0.md b/data/en.wikipedia.org/wiki/Page_address_register-0.md new file mode 100644 index 000000000..99b71cb79 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Page_address_register-0.md @@ -0,0 +1,18 @@ +--- +title: "Page address register" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Page_address_register" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:37:04.416427+00:00" +instance: "kb-cron" +--- + +A page address register (PAR) contains the physical addresses of pages currently held in the main memory of a computer system. PARs are used in order to avoid excessive use of an address table in some operating systems. A PAR may check a page's number against all entries in the PAR simultaneously, allowing it to retrieve the pages physical address quickly. A PAR is used by a single process and is only used for pages which are frequently referenced (though these pages may change as the process's behaviour changes in accordance with the principle of locality). An example computer which made use of PARs is the Atlas. + + +== See also == +Translation Lookaside Buffer (TLB) + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Parallel_slowdown-0.md b/data/en.wikipedia.org/wiki/Parallel_slowdown-0.md new file mode 100644 index 000000000..62058fc6f --- /dev/null +++ b/data/en.wikipedia.org/wiki/Parallel_slowdown-0.md @@ -0,0 +1,20 @@ +--- +title: "Parallel slowdown" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Parallel_slowdown" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:37:05.545653+00:00" +instance: "kb-cron" +--- + +Parallel slowdown is a phenomenon in parallel computing where parallelization of a parallel algorithm beyond a certain point causes the program to run slower (take more time to run to completion). +Parallel slowdown is typically the result of a communications bottleneck. As more processor nodes are added, each processing node spends progressively more time doing communication than useful processing. At some point, the communications overhead created by adding another processing node surpasses the increased processing power that node provides, and parallel slowdown occurs. +Parallel slowdown occurs when the algorithm requires significant communication, particularly of intermediate results. Some problems, known as embarrassingly parallel problems, do not require such communication, and thus are not affected by slowdown. + + +== See also == +Mythical man month, an analogous situation for a team programmers where productivity is affected by human communication. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Parameter_validation-0.md b/data/en.wikipedia.org/wiki/Parameter_validation-0.md new file mode 100644 index 000000000..43f2f72b8 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Parameter_validation-0.md @@ -0,0 +1,26 @@ +--- +title: "Parameter validation" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Parameter_validation" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:37:06.725209+00:00" +instance: "kb-cron" +--- + +In computer software, the term parameter validation is the automated processing, in a module, to validate the spelling or accuracy of parameters passed to that module. The term has been in common use for over 30 years. Specific best practices have been developed, for decades, to improve the handling of such parameters. +Parameter validation can be used to defend against cross-site scripting attacks. + + +== See also == +Data validation +Strong typing +Error handling +Sanity check + + +== Notes == + + +== References == +"Parameter validation for software reliability", G.B. Alleman, 1978, webpage: ACM-517: paper presents a method for increasing software reliability through parameter validation. \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Path_expression-0.md b/data/en.wikipedia.org/wiki/Path_expression-0.md new file mode 100644 index 000000000..62ae445d5 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Path_expression-0.md @@ -0,0 +1,29 @@ +--- +title: "Path expression" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Path_expression" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:37:07.940479+00:00" +instance: "kb-cron" +--- + +In query languages, path expressions identify an object by describing how to navigate to it +in some graph (possibly implicit) of objects. For example, the path expression p.Manager.Home.City might refer the city of residence of someone's manager. +Path expressions have been extended to support regular expression-like flexibility. +XPath is an example of a path expression language. +In concurrency control, path expressions are a mechanism for expressing permitted sequences of execution. For example, a path expression like " {read}, write" might specify that either multiple simultaneous executions of read or a single execution of write but not both are allowed at any point in time. +It is important to know that the path expressions are a mechanism for the synchronization of processes at the monitor level in the software. That provides a clear and structured approach to the description of shared data and the coordination and communication between concurrent processes. This method is flexible in its ability to express timing, and can be used in different ways. +In addition, path expressions are useful for process synchronization for two reasons: first, the close relationship between stream expressions and regular expressions that simplify the task of writing and reasoning about programs that use this synchronization mechanism. Second, synchronization in many concurrent programs in a finite state, and therefore can be adequately described by regular expressions. For precisely the same reasons, path expressions are useful for controlling the behavior of complicated asynchronous circuits. In fact, the finite state assumption may be even more reasonable at the hardware level than at the monitor level. +Path expressions provide a high level of descriptive synchronization that aids in the prevention and detection of design errors in complex systems and overcomes some of the dangers, such as certain forms of coding errors. + + +== See also == +Object database + + +== References == +M. Kifer; W. Kim & Y. Sagiv (1992). "Querying Object-Oriented Databases". Proc. of the ACM SIGMOD. pp. 393–402. +Elisa Bertino, Mauro Negri, Giuseppe Pelagatti, and Licia Sbattella (June 1992). "Object-Oriented Query Languages: The Notion and the Issues". IEEE Transactions on Knowledge and Data Engineering. 4 (3): 223–236. doi:10.1109/69.142014.{{cite journal}}: CS1 maint: multiple names: authors list (link) +R. Campbell & R. Kolstad (1979). "Path Expressions in Pascal". Proceedings of the 4th International Conference on Software Engineering. Vol. 4. pp. 212–219. +Tony Bloom (1979). "Evaluating Synchronization Mechanisms". Proceedings of the seventh ACM symposium on Operating systems principles. pp. 24–32. \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Peptide_computing-0.md b/data/en.wikipedia.org/wiki/Peptide_computing-0.md new file mode 100644 index 000000000..c2e4073f7 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Peptide_computing-0.md @@ -0,0 +1,28 @@ +--- +title: "Peptide computing" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Peptide_computing" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:37:09.166120+00:00" +instance: "kb-cron" +--- + +Peptide computing is a form of computing which uses peptides, instead of traditional electronic components. The basis of this computational model is the affinity of antibodies towards peptide sequences. Similar to DNA computing, the parallel interactions of peptide sequences and antibodies have been used by this model to solve a few NP-complete problems. Specifically, the hamiltonian path problem (HPP) and some versions of the set cover problem are a few NP-complete problems which have been solved using this computational model so far. This model of computation has also been shown to be computationally universal (or Turing complete). +This model of computation has some critical advantages over DNA computing. For instance, while DNA is made of four building blocks, peptides are made of twenty building blocks. The peptide-antibody interactions are also more flexible with respect to recognition and affinity than an interaction between a DNA strand and its reverse complement. However, unlike DNA computing, this model is yet to be practically realized. The main limitation is the availability of specific monoclonal antibodies required by the model. + + +== See also == +Biocomputers +Computational gene +Computational complexity theory +DNA computing +Molecular electronics +Parallel computing +Unconventional computing +Molecular logic gate + + +== References == +M. Sakthi Balan; Kamala Krithivasan; Y. Sivasubramanyam (2001). Peptide Computing - Universality and Complexity. Lecture Notes in Computer Science. Vol. 2340. pp. 290–299. doi:10.1007/3-540-48017-X_27. ISBN 978-3-540-43775-8. +Hubert Hug & Rainer Schuler (2001). "Strategies for the development of a peptide computer". Bioinformatics. 17 (4): 364–368. doi:10.1093/bioinformatics/17.4.364. PMID 11301306. \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Persistent_programming_language-0.md b/data/en.wikipedia.org/wiki/Persistent_programming_language-0.md new file mode 100644 index 000000000..e412c50af --- /dev/null +++ b/data/en.wikipedia.org/wiki/Persistent_programming_language-0.md @@ -0,0 +1,43 @@ +--- +title: "Persistent programming language" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Persistent_programming_language" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:37:10.353239+00:00" +instance: "kb-cron" +--- + +Programming languages that natively and seamlessly allow objects to continue existing after the program has been closed down are called persistent programming languages. JADE is one such language. +A persistent programming language is a programming language extended with constructs to handle persistent data. It is distinguished from embedded SQL in at least two ways: +In a persistent programming language: + +The query language is fully integrated with the host language and both share the same type system. +Any format changes required between the host language and the database are carried out transparently. +In Embedded SQL: + +Where the host language and data manipulation language have different type systems, code conversion operates outside of the OO type system, and hence has a higher chance of having undetected errors. +Format conversion must be handled explicitly and takes a substantial amount of code. +Using Embedded SQL, a programmer is responsible for writing explicit code to fetch data into memory or store data back to the database. +In a persistent programming language, a programmer can manipulate persistent data without having to write such code explicitly. +The drawbacks of persistent programming languages include: + +While they are powerful, it is easy to make programming errors that damage the database. +It is harder to do automatic high-level optimization. +They do not support declarative querying well. + + +== Examples == +MUMPS +JADE +Caché ObjectScript + + +== See also == +Object-relational mapping +Object-oriented database management systems +Object prevalence +Phantom OS - persistent OS project + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/PlanetLab-0.md b/data/en.wikipedia.org/wiki/PlanetLab-0.md new file mode 100644 index 000000000..1e7c06572 --- /dev/null +++ b/data/en.wikipedia.org/wiki/PlanetLab-0.md @@ -0,0 +1,21 @@ +--- +title: "PlanetLab" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/PlanetLab" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:37:11.525473+00:00" +instance: "kb-cron" +--- + +PlanetLab was a group of computers available as a testbed for computer networking and distributed systems research. It was established in 2002 by Prof. Larry L. Peterson and Prof. David Culler, and by 2005 it had been deployed at 252 sites in 28 countries. Each research project had a "slice", or virtual machine access to a subset of the nodes. +Accounts were limited to persons affiliated with corporations and universities that hosted PlanetLab nodes. However, a number of free, public services have been deployed on PlanetLab, including CoDeeN, the Coral Content Distribution Network, and Open DHT. +PlanetLab was officially shut down in May 2020 but continues in Europe. + + +== References == + + +== External links == +PlanetLab +PlanetLab Europe \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/PlusCal-0.md b/data/en.wikipedia.org/wiki/PlusCal-0.md new file mode 100644 index 000000000..29bfe6785 --- /dev/null +++ b/data/en.wikipedia.org/wiki/PlusCal-0.md @@ -0,0 +1,24 @@ +--- +title: "PlusCal" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/PlusCal" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:37:12.703253+00:00" +instance: "kb-cron" +--- + +PlusCal (formerly called +CAL) is a formal specification language created by Leslie Lamport, which transpiles to TLA+. In contrast to TLA+'s action-oriented focus on distributed systems, PlusCal most resembles an imperative programming language and is better-suited when specifying sequential algorithms. PlusCal was designed to replace pseudocode, retaining its simplicity while providing a formally defined and verifiable language. A one-bit clock is written in PlusCal as follows: + + +== See also == +FizzBee +TLA+ +Pseudocode + + +== References == + + +== External links == +PlusCal tools and documentation are found on the PlusCal Algorithm Language page. \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Polar_surface_area-0.md b/data/en.wikipedia.org/wiki/Polar_surface_area-0.md index 98a18e51e..17008ea5e 100644 --- a/data/en.wikipedia.org/wiki/Polar_surface_area-0.md +++ b/data/en.wikipedia.org/wiki/Polar_surface_area-0.md @@ -4,7 +4,7 @@ chunk: 1/1 source: "https://en.wikipedia.org/wiki/Polar_surface_area" category: "reference" tags: "science, encyclopedia" -date_saved: "2026-05-05T11:29:19.789707+00:00" +date_saved: "2026-05-05T11:37:13.928960+00:00" instance: "kb-cron" --- diff --git a/data/en.wikipedia.org/wiki/Polyvariance-0.md b/data/en.wikipedia.org/wiki/Polyvariance-0.md new file mode 100644 index 000000000..3ab7193ed --- /dev/null +++ b/data/en.wikipedia.org/wiki/Polyvariance-0.md @@ -0,0 +1,25 @@ +--- +title: "Polyvariance" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Polyvariance" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:37:24.381372+00:00" +instance: "kb-cron" +--- + +In program analysis, a polyvariant or context-sensitive analysis (as opposed to a monovariant or context-insensitive analysis) analyzes each function multiple times—typically once at each call site—to improve the precision of the analysis. Polyvariance is common in data-flow and pointer analyses. +Forms of polyvariance include: + +Call-site sensitivity +The Cartesian product algorithm +Object sensitivity +Type sensitivity +The first two are more often used for dataflow analyses, the latter two are more frequently used for pointer analyses. + + +== References == + + +=== Sources === +Smaragdakis, Yannis; Balatsouras, George (2015). "Pointer Analysis" (PDF). Foundations and Trends in Programming Languages. 2 (1): 1–69. doi:10.1561/2500000014. Retrieved May 30, 2019. \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Portable_object_(computing)-0.md b/data/en.wikipedia.org/wiki/Portable_object_(computing)-0.md new file mode 100644 index 000000000..011f041d9 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Portable_object_(computing)-0.md @@ -0,0 +1,18 @@ +--- +title: "Portable object (computing)" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Portable_object_(computing)" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:37:25.580772+00:00" +instance: "kb-cron" +--- + +In distributed programming, a portable object is an object which can be accessed through a normal method call while possibly residing in memory on another computer. It is portable in the sense that it moves from machine to machine, irrespective of operating system or computer architecture. This mobility is the end goal of many remote procedure call systems. +An advantage of portable objects is that they are easy to use and expressive, allowing programmers to be completely unaware that objects reside in other locations. Detractors cite this as a fault, as some programmers will not expect network-related errors or the unbounded nondeterminism associated with large networks. + + +== See also == + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Presentation_semantics-0.md b/data/en.wikipedia.org/wiki/Presentation_semantics-0.md new file mode 100644 index 000000000..d9100f3d1 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Presentation_semantics-0.md @@ -0,0 +1,16 @@ +--- +title: "Presentation semantics" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Presentation_semantics" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:37:26.770483+00:00" +instance: "kb-cron" +--- + +In computer science, particularly in human-computer interaction, presentation semantics specify how a particular piece of a formal language is represented in a distinguished manner accessible to human senses, usually human vision. For example, saying that ... must render the text between these constructs using some bold typeface is a specification of presentation semantics for that syntax. +Many markup languages, including HTML, DSSSL, and XSL-FO, have presentation semantics, but others, such as XML, do not. Character encoding standards, such as Unicode, also have presentation semantics. +One of the main goals of style sheet languages is to separate the syntax that defines document content from the syntax endowed with presentation semantics. This is the norm on the World Wide Web, where the Cascading Style Sheets language provides a large collection of presentation semantics for HTML documents. + + +== References == \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Principal_(computer_security)-0.md b/data/en.wikipedia.org/wiki/Principal_(computer_security)-0.md new file mode 100644 index 000000000..d2e22e063 --- /dev/null +++ b/data/en.wikipedia.org/wiki/Principal_(computer_security)-0.md @@ -0,0 +1,22 @@ +--- +title: "Principal (computer security)" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Principal_(computer_security)" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:37:27.985249+00:00" +instance: "kb-cron" +--- + +A principal in computer security is an entity that can be authenticated by a computer system or network. It is referred to as a security principal in Java and Microsoft literature. +Principals can be individual people, computers, services, computational entities such as processes and threads, or any group of such things. They need to be identified and authenticated before they can be assigned rights and privileges over resources in the network. A principal typically has an associated identifier (such as a security identifier) that allows it to be referenced for identification or assignment of properties and permissions. +A principal often becomes synonymous with the credentials used to act as that principal, such as a password or (for service principals) an access token or other secrets. + + +== References == + + +== External links == +RFC 2744 - Generic Security Service API Version 2. +RFC 5397 - WebDAV Current Principal Extension. +RFC 4121 - The Kerberos Version 5 Generic Security Service Application Program Interface (GSS-API) Mechanism: Version 2. \ No newline at end of file diff --git a/data/en.wikipedia.org/wiki/Prioritised_Petri_net-0.md b/data/en.wikipedia.org/wiki/Prioritised_Petri_net-0.md new file mode 100644 index 000000000..51558da9d --- /dev/null +++ b/data/en.wikipedia.org/wiki/Prioritised_Petri_net-0.md @@ -0,0 +1,19 @@ +--- +title: "Prioritised Petri net" +chunk: 1/1 +source: "https://en.wikipedia.org/wiki/Prioritised_Petri_net" +category: "reference" +tags: "science, encyclopedia" +date_saved: "2026-05-05T11:37:29.153499+00:00" +instance: "kb-cron" +--- + +A Prioritised Petri net is a structure (PN, Π) where PN is a Petri net and Π is a priority function that maps transitions into non-negative natural numbers representing their priority level +The enabled transitions with a given priority k always fire before any other enabled transition with priority j