AI Content Internet Study

AI Content Internet Study — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • SIP (software)

    SIP (software)

    SIP is an open source software tool used to connect computer programs or libraries written in C or C++ with the scripting language Python. It is an alternative to SWIG. SIP was originally developed in 1998 for PyQt — the Python bindings for the Qt GUI toolkit — but is suitable for generating bindings for any C or C++ library. == Concept == SIP takes a set of specification (.sip) files describing the API and generates the required C++ code. This is then compiled to produce the Python extension modules. A .sip file is essentially the class header file with some things removed (because SIP does not include a full C++ parser) and some things added (because C++ does not always provide enough information about how the API works). For PyQt v4 I use an internal tool (written using PyQt of course) called metasip. This is sort of an IDE for SIP. It uses GCC-XML to parse the latest header files and saves the relevant data, as XML, in a metasip project. metasip then does the equivalent of a diff against the previous version of the API and flags up any changes that need to be looked at. Those changes are then made through the GUI and ticked off the TODO list. Generating the .sip files is just a button click. In my subversion repository, PyQt v4 is basically just a 20M XML file. Updating PyQt v4 for a minor release of Qt v4 is about half an hours work. In terms of how the generated code works then I don't think it's very different from how any other bindings generator works. Python has a very good C API for writing extension modules - it's one of the reasons why so many 3rd party tools have Python bindings. For every C++ class, the SIP generated code creates a corresponding Python class implemented in C. == Notable applications that use SIP == PyQt, a python port of the application framework and widget toolkit Qt QGIS, a free and open-source cross-platform desktop geographic information system (GIS) QtiPlot, a computer program to analyze and visualize scientific data calibre (software), a free and open-source cross-platform e-book manager Veusz, a free and open-source cross-platform program to visualize scientific data

    Read more →
  • FreePBX Distro

    FreePBX Distro

    The FreePBX Distro was a freeware unified communications software system that consisted of FreePBX, a graphical user interface (GUI) for configuring, controlling and managing Asterisk PBX software. The FreePBX Distro included packages that offer VoIP, PBX, Fax, IVR, voice-mail and email functions. The FreePBX Distro Linux distribution was based on CentOS, which maintains binary compatibility with Red Hat Enterprise Linux. FreePBX has contributed to the popularity of Asterisk. As a result of CentOS Linux being discontinued and the last version of CentOS 7 going out of support on June 30, 2024, FreePBX 17 has moved over to and is supported on Debian Linux. FreePBX will no longer be providing a pre-configured FreePBX Distro, but will provide a script to install FreePBX on a fresh install of Debian Linux. In-place migration will not be possible, but will be possible by restoring a backup on the new version from the previous version. As FreePBX 16 will be supported until the release of FreePBX 18, FreePBX on this distribution will still work and be supported, however, there will be no further support for the underlying operating system. == Installation == The Official FreePBX Distro is installed from a ISO image available by web download, that includes the system CentOS, Asterisk, FreePBX GUI and assorted dependencies. This can then either be burned to DVD or written to a USB stick for installation == Support for telephony hardware == The FreePBX Distro has built-in support for cards from multiple vendors, including Digium, OpenVox, Alto, Rhino Equipment, Xorcom and Sangoma. The FreePBX Distro supports a large number of phone models via open-source modules. Supported VoIP phone manufacturers include Algo, AND, AudioCodes, Cisco, Cyberdata, Digium, Grandstream, Mitel/Aastra, Nortel/Avaya, Panasonic, Polycom, Sangoma, Snom, Xorcom and Yealink. == Development == FreePBX made its debut in 2004 as the AMP project (Asterisk Management Portal). The FreePBX Distro was released in 2011 as an turnkey solution for building a PBX using Asterisk, CentOS and FreePBX. FreePBX has over 1 million active production PBXs and over 20,000 new systems added each month. The core telephony engine is Asterisk, as configured by the Open Source FreePBX GUI. The last stable release is FreePBX Distro Stable SNG7-PBX16-64bit-2302-1 based on these main components: FreePBX 16 CentOS 7.8 Asterisk 16, 18, 19 (20 supported by upgrade once installed)

    Read more →
  • Web worker

    Web worker

    A web worker, as defined by the World Wide Web Consortium (W3C) and the Web Hypertext Application Technology Working Group (WHATWG), is a JavaScript script executed from an HTML page that runs in the background, independently of scripts that may also have been executed from the same HTML page. Web workers are often able to utilize multi-core CPUs more effectively. The W3C and WHATWG envision web workers as long-running scripts that are not interrupted by scripts that respond to clicks or other user interactions. Keeping such workers from being interrupted by user activities should allow Web pages to remain responsive at the same time as they are running long tasks in the background. The web worker specification is part of the HTML Living Standard. == Overview == As envisioned by WHATWG, web workers are relatively heavy-weight and are not intended to be used in large numbers. They are expected to be long-lived, with a high start-up performance cost, and a high per-instance memory cost. Web workers run outside the context of an HTML document's scripts. Consequently, while they do not have access to the DOM, they can facilitate concurrent execution of JavaScript programs. == Features == Web workers interact with the main document via message passing. The following code creates a Worker that will execute the JavaScript in the given file. To send a message to the worker, the postMessage method of the worker object is used as shown below. The onmessage property uses an event handler to retrieve information from a worker. Once a worker is terminated, it goes out of scope and the variable referencing it becomes undefined; at this point a new worker has to be created if needed. == Example == The simplest use of web workers is for performing a computationally expensive task without interrupting the user interface. In this example, the main document spawns a web worker to compute prime numbers, and progressively displays the most recently found prime number. The main page is as follows: The Worker() constructor call creates a web worker and returns a worker object representing that web worker, which is used to communicate with the web worker. That object's onmessage event handler allows the code to receive messages from the web worker. The Web Worker itself is as follows: To send a message back to the page, the postMessage() method is used to post a message when a prime is found. == Support == If the browser supports web workers, a Worker property will be available on the global window object. The Worker property will be undefined if the browser does not support it. The following example code checks for web worker support on a browser Web workers are currently supported by Chrome, Opera, Edge, Internet Explorer (version 10), Mozilla Firefox, and Safari. Mobile Safari for iOS has supported web workers since iOS 5. The Android browser first supported web workers in Android 2.1, but support was removed in Android versions 2.2–4.3 before being restored in Android 4.4.

    Read more →
  • Static web page

    Static web page

    A static web page, sometimes called a flat page or a stationary page, is a web page that is delivered to a web browser exactly as stored, in contrast to dynamic web pages which are generated by a web application. Consequently, a static web page displays the same information for all users, from all contexts, subject to modern capabilities of a web server to negotiate content-type or language of the document where such versions are available and the server is configured to do so. However, a webpage's JavaScript can introduce dynamic functionality which may make the static web page dynamic. == Overview == Static web pages are often HTML documents, stored as files in the file system and made available by the web server over HTTP (nevertheless URLs ending with ".html" are not always static). However, loose interpretations of the term could include web pages stored in a database, and could even include pages formatted using a template and served through an application server, as long as the page served is unchanging and presented essentially as stored. The content of static web pages remains stationary irrespective of the number of times it is viewed. Such web pages are suitable for the contents that rarely need to be updated, though modern web template systems are changing this. Maintaining large numbers of static pages as files can be impractical without automated tools, such as static site generators. Any personalization or interactivity has to run client-side, which is restricting. Cloud-based website builders, including Wix, Weebly, and Duda, offer no-code platforms for creating static and dynamic web pages through graphical interfaces, without requiring programming expertise. === Advantages === Provide improved security over dynamic websites (dynamic websites are at risk to web shell attacks if a vulnerability is present) Improved performance for end users compared to dynamic websites Fewer or no dependencies on systems such as databases or other application servers Cost savings from utilizing cloud storage, as opposed to a hosted environment Security configurations are easy to set up, which makes it more secure Static files can be cached by content delivery networks (CDNs) and other intermediate caches, which both reduces page load times at the user and also reduces load on the origin server. Static websites can have improved uptime, since they are still available through any available CDN exit node even when other CDN nodes or the origin webserver are temporarily offline. === Disadvantages === Dynamic functionality must be performed on the client side. After each update of a static website, some or all users may see old, stale, outdated previous versions instead of the latest version until the old version is flushed from CDNs and other caches. == Static site generators == Static site generators are applications that compile static websites - typically populating HTML templates in a predefined folder and file structure, with content supplied in a format such as Markdown or AsciiDoc. === Implementations === Jekyll (powers GitHub Pages) Middleman Hugo Next.js Astro.build Pelican Franklin

    Read more →
  • World Database of Happiness

    World Database of Happiness

    The World Database of Happiness is a web-based archive of research findings on subjective appreciation of life, based in the Erasmus Happiness Economics Research Organization of the Erasmus University Rotterdam in The Netherlands. The database contains both an overview of scientific publications on happiness and a digest of research findings. Happiness is defined as the degree to which an individual judges the quality of his or her life as a whole favorably. Two 'components' of happiness are distinguished: hedonic level of affect (the degree to which pleasant affect dominates) and contentment (perceived realization of wants). == Aims == The World Database of Happiness is a tool to quickly acquire an overview on the ever-growing stream of research findings on happiness Medio 2023 the database covered some 16,000 scientific publications on happiness, from which were extracted 23,000 distributional findings (on how happy people are) and another 24,000 correlational findings (on factors associated with more and less happiness). The first findings date from 1915. == Technique == The World Database of Happiness is a ‘findings archive’, which consists of electronic ‘finding pages’ on which separate research results are described in a standard format and terminology. These finding pages can be selected on various characteristics, such as population studies, the measure of happiness used and observed co-variates. All finding-pages have a specific internet address to which links can be made in scientific review papers or policy recommendations. This allows a concise presentation of many findings in a table, while providing readers with access to detail. == Scientific use == The Database has been cited in 254 scientific papers, for example to access under what conditions economic growth enhances average happiness or to show that rising mean happiness at first raises happiness inequality, but further rise will diminish these differences, or that healthy eating is associated with more happiness, even after controlling for the effect on health Another finding is that relative simple happiness training techniques raise happiness by some 5% == Popular use == The World Database of Happiness is often used by popular media to make lists of the happiest countries around the globe. An example is the Happy Planet Index, which aims to chart sustainable happiness all over the world by combining data on longevity, happiness and the size of the ecological footprint of citizens. == Strengths and weaknesses == The database has a clear conceptual focus, it includes only research findings on subjective enjoyment of one's life as a whole. Thereby it evades the Babel that has haunted the study of happiness for ages. The other side of that coin is that much interesting research is left out. The findings are reported with technical details about measurement and statistical analysis. This detail is welcomed by scholars, but makes the information difficult to digest for lay-persons. Still another limitation is that the determinants of happiness appear to vary considerably across persons and situations, which make it hard to draw general conclusions about the causes of happiness. What is clear is that poor health, separation, unemployment and lack of social contact are all strongly negatively associated with happiness. Another problem for the World database of happiness is that the studies on happiness increase with such a high rate that it gets increasingly difficult to offer a complete overview of all research findings. A further concern is that the Database of Happiness is exclusively focused on hedonic happiness (feeling good) and not on mature happiness that might exist in the face of suffering

    Read more →
  • Bluelight (web forum)

    Bluelight (web forum)

    Bluelight is a web-forum, research portal, online community, and non-profit organisation dedicated to harm reduction in drug use. Its userbase includes current and former substance users, academic researchers, drug policy activists, and mental health advocates. It is believed to be the largest online international drug discussion website in the world. As of November 2025, the website claims over 475,900 registered members, the Discord community claims over 11,900 members, and additional members utilise other platforms such as Telegram. Bluelight has been utilised by academic researchers as a primary source of data in numerous publications. Researchers also utilise the site to advertise research studies, recruit study participants, and better understand the world of substance use. Research groups and organisations that have partnered with Bluelight to recruit study participants include Imperial College London, Johns Hopkins University, Health Canada, Karlstad University, Curtin University, Macquarie University, Columbia University, University of Pennsylvania, University of Michigan, Toronto Metropolitan University (then known as Ryerson University), and MAPS. Researchers have found that the most common reasons for substance users to visit Bluelight.org and similar online communities are to learn "how to use drugs safely" and "how to help others use drugs safely." Bluelight neither condemns or condones drug use, instead advocating for the principle of responsible drug use; educating and allowing individuals to make informed decisions regarding their drug use, providing information on local drug misuse services, and providing them with other drug harm reduction resources and public safety notices. == History == Bluelight.org was originally formed in 1997 as a message board on bluelight.net called the MDMA Clearinghouse. The board was created as a side project by the owner of West Palm Beach design company Bluelight Designs. 200–300 users joined the site between 1998 and 1999, but the site's servers were heavily limited and could only store a few threads at a time; this led to the creation of 'The New Bluelight' forum in May 1999 and the registration of the bluelight.nu domain in June 1999. The site began to explode in popularity in the early 2000s with the rise of MDMA in the club scene, amassing nearly 7,000 members by the year 2000 and 59,000 by the start of 2006. The site switched to the bluelight.ru domain in October 2005, and switched again to bluelight.org in January 2014. In early 2024, Bluelight was re-structured and the forum became a subsidiary of the newly formed Australian non-profit organisation & registered charity Bluelight Communities Ltd. == Partnerships == In the early 2000s, Bluelight worked with reagent test supplier EZ-Test to promote the sale of drug checking kits. In 2007, Bluelight partnered with the Multidisciplinary Association for Psychedelic Studies (MAPS), a non-profit organisation working to raise awareness and understanding of psychedelic drugs through education, clinical research, and advocacy. MAPS utilised Bluelight to recruit participants for its first MDMA-assisted psychotherapy trial for PTSD. In 2013, the official MAPS forums were migrated to Bluelight. Bluelight's other partners include Erowid, a non-profit organisation dedicated to education surrounding psychoactive drugs; TripSit, a harm reduction education website; Pill Reports, a web-based database for drug checking results that was initially formed as an offshoot of the site; and the Global Drug Survey, an independent research organisation focused on collecting data about substance use. == Notable users == Alan Woods – funded the site's maintenance costs from 1999 until his death in 2008 Hamilton Morris John McAfee – created an infamous series of troll posts about the stimulant MDPV

    Read more →
  • Video game

    Video game

    A video game, computer game, or simply game is an electronic game that involves interaction with a user interface or input device (such as a joystick, controller, keyboard, or motion sensing device) to generate visual feedback from a display device, most commonly shown in a video format on a television set, computer monitor, flat-panel display or touchscreen on handheld devices, or a virtual reality headset. Most modern video games are audiovisual, with audio complement delivered through speakers or headphones, and sometimes also with other types of sensory feedback (e.g., haptic technology that provides tactile sensations). Some video games also allow microphone and webcam inputs for in-game chatting and livestreaming. Video games are typically categorized according to their hardware platform, which traditionally includes arcade video games, console games, and computer games (which includes LAN games, online games, and browser games). More recently, the video game industry has expanded onto mobile gaming through mobile devices (such as smartphones and tablet computers), virtual and augmented reality systems, and remote cloud gaming. Video games are also classified into a wide range of genres based on their style of gameplay and target audience. The first video game prototypes in the 1950s and 1960s were simple extensions of electronic games using video-like output from large, room-sized mainframe computers. The first consumer video game was the arcade video game Computer Space in 1971, which took inspiration from the earlier 1962 computer game Spacewar!. In 1972 came the now-iconic video game Pong and the first home console, the Magnavox Odyssey. The industry grew quickly during the "golden age" of arcade video games from the late 1970s to early 1980s but suffered from the crash of the North American video game market in 1983 due to loss of publishing control and saturation of the market. Following the crash, the industry matured, was dominated by Japanese companies such as Nintendo, Sega, and Sony, and established practices and methods around the development and distribution of video games to prevent a similar crash in the future, many of which continue to be followed. In the 2000s, the core industry centered on "AAA" games, leaving little room for riskier experimental games. Coupled with the availability of the Internet and digital distribution, this gave room for independent video game development (or "indie games") to gain prominence into the 2010s. Since then, the commercial importance of the video game industry has been increasing. The emerging Asian markets and proliferation of smartphone games in particular are altering player demographics towards casual and cozy gaming, and increasing monetization by incorporating games as a service. Today, video game development requires numerous skills, vision, teamwork, and liaisons between different parties, including developers, publishers, distributors, retailers, hardware manufacturers, and other marketers, to successfully bring a game to its consumers. As of 2020, the global video game market had estimated annual revenues of US$159 billion across hardware, software, and services, which is three times the size of the global music industry and four times that of the film industry in 2019, making it a formidable heavyweight across the modern entertainment industry. The video game market is also a major influence behind the electronics industry, where personal computer component, console, and peripheral sales, as well as consumer demands for better game performance, have been powerful driving factors for hardware design and innovation. == Origins == Early video games used interactive electronic devices with various display formats. The earliest example dates to 1947—a "cathode-ray tube amusement device" was filed for a patent on 25 January 1947, by Thomas T. Goldsmith Jr. and Estle Ray Mann, and issued on 14 December 1948, as U.S. Patent 2455992. Inspired by radar display technology, it consisted of an analog device allowing a user to control the parabolic arc of a dot on the screen to simulate a missile being fired at targets, which were paper drawings fixed to the screen. Other early examples include the Nimrod computer at the 1951 Festival of Britain; Christopher Strachey's Checkers, possibly the first game to display visuals on an electronic screen in 1952; OXO, a tic-tac-toe computer game by Alexander S. Douglas for the EDSAC in 1952; Tennis for Two, an electronic interactive game engineered by William Higinbotham in 1958; and Spacewar!, written by Massachusetts Institute of Technology students Martin Graetz, Steve Russell, and Wayne Wiitanen's on a DEC PDP-1 computer in 1962. Each game had different means of display: NIMROD had a panel of lights to play the game of Nim, OXO had a graphical display to play tic-tac-toe, Tennis for Two had an oscilloscope to display a side view of a tennis court, and Spacewar! had the DEC PDP-1's vector display to have two spaceships battle each other. These inventions laid the foundation for modern video games. In 1966, while working at Sanders Associates, Ralph H. Baer devised a system to play a basic table tennis game on a television screen. With the company's approval, Baer created the prototype known as the "Brown Box". Sanders patented Baer's innovations and licensed them to Magnavox, which commercialized the technology as the first home video game console, the Magnavox Odyssey, released in 1972. Separately, Nolan Bushnell and Ted Dabney, inspired by seeing Spacewar! running at Stanford University, devised a similar version running in a smaller coin-operated arcade cabinet using a less expensive computer. This was released as Computer Space, the first arcade video game, in 1971. Bushnell and Dabney went on to form Atari, Inc., and with Allan Alcorn, created their second arcade game in 1972, the hit ping pong-style Pong, which was directly inspired by the table tennis game on the Odyssey. Atari made a home version of Pong, which was released by Christmas 1975. The success of the Odyssey and Pong, both as an arcade game and home machine, launched the video game industry. Both Baer and Bushnell have been titled "Father of Video Games" for their contributions. == Terminology == The term "video game" was developed to describe electronic games played on a video display rather than on a teletype printer, audio speaker, or similar device. This also distinguished from handheld electronic games such as Merlin, which commonly used LED lights for indicators not in combination for imaging purposes. "Computer game" may also be used as a descriptor, as all these types of games essentially require the use of a computer processor; in some cases, it is used interchangeably with "video game". Particularly in the United Kingdom and Western Europe, this is common due to the historic relevance of domestically produced microcomputers. Other terms used include digital game, for example, by the Australian Bureau of Statistics. The term "computer game" can also refer to PC games, which are played primarily on personal computers or other flexible hardware systems, to distinguish them from console games, arcade games, or mobile games. Other terms, such as "television game", "telegame", or "TV game", had been used in the 1970s and early 1980s, particularly for home gaming consoles that rely on connection to a television set. However, these terms were also used interchangeably with "video game" in the 1970s, primarily due to "video" and "television" being synonymous. In Japan, where consoles like the Odyssey were first imported and then made within the country by the large television manufacturers such as Toshiba and Sharp Corporation, such games are known as "TV games", "TV geemu", or "terebi geemu". The term "TV game" is still commonly used into the 21st century. "Electronic game" may also be used to refer to video games, but this also incorporates devices like early handheld electronic games that lack any video output. The first appearance of the term "video game" emerged around 1973. The Oxford English Dictionary cited a 10 November 1973 BusinessWeek article as the first printed use of the term. Though Bushnell believed the term came from a vending magazine review of Computer Space in 1971, a review of the major vending magazines Vending Times and Cashbox showed that the term may have come even earlier, appearing first in a letter dated July 10, 1972. In the letter, Bushnell uses the term "video game" twice. Per video game historian Keith Smith, the sudden appearance suggested that the term had been proposed and readily adopted by those in the field. Around March 1973, Ed Adlum, who ran Cashbox's coin-operated section until 1972 and then later founded RePlay Magazine, covering the coin-op amusement field, in 1975, used the term in an article in March 1973. In a September 1982 issue of RePlay, Adlum is credited with first naming these games as "video games": "RePlay

    Read more →
  • Facebook Platform

    Facebook Platform

    The Facebook Platform is the set of services, tools, and products provided by the social networking service Facebook for third-party developers to create their own applications and services that access data in Facebook. The current Facebook Platform was launched in 2010. The platform offers a set of programming interfaces and tools which enable developers to integrate with the open "social graph" of personal relations and other things like songs, places, and Facebook pages. Applications on facebook.com, external websites, and devices are all allowed to access the graph. == History == Facebook launched the Facebook Platform on May 24, 2007, providing a framework for software developers to create applications that interact with core Facebook features. A markup language called Facebook Markup Language was introduced simultaneously; it is used to customize the "look and feel" of applications that developers create. Prior to the Facebook platform, Facebook had built many applications themselves within the Facebook website, including Gifts, allowing users to send virtual gifts to each other, Marketplace, allowing users to post free classified ads, Facebook events, giving users a method of informing their friends about upcoming events, Video, letting users share homemade videos with one another, and social network game, where users can use their connections to friends to help them advance in games they are playing. The Facebook Platform made it possible for outside partners to build similar applications. Many of the popular early social network games would combine capabilities. For instance, one of the early games to reach the top application spot, (Lil) Green Patch, combined virtual Gifts with Event notifications to friends and contributions to charities through Causes. Third-party companies provide application metrics, and several blogs arose in response to the clamor for Facebook applications. On July 4, 2007, Altura Ventures announced the "Altura 1 Facebook Investment Fund," becoming the world's first Facebook-only venture capital firm. On August 29, 2007, Facebook changed the way in which the popularity of applications is measured, to give attention to the more engaging applications, following criticism that ranking applications only by the number of people who had installed the application was giving an advantage to the highly viral, yet useless applications. Tech blog Valleywag has criticized Facebook Applications, labeling them a "cornucopia of uselessness." Others have called for limiting third-party applications so the Facebook user experience is not degraded. Applications that have been created on the Platform include chess, which both allow users to play games with their friends. In such games, a user's moves are saved on the website, allowing the next move to be made at any time rather than immediately after the previous move. By November 3, 2007, seven thousand applications had been developed on the Facebook Platform, with another hundred created every day. By the second annual f8 developers conference on July 23, 2008, the number of applications had grown to 33,000, and the number of registered developers had exceeded 400,000. Within a few months of launching the Facebook Platform, issues arose regarding "application spam", which involves Facebook applications "spamming" users to request it be installed. Facebook integration was announced for the Xbox 360 and Nintendo DSi on June 1, 2009 at E3. On November 18, 2009, Sony announced an integration with Facebook to deliver the first phase of a variety of new features to further connect and enhance the online social experiences of PlayStation 3. On February 2, 2010, Facebook announced the release of HipHop for PHP as an opensource project. Mark Zuckerberg said that his team from Facebook is developing a Facebook search engine. “Facebook is pretty well placed to respond to people’s questions. At some point, we will. We have a team that is working on it", said Mark Zuckerberg. For him, the traditional search engines return too many results that do not necessarily respond to questions. “The search engines really need to evolve a set of answers: 'I have a specific question, answer this question for me.'" On June 10, 2014, Facebook announced Haxl, a Haskell library that simplified the access to remote data, such as databases or web-based services. === Partnerships with device manufacturers === Starting in 2007, Facebook formed data sharing partnerships with at least 60 handset manufacturers, including Apple, Amazon, BlackBerry, Microsoft and Samsung. Those manufacturers were provided with Facebook user data without the users' consent. Most of the partnerships remained in place as of 2018, when the partnerships were first publicly reported. == High-level Platform components == === Graph API === The Graph API is the core of Facebook Platform, enabling developers to read from and write data into Facebook. The Graph API presents a simple, consistent view of the Facebook social graph, uniformly representing objects in the graph (e.g., people, photos, events, and pages) and the connections between them (e.g., friend relationships, shared content, and photo tags). On April 30, 2015, Facebook shut down friends' data API prior to the v2.0 release. === Authentication === Facebook authentication enables developers’ applications to interact with the Graph API on behalf of Facebook users, and it provides a single-sign on mechanism across web, mobile, and desktop apps. ==== Facebook Connect ==== Facebook Connect, also called Log in with Facebook, like OpenID, is a set of authentication APIs from Facebook that developers can use to help their users connect and share with such users' Facebook friends (on and off Facebook) and increase engagement for their website or application. When so used, Facebook members can log on to third-party websites, applications, mobile devices and gaming systems with their Facebook identity and, while logged in, can connect with friends via these media and post information and updates to their Facebook profile. Originally unveiled during Facebook's developer conference, F8, in July 2008, Log in with Facebook became generally available in December 2008. According to an article from The New York Times, "Some say the services are representative of surprising new thinking in Silicon Valley. Instead of trying to hoard information about their users, the Internet companies (including Facebook, Google, MySpace and Twitter) all share at least some of that data so people do not have to enter the same identifying information again and again on different sites." Log in with Facebook cannot be used by users in locations that cannot access Facebook, even if the third-party site is otherwise accessible from that location. According to Facebook, users who logged into The Huffington Post with Facebook spent more time on the site than the average user. === Social plugins === Social plugins – including the Like Button, Recommendations, and Activity Feed – enable developers to provide social experiences to their users with just a few lines of HTML. All social plugins are extensions of Facebook and are designed so that no user data is shared with the sites on which they appear. On the other hand, the social plugins let Facebook track its users’ browsing habits through any sites that feature the plugins. === Open Graph protocol === The Open Graph protocol enables developers to integrate their pages into Facebook's global mapping/tracking tool Social Graph. These pages gain the functionality of other graph objects including profile links and stream updates for connected users. OpenGraph tags in HTML5 might look like this: === iframes === Facebook uses iframes to allow third-party developers to create applications that are hosted separately from Facebook, but operate within a Facebook session and are accessed through a user's profile. Since iframes essentially nest independent websites within a Facebook session, their content is distinct from Facebook formatting. Facebook originally used 'Facebook Markup Language (FBML)' to allow Facebook Application developers to customize the "look and feel" of their applications, to a limited extent. FBML is a specification of how to encode content so that Facebook's servers can read and publish it, which is needed in the Facebook-specific feed so that Facebook's system can properly parse content and publish it as specified. FBML set by any application is cached by Facebook until a subsequent API call replaces it. Facebook also offers a specialized Facebook JavaScript (FBJS) library. Facebook stopped accepting new FBML applications on March 18, 2011, but continued to support existing FBML tabs and applications. Since January 1, 2012 FBML was no longer supported, and FBML no longer functioned as of June 1, 2012. === Microformats === In February 2011, Facebook began to use the hCalendar microformat to mark up events, and the hCard for the events' venues,

    Read more →
  • Attention (machine learning)

    Attention (machine learning)

    In machine learning, attention is a method that determines the importance of each component in a sequence relative to the other components in that sequence. In natural language processing, importance is represented by "soft" weights assigned to each word in a sentence. More generally, attention encodes vectors called token embeddings across a fixed-width sequence that can range from tens to millions of tokens in size. Unlike "hard" weights, which are computed during the backwards training pass, "soft" weights exist only in the forward pass and therefore change with every step of the input. Earlier designs implemented the attention mechanism in a serial recurrent neural network (RNN) language translation system, but a more recent design, namely the transformer, removed the slower sequential RNN and relied more heavily on the faster parallel attention scheme. Inspired by ideas about attention in humans, the attention mechanism was developed to address the weaknesses of using information from the hidden layers of recurrent neural networks. Recurrent neural networks favor information contained in words at the end of a sentence and thus deemed more recent, thereby tending to attenuate the significance and associated predictive weight assigned to information earlier in the sentence. Attention allows a token equal access to any part of a sentence directly, rather than only through the previous state. == History == Additional surveys of the attention mechanism in deep learning are provided by Niu et al. and Soydaner. The major breakthrough came with self-attention, where each element in the input sequence attends to all others, enabling the model to capture global dependencies. This idea was central to the Transformer architecture, which replaced recurrence with attention mechanisms. As a result, Transformers became the foundation for models like BERT, T5 and generative pre-trained transformers (GPT). == Overview == The modern era of machine attention was revitalized by grafting an attention mechanism (Fig 1. orange) to an Encoder-Decoder. Figure 2 shows the internal step-by-step operation of the attention block (A) in Fig 1. === Interpreting attention weights === In translating between languages, alignment is the process of matching words from the source sentence to words of the translated sentence. Networks that perform verbatim translation without regard to word order would show the highest scores along the (dominant) diagonal of the matrix. The off-diagonal dominance shows that the attention mechanism is more nuanced. Consider an example of translating I love you to French. On the first pass through the decoder, 94% of the attention weight is on the first English word I, so the network offers the word je. On the second pass of the decoder, 88% of the attention weight is on the third English word you, so it offers t'. On the last pass, 95% of the attention weight is on the second English word love, so it offers aime. In the I love you example, the second word love is aligned with the third word aime. Stacking soft row vectors together for je, t', and aime yields an alignment matrix: Sometimes, alignment can be multiple-to-multiple. For example, the English phrase look it up corresponds to cherchez-le. Thus, "soft" attention weights work better than "hard" attention weights (setting one attention weight to 1, and the others to 0), as we would like the model to make a context vector consisting of a weighted sum of the hidden vectors, rather than "the best one", as there may not be a best hidden vector. == Variants == Many variants of attention implement soft weights, such as fast weight programmers, or fast weight controllers (1992). A "slow" neural network outputs the "fast" weights of another neural network through outer products. The slow network learns by gradient descent. It was later renamed as "linearized self-attention". Bahdanau-style attention, also referred to as additive attention, Luong-style attention, which is known as multiplicative attention, Early attention mechanisms similar to modern self-attention were proposed using recurrent neural networks. However, the highly parallelizable self-attention was introduced in 2017 and successfully used in the Transformer model, positional attention and factorized positional attention. For convolutional neural networks, attention mechanisms can be distinguished by the dimension on which they operate, namely: spatial attention, channel attention, or combinations. These variants recombine the encoder-side inputs to redistribute those effects to each target output. Often, a correlation-style matrix of dot products provides the re-weighting coefficients. In the figures below, W is the matrix of context attention weights, similar to the formula in Overview section above. == Optimizations == === Flash attention === The size of the attention matrix is proportional to the square of the number of input tokens. Therefore, when the input is long, calculating the attention matrix requires a lot of GPU memory. Flash attention is an implementation that reduces the memory needs and increases efficiency without sacrificing accuracy. It achieves this by partitioning the attention computation into smaller blocks that fit into the GPU's faster on-chip memory, reducing the need to store large intermediate matrices and thus lowering memory usage while increasing computational efficiency. === FlexAttention === FlexAttention is an attention kernel developed by Meta that allows users to modify attention scores prior to softmax and dynamically chooses the optimal attention algorithm. == Applications == Attention is widely used in natural language processing, computer vision, and speech recognition. In NLP, it improves context understanding in tasks like question answering and summarization. In vision, visual attention helps models focus on relevant image regions, enhancing object detection and image captioning. === Attention maps as explanations for vision transformers === From the original paper on vision transformers (ViT), visualizing attention scores as a heat map (called saliency maps or attention maps) has become an important and routine way to inspect the decision making process of ViT models. One can compute the attention maps with respect to any attention head at any layer, while the deeper layers tend to show more semantically meaningful visualization. Attention rollout is a recursive algorithm to combine attention scores across all layers, by computing the dot product of successive attention maps. Because vision transformers are typically trained in a self-supervised manner, attention maps are generally not class-sensitive. When a classification head is attached to the ViT backbone, class-discriminative attention maps (CDAM) combines attention maps and gradients with respect to the class [CLS] token. Some class-sensitive interpretability methods originally developed for convolutional neural networks can be also applied to ViT, such as GradCAM, which back-propagates the gradients to the outputs of the final attention layer. Using attention as basis of explanation for the transformers in language and vision is not without debate. While some pioneering papers analyzed and framed attention scores as explanations, higher attention scores do not always correlate with greater impact on model performances. == Mathematical representation == === Standard scaled dot-product attention === For matrices: Q ∈ R m × d k , K ∈ R n × d k {\displaystyle Q\in \mathbb {R} ^{m\times d_{k}},K\in \mathbb {R} ^{n\times d_{k}}} and V ∈ R n × d v {\displaystyle V\in \mathbb {R} ^{n\times d_{v}}} , the scaled dot-product, or QKV attention, is defined as: Attention ( Q , K , V ) = softmax ( Q K T d k ) V ∈ R m × d v {\displaystyle {\text{Attention}}(Q,K,V)={\text{softmax}}\left({\frac {QK^{T}}{\sqrt {d_{k}}}}\right)V\in \mathbb {R} ^{m\times d_{v}}} where T {\displaystyle {}^{T}} denotes transpose and the softmax function is applied independently to every row of its argument. The matrix Q {\displaystyle Q} contains m {\displaystyle m} queries, while matrices K , V {\displaystyle K,V} jointly contain an unordered set of n {\displaystyle n} key-value pairs. Value vectors in matrix V {\displaystyle V} are weighted using the weights resulting from the softmax operation, so that the rows of the m {\displaystyle m} -by- d v {\displaystyle d_{v}} output matrix are confined to the convex hull of the points in R d v {\displaystyle \mathbb {R} ^{d_{v}}} given by the rows of V {\displaystyle V} . To understand the permutation invariance and permutation equivariance properties of QKV attention, let A ∈ R m × m {\displaystyle A\in \mathbb {R} ^{m\times m}} and B ∈ R n × n {\displaystyle B\in \mathbb {R} ^{n\times n}} be permutation matrices; and D ∈ R m × n {\displaystyle D\in \mathbb {R} ^{m\times n}} an arbitrary matrix. The softmax function is permutation equivariant in the sense that: softmax ( A D B ) = A softmax ( D ) B {\displays

    Read more →
  • Brand networking

    Brand networking

    Brand networking is the engagement of a social networking service around a brand by providing consumers with a platform of relevant content, elements of participation, and a currency, score, or ranking. Brand networking creates communities that serve as interactive destinations to encourage brand participation online and off. This evolved level of user participation with the brand facilitates strong relationships with consumers, leverages sales, and generates fan equity. The concept builds on the marketing literature on brand communities, which describes specialized, non-geographically bound groups of consumers organized around shared interest in a brand, and on subsequent research on social-media-based brand communities that examines how such groups operate when embedded in general-purpose networking platforms. == History == The development and growth of social networking in the early 2000s gave birth to brand networking. Brands saw the immediate potential to reach and interact with consumers through online platforms like Facebook and MySpace. At first, the ability to reach consumers through these platforms was inadequate; brands had the option to join as members or simply advertise on these sites. The potential existed to not only display advertisements to consumers, but to encourage them to interact with the brand. This is when brands made the shift to create their own networking platforms. Less evolved attempts to connect brands with consumers via networking are typically built as online platforms meant only to complement a product/service and are limited in functionality. Typically these sites offer consumers the opportunity to interact through discussion boards and group pages. The Guiding Light Community was built to complement the popular CBS television soap opera. The site offers members reward points for contributing content to discussion boards and blogs (which is all geared toward the show). == Structure == Brand networking is more than the utilization of a social networking platform; it is connecting consumers together and constructing relationships directly with the brand. Three key elements, in unity, create effective brand networking: relevant content, elements of participation, and a competitive currency. Websites in conjunction with other media types (television, radio, print) present content around a vertical industry, sector of interest, or cultural and social issues for a brand. This can be in areas such as health, marketing, or business, or any content relevant to the brand message. Such content is not only provided by the brand but also in the form of consumer-generated media. Research on brand-related user-generated content across major platforms suggests that the form and tone of consumer contributions vary by platform, with promotional content more common on some networks and response-oriented content on others. A brand provides participation with consumers online and offline. This is accomplished through the combination of typical social networking features online, such as personalised pages, friend lists, groups, and messaging, alongside elements of involvement offline. This is not simply connecting an online platform with mobile devices, but providing separate mobile features jointly with a secondary media type to drive online usage and build relationships with the brand on the go. By participating in mobile campaigns, users are interacting with the brand outside of traditional brick and mortar or e-commerce destinations. Empirical work on consumer brand engagement in social media frames such participation along cognitive, affective, and behavioural dimensions. The final element of brand networking involves incentivising participation with the other two elements. The addition of a currency or point system acts as an anchor to the brand and network and creates a competitive dynamic between consumers. These points are distributed for activity carried out outside of the networking site. By incentivising usage offline, the brand image is reinforced for the consumer and strengthens the relationship. Consumers are turned into promoters for both the brand and the users' benefit. The use of points, badges, leaderboards, and similar mechanics is described in the marketing literature as gamification, and has been linked to higher participation rates in mobile and loyalty programmes. == Fan equity == Fan equity is the idea that by locking in consumers to a brand, they are turned into fans of the brand. As fans, they promote, interact, and consume on a daily basis and become assets. Apple Inc. is one example of a company often cited as possessing fan equity. Customers of Apple are extremely brand loyal and are assets to the company. Creating a fan-generated brand is a difficult but effective method of business. Through the use of brand networking, a company is able to build a consumer or fan base that provides a strong relationship between business and consumers. The trust is formed and fans do a lot of work for the brand by word of mouth. Peer-to-peer channels are the strongest means of communication for a brand, but also one in which the brand can only influence and not control. Subsequent research links community engagement with brand trust, identifying community engagement as a mediator between social-media brand community participation and trust. This method of business is argued to be a relationship handled by the brand generally for its own gain. Many fans do not realise the work they are doing for companies by using their product or service. Facebook is a fan-based brand that has become a global phenomenon through customer use, with social media features such as sharing and commenting. With the growth of social media, marketing and advertising through social media has continued to expand. Brands can display and promote their products or services at a fast rate, with consumers sharing and contributing to the brand on a global scale. This can also be seen as online word of mouth exposure that can produce positive or negative feedback for brands. Once consumers become fans they are typically loyal, which can create positive word of mouth for a brand. Fans become a valuable asset, boosting the status and reputation of a brand. Different perceptions of brands can be linked to a person's origin or religion, which creates a difficulty when trying to enter a market or gain market share. Businesses need to be aware of the types of products or services they introduce to a specific market, ensuring they are culturally sensitive. Fan pages are created on social media to maintain the relationship between brands and consumers. By engaging and interacting with consumers, brands obtain fans and produce positive imaging. Some fans become attached to brands and are often encouraged to remain as fans through the use of celebrities endorsing the brand. Research on parasocial interaction in social-media environments suggests that one-sided emotional bonds that consumers form with endorsers and brand personae help convert ordinary followers into engaged fans.

    Read more →
  • Democratization of technology

    Democratization of technology

    Democratization of technology is the process by which access to technology rapidly extends to an ever-broader audience, especially from a select group of people to the average public. New technologies and improved user experiences have empowered those outside of the technical industry to access and use technological products and services. At an increasing scale, consumers have greater access to use and purchase technologically sophisticated products, as well as to participate meaningfully in the development of these products. Industry innovation and user demand have been associated with more affordable, user-friendly products. This is an ongoing process, beginning with the development of mass production and increasing dramatically as digitization became commonplace. Thomas Friedman argued that the era of globalization has been characterized by the democratization of technology, democratization of finance, and democratization of information. Technology has been critical in the latter two processes, facilitating the rapid expansion of access to specialized knowledge and tools, as well as changing the way that people view and demand such access. A counter argument is that this is just a process of 'massification' - more people can use banks, technology, have access to information, but it does not mean there is any more democratic influence over its production, or that this massification promotes Democracy. == History == Scholars and social critics often cite the invention of the printing press as a major invention that changed the course of history. The force of the printing press rested not in its impact on the printing industry or inventors, but on its ability to transmit information to a broader public by way of mass production. This event is so widely recognized because of its social impact – as a democratizing force. The printing press is often seen as the historical counterpart to the Internet. After the development of the Internet in 1969, its use remained limited to communications between scientists and within government, although use of email and boards gained popularity among those with access. It did not become a popular means of communication until the 1990s. In 1993 the US federal government opened the Internet to commerce and the creation of HTML formed the basis for universal accessibility. === Major innovations === The Internet has played a critical role in modern life as a typical feature of most Western households, and has been key in the democratization of knowledge. It not only constitutes arguably the most critical innovation in this trend thus far; it has also allowed users to gain knowledge of and access to other technologies. Users can learn of new developments more quickly, and purchase high-tech products otherwise only actively marketed to recognized experts. Social media has also empowered and emboldened users to become contributors and critics of technological developments. Some have argued that cloud computing is having a major effect by allowing users greater access through mobility and pay-as-you-use capacity. The open-source model allows users to participate directly in development of software, rather than indirect participation, through contributing opinions. By being shaped by the user, development is directly responsive to user demand and can be obtained for free or at a low cost. In a comparable trend, arduino and littleBits have made electronics more accessible to users of all backgrounds and ages. The development of 3D printers has the potential to increasingly democratize production. Generative artificial intelligence tools have the potential to democratize the process of innovation by improving the ability of individuals to specify and visualize ideas. The democratization of artificial intelligence refers to the transition from AI as a high-cost, specialized field to one accessible to non-experts and smaller organizations. This process is driven by the release of open-weights models, the availability of cloud computing for model training, and the emergence of no-code development platforms. While early AI development was concentrated within Big Tech firms and elite research universities, the 2020s saw a proliferation of public tools like ChatGPT and repositories such as Hugging Face, which lowered the technical barriers to entry. However, the trend has faced criticism as the "illusion of democratization," as the underlying GPU hardware remains concentrated among a few global providers. == Cultural impact == This trend is linked to the spread of knowledge of and ability to perform high-tech tasks, challenging previous conceptions of expertise. Widespread access to technology, including lower costs, was critical to the transition to the new economy. Similarly, democratization of technology was also fuelled by this economic transition, which produced demands for technological innovation and optimism in technology-driven progress. Since the 1980s, a spreading constructivist conception of technology has emphasized that the social and technical domains are critically intertwined. Scholars have argued that technology is non-neutral, defined contextually and locally by a certain relationship with society. Andrew Feenberg, a central thinker in the philosophy of technology, argued that democratizing technology means expanding technological design to include alternative interests and values. When successful in doing so, this can be a tool for increasing inclusiveness. This also suggests an important participatory role for consumers if technology is to be truly democratic. Feenberg asserts that this must be achieved by consumer intervention in a liberated design process. Improved access to specialized knowledge and tools has been associated with an increase in the "do it yourself" (DIY) trend. This has also been associated with consumerization, whereby personal or privately owned devices and software are also used for business purposes. Some have argued that this is linked to reduced dependence on traditional information technology departments. Astra Taylor, the author of the book The People's Platform: Taking Back Power and Culture in the Digital Age, argues, "The promotion of Internet-enabled amateurism is a lazy substitute for real equality of opportunity." === Industry impact === In some ways, democratization of technology has strengthened this industry. Markets have broadened and diversified. Consumer feedback and input is available at a very low or no cost. However, related industries are experiencing decreased demand for qualified professionals as consumers are able to fill more of their demands themselves. Users of a range of types and status have access to increasingly similar technology. Because of the decreased costs and expertise necessary to use products and software, professionals (e.g. in the audio industry) may experience loss of work. In some cases, technology is accessible but sufficiently complex that most users without specialized training are able to operate it without necessarily understanding how it works. Additionally, the process of consumerization has led to an influx in the number of devices in businesses and accessing private networks that IT departments cannot control or access. While this can lead to lowered operating costs and increased innovation, it is also associated with security concerns that most businesses are unable to address at the pace of the spread of technology. === Political impact === Some scholars have argued that technological change will bring about a third wave of democracy. The Internet has been recognized for its role in promoting increased citizen advocacy and government transparency. Jesse Chen, a leading thinker in democratic engagement technologies, distinguishes the democratizing effects of technology from democracy itself. Chen has argued that, while the Internet may have democratizing effects, the Internet alone cannot deliver democracy at all levels of society unless technologies are purposely designed for the nuances of democracy, specifically the engagement of large groups of people in between elections in and beyond government. The spread of the Internet and other forms of technology has led to increased global connectivity. Many scholars believe that it has been associated in the developing world not only with increased Western influence, but also with the spread of democracy through increased communication, efficiency, and access to information. Scholars have drawn associations between the level of technological connectedness and democracy in many nations. Technology can enhance democracy in the developed world as well. In addition to increased communication and transparency, some electorates have implemented online voting to accommodate an increased number of citizens.

    Read more →
  • Digital artifactual value

    Digital artifactual value

    Digital artifactual value, a preservation term, is the intrinsic value of a digital object, rather than the informational content of the object. Though standards are lacking, born-digital objects and digital representations of physical objects may have a value attributed to them as artifacts. == Intrinsic value in analog materials == With respect to analog or non-digital materials, artifacts are determined to have singular research or archival value if they possess qualities and characteristics that make them the only acceptable form for long-term preservation. These qualities and characteristics are commonly referred to as the item's intrinsic value and form the basis upon which digital artifactual value is currently evaluated. Artifactual value based on this idea is predicated upon the artifact's originality, faithfulness, fixity, and stability. The intrinsic value of a particular object, as interpreted by archival professionals, largely determines the selection process for archives. The National Archives and Records Administration Committee on Intrinsic Value in "Intrinsic Value in Archival Material" classified an analog object as having intrinsic value if it possessed one or more of the follow qualities: Physical form that may be the subject for study if the records provide meaningful documentation or significant examples of the form. Aesthetic or artistic quality. Unique or curious physical features. Age that provides a quality of uniqueness. Value for use in exhibits. Questionable authenticity, date, author, or other characteristic that is significant and ascertainable by physical examination. General and substantial public interest because of direct association with famous or historically significant people, places, things, issues or events. Significance as documentation of the establishment or continuing legal basis of an agency or institution. Significance as documentation of the formulation of policy at the highest executive levels when the policy has significance and broad effect throughout or beyond the agency or institution. Other archival professionals such as Lynn Westney have written that the characteristics of materials exhibiting intrinsic value include age, content, usage, particularities of creation, signatures, and attached seals. Westney and others have stated that paper-based artifacts can be thought to have evidentiary value, or significant contextual markings, insofar that the original manifestation of the artifact can attest to the originality, faithfulness or authenticity, fixity, and stability of the content. For other analog materials, properly articulating intrinsic value remains essential for determining artifactual value. Similar to paper-based objects in many respects, artifactual value for images typically takes into account artistic value, age, authorial prestige, significant provenance, and institutional priorities. Analog audio preservation is based upon similar factors, including the cultural value of the item, its historical uniqueness, the estimated longevity of the medium, the current condition of the item, and the state of playback equipment, among other things. == Analog conventions in a digital realm == The standard definition of artifactual value, as it has applied to analog or non-digital materials in the twentieth century, is based upon a set of conventions which do not ordinarily apply to digital objects in toto. The Council on Library and Information Resources (CLIR) has stated that printed texts and other paper-based manuscripts, when considered as objects, are imbued with meaning distilled from a general set of understandings inherent to these conventions: The object is of a fixed and stable composition/form. Authorship and intellectual property are a recognizable concept. Duplication is possible. Fungibility of informational content (or, in other words, the ability to be replaced by another identical object). These conventions are important to consider because they help to describe the physical and even metaphysical relationship between a document's content and its physical manifestation. The underpinnings of this relationship are not identical and do not apply with the same degree of clarity to an immaterial digital realm. The idea of fixity with regard to printed materials, for example, is largely predicated on the notion that an object has been recorded on a relatively stable medium. The physical presence of a print text serves as proof of its authenticity as an object or artifact, as well as its scarcity and uniqueness in relation to other print materials. Variations in the chemical properties and storage conditions of print-based materials, as well as other cultural variables, certainly impact the fixity or stability of print materials, but there is little controversy about determining its fundamental existence or originality. However, uniqueness in the physical, paper-based sense does not translate to a digital realm in which immaterial objects are subject to theoretically infinite levels of reproduction and dissemination. Born-digital and digital surrogates may or may not look any different from each other on a server, and alterations can be made without explicit notice to the user. These alterations are normally called migration events, or actions taken on the digital object that change the original object's composition. They can enact subtle but fundamental alterations to the original document, thereby compromising its existence as an original object. Furthermore, because the tools used to generate and access digital objects have historically evolved quite rapidly, issues of playback obsolescence, incapability, data loss, and broken pathways to information have changed traditional ideas of fixity and stability. Therefore, artifactual value in a digital realm requires a modified set of generalized standards for determining artifactual originality. Michael J. Giarlo and Ronald Jantz, only two of many, have posited a list of methods for establishing digital intrinsic value by way of careful metadata generation and records maintenance. In their report, a digital original possesses three key characteristics that distinguishes it from identical copies. These include continuous verification and re-verification of the document's digital signature starting from the date of creation; retaining versions and recordings of all changes to the object in an audit trail; and having the archival master contain the creation date of the digital object. They also reported that originality in digital sources could be verified or produced by the following techniques: Digital object is given a date-time stamp that's automatically inserted into the METS-XML header upon creation. Date-time is inserted into archival metadata. Encapsulation. Digital signatures. == The role of digital surrogates == Digital surrogates are considered a utility for aiding in the preservation and increased access of certain artifacts. However, digital surrogates can have different utilities for objects depending on the nature of the original artifact and the condition the artifact is in. In 2001 the Council on Library and Information Resources (CLIR) published a report on the artifact in library collections. The CLIR states that the utility of the digital surrogate can be determined by dividing the original material (artifact) into two different categories, artifacts that are rare and those that are not. These two categories can be further divided by two categories, artifacts that are frequently used and those that are not. === Materials that are frequently used and not rare === According to the CLIR "it is not obvious that digital surrogates provide all the functionality, all the information, or all the aesthetic value of originals. Therefore, while it may be sensible to recommend that digital surrogates be used to reduce the cost and increase the availability of library holdings that circulate frequently, the decision to deaccession a physical object in library collections and replace it with a digital surrogate should be based on a careful assessment of the way in which library patrons use the original object or objects of its kind." === Materials that are infrequently used and not rare === Keeping the original is always the best solution for libraries and especially archives but in the case of libraries where an artifact is not rare or used infrequently there must be a barometer that is developed to help "balance functionality with actual use in order to help decide when digital surrogates that provide most of the functionality of originals are acceptable." === Materials that are rare and frequently used === A professional in the field of Library and Information Science (LIS) would almost certainly not argue that a digital surrogate could replace a rare object. However, in the case of a rare object that is falling into poor shape due to heavy use a digital surrogate could be extremely useful in reducing the wear a

    Read more →
  • Transparency in the software supply chain

    Transparency in the software supply chain

    Transparency in the software supply chain is a condition in which participants involved in the development, procurement, operation, auditing, or regulation of software can determine which components, dependencies, build stages, identifiers, and relationships within the supply chain make up the delivered product. The disclosure of information about software components, their interrelationships, origins, and development methods—for the purposes of risk management, vulnerability detection, and compliance—takes place throughout the software lifecycle. Transparency is one of the key security attributes of the software supply chain, as a deeper understanding of the chain enables participants to identify vulnerabilities and mitigate threats. Problems in the software supply chain can cause billions in losses and create operational challenges for government and commercial entities, as demonstrated by incidents involving SolarWinds, Bybit, 3CX, Jaguar Land Rover, GitHub, and NotPetya. Modern software is often assembled from third-party libraries and open-source components. According to research by the Linux Foundation and Synopsys, 96% of the commercial codebases analyzed contained open-source software, and 70–90% of a typical codebase may consist of open-source components. Without transparency, any software component can become a threat. As a result, companies may spend billions of dollars building robust external defenses, but this will not protect against vulnerabilities in legitimate software inside the perimeter. At the same time, supply chain attacks also erode trust between customers and their IT providers, as malicious code is often embedded in official updates with certificates and digital signatures. One of the primary ways to ensure transparency is through a software bill of materials, which documents the components used to create the software and the relationships within the supply chain. == Concept == The software supply chain is the collection of systems, devices, people, artifacts, and processes involved in the creation of the final software product. Attacks on the software supply chain differ from conventional attacks in that they follow a four-stage pattern: compromise, modification, distribution, and subsequent exploitation of the compromised or modified component. A defining feature of a supply chain attack is the introduction or manipulation of a change at an upstream stage, which is subsequently exploited at a downstream stage. Transparency refers to the availability of knowledge about the chain, while validity concerns the integrity of operations and artifacts and the authentication of participants, and separation involves reducing unnecessary trust relationships and the radius of impact through compartmentalization. In this framework, transparency primarily helps during the pre-compromise and detection phases, as a clearer understanding of participants, operations, and artifacts makes it easier to identify weak links before attackers exploit them. Current major attack vectors include dependencies and containers, build infrastructure, and human participants, such as maintainers or developers. == History == Software supply-chain transparency developed from earlier efforts to document software components, long before the term came into widespread use in the cybersecurity field. Early component-documentation formats included SPDX, first published in 2011, and CycloneDX, first published in 2017. Initially, these formats were created to support license compliance, package identification, and tool compatibility. Their development helped shape a broader concept of software supply chain transparency, encompassing component documentation, disclosure practices, risk management, security analysis, and regulatory compliance. In 2018, the U.S. National Telecommunications and Information Administration launched a multistakeholder process on promoting software component transparency. This process helped move work on SBOMs from a specialized technical practice into the realm of policy and procurement to identify components used in software products. The 2020 compromise of the SolarWinds Orion platform made software supply chain security a central issue in government cybersecurity policy. An analysis of the “Sunburst” campaign prepared by the Atlantic Council noted that the vulnerability of the software supply chain had become a realized risk for national-security agencies. In May 2021, U.S. President Joe Biden issued Executive Order 14028, which directed federal agencies to improve cybersecurity and increase transparency in the software supply chain, including requirements related to SBOMs. Reuters reported that the executive order required software developers selling their products to the federal government to provide greater visibility into their software and make security data available. In July 2021, the NTIA published the document “The Minimum Elements for a Software Bill of Materials (SBOM)”, defining the basic data fields and practices for creating SBOMs. Between 2021 and 2025, the U.S. Cybersecurity and Infrastructure Security Agency updated its guidance on “Framing Software Component Transparency”, expanding the set of SBOM attributes, metadata requirements, and operational recommendations for the creation, exchange, and use of SBOMs. Major incidents that occurred following the SolarWinds attack have underscored the importance of transparency in vulnerability management and supply chain security. The Log4Shell vulnerability in the Log4j library, disclosed in December 2021, demonstrated how difficult it can be for organizations to identify a vulnerable component deeply embedded within applications and services. In 2024, an attempt to plant a backdoor in XZ Utils showed how attackers could exploit trust in open-source maintenance processes to introduce malicious code into widely used infrastructure software. By the mid-2020s, software supply chain transparency had become part of international cybersecurity coordination and regulation. On September 3, 2025, Japan's Ministry of Economy, Trade and Industry and the National Cybersecurity Office, in collaboration with cybersecurity agencies from 15 countries, released the document “A Shared Vision of Software Bill of Materials (SBOM) for Cybersecurity.” In the European Union, the Cyber Resilience Act required manufacturers of products with digital elements to create, maintain, and retain SBOMs as part of the technical documentation for software placed on the EU market. == Transparency mechanisms == The primary mechanism for ensuring transparency is the software bill of materials (SBOM). An SBOM is a structured list of components, libraries, and tools used to build and distribute a software product, and it records dependencies in a way that helps organizations understand and assess their software supply chains. It can also be described as a formal record of components and their interdependencies, which gives users insight into their actual exposure to risks and threats. Five key areas of SBOM application in software supply chain security have been identified: vulnerability management, ensuring transparency, component evaluation, risk assessment, and ensuring supply chain integrity. In software supply chains, an SBOM documents all components, both open-source and proprietary. Under Executive Order 14028, U.S. federal agencies require software suppliers to provide SBOMs for government-procured software. The list of minimum required SBOM elements defined by NTIA includes three main categories: required data fields for describing each component (name, version, identifiers), automation support (machine-readable format, generation tools), and recommendations for creating SBOMs during development and purchasing. The post-2021 push for SBOMs was intended to provide visibility into the components used within software and to expose parts of an application that would otherwise remain hidden. This information can be used to prioritize patches, manage vulnerabilities, and support compliance work. Transparency also supports software traceability, which is becoming a standard feature of developer platforms. Traceability has become important because organizations are increasingly required to demonstrate how software was created, rather than simply listing its components. Higher levels of assurance require signed, tamper-proof traceability and more isolated, verifiable build environments. A related mechanism is build reproducibility. Reproducible builds are defined as build processes that make the compilation process deterministic, ensuring that the same source code always produces the same binary file. These builds are considered a foundational element for distributed verification, transparency-log maintenance, supply-chain workflow integration, and the creation of keyless signatures based on verifiable logs. Although reproducibility does not replace inventory or attestation, it gives external par

    Read more →
  • Open Sound Control

    Open Sound Control

    Open Sound Control (OSC) is a protocol for networking sound synthesizers, computers, and other multimedia devices for purposes such as musical performance or show control. OSC's advantages include interoperability, accuracy, flexibility and enhanced organization and documentation. Its disadvantages include higher bandwidth requirements, increased load on embedded processors, and lack of standardized messages/interoperability. The first specification was released in March 2002. == Motivation == OSC is a content format developed at CNMAT by Adrian Freed and Matt Wright comparable to XML, WDDX, or JSON. It was originally intended for sharing music performance data (gestures, parameters and note sequences) between musical instruments (especially electronic musical instruments such as synthesizers), computers, and other multimedia devices. OSC is sometimes used as an alternative to the 1983 MIDI standard, when higher resolution and a richer parameter space is desired. OSC messages are transported across the internet and within local subnets using UDP/IP and Ethernet. OSC messages between gestural controllers are usually transmitted over serial endpoints of USB wrapped in the SLIP protocol. == Features == OSC's main features, compared to MIDI, include: Open-ended, dynamic, URI-style symbolic naming scheme Symbolic and high-resolution numeric data Pattern matching language to specify multiple recipients of a single message High resolution time tags "Bundles" of messages whose effects must occur simultaneously == Applications == There are dozens of OSC applications, including real-time sound and media processing environments, web interactivity tools, software synthesizers, programming languages and hardware devices. OSC has achieved wide use in fields including musical expression, robotics, video performance interfaces, distributed music systems and inter-process communication. The TUIO community standard for tangible interfaces such as multitouch is built on top of OSC. Similarly the GDIF system for representing gestures integrates OSC. OSC is used extensively in experimental musical controllers, and has been built into several open source and commercial products. The Open Sound World (OSW) music programming language is designed around OSC messaging. OSC is the heart of the DSSI plugin API, an evolution of the LADSPA API, in order to make the eventual GUI interact with the core of the plugin via messaging the plugin host. LADSPA and DSSI are APIs dedicated to audio effects and synthesizers. In 2007, a standardized namespace within OSC called SYN, for communication between controllers, synthesizers and hosts, was proposed. == Design == OSC messages consist of an address pattern (such as /oscillator/4/frequency), a type tag string (such as ,fi for a float32 argument followed by an int32 argument), and the arguments themselves (which may include a time tag). Address patterns form a hierarchical name space, reminiscent of a Unix filesystem path, or a URL, and refer to "Methods" inside the server, which are invoked with the attached arguments. Type tag strings are a compact string representation of the argument types. Arguments are represented in binary form with four-byte alignment. The core types supported are 32-bit two's complement signed integers 32-bit IEEE floating point numbers Null-terminated arrays of eight-bit encoded data (C-style strings) arbitrary sized blob (e.g. audio data, or a video frame) An example message is included in the spec (with null padding bytes represented by ␀): /oscillator/4/frequency␀,f␀␀, Followed by the 4-byte float32 representation of 440.0: 0x43dc0000. Messages may be combined into bundles, which themselves may be combined into bundles, etc. Each bundle contains a timestamp, which determines whether the server should respond immediately or at some point in the future. Applications commonly employ extensions to this core set. More recently some of these extensions such as a compact Boolean type were integrated into the required core types of OSC 1.1. The advantages of OSC over MIDI are primarily internet connectivity; data type resolution; and the comparative ease of specifying a symbolic path, as opposed to specifying all connections as seven-bit numbers with seven-bit or fourteen-bit data types. This human-readability has the disadvantage of being inefficient to transmit and more difficult to parse by embedded firmware, however. The spec does not define any particular OSC Methods or OSC Containers. All messages are implementation-defined and vary from server to server.

    Read more →
  • NexDock

    NexDock

    NexDock is a series of lapdock devices (containing a laptop screen, keyboard, trackpad, and battery connected to a phone or other device) sold by Nex Computer LLC. The product can be used with mobile desktop environments, including Samsung DeX and the former Windows Continuum. Critical reception for the series has been mixed, with reviewers praising the concept's utility for mobile productivity while noting hardware limitations and its niche appeal. == History == The first NexDock was introduced in 2016 through a successful Indiegogo campaign. Its development coincided with interest in smartphone-powered desktop interfaces, and it was marketed as a companion for Windows 10 Mobile's Continuum feature. Subsequent models, often launched via Kickstarter, added features like higher-resolution displays, touchscreens, and convertible hinges to adapt to the growing capabilities of smartphones. == Models == === NexDock (Original, 2016) === The first model featured a 14.1-inch 1366x768 display and connected primarily via a mini HDMI port. === NexDock 2 (2019) === This model introduced a 13.3-inch 1080p IPS display and a USB-C port, improvements aimed at better supporting platforms like Samsung DeX. === NexDock Touch (2020) === A touchscreen was added to the 13.3-inch display, allowing for more direct interaction with the connected device's operating system. === NexDock 360 (2021) === This version incorporated a 360-degree hinge, allowing the device to be used in laptop, tablet, tent, or stand modes. === NexDock Wireless (2023) === Wireless display connectivity was the key feature of this model, offering a cable-free connection to compatible phones and computers. === NexDock XL (2023) === The screen size was increased to 15.6 inches. It retained the 360-degree hinge and also offered a version with wireless charging for a connected phone. == Reception == Reviews of NexDock products have been mixed, generally praising the concept while pointing out execution flaws. The devices are often lauded for their utility with Samsung DeX, turning a high-end Samsung phone into a viable portable workstation. A review of the NexDock 2 from ZDNet concluded it was a "great companion for the modern road warrior," and Digital Trends called the original a "no-brainer shell" for expanding a phone's capability. However, reviewers have consistently highlighted hardware limitations. In its review of the NexDock Touch, TechRadar stated that while it was a "compelling package for a very specific niche," the "trackpad and keyboard are a bit of a letdown and the screen could be brighter." This sentiment was echoed in other reviews, with criticism often aimed at the trackpad's performance and feel. A review of the NexDock 2 from Android Authority described the experience as being "janky at times," concluding that the device "delivers on its promise — sort of." A common point across many reviews is that the overall performance is entirely dependent on the power of the connected phone, and the experience is often best suited for light productivity tasks rather than replacing a dedicated laptop.

    Read more →