Have a deep view into what people are curious about.
How trains avoid colliding with each other
Signalling block systems enable the safe and efficient operation of railways by preventing collisions between trains. The basic principle is that a route is broken up into a series of sections or "blocks". Only one train may occupy a block at a time, and the blocks are sized to allow a train to stop within them. That ensures that a train always has time to stop before getting dangerously close to another train on the same line. The block system is referred to in the UK as the method of working, in the US as the method of operation, and in Australia as safeworking.
In most situations, a system of signals is used to control the passage of trains between the blocks. When a train enters a block, signals at both ends change to indicate that the block is occupied, typically using red lamps or indicator flags. When a train first enters a block, the rear of the same train has not yet left the previous block, so both blocks are marked as occupied. That ensures there is slightly less than one block length on either end of the train that is marked as occupied, so any other train approaching that section will have enough room to stop in time, even if the first train has stopped dead on the tracks. The previously-occupied block will only be marked unoccupied when the end of the train has entirely left it, leaving the entire block clear.
Block systems have the disadvantage that they limit the number of trains on a particular route to something fewer than the number of blocks. Since the route has a fixed length, increasing the number of trains requires the creation of more blocks, which means the blocks are shorter and trains have to operate at lower speeds in order to stop safely. As a result, the number and size of blocks are closely related to the overall route capacity, and cannot be changed easily because expensive alterations to the signals along the line would be required.
Block systems are used to control trains between stations and yards, but not normally within the yards, where some other method is used. Any block system is defined by its associated physical equipment and by the application of a relevant set of rules. Some systems involve the use of signals while others do not. Some systems are specifically designed for single track railways, on which there is a danger of both head-on and rear-end collision, as opposed to double track, on which the main danger is rear-end collisions.
- "How trains avoid colliding with each other" | 2021-11-10 | 17 Upvotes 2 Comments
- "?" | 2014-07-25 | 57 Upvotes 33 Comments
- "Wikipedia page for each emoji" | 2013-09-10 | 19 Upvotes 2 Comments
Emma Rowena (Caldwell) Gatewood, known as Grandma Gatewood, (October 25, 1887 – June 4, 1973), was an American ultra-light hiking pioneer. After a difficult life as a farm wife, mother of eleven children, and survivor of domestic violence, she became famous as the first solo female thru-hiker of the 2,168-mile (3,489 km) Appalachian Trail (A.T.) in 1955 at the age of 67. She subsequently became the first person (male or female) to hike the A.T. three times, after completing a second thru-hike two years later, followed by a section-hike in 1964. In the meantime, she hiked 2,000 miles (3,200 km) of the Oregon Trail in 1959. In her later years, she continued to travel and hike, and worked on a section of what would become the Buckeye Trail. The media coverage surrounding her feats was credited for generating interest in maintaining the A.T. and in hiking generally. Among many other honors, she was posthumously inducted into the Appalachian Trail Hall of Fame in 2012.
- "Grandma Gatewood" | 2023-01-10 | 121 Upvotes 19 Comments
In computer programming, homoiconicity (from the Greek words homo- meaning "the same" and icon meaning "representation") is a property of some programming languages. A language is homoiconic if a program written in it can be manipulated as data using the language, and thus the program's internal representation can be inferred just by reading the program itself. For example, a Lisp program is written as a regular Lisp list, and can be manipulated by other Lisp code. In homoiconic languages, all code can be accessed and transformed as data, using the same representation. This property is often summarized by saying that the language treats "code as data".
In a homoiconic language, the primary representation of programs is also a data structure in a primitive type of the language itself. This makes metaprogramming easier than in a language without this property: reflection in the language (examining the program's entities at runtime) depends on a single, homogeneous structure, and it does not have to handle several different structures that would appear in a complex syntax.
As noted above, a commonly cited example is Lisp, which was created to allow for easy list manipulations and where the structure is given by S-expressions that take the form of nested lists. Lisp programs are written in the form of lists; the result is that the program can access its own functions and procedures while running, and programmatically alter itself on the fly. Homoiconic languages typically include full support of syntactic macros, allowing the programmer to express transformations of programs in a concise way. Examples are the programming languages Clojure (a contemporary dialect of Lisp), Rebol (also its successor Red), Refal, Prolog, and more recently Julia.
- "Homoiconicity" | 2016-01-19 | 20 Upvotes 5 Comments
An eigenface () is the name given to a set of eigenvectors when used in the computer vision problem of human face recognition. The approach of using eigenfaces for recognition was developed by Sirovich and Kirby (1987) and used by Matthew Turk and Alex Pentland in face classification. The eigenvectors are derived from the covariance matrix of the probability distribution over the high-dimensional vector space of face images. The eigenfaces themselves form a basis set of all images used to construct the covariance matrix. This produces dimension reduction by allowing the smaller set of basis images to represent the original training images. Classification can be achieved by comparing how faces are represented by the basis set.
- "Eigenface" | 2010-01-27 | 26 Upvotes 4 Comments
Oliver Heaviside FRS (; 18 May 1850 – 3 February 1925) was an English self-taught electrical engineer, mathematician, and physicist who adapted complex numbers to the study of electrical circuits, invented mathematical techniques for the solution of differential equations (equivalent to Laplace transforms), reformulated Maxwell's field equations in terms of electric and magnetic forces and energy flux, and independently co-formulated vector analysis. Although at odds with the scientific establishment for most of his life, Heaviside changed the face of telecommunications, mathematics, and science.
- "Oliver Heaviside" | 2014-12-26 | 100 Upvotes 25 Comments
The Art of Being Right
The Art of Being Right: 38 Ways to Win an Argument (also The Art of Controversy, or Eristic Dialectic: The Art of Winning an Argument; German: Eristische Dialektik: Die Kunst, Recht zu behalten; 1831) is an acidulous, sarcastic treatise written by the German philosopher Arthur Schopenhauer. In it, Schopenhauer examines a total of thirty-eight methods of showing up one's opponent in a debate. He introduces his essay with the idea that philosophers have concentrated in ample measure on the rules of logic, but have not (especially since the time of Immanuel Kant) engaged with the darker art of the dialectic, of controversy. Whereas the purpose of logic is classically said to be a method of arriving at the truth, dialectic, says Schopenhauer, "...on the other hand, would treat of the intercourse between two rational beings who, because they are rational, ought to think in common, but who, as soon as they cease to agree like two clocks keeping exactly the same time, create a disputation, or intellectual contest."
- "The Art of Being Right" | 2012-08-10 | 13 Upvotes 6 Comments
"Do Not Track" HTTP header supported by IE, Opera, FF, Safari but not Chrome
Do Not Track (DNT) was a proposed HTTP header field, designed to allow internet users to opt-out of tracking by websites—which includes the collection of data regarding a user's activity across multiple distinct contexts, and the retention, use, or sharing of data derived from that activity outside the context in which it occurred.
The Do Not Track header was originally proposed in 2009 by researchers Christopher Soghoian, Sid Stamm, and Dan Kaminsky. Efforts to standardize Do Not Track by the W3C in the Tracking Preference Expression (DNT) Working Group did not make it past the Candidate Recommendation stage and ended in September 2018 due to insufficient deployment and support.Mozilla Firefox became the first browser to implement the feature, while Internet Explorer, Apple's Safari, Opera and Google Chrome all later added support.
DNT is not widely adopted by the industry, with companies citing the lack of legal mandates for its use, as well as unclear standards and guidelines for how websites are to interpret the header. Thus, it is not guaranteed that enabling DNT will actually have any effect at all. The W3C disbanded its DNT working group in January 2019, citing insufficient support and adoption. Apple discontinued support for DNT the following month.
- ""Do Not Track" HTTP header supported by IE, Opera, FF, Safari but not Chrome" | 2012-05-20 | 146 Upvotes 100 Comments
Object Oriented Role Analysis and Modeling
The Object Oriented Role Analysis and Modeling (OOram) is a method, based on the concept of role, for performing object-oriented modeling.
Originally (1989) coined Object Oriented Role Analysis, Synthesis and Structuring (OORASS), the method focuses on describing patterns of interaction without connecting the interaction to particular objects/instances. OOram was originally developed by Trygve Reenskaug (1996), a professor at the University of Oslo and the founder of the Norwegian IT company Taskon. The use of "roles" in OOram is similar in application to that of Agent-oriented programming.
Enterprise models created according to OOram may have a number of views, with each view presenting certain aspects of a model. The following ten views are proposed:
- Area of concern view: Textual description of a phenomenon represented in the role model.
- Stimulus-response view: Describes how environment roles may trigger activities in the organization (stimulus), together with the effect (response).
- Role list view: List describing all roles of a role model together with attributes and textual explanation.
- Semantic view: Describes meaning of roles and relationships between roles.
- Collaboration view: Describes patterns of roles and message paths.
- Interface view: Describes all messages that can be sent along a message path.
- Scenario view: Provides a sample sequence of messages flowing between roles (a concrete example).
- Process view: Describes data flow between roles and associated activities performed by the roles.
- State diagram view: For each role, the legal states can be described together with messages that trigger transitions.
- Method specification view: Describes what messages to send for each method belonging to a role. May also specify procedures to perform.
OOram suggests a varied mix of formal and informal notations and languages for representing and communicating models. Which view to use depends upon the needs in a particular situation.
- "Object Oriented Role Analysis and Modeling" | 2020-03-10 | 38 Upvotes 19 Comments
Telescript programming language
Telescript is an Agent-oriented programming language written by General Magic as part of the overall Magic Cap system. Telescript programs used a modified C-like syntax known as High Telescript and were compiled to a stack-based language called Low Telescript for execution. Low Telescript ran within virtual machine interpreters, or "Telescript engines", on host computers.
The basic model of Telescript is similar to Java, and differs primarily in where the applications would run. Java was modelled to make it possible to download Java applications onto any platform and run them locally. Telescript essentially reversed this, allowing end-user equipment with limited capabilities to upload Telescript programs to servers to allow them to take advantage of the server's capabilities. Telescript could even migrate a running program; the language included features to marshal a program's code and serialized state, transfer it to another Telescript engine (on a device or a server) to continue execution, and finally return to the originating client or server device to deliver its output.
General Magic had originally developed as a team within Apple Inc., and were spun off in 1990. When they began to generate some press buzz in 1992, Apple decided to enter the same market with their Newton tablet computer. General Magic were unable to find a niche within the market, and Telescript services were soon deprecated in favor of new products unrelated to mobile computing.
- "Telescript programming language" | 2018-07-08 | 66 Upvotes 13 Comments