HTTP Strict Transport Security (HSTS) is a policy mechanism that helps to protect websites against man-in-the-middle attacks such as protocol downgrade attacks and cookie hijacking. It allows web servers to declare that web browsers (or other complying user agents) should automatically interact with it using only HTTPS connections, which provide Transport Layer Security (TLS/SSL), unlike the insecure HTTP used alone. HSTS is an IETF standards track protocol and is specified in RFC 6797. The HSTS Policy is communicated by the server to the user agent via an HTTP response header field named Strict-Transport-Security. HSTS Policy specifies a period of time during which the user agent should only access the server in a secure fashion. Websites using HSTS often do not accept clear text HTTP, either by rejecting connections over HTTP or systematically redirecting users to HTTPS (though this is not required by the specification). The consequence of this is that a user-agent not capable of doing TLS will not be able to connect to the site. The protection normally only applies after a user has visited the site at least once, relying on the principle of "trust on first use". The way this protection works is that when a user entering or selecting an HTTP (not HTTPS) URL to the site, the client, such as a Web browser, will automatically upgrade to HTTPS without making an HTTP request, thereby preventing any HTTP man-in-the-middle attack from occurring. To counteract this problem, an HSTS preload list maintained by Google Chrome and used by other major web browsers is maintained. If a domain is on this list, the browser skips the initial request and encrypts all communication immediately. Additional domains can be registered at no cost. == Specification history == The HSTS specification was published as RFC 6797 on 19 November 2012 after being approved on 2 October 2012 by the IESG for publication as a Proposed Standard RFC. The authors originally submitted it as an Internet Draft on 17 June 2010. With the conversion to an Internet Draft, the specification name was altered from "Strict Transport Security" (STS) to "HTTP Strict Transport Security", because the specification applies only to HTTP. The HTTP response header field defined in the HSTS specification however remains named "Strict-Transport-Security". The last so-called "community version" of the then-named "STS" specification was published on 18 December 2009, with revisions based on community feedback. The original draft specification by Jeff Hodges from PayPal, Collin Jackson, and Adam Barth was published on 18 September 2009. The HSTS specification is based on original work by Jackson and Barth as described in their paper "ForceHTTPS: Protecting High-Security Web Sites from Network Attacks". Additionally, HSTS is the realization of one facet of an overall vision for improving web security, put forward by Jeff Hodges and Andy Steingruebl in their 2010 paper The Need for Coherent Web Security Policy Framework(s). == HSTS mechanism overview == A server implements an HSTS policy by supplying a header over an HTTPS connection (HSTS headers over HTTP are ignored). For example, a server could send a header such that future requests to the domain for the next year (max-age is specified in seconds; 31,536,000 is equal to one non-leap year) use only HTTPS: Strict-Transport-Security: max-age=31536000. When a web application issues HSTS Policy to user agents, conformant user agents behave as follows: Automatically turn any insecure links referencing the web application into secure links (e.g. http://example.com/some/page/ will be modified to https://example.com/some/page/ before accessing the server). If the security of the connection cannot be ensured (e.g. the server's TLS certificate is not trusted), the user agent must terminate the connection and should not allow the user to access the web application. This helps protect web application users against some passive (eavesdropping) and active network attacks. A man-in-the-middle attacker has a greatly reduced ability to intercept requests and responses between a user and a web application server while the user's browser has HSTS Policy in effect for that web application. == Applicability == The most important security vulnerability that HSTS can fix is SSL-stripping man-in-the-middle attacks, first publicly introduced by Moxie Marlinspike in his 2009 BlackHat Federal talk "New Tricks For Defeating SSL In Practice". The SSL (and TLS) stripping attack works by transparently converting a secure HTTPS connection into a plain HTTP connection. The user can see that the connection is insecure, but crucially there is no way of knowing whether the connection should be secure. At the time of Marlinspike's talk, many websites did not use TLS/SSL, therefore there was no way of knowing (without prior knowledge) whether the use of plain HTTP was due to an attack, or simply because the website had not implemented TLS/SSL. Additionally, no warnings are presented to the user during the downgrade process, making the attack fairly subtle to all but the most vigilant. Marlinspike's sslstrip tool, presented at Black Hat DC 2009, fully automates the attack. HSTS addresses this problem by informing the browser that connections to the site should always use TLS/SSL. The HSTS header can be stripped by the attacker if this is the user's first visit. Google Chrome, Mozilla Firefox, Internet Explorer, and Microsoft Edge attempt to limit this problem by including a "pre-loaded" list of HSTS sites. Unfortunately this solution cannot scale to include all websites on the internet. See limitations, below. HSTS can also help to prevent having one's cookie-based website login credentials stolen by widely available tools such as Firesheep. Because HSTS is time limited, it is sensitive to attacks involving shifting the victim's computer time e.g. using false NTP packets. == Limitations == The initial request remains unprotected from active attacks if it uses an insecure protocol such as plain HTTP or if the URI for the initial request was obtained over an insecure channel. The same applies to the first request after the activity period specified in the advertised HSTS Policy max-age (sites should set a period of several days or months depending on user activity and behavior). === Solutions with preload list === Google Chrome, Mozilla Firefox, and Internet Explorer/Microsoft Edge address this limitation by implementing a "HSTS preloaded list", which is a list that contains known sites supporting HSTS. This list is distributed with the browser so that it uses HTTPS for the initial request to the listed sites as well. As previously mentioned, these pre-loaded lists cannot scale to cover the entire Web. A potential solution might be achieved by using DNS records to declare HSTS Policy, and accessing them securely via DNSSEC, optionally with certificate fingerprints to ensure validity (which requires running a validating resolver to avoid last mile issues). Junade Ali has noted that HSTS is ineffective against the use of false domains; by using DNS-based attacks, it is possible for a man-in-the-middle interceptor to serve traffic from an artificial domain which is not on the HSTS Preload list, this can be made possible by DNS Spoofing Attacks, or simply a domain name that misleadingly resembles the real domain name such as www.example.org instead of www.example.com. Even with an HSTS preloaded list, HSTS cannot prevent advanced attacks against TLS itself, such as the BEAST or CRIME attacks introduced by Juliano Rizzo and Thai Duong. Attacks against TLS itself are orthogonal to HSTS policy enforcement. Neither can it protect against attacks on the server - if someone compromises it, it will happily serve any content over TLS. === Privacy issues === HSTS can be used to near-indelibly tag visiting browsers with recoverable identifying data (supercookies) which can persist in and out of browser "incognito" privacy modes. By creating a web page that makes multiple HTTP requests to selected domains, for example, if twenty browser requests to twenty different domains are used, theoretically over one million visitors can be distinguished (220) due to the resulting requests arriving via HTTP vs. HTTPS; the latter being the previously recorded binary "bits" established earlier via HSTS headers. == Browser support == Chromium and Google Chrome since version 4.0.211.0 Firefox since version 4; with Firefox 17, Mozilla integrates a list of websites supporting HSTS. Opera since version 12 Safari since OS X Mavericks (version 10.9, late 2013) Internet Explorer 11 on Windows 8.1 and Windows 7 with KB3058515 installed (Released as a Windows Update in June 2015) Microsoft Edge and Internet Explorer 11 on Windows 10 BlackBerry 10 Browser and WebView since BlackBerry OS 10.3.3. == Deployment best practices == Depending on the actual deployment there are certain threats (e.g. cookie injection attacks) t
Key–value database
A key-value database, or key-value store, is a data storage paradigm designed for storing, retrieving, and managing associative arrays, a data structure more commonly known today as a dictionary. Dictionaries contain a collection of objects, or records, which in turn have many different fields within them. These records are stored and retrieved using a key that uniquely identifies the record, and is used to find the data within the database. Key-value databases differ from the better known relational databases (RDB). RDBs pre-define the data structure in the database as a series of tables containing fields with well-defined data types. Exposing the data types to the database program allows it to apply various optimizations. In contrast, key-value systems treat the value as opaque to the database itself, and typically support only simple operations such as storing, retrieving, updating, and deleting a value by its key. This offers considerable flexibility and makes such systems well suited to low-latency, high-throughput workloads dominated by direct key lookups, but less suitable for applications that require complex queries or explicit relationships among records. A lack of standardization, limited transaction support, and relatively simple query interfaces long restricted many key-value systems to specialized uses, but the rapid move to cloud computing after 2010 helped drive renewed interest in them as part of the broader NoSQL movement. Some graph databases, such as ArangoDB, are also key–value databases internally, adding the concept of relationships (pointers) between records as a first-class data type. == Types and examples == Key–value systems span a wide consistency spectrum, from eventually consistent designs to strongly consistent or serializable ones, and some allow the consistency level to be configured as part of the trade-off against latency and availability. Renewed interest in key–value and other NoSQL systems was driven in part by the demands of big data, distributed, and cloud applications. Their scalability and availability made them attractive for cloud data management, although limited transaction support, low-level query interfaces, and the lack of standardization remained obstacles to wider adoption. Some maintain data in memory (RAM), while others employ solid-state drives or rotating disks. Some key–value systems add additional structure to their keys. For example, Oracle NoSQL Database organizes records using composite keys with "major" and "minor" components, an arrangement that Oracle compares to a directory-path structure in a file system. More generally, however, key–value stores are defined by their use of unique keys associated with opaque values and by their emphasis on simple key-based operations. Unix included dbm (database manager), a minimal database library written by Ken Thompson for managing associative arrays with a single key and hash-based access. Later implementations and related libraries included sdbm, GNU dbm (gdbm), and Berkeley DB. A more recent example is RocksDB, a persistent key–value storage engine developed at Facebook and designed for large-scale applications. Other examples include in-memory systems such as Memcached and Redis, and persistent systems such as Berkeley DB, Riak, and Voldemort.
Nvidia Omniverse
Omniverse is a real-time 3D graphics collaboration platform created by Nvidia. It has been used for applications in the visual effects and "digital twin" industrial simulation industries. Omniverse makes extensive use of the Universal Scene Description (USD) format. == Third-party Integrations == Omniverse supports integration with external computer-aided design tools through third-party connectors. For example, academic work has demonstrated a connector linking Omniverse with the open-source CAD system FreeCAD, enabling collaborative access to CAD geometry via the Omniverse Nucleus server and extending Omniverse usage beyond media and entertainment workflows.
Imaging phantom
An imaging phantom, or simply phantom (less commonly spelled fantom), is a specially designed object that is scanned or imaged in the field of medical imaging to evaluate, analyze, and tune the performance of various imaging devices. A phantom is more readily available and provides more consistent results than the use of a living subject or cadaver, while also avoiding direct risks to living subjects. Phantoms were originally employed in 2D x-ray–based imaging techniques such as radiography or fluoroscopy, but more recently phantoms with desired imaging characteristics have been developed for 3D techniques such as SPECT, MRI, CT, ultrasound, PET, and other imaging modalities. == Design == A phantom used to evaluate an imaging device should respond in a similar manner to how human tissues and organs would act in that specific imaging modality. For instance, phantoms made for 2D radiography may hold various quantities of x-ray contrast agents with similar x-ray absorbing properties (such as the attenuation coefficient) to normal tissue to tune the contrast of the imaging device or modulate the patient's exposure to radiation. In such a case, the radiography phantom would not necessarily need to have similar textures and mechanical properties since these are not relevant in x-ray imaging modalities. However, in the case of ultrasonography, a phantom with similar rheological and ultrasound scattering properties to real tissue would be essential, but x-ray absorbing properties would not be relevant. The term "phantom" describes an object that is designed to resemble human tissue and can be evaluated, analyzed or manipulated to study the performance of a medical device. Phantoms are created using a digital file that is rendered through magnetic resonance imaging (MRI) or computer-aided design (CAD). The digital files allow for quick modifications that are read by the 3D printer. The 3D printer will create the product in successive layers using polymeric materials. There are several types of phantoms including tissue-mimicking, radiological phantoms, dental phantoms, BOMABs (used to calibrate whole-body counters), and more.
BabyCenter
BabyCenter is an online media company based in San Francisco, New York City, Chicago, and Los Angeles that provides information on conception, pregnancy, birth, and early childhood development for parents and expecting parents. BabyCenter operates 8 country and region specific properties including websites, apps, emails, print publications, and an online community where parents can connect on a variety of topics. The visitors of website and the users of the app can sign up for free weekly email newsletters that guide them through pregnancy and their child's development. In addition to publishing detailed, medically reviewed information about pregnancy and parenting, BabyCenter, under its Mission Motherhood initiative, ran numerous social programs and has participated in public health initiatives in partnership with hospitals, healthcare agencies, nonprofits, NGOs, and government agencies to provide pregnancy and parenting advice. It also annually publishes the most popular baby names. BabyCenter LLC is part of the Everyday Health Group, a division of Ziff Davis. == History == BabyCenter was founded in October 1997 by Stanford University MBA graduates Matt Glickman and Mark Selcow, who recognized a need for information about pregnancy and parenting on the internet. BabyCenter was initially funded through $13.5 million in startup capital funding from venture capital firms, including Bessemer Venture Partners, Intel, and Trinity Ventures. The funds were used to open the BabyCenter Store in October 1998. In the early years of its operation, BabyCenter offered multiple resources and services for parents, including a website that provided medically reviewed information and guidance to new and expectant parents on such topics as fertility, labor, and childcare; a weekly email for pregnant women tailored to their week of pregnancy (based on their pregnancy due date); and community groups and chat rooms for pregnant couples and parents to discuss pregnancy and child-rearing strategies. The site grew quickly, and by early 1999 had 175 employees and an annual revenue of $35 million. In April of that year, the two founders sold BabyCenter to another website, eToys.com, for $190 million in stock. Twenty-three months later, in 2001, shortly before declaring bankruptcy, eToys sold the site to Johnson & Johnson for $10 million. During the eToys ownership, BabyCenter launched its first international E-commerce site in the UK during the spring of 2000. Starting in 2005, BabyCenter launched an expansion plan, extending its global network to Australia, Canada and other countries, staffing each outpost with local editors. In 2007, BabyCenter debuted a Mandarin-language site in China, initiated operations in India, launched a Spanish language website, and introduced its first mobile site. BabyCenter released My Pregnancy Today, its first mobile app, to Apple's App Store in August 2010 and to the Android market in April 2011. The app provided daily information, nutrition tips, advice relevant to the user's week of pregnancy, and 3-D animated videos showcasing a baby's development in utero. The My Pregnancy app was joined by a My Baby Today app in October 2011. In 2015, BabyCenter released Mom Feed, its first mobile app for parents of toddlers and older children (ages 1 to 8). Mom Feed offered personalized, stage-based information as well as content from the BabyCenter Community and Blog in a real-time stream. In 2016, BabyCenter launched its web-based Baby Names Finder. In 2018, Mom Feed was discontinued and BabyCenter replaced that experience with a separate Child Health content area on its website. Also in 2018, BabyCenter launched its mobile baby name generator, the Baby Names app, which, like the web-based Baby Names Finder, leverages data from hundreds of thousands of parents that culminates in its annual most popular Baby Names Report. In 2019, Johnson & Johnson sold Baby Center to Everyday Health Group, a division of New York-based parent company of Ziff Davis, Inc. Neither side disclosed terms of the deal. == Popular research == BabyCenter's most popular baby names is released annually and often cited by the media. In March 2024, BabyCenter did a review of the app Temu and said that the website has found products that have been recalled, could be counterfeit or circumvent U.S. safety standards and features that are important in preventing issues like choking. In 2025, BabyCenter released a report about the cost of raising a newborn baby in the first year. == Content and products == === Websites === BabyCenter has 8 country and region-specific websites around the world, including sites for the United States, Canada, Australia, Brazil, India, Germany, the United Kingdom, and Latin America. Users can find parenting and pregnancy advice in seven languages: English, Spanish, Portuguese, Arabic, French, German, and Hindi BabyCenter content for each country- or region-specific site is written by an editorial team based in that country or region. Medical and health content for each site is reviewed by a medical advisory board based there and adheres to that country or region's medical standards. For example, the U.S. site works with and follows the recommendations of such U.S. medical authorities as the American Academy of Pediatrics, the American Congress of Obstetrics & Gynecology and the Society for Maternal-Fetal Medicine. BabyCenter regularly conducts research and provides thought leadership on pregnancy and parenting topics, popularly cited by major media outlets including The Wall Street Journal, Forbes, The Washington Post, BuzzFeed, Insider, MarketWatch, Axios. === Community, blogs and social === From its earliest days, BabyCenter has had a community area that allows people to join a group of parents with children born in the same month, known as a Birth Club. BabyCenter launched a blog called Momformation in 2007. Eventually, the name was changed to BabyCenter Blog. In April 2021, the BabyCenter Community was identified in a research article within the journal PLOS Computational Biology as facilitating "unobstructed communication" between parents, which avoids the "strong echo chamber phenomena" that can foster and perpetuate vaccine misinformation. === My Pregnancy and Baby Today App === The app is available in six languages, although not all features are supported for every market. Initially the apps only featured pregnancy articles that could be found on the BabyCenter website, but over the years the feature set has expanded to include a growing list of app-specific tools such as weekly fetal development information, a kick tracker, a birth plan worksheet, a contraction timer, a baby growth tracker, a photo journal for pregnant women to record their pregnancy bellies, and a photo journal for documenting a baby's first year. === Mission Motherhood™ === BabyCenter was a cofounder of the Mobile Alliance for Maternal Action (MAMA), a public-private partnership between USAID, Johnson & Johnson, the UN Foundation, and BabyCenter from 2011 to-to 2015. The MAMA program sparked the creation of MomConnect, an initiative of the South African Department of Health for which BabyCenter developed SMS messages with health information about pregnancy and a child's first year of life. BabyCenter helped develop similar messages for mMitra, a voice messaging program in India. A research article in the Maternal and Child Health Journal stated the mMitra program offered strong evidence "that tailored mobile phone voice messages can improve key infant care knowledge and practices that lead to improved infant health outcomes in low-resource settings. BabyCenter's Mission Motherhood Messages were available to qualifying organizations on the BabyCenter website. BabyCenter contributed websites for Free Basics. These websites featured age and stage-based pregnancy and baby articles targeted to low-income, lower-education women who would not otherwise have access to health information. Content developed for this program was also used to support a UNICEF SMS program during the 2016 Zika outbreak. == Awards and recognition == In 1998, BabyCenter won a Webby Award for Best Home Site. Since then, it has been nominated for a Webby Award 19 times and won either a Webby or a People's Choice Webby Award 12 times – including a People's Voice win in 2021 for Lifestyle websites and mobile sites. In 2002, it won Service Journalism award from Online Journalism Awards (OJA). In 2015, BabyCenter won five Digital Health Awards for content about autism in children. In 2016, BabyCenter won seven Digital Health Awards: four for videos about the aches and pains of pregnancy, baby sleep, and the walking milestone in child development; two for articles about baby sleep training and sleep apnea in babies; and one for the BabyCenter mobile app My Pregnancy & Baby Today. In 2021, Forbes Health chose My Pregnancy & Baby Today as the best pregnancy app of 2021, and Women's Health identified it
Circle Hough Transform
The circle Hough Transform (CHT) is a basic feature extraction technique used in digital image processing for detecting circles in imperfect images. The circle candidates are produced by “voting” in the Hough parameter space and then selecting local maxima in an accumulator matrix. It is a specialization of the Hough transform. == Theory == In a two-dimensional space, a circle can be described by: ( x − a ) 2 + ( y − b ) 2 = r 2 ( 1 ) {\displaystyle \left(x-a\right)^{2}+\left(y-b\right)^{2}=r^{2}\ \ \ \ \ (1)} where (a,b) is the center of the circle, and r is the radius. If a 2D point (x,y) is fixed, then the parameters can be found according to (1). The parameter space would be three dimensional, (a, b, r). And all the parameters that satisfy (x, y) would lie on the surface of an inverted right-angled cone whose apex is at (x, y, 0). In the 3D space, the circle parameters can be identified by the intersection of many conic surfaces that are defined by points on the 2D circle. This process can be divided into two stages. The first stage is fixing radius then find the optimal center of circles in a 2D parameter space. The second stage is to find the optimal radius in a one dimensional parameter space. === Find parameters with known radius R === If the radius is fixed, then the parameter space would be reduced to 2D (the position of the circle center). For each point (x, y) on the original circle, it can define a circle centered at (x, y) with radius R according to (1). The intersection point of all such circles in the parameter space would be corresponding to the center point of the original circle. Consider 4 points on a circle in the original image (left). The circle Hough transform is shown in the right. Note that the radius is assumed to be known. For each (x,y) of the four points (white points) in the original image, it can define a circle in the Hough parameter space centered at (x, y) with radius r. An accumulator matrix is used for tracking the intersection point. In the parameter space, the voting number of those points that have a newly defined circle passing through them would be increased by one for every circle. Then the local maxima point (the red point in the center in the right figure) can be found. The position (a, b) of the maxima would be the center of the original circle. === Multiple circles with known radius R === Multiple circles with same radius can be found with the same technique. Note that, in the accumulator matrix (right fig), there would be at least 3 local maxima points. === Accumulator matrix and voting === In practice, an accumulator matrix is introduced to find the intersection point in the parameter space. First, we need to divide the parameter space into “buckets” using a grid and produce an accumulator matrix according to the grid. The element in the accumulator matrix denotes the number of “circles” in the parameter space that are passing through the corresponding grid cell in the parameter space. The number is also called “voting number”. Initially, every element in the matrix is zeros. Then for each “edge” point in the original space, we can formulate a circle in the parameter space and increase the voting number of the grid cell which the circle passes through. This process is called “voting”. After voting, we can find local maxima in the accumulator matrix. The positions of the local maxima are corresponding to the circle centers in the original space. === Find circle parameter with unknown radius === Since the parameter space is 3D, the accumulator matrix would be 3D, too. We can iterate through possible radii; for each radius, we use the previous technique. Finally, find the local maxima in the 3D accumulator matrix. Accumulator array should be A[x,y,r] in the 3D space. Voting should be for each pixels, radius and theta A[x,y,r] += 1 The algorithm : For each A[a,b,r] = 0; Process the filtering algorithm on image Gaussian Blurring, convert the image to grayscale ( grayScaling), make Canny operator, The Canny operator gives the edges on image. Vote on all possible circles in accumulator. The local maximum voted circles of Accumulator A gives the circle Hough space. The maximum voted circle of Accumulator gives the circle. The Incrementing for Best Candidate : For each A[a,b,r] = 0; // fill with zeroes initially, instantiate 3D matrix For each cell(x,y) For each theta t = 0 to 360 // the possible theta 0 to 360 b = y – r sin(t PI / 180); //polar coordinate for center (convert to radians) a = x – r cos(t PI / 180); //polar coordinate for center (convert to radians) A[a,b,r] +=1; //voting end end == Examples == === Find circles in a shoe-print === The original picture (right) is first turned into a binary image (left) using a threshold and Gaussian filter. Then edges (mid) are found from it using canny edge detection. After this, all the edge points are used by the Circle Hough Transform to find underlying circle structure. == Limitations == Since the parameter space of the CHT is three dimensional, it may require lots of storage and computation. Choosing a bigger grid size can ameliorate this problem. However, choosing an appropriate grid size is difficult. Since too coarse a grid can lead to large values of the vote being obtained falsely because many quite different structures correspond to a single bucket. Too fine a grid can lead to structures not being found because votes resulting from tokens that are not exactly aligned end up in different buckets, and no bucket has a large vote. Also, the CHT is not very robust to noise. == Extensions == === Adaptive Hough Transform === J. Illingworth and J. Kittler introduced this method for implementing Hough Transform efficiently. The AHT uses a small accumulator array and the idea of a flexible iterative "coarse to fine" accumulation and search strategy to identify significant peaks in the Hough parameter spaces. This method is substantially superior to the standard Hough Transform implementation in both storage and computational requirements. == Application == === People Counting === Since the head would be similar to a circle in an image, CHT can be used for detecting heads in a picture, so as to count the number of persons in the image. === Brain Aneurysm Detection === Modified Hough Circle Transform (MHCT) is used on the image extracted from Digital Subtraction Angiogram (DSA) to detect and classify aneurysms type. == Implementation code == Circle Detection via Standard Hough Transform, by Amin Sarafraz, Mathworks (File Exchange) Hough Circle Transform, OpenCV-Python Tutorials (archived version on archive.org)
The Triple Revolution
"The Triple Revolution" was an open memorandum sent to U.S. President Lyndon B. Johnson and other government figures on March 22, 1964. It concerned three megatrends of the time: increasing use of automation, the nuclear arms race, and advancements in human rights. Drafted under the auspices of the Center for the Study of Democratic Institutions, it was signed by an array of noted social activists, professors, and technologists who identified themselves as the Ad Hoc Committee on the Triple Revolution. The chief initiator of the proposal was W. H. "Ping" Ferry, at that time a vice-president of CSDI, basing it in large part on the ideas of the futurist Robert Theobald. == Overview == The statement identified three revolutions underway in the world: the cybernation revolution of increasing automation; the weaponry revolution of mutually assured destruction; and the human rights revolution. It discussed primarily the cybernation revolution. The committee claimed that machines would usher in "a system of almost unlimited productive capacity" while continually reducing the number of manual laborers needed, and increasing the skill needed to work, thereby producing increasing levels of unemployment. It proposed that the government should ease this transformation through large-scale public works, low-cost housing, public transit, electrical power development, income redistribution, union representation for the unemployed, and government restraint on technology deployment. == Legacy == Martin Luther King Jr.'s final Sunday sermon, delivered six days before his April 1968 assassination, explicitly references the thesis of "The Triple Revolution": There can be no gainsaying of the fact that a great revolution is taking place in the world today. In a sense it is a triple revolution: that is, a technological revolution, with the impact of automation and cybernation; then there is a revolution in weaponry, with the emergence of atomic and nuclear weapons of warfare; then there is a human rights revolution, with the freedom explosion that is taking place all over the world. Yes, we do live in a period where changes are taking place. And there is still the voice crying through the vista of time saying, "Behold, I make all things new; former things are passed away." In Harlan Ellison's 1967 anthology Dangerous Visions, Philip José Farmer's story "Riders of the Purple Wage" uses the Triple Revolution document as the premise of a future society, in which the "purple wage" of the title is a guaranteed income dole on which most of the population lives. At the 1968 World Science Fiction Convention in San Francisco, Farmer delivered a lengthy Guest of Honor speech in which he called for the founding of a grassroots activist organization called REAP which would work for implementation of the Ad Hoc Committee's recommendations. Looking back on the proposal in his 2008 book, Daniel Bell wrote: "the cybernetic revolution quickly proved to be illusory. There were no spectacular jumps in productivity. ... Cybernation had proved to be one more instance of the penchant for overdramatizing a momentary innovation and blowing it up far out of proportion to its actuality. ... The image of a completely automated production economy—with an endless capacity to turn out goods—was simply a social-science fiction of the early 1960s. Paradoxically, the vision of Utopia was suddenly replaced by the spectre of Doomsday. In place of the early-sixties theme of endless plenty, the picture by the end of the decade was one of a fragile planet of limited resources whose finite stocks were being rapidly depleted, and whose wastes from soaring industrial production were polluting the air and waters." In his 2015 book Rise of the Robots, Martin Ford claims The Triple Revolution's predictions of steady decline in future employment were not wrong, but rather premature. He cites "Seven Deadly Trends" that began in the 1970s-1980s and by the mid-2010s appeared set to continue: Stagnation in real wages Decline in labor's share of national income in many countries (breakdown of Bowley's law), while corporate profits increased Declining labor force participation Diminishing job creation, lengthening jobless recoveries, and soaring long-term unemployment Rising inequality Declining incomes, and underemployment for recent college graduates Polarization and part-time jobs (middle-class jobs are disappearing, to be replaced by a small number of high-paying jobs and large number of low-paying jobs) According to Ford, the 1960s were part of what in retrospect seems like a golden age for labor in the United States, when productivity and wages rose together in near lockstep, and unemployment was low. But after about 1980, wages began stagnating while productivity continued to rise. Labor's share of the economic output began to decline. Ford describes the role that automation and information technology play in these trends, and how new technologies including narrow AI threaten to destroy jobs faster than displaced workers can be retrained for new jobs, before automation takes the new jobs as well. This includes many job categories, such as in transportation, that were never threatened by automation before. According to a 2013 study, about 47% of US jobs are susceptible to automation. == Signatories ==