The Affero General Public License (Affero GPL and informally Affero License) is a free software license. The first version of the Affero General Public License (AGPLv1), was published by Affero, Inc. in March 2002, and based on the GNU General Public License, version 2 (GPLv2). The second version (AGPLv2) was published in November 2007, as a transitional license to allow an upgrade path from AGPLv1 to the GNU Affero General Public License (a variant of the original Affero GPL license that is compatible with GPLv3).
Both versions of the Affero GPL were designed to close a perceived application service provider (ASP) loophole in the ordinary GPL, where, by using but not distributing the software, the copyleft provisions are not triggered. Each version differs from the version of the GNU GPL on which it is based in having an added provision addressing use of software over a computer network. This provision requires that the full source code be made available to any network user of the AGPL-licensed work, typically a web application.
- "AGPL License" | 2020-01-31 | 91 Upvotes 106 Comments
Apache Accumulo is a highly scalable sorted, distributed key-value store based on Google's Bigtable. It is a system built on top of Apache Hadoop, Apache ZooKeeper, and Apache Thrift. Written in Java, Accumulo has cell-level access labels and server-side programming mechanisms. According to DB-Engines ranking, Accumulo is the third most popular NoSQL wide column store behind Apache Cassandra and HBase and the 67th most popular database engine of any type (complete) as of 2018.
- "Accumulo: NSA's Apache-licensed BigTable-based key-value store" | 2013-06-06 | 79 Upvotes 5 Comments
Arachne is a discontinued Internet suite containing a graphical web browser, email client, and dialer. Originally, Arachne was developed by Michal Polák under his xChaos label, a name he later changed into Arachne Labs. It was written in C and compiled using Borland C++ 3.1. Arachne has since been released under the GPL as Arachne GPL.
Arachne primarily runs on DOS-based operating systems, but includes builds for Linux as well. The Linux version relies on SVGALib and therefore does not require a display server.
- "Arachne: a self-contained graphical web browser for DOS and Linux" | 2015-10-20 | 41 Upvotes 13 Comments
Archy is a software system whose user interface introduced a different approach for interacting with computers with respect to traditional graphical user interfaces. Designed by human-computer interface expert Jef Raskin, it embodies his ideas and established results about human-centered design described in his book The Humane Interface. These ideas include content persistence, modelessness, a nucleus with commands instead of applications, navigation using incremental text search, and a zooming user interface (ZUI). The system was being implemented at the Raskin Center for Humane Interfaces under Raskin's leadership. Since his death in February 2005 the project was continued by his team, which later shifted focus to the Ubiquity extension for the Firefox browser.
Archy in large part builds on Raskin's earlier work with the Apple Macintosh, Canon Cat, SwyftWare, and Ken Perlin's Pad ZUI system. It can be described as a combination of Canon Cat's text processing functions with a modern ZUI. Archy is more radically different from established systems than are Sun Microsystems' Project Looking Glass and Microsoft Research's "Task Gallery" prototype. While these systems build upon the WIMP desktop paradigm, Archy has been compared as similar to the Emacs text editor, although its design begins from a clean slate.
Archy used to be called The Humane Environment ("THE"). On January 1, 2005, Raskin announced the new name, and that Archy would be further developed by the non-profit Raskin Center for Humane Interfaces. The name "Archy" is a play on the Center's acronym, R-CHI. It is also an allusion to Don Marquis' archy and mehitabel poetry. Jef Raskin jokingly stated: "Yes, we named our software after a bug." (a cockroach), further playing with the meaning of bugs in software.
- "Archy" | 2013-07-09 | 76 Upvotes 35 Comments
Beerware is a somewhat tongue-in-cheek term for software released under a very relaxed license (beerware licensed software). It provides the end user with the right to use a particular program (or do anything else with the source code).
- "Beerware License: Best Open Source License Ever." | 2008-08-06 | 14 Upvotes 3 Comments
A bidirectional text contains both text directionalities, right-to-left (RTL or dextrosinistral) and left-to-right (LTR or sinistrodextral). It generally involves text containing different types of alphabets, but may also refer to boustrophedon, which is changing text direction in each row.
Some writing systems including the Arabic and Hebrew scripts or derived systems such as the Persian, Urdu, and Yiddish scripts, are written in a form known as right-to-left (RTL), in which writing begins at the right-hand side of a page and concludes at the left-hand side. This is different from the left-to-right (LTR) direction used by the dominant Latin script. When LTR text is mixed with RTL in the same paragraph, each type of text is written in its own direction, which is known as bidirectional text. This can get rather complex when multiple levels of quotation are used.
Many computer programs fail to display bidirectional text correctly. For example, the Hebrew name Sarah (שרה) is spelled: sin (ש) (which appears rightmost), then resh (ר), and finally heh (ה) (which should appear leftmost).
Note: Some web browsers may display the Hebrew text in this article in the opposite direction.
- "txet lanoitcerid-iB" | 2014-11-27 | 105 Upvotes 14 Comments
Bitcoin (₿) is a cryptocurrency. It is a decentralized digital currency without a central bank or single administrator that can be sent from user to user on the peer-to-peer bitcoin network without the need for intermediaries.
Transactions are verified by network nodes through cryptography and recorded in a public distributed ledger called a blockchain. Bitcoin was invented in 2008 by an unknown person or group of people using the name Satoshi Nakamoto and started in 2009 when its source code was released as open-source software. Bitcoins are created as a reward for a process known as mining. They can be exchanged for other currencies, products, and services. Research produced by University of Cambridge estimates that in 2017, there were 2.9 to 5.8 million unique users using a cryptocurrency wallet, most of them using bitcoin.
Bitcoin has been criticized for its use in illegal transactions, its high electricity consumption, price volatility, and thefts from exchanges. Some economists, including several Nobel laureates, have characterized it as a speculative bubble. Bitcoin has also been used as an investment, although several regulatory agencies have issued investor alerts about bitcoin.
BonziBuddy, stylized as BonziBUDDY, (pronounced BON-zee-bud-ee) was a freeware desktop virtual assistant made by Joe and Jay Bonzi. Upon a user's choice, it would share jokes and facts, manage downloading using its download manager, sing songs, and talk, among other functions.
The software used Microsoft Agent technology similar to Office Assistant, and originally sported Peedy, a green parrot and one of the characters available with Microsoft Agent. Later versions of BonziBuddy in May 2000 featured its own character: Bonzi, the purple gorilla. The program also used a text to speech voice to interact with the user. The voice was called Sydney and taken from an old Lernout & Hauspie Microsoft Speech API 4.0 package. It is often referred to in some software as Adult Male #2.
Some versions of the software were described as spyware and adware. BonziBuddy was discontinued in 2004 after the company behind it faced lawsuits regarding the software and was ordered to pay fines. Bonzi's website remained open after the discontinuation of BonziBuddy and was said to be a virus, but was shut down at the end of 2008.
- "BonziBuddy" | 2019-06-20 | 111 Upvotes 80 Comments
In information security and programming, a buffer overflow, or buffer overrun, is an anomaly where a program, while writing data to a buffer, overruns the buffer's boundary and overwrites adjacent memory locations.
Buffers are areas of memory set aside to hold data, often while moving it from one section of a program to another, or between programs. Buffer overflows can often be triggered by malformed inputs; if one assumes all inputs will be smaller than a certain size and the buffer is created to be that size, then an anomalous transaction that produces more data could cause it to write past the end of the buffer. If this overwrites adjacent data or executable code, this may result in erratic program behavior, including memory access errors, incorrect results, and crashes.
Exploiting the behavior of a buffer overflow is a well-known security exploit. On many systems, the memory layout of a program, or the system as a whole, is well defined. By sending in data designed to cause a buffer overflow, it is possible to write into areas known to hold executable code and replace it with malicious code, or to selectively overwrite data pertaining to the program's state, therefore causing behavior that was not intended by the original programmer. Buffers are widespread in operating system (OS) code, so it is possible to make attacks that perform privilege escalation and gain unlimited access to the computer's resources. The famed Morris worm in 1988 used this as one of its attack techniques.
Programming languages commonly associated with buffer overflows include C and C++, which provide no built-in protection against accessing or overwriting data in any part of memory and do not automatically check that data written to an array (the built-in buffer type) is within the boundaries of that array. Bounds checking can prevent buffer overflows, but requires additional code and processing time. Modern operating systems use a variety of techniques to combat malicious buffer overflows, notably by randomizing the layout of memory, or deliberately leaving space between buffers and looking for actions that write into those areas ("canaries").
- "How a Buffer Overflow Works" | 2009-04-01 | 17 Upvotes 6 Comments
The bus factor is a measurement of the risk resulting from information and capabilities not being shared among team members, derived from the phrase "in case they get hit by a bus." It is also known as the bread truck scenario, lottery factor, truck factor, bus/truck number, or lorry factor.
The concept is similar to the much older idea of key person risk, but considers the consequences of losing key technical experts, versus financial or managerial executives (who are theoretically replaceable at an insurable cost). Personnel must be both key and irreplaceable to contribute to the bus factor; losing a replaceable or non-key person would not result in a bus-factor effect.
The term was first applied to software development, where a team member might create critical components by crafting code that performs well, but which also is unavailable to other team members, such as work that was undocumented, never shared, encrypted, obfuscated, unpublished, or otherwise incomprehensible to others. Thus a key component would be effectively lost as a direct consequence of the absence of that team member, making the member key. If this component was key to the project's advancement, the project would stall.
- "Bus factor" | 2014-04-25 | 43 Upvotes 18 Comments