AI Code Ui

AI Code Ui — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Desktop Window Manager

    Desktop Window Manager

    Desktop Window Manager (DWM, previously Desktop Compositing Engine or DCE in builds of pre-reset Windows Longhorn) is the compositing window manager in Microsoft Windows since Windows Vista that enables the use of hardware acceleration to render the graphical user interface of Windows. It was originally created to enable portions of the new "Windows Aero" user experience, which allowed for effects such as transparency, 3D window switching and more. It is also included with Windows Server 2008, but requires the "Desktop Experience" feature and compatible graphics drivers to be installed. == Architecture == The Desktop Window Manager is a compositing window manager, meaning that each program has a buffer that it writes data to; DWM then composites each program's buffer into a final image. By comparison, the stacking window manager in Windows XP and earlier (and also Windows Vista and Windows 7 with Windows Aero disabled) comprises a single display buffer to which all programs write. DWM works in different ways depending on the operating system (Windows 7 or Windows Vista) and on the version of the graphics drivers it uses (WDDM 1.0 or 1.1). Under Windows 7 and with WDDM 1.1 drivers, DWM only writes the program's buffer to the video RAM, even if it is a graphics device interface (GDI) program. This is because Windows 7 supports (limited) hardware acceleration for GDI and in doing so does not need to keep a copy of the buffer in system RAM so that the CPU can write to it. Because the compositor has access to the graphics of all applications, it easily allows visual effects that string together visuals from multiple applications, such as transparency. DWM uses DirectX to perform the function of compositing and rendering in the GPU, freeing the CPU of the task of managing the rendering from the off-screen buffers to the display. However, it does not affect applications painting to the off-screen buffers – depending on the technologies used for that, this might still be CPU-bound. DWM-agnostic rendering techniques like GDI are redirected to the buffers by rendering the user interface (UI) as bitmaps. DWM-aware rendering technologies like WPF directly make the internal data structures available in a DWM-compatible format. The window contents in the buffers are then converted to DirectX textures. The desktop itself is a full-screen Direct3D surface, with windows being represented as a mesh consisting of two adjacent (and mutually inverted) triangles, which are transformed to represent a 2D rectangle. The texture, representing the UI chrome, is then mapped onto these rectangles. Window transitions are implemented as transformations of the meshes, using shader programs. With Windows Vista, the transitions are limited to the set of built-in shaders that implement the transformations. Greg Schechter, a developer at Microsoft has suggested that this might be opened up for developers and users to plug in their own effects in a future release. DWM only maps the primary desktop object as a 3D surface; other desktop objects, including virtual desktops as well as the secure desktop used by User Account Control are not. Because all applications render to an off-screen buffer, they can be read off the buffer embedded in other applications as well. Since the off-screen buffer is constantly updated by the application, the embedded rendering will be a dynamic representation of the application window and not a static rendering. This is how the live thumbnail previews and Windows Flip work in Windows Vista and Windows 7. DWM exposes a public API that allows applications to access these thumbnail representations. The size of the thumbnail is not fixed; applications can request the thumbnails at any size - smaller than the original window, at the same size or even larger - and DWM will scale them properly before returning. Aero Flip does not use the public thumbnail APIs as they do not allow for directly accessing the Direct3D textures. Instead, Aero Flip is implemented directly in the DWM engine. The Desktop Window Manager uses Media Integration Layer (MIL), the unmanaged compositor which it shares with Windows Presentation Foundation, to represent the windows as composition nodes in a composition tree. The composition tree represents the desktop and all the windows hosted in it, which are then rendered by MIL from the back of the scene to the front. Since all the windows contribute to the final image, the color of a resultant pixel can be decided by more than one window. This is used to implement effects such as per-pixel transparency. DWM allows custom shaders to be invoked to control how pixels from multiple applications are used to create the displayed pixel. The DWM includes built-in Pixel Shader 2.0 programs which compute the color of a pixel in a window by averaging the color of the pixel as determined by the window behind it and its neighboring pixels. These shaders are used by DWM to achieve the blur effect in the window borders of windows managed by DWM, and optionally for the areas where it is requested by the application. Since MIL provides a retained mode graphics system by caching the composition trees, the job of repainting and refreshing the screen when windows are moved is handled by DWM and MIL, freeing the application of the responsibility. The background data is already in the composition tree and the off-screen buffers and is directly used to render the background. In pre-Vista Windows OSs, background applications had to be requested to re-render themselves by sending them the WM_PAINT message. DWM uses double-buffered graphics to prevent flickering and tearing when moving windows. The compositing engine uses optimizations such as culling to improve performance, as well as not redrawing areas that have not changed. Because the compositor is multi-monitor aware, DWM natively supports this too. During full-screen applications, such as games, DWM does not perform window compositing and therefore performance will not appreciably decrease. On Windows 8 and Windows Server 2012, DWM is used at all times and cannot be disabled, due to the new "start screen experience" implemented. Since the DWM process is usually required to run at all times on Windows 8, users experiencing an issue with the process are seeing memory usage decrease after a system reboot. This is often the first step in a long list of troubleshooting tasks that can help. It is possible to prevent DWM from restarting temporarily in Windows 8, which causes the desktop to turn black, the taskbar grey, and break the start screen/modern apps, but desktop apps will continue to function and appear just like Windows 7 and Vista's Basic theme, based on the single-buffer renderer used by XP. They also use Windows 8's centered title bar, visible within Windows PreInstallation Environment. Starting up Windows without DWM will not work because the default lock screen requires DWM unlike the fallback lockscreen that appears as a command line interface program when Windows.UI.Logon.dll isn't present on Windows versions such as 1507 and later, so it can only be done on the fly, and does not have any practical purposes. Starting with Windows 10, disabling DWM in such a way will cause the entire compositing engine to break, even traditional desktop apps, due to Universal App implementations in the taskbar and new start menu. Windows can still be partially usable without the presence of DWM but requires Sihost.exe to not be present due to it relying on DWM. Most of the applications in Windows 11 require DWM to render UI elements and transparency, Windows 11's new task manager requires dwm to render menus unlike the fallback -d version. Unlike its predecessors, Windows 8 supports basic display adapters through Windows Advanced Rasterization Platform (WARP), which uses software rendering and the CPU to render the interface rather than the graphics card. This allows DWM to function without compatible drivers, but not at the same level of performance as with a normal graphics card. DWM on Windows 8 also adds support for stereoscopic 3D. == Redirection == For rendering techniques that are not DWM-aware, output must be redirected to the DWM buffers. With Windows, either GDI or DirectX can be used for rendering. To make these two work with DWM, redirection techniques for both are provided. With GDI, which is the most used UI rendering technique in Microsoft Windows, each application window is notified when it or a part of it comes in view and it is the job of the application to render itself. Without DWM, the rendering rasterizes the UI in a buffer in video memory, from where it is rendered to the screen. Under DWM, GDI calls are redirected to use the Canonical Display Driver (cdd.dll), a software renderer. A buffer equal to the size of the window is allocated in system memory and CDD.DLL outputs to this buffer rather than the video memory. Another buffer is allocated in the video memory to represent t

    Read more →
  • IBM Retail Store Systems

    IBM Retail Store Systems

    This article describes IBM point of sale equipment from 1973 with the introduction of the IBM 3650 till 1986 with the introduction of the IBM 4680. IBM continued to announced new retail products until the sale of the IBM Retail Store Solutions business to Toshiba TEC, announced on 17 April 17 2012. == Background == IBM began selling retail point of sale systems starting in 1973 with the IBM 3650 Retail Store System aimed at department and chain stores and the IBM 3660 Supermarket System designed for supermarkets. The IBM 3650 was announced alongside other IBM vertical industry systems such as the IBM 3600 Finance Communication System, and the IBM 3790 communications system, the combination of which IBM described as a "revolution in terminal based systems". All of these systems relied on a significant number of developments across IBM: New chips: Large Scale Integration allowed advanced Field Effect Transistor logic chips that packed far more transistors onto a new metalized one-inch square ceramic substrate Gas panels: Developed as an alternative to cathode ray tubes, the neon argon gas panel provided clear and flicker-free images. Modem communications: Synchronous Data Link Control provided lower-cost communications over telephone lines New disks: The "Gulliver" disk file that supplied a hard drive smaller than three cubic feet and also the "Igar" diskette drive Smaller printers: A disk printer system called "spica" that used a rotating disk print element with engraved print elements that are struck by a single hammer as the disk rotates Belt printers: A new system, known as "Lynx," using a removable belt that was significantly cheaper, quieter and simpler than earlier chain printers Keyboards: New keyboard technology called "Calico" that could build a wide variety of keyboards using common manufacturing facilities Power supplies: Transistorised Switching Regulators or TsRs: compact power supplies that are one third to one-fourth the size of previous generations === Store Loop (SLOOP) architecture === The 36xx retail terminals are connected to the store controller via a loop also called a Store Loop, similar to that used by the IBM 3600 Finance System. If a terminal detects an error, it runs a self-diagnosis routine, displays an error code to the operator, and uses bypass circuitry to remove itself from the loop and allow the loop to continue operating. If the loop fails, the most downstream terminal transmits an error code to the controller. Intermittent errors are written to disk on the store controller. === Supplies Manufacturing === While IBM's Data Processing Division created the retail store systems, it's Information Record Division (IRD) also saw signifiant opportunity in manufacturing supplies for retail systems. As an example in their Dayton NJ plant they used a high-speed Webtron press to create up to 1 million magnet merchandise tags per shift. == IBM 3650 Retail Store System == The 3650 System is a family of products designed to computerise a retail store, both at the point of sale and for back office store management functions. It includes a method to generate encoded tickets for merchandise, rather than use the Universal Product Code (UPC). The key devices for the system were as follows: === Shop Floor === ==== 3653 Point of Sale Terminal ==== Designed for the store floor, it is a loop attached device with: a wire matrix printer with 3 stations: cash receipt, sales-check and transaction journal. a keyboard with 10 numeric keys and 19 function keys an 8 digit display and description lights. in addition to the 8 digits it also displays the following characters: "$", "." and "-" operator guidance panel with 20 backlit captions status indicators a cash drawer a check verification station. Options include a wand magnet label reader with a 4 foot flexible cord, and locks for the journal tape and the till cover. The terminal effectively loads its software remotely from the 3651 over the loop, which IBM calls an IML (initial microcode load). It can also be IMLed locally using a tape cassette recorder. IBM later offered a choice of OEM Wand Attachments that could be ordered by RPQ that could use OCR or scan UPCs, instead of a wand magnet label reader. Only one wand could be attached to a specific 3653. There are two models: Model 1, which is not programmable. Was announced 10 August 1973. Model P1, which is customer programmable. Has 36 KB of storage expandable to 60 KB. Was announced 13 October 1978. === Back office equipment === ==== 3651 Store Controller ==== Controls data flow inside either a single store or multiple stores and sends retail transactions to a mainframe using a modem. For point of sale it performed functions such as: Automatic price lookup from a master price file Automatic distribution of net sales by up to 54 departments Automatic application of applicable discounts and sales taxes Automatic control of food stamp maximums Check authorization facilities For back office it also helped report preparation such as: store summary individual cashier performance store office reconciliation sales by up to 54 departments Current inquiries for department sales; cashier performance & cash position; store cash position. Inquiries and changes to the master price records and operator authorization control records. Setting the time and date for the internal clock. Running the customer checkouts in training mode. Printing of messages received from the host mainframe Entry of messages to send to the host mainframe Reporting of customer stock returns Updating the system with data received from the mainframe Preparing shelf Labels Basic features include: Each loop attaches up to 63 or 64 terminals depending on traffic volumes and desired response times Has an error and operator panel. There were many models including: A25 Has a 5 MB internal disk. Has 60K of memory expandable to 76KB. Supports one store loop. Attaches to 3275, 3653 and 3663. Announced 19 May 1978, withdrawn 19 February 1981 B25 Same as a A25 with a 9.2 MB internal disk. Announced 19 May 1978 C25 Announced 15 May 1981, withdrawn 15 December 1987 A50 Has a 5 MB internal disk. Announced 5 May 1975. Announced 10 August 1973, withdrawn 15 December 1987 B50 Same as B50 with a 9.2 MB internal disk. Announced 5 May 1975, withdrawn 15 December 1987 A60 Has a 5 MB internal disk. Has an integrated 3669. Attaches up to 24 3663 terminals. Announced 11 October 1973, withdrawn 15 December 1987 B60 Same as A60 with a 9.3 MB internal disk. Announced 17 November 1975, withdrawn 15 December 1987 A75 Has 5 MB internal disk. Has 60K of memory expandable to 124KB. Supports one to three store loops. Attaches to 3275, 3653, 3657, 3784 and 3663 terminals. Announced 19 May 1978 B75 Same as A75 with 9.3 MB internal disk. Announced 19 May 1978, withdrawn 15 December 1987 C75 Same as A75 with 18.6 MB internal disk. Announced 19 May 1978, withdrawn 15 December 1987 D75 Same as A75 with 27.9 MB internal disk. Announced 19 May 1978, withdrawn 15 December 1987 There were also two additional models that could be used instead of the 3651: 7480 Model 1: Has a 18.6 MB internal disk 7480 Model 2: Has a 27.9 MB internal disk ==== 3872 Modem ==== Used to attach to a 3659 for remote loops. Each 3872 can attach three 3659s. ==== 3659 Remote Communication Unit ==== Connected to an IBM 3872 and provides a remote loop for up to 64 point of sale terminals. Announced 10 August 1973, withdrawn 15 December 1987 (Model 2, announced 17 March 1976, withdrawn 20 December 1982) Intended to be used in a back office location like the store manager's office or the data entry office ==== 3275-3 Display Station ==== It is a loop attached display terminal with printer attachment hardware ==== 3784 Line Printer ==== A belt printer for higher-volume end-of-day reporting. The maximum print speed is 155 Ipm using a 48 character set. ==== 3657 Ticket Unit ==== Used to print tickets and encoded labels to attach to store merchandise. It is a loop attached device. It prints the following: 1" by 1" adhesive backed labels with up to 11 characters at 500 tickets per minute. IBM sold these in rolls of 9000 1" x 2" tickets with up to 42 encoded characters and two lines of print of up to 21 characters at 250 tickets per minute. IBM sold these in rolls of 2800 1" x 3" tickets with up to 79 encoded characters and two lines of print of up to 32 characters at 167 tickets per minute. IBM sold these in rolls of 1900 It can also batch read the tickets for validation, separating good tickets from bad ones into two cartridges. Announced 10 August 1973, withdrawn 15 December 1987 ==== 7481 Data Storage Unit ==== This optional unit is used to record transaction data and initialize terminals if the store controller is not available. It uses a built in tape drive to store this data. === Early deployments === The first customer installation of a 3650 was at a Dillard's department store in Little Rock, Arkansas, in late 1974. They placed arou

    Read more →
  • Modulation error ratio

    Modulation error ratio

    The modulation error ratio (MER) is a measure used to quantify the performance of a digital radio (or digital TV) transmitter or receiver in a communications system using digital modulation (such as QAM). A signal sent by an ideal transmitter or received by a receiver would have all constellation points precisely at the ideal locations, however various imperfections in the implementation (such as noise, low image rejection ratio, phase noise, carrier suppression, distortion, etc.) or signal path cause the actual constellation points to deviate from the ideal locations. Transmitter MER can be measured by specialized equipment, which demodulates the received signal in a similar way to how a real radio demodulator does it. Demodulated and detected signal can be used as a reasonably reliable estimate for the ideal transmitted signal in MER calculation. == Definition == An error vector is a vector in the I-Q plane between the ideal constellation point and the point received by the receiver. The Euclidean distance between the two points is its magnitude. The modulation error ratio is equal to the ratio of the root mean square (RMS) power (in Watts) of the reference vector to the power (in Watts) of the error. It is defined in dB as: M E R ( d B ) = 10 log 10 ⁡ ( P s i g n a l P e r r o r ) {\displaystyle \mathrm {MER(dB)} =10\log _{10}\left({P_{\mathrm {signal} } \over P_{\mathrm {error} }}\right)} where Perror is the RMS power of the error vector, and Psignal is the RMS power of ideal transmitted signal. MER is defined as a percentage in a compatible (but reciprocal) way: M E R ( % ) = P e r r o r P s i g n a l × 100 % {\displaystyle \mathrm {MER(\%)} ={\sqrt {P_{\mathrm {error} } \over P_{\mathrm {signal} }}}\times 100\%} with the same definitions. MER is closely related to error vector magnitude (EVM), but MER is calculated from the average power of the signal. MER is also closely related to signal-to-noise ratio. MER includes all imperfections including deterministic amplitude imbalance, quadrature error and distortion, while noise is random by nature.

    Read more →
  • IDN Times

    IDN Times

    IDN Times is a digital multi-platform media outlet that provides news and entertainment for Millennials and Gen Z in Indonesia. IDN Times is one of IDN’s business units under the Digital Media pillar, founded by Winston Utomo and William Utomo on June 8, 2014. Currently, senior journalist Uni Zulfiani Lubis serves as the Editor-in-Chief of IDN Times. == History == IDN Times was initially known as Indonesian Times, a blog featuring articles written by Winston Utomo while he was working at Google Singapore. As interest and readership grew, Indonesian Times evolved into IDN Times, a digital multi-platform media company focused on delivering relevant content for Indonesia’s younger generations. == Bureau == IDN Times has a representative bureau that has spread over 12 provinces in Indonesia: == Events == === Indonesia Millennial and Gen Z Summit === The Indonesia Millennial and Gen-Z Summit (IMGS) is an annual event organized by IDN. This event aims to empower Indonesia’s younger generations through discussions and interdisciplinary collaborations. IMGS features inspirational figures, professionals, and leaders from various fields who share insights and drive positive change. The event hosts dozens of discussion sessions in collaboration with eight prominent communities. Topics covered include politics, economics, technology, and pop culture. === Indonesia Writers Festival === The Indonesia Writers Festival is an independent writing festival organized by IDN Times. The event seeks to empower Indonesians through writing by inviting experts and literacy activists from various backgrounds. == Duniaku.com == Duniaku.com is a multi-platform digital media part of IDN Times which presents content about geek culture ranging from video games, anime, comics, films, technology and gadgets. Duniaku.com was officially launched on September 6, 2019 by the Minister of Communication and Informatics Rudiantara together with CEO of IDN Media Winston Utomo and IDN Times and Editor-in-Chief of Duniaku.com Uni Lubis. == Awards == 2019 IDN won WAN-IFRA Asia Digital Media Awards 2019 as the Best Digital Project to Engage Younger and/or Millennial Audiences for IDN Times’ #MillennialsMemilih program 2020 IDN Times (IDN Times Community) won WAN-IFRA Asia Digital Media Awards 2019 in The Best in Audience Engagement category. 2021 IDN Times journalists won awards at the Subroto Award, Ministry of Energy and Mineral Resources (ESDM) on 28 September 2021. 2024 IDN Times won WAN-IFRA event at both the Asia and Global levels in Best Use of AI in Revenue Strategy. === #Interconnected22 by Pulitzer Center === One of the IDN Times journalists, Dhana Kencana, was the speaker at the #Interconnected22 conference held from June 9 to June 10, 2022, in Washington DC, United States of America. Dhana Kencana is also a grant recipient Pulitzer Center through the Rainforest Journalism Fund (RJF) program, a funding program for journalists that makes a number of coverage of the rainforest.

    Read more →
  • Automated essay scoring

    Automated essay scoring

    Automated essay scoring (AES) is the use of specialized computer programs to assign grades to essays written in an educational setting. It is a form of educational assessment and an application of natural language processing. Its objective is to classify a large set of textual entities into a small number of discrete categories, corresponding to the possible grades, for example, the numbers 1 to 6. Therefore, it can be considered a problem of statistical classification. Several factors have contributed to a growing interest in AES. Among them are cost, accountability, standards, and technology. Rising education costs have led to pressure to hold the educational system accountable for results by imposing standards. The advance of information technology promises to measure educational achievement at reduced cost. The use of AES for high-stakes testing in education has generated significant backlash, with opponents pointing to research that computers cannot yet grade writing accurately and arguing that their use for such purposes promotes teaching writing in reductive ways (i.e. teaching to the test). == History == Most historical summaries of AES trace the origins of the field to the work of Ellis Batten Page. In 1966, he argued for the possibility of scoring essays by computer, and in 1968 he published his successful work with a program called Project Essay Grade (PEG). Using the technology of that time, computerized essay scoring would not have been cost-effective, so Page abated his efforts for about two decades. Eventually, Page sold PEG to Measurement Incorporated. By 1990, desktop computers had become so powerful and so widespread that AES was a practical possibility. As early as 1982, a UNIX program called Writer's Workbench was able to offer punctuation, spelling and grammar advice. In collaboration with several companies (notably Educational Testing Service), Page updated PEG and ran some successful trials in the early 1990s. Peter Foltz and Thomas Landauer developed a system using a scoring engine called the Intelligent Essay Assessor (IEA). IEA was first used to score essays in 1997 for their undergraduate courses. It is now a product from Pearson Educational Technologies and used for scoring within a number of commercial products and state and national exams. IntelliMetric is Vantage Learning's AES engine. Its development began in 1996. It was first used commercially to score essays in 1998. Educational Testing Service offers "e-rater", an automated essay scoring program. It was first used commercially in February 1999. Jill Burstein was the team leader in its development. ETS's Criterion Online Writing Evaluation Service uses the e-rater engine to provide both scores and targeted feedback. Lawrence Rudner has done some work with Bayesian scoring, and developed a system called BETSY (Bayesian Essay Test Scoring sYstem). Some of his results have been published in print or online, but no commercial system incorporates BETSY as yet. Under the leadership of Howard Mitzel and Sue Lottridge, Pacific Metrics developed a constructed response automated scoring engine, CRASE. Currently utilized by several state departments of education and in a U.S. Department of Education-funded Enhanced Assessment Grant, Pacific Metrics’ technology has been used in large-scale formative and summative assessment environments since 2007. Measurement Inc. acquired the rights to PEG in 2002 and has continued to develop it. In 2012, the Hewlett Foundation sponsored a competition on Kaggle called the Automated Student Assessment Prize (ASAP). 201 challenge participants attempted to predict, using AES, the scores that human raters would give to thousands of essays written to eight different prompts. The intent was to demonstrate that AES can be as reliable as human raters, or more so. The competition also hosted a separate demonstration among nine AES vendors on a subset of the ASAP data. Although the investigators reported that the automated essay scoring was as reliable as human scoring, this claim was not substantiated by any statistical tests because some of the vendors required that no such tests be performed as a precondition for their participation. Moreover, the claim that the Hewlett Study demonstrated that AES can be as reliable as human raters has since been strongly contested, including by Randy E. Bennett, the Norman O. Frederiksen Chair in Assessment Innovation at the Educational Testing Service. Some of the major criticisms of the study have been that five of the eight datasets consisted of paragraphs rather than essays, four of the eight data sets were graded by human readers for content only rather than for writing ability, and that rather than measuring human readers and the AES machines against the "true score", the average of the two readers' scores, the study employed an artificial construct, the "resolved score", which in four datasets consisted of the higher of the two human scores if there was a disagreement. This last practice, in particular, gave the machines an unfair advantage by allowing them to round up for these datasets. In 1966, Page hypothesized that, in the future, the computer-based judge will be better correlated with each human judge than the other human judges are. Despite criticizing the applicability of this approach to essay marking in general, this hypothesis was supported for marking free text answers to short questions, such as those typical of the British GCSE system. Results of supervised learning demonstrate that the automatic systems perform well when marking by different human teachers is in good agreement. Unsupervised clustering of answers showed that excellent papers and weak papers formed well-defined clusters, and the automated marking rule for these clusters worked well, whereas marks given by human teachers for the third cluster ('mixed') can be controversial, and the reliability of any assessment of works from the 'mixed' cluster can often be questioned (both human and computer-based). == Different dimensions of essay quality == According to a recent survey, modern AES systems try to score different dimensions of an essay's quality in order to provide feedback to users. These dimensions include the following items: Grammaticality: following grammar rules Usage: using of prepositions, word usage Mechanics: following rules for spelling, punctuation, capitalization Style: word choice, sentence structure variety Relevance: how relevant of the content to the prompt Organization: how well the essay is structured Development: development of ideas with examples Cohesion: appropriate use of transition phrases Coherence: appropriate transitions between ideas Thesis Clarity: clarity of the thesis Persuasiveness: convincingness of the major argument == Procedure == From the beginning, the basic procedure for AES has been to start with a training set of essays that have been carefully hand-scored. The program evaluates surface features of the text of each essay, such as the total number of words, the number of subordinate clauses, or the ratio of uppercase to lowercase letters—quantities that can be measured without any human insight. It then constructs a mathematical model that relates these quantities to the scores that the essays received. The same model is then applied to calculate scores of new essays. Recently, one such mathematical model was created by Isaac Persing and Vincent Ng. which not only evaluates essays on the above features, but also on their argument strength. It evaluates various features of the essay, such as the agreement level of the author and reasons for the same, adherence to the prompt's topic, locations of argument components (major claim, claim, premise), errors in the arguments, cohesion in the arguments among various other features. In contrast to the other models mentioned above, this model is closer in duplicating human insight while grading essays. Due to the growing popularity of deep neural networks, deep learning approaches have been adopted for automated essay scoring, generally obtaining superior results, often surpassing inter-human agreement levels. The various AES programs differ in what specific surface features they measure, how many essays are required in the training set, and most significantly in the mathematical modeling technique. Early attempts used linear regression. Modern systems may use linear regression or other machine learning techniques often in combination with other statistical techniques such as latent semantic analysis and Bayesian inference. The automated essay scoring task has also been studied in the cross-domain setting using machine learning models, where the models are trained on essays written for one prompt (topic) and tested on essays written for another prompt. Successful approaches in the cross-domain scenario are based on deep neural networks or models that combine deep and shallow features. == Criteria for success == Any method of a

    Read more →
  • General-Purpose Serial Interface

    General-Purpose Serial Interface

    General-Purpose Serial Interface, also known as GPSI, 7-wire interface, or 7WS, is a 7 wire communications interface. It is used as an interface between Ethernet MAC and PHY blocks. Data is received and transmitted using separate data paths (TXD, RXD) and separate data clocks (TXCLK, RXCLK). Other signals consist of transmit enable (TXEN), receive carrier sense (CRS), and collision (COL).

    Read more →
  • PureWow

    PureWow

    PureWow is an American digital media company that publishes women's lifestyle content. Acquired by Gary Vaynerchuk in 2017 as part of Gallery Media Group, PureWow tailors lifestyle topics for Millennials and Generation X, including fashion, beauty, home decor, recipes, entertainment, travel, technology, literature, wellness and money. == History == PureWow was founded by Ryan Harwood in September 2010, along with Bob Pittman's Pilot Group and the women of wowOwow Joni Evans, Mary Wells Lawrence, Whoopi Goldberg, Liz Smith, Candice Bergen, and Lesley Stahl, among others. In January 2013, PureWow hired former Real Simple editor Mary Kate McGrath as its first editor-in-chief. In August 2014, PureWow was listed as no. 352 on Inc. Magazine's 2014 list of the top 500 fastest-growing privately owned companies. In May 2015, PureWow raised $2.5 million. In 2017, serial entrepreneur Gary Vaynerchuk and Miami Dolphins' owner Stephen Ross' venture firm, RSE Ventures, acquired PureWow to form Gallery Media Group as a creative agency and media firm. PureWow's CEO, Ryan Harwood serves as the chief executive of Gallery Media Group. == Editions == PureWow publishes national content as well as local content for New York City, Los Angeles, Chicago, San Francisco, Dallas, and the Hamptons. The company publishes content across fashion, beauty, homecare topics, technology, entertainment, books, wellness and finances. PureWow articles are distributed via its website PureWow.com, email, and over social media channels.

    Read more →
  • Web series

    Web series

    A web series, also known as a short-form series or web show, is a collection of short scripted or unscripted online videos released on the Internet (i.e., World Wide Web), generally in episodic form. A single installment of a web series can be called a webisode or an episode. The scale of a web series is small, and a typical episode can be anywhere from 3 to 15 minutes long (though some may run up to 20 minutes). Web series first emerged in the mid-1990s and became more prominent in the early 2000s. Web series are distributed online on video-sharing websites and apps, such as YouTube, Vimeo, and TikTok, and can be watched on devices such as smartphones, tablets, desktops, laptops, and Smart TVs (or television sets connected to the Internet with a media streaming device). They can also be released on social media platforms. Because of the nature of the Internet, a web series may be interactive and immersive. Web series are classified as new media. Web series are different from streaming television series, as the latter are designed to be watched on streaming platforms such as Netflix, Amazon Prime Video, or Hotstar, with the streaming services offering original productions made for and by them, as well as acquiring the rights to distribute licensed content. The length of a streaming television series episode is 30 to 60 minutes (runtimes can also be longer). Although the design of a web series can be similar to that of a television series, its development and production do not entail the same financial investment required for a television series. The popularity of some web series, however, has led to them being optioned for television. Web series differ from short-form content in that the latter are vertical videos specifically designed for smartphone viewing and intended for fast-paced consumption, with runtimes typically ranging from less than one minute to three minutes. There are film festivals for web series, like Webfest Berlin, NYC Web Fest, LA Web Fest, and Vancouver Web Fest. Awards organizations have also been established to celebrate excellence in web series, such as the Streamys, Webbys, IAWTV Awards, and Indie Series Awards. Most major award ceremonies have also created web series and digital media award categories, including the Emmy Awards and the Canadian Screen Awards. == History == === 1990s === In April 1995, "Global Village Idiots", an episode of the reality-based program Rox on public access cable television in Bloomington, Indiana, was uploaded to the Internet, making Rox the first show distributed via the web. The same year, Scott Zakarin created The Spot, an episodic online story that integrated photos, videos, and blogs into the storyline. Likened to Melrose Place-on-the-Web, The Spot featured a rotating cast of characters playing trendy twenty-somethings who rented rooms in a fabled Santa Monica, California beach house called "The Spot". The Spot earned Infoseek's "Cool Site of the Year," an award which later became the Webby. In January 1999, Showtime licensed the animated sci-fi web series WhirlGirl, making it the first independently produced web series licensed by a national television network. In February 1999, the show premiered simultaneously on Showtime and online. The character occasionally appeared on Showtime, for example, hosting a "Lethal Ladies" programming block, but spent most of her time online, appearing in 100 webisodes. === 2000s === As broadband bandwidth increased in speed and availability, delivering high-quality video over the Internet became a reality. In the early 2000s, the Japanese anime industry began broadcasting original net animation (ONA), a type of original video animation (OVA) series, on the Internet. Early examples of the ONA series include Infinite Ryvius: Illusion (2000), Ajimu (2001), and Mahou Yuugi (2001). In 2000, The Brothers Chaps launched the Adobe Flash-created web series Homestar Runner. After being put on hiatus in 2010, it returned in 2014. In 2002, Matt Jolly (better known as "Krinkels") released the first episode of Madness Combat to Newgrounds. The show is still ongoing, with the latest episode "Madness Combat 12: Contravention" released on Twitch in September 2024. In 2003, Microsoft launched MSN Video, offering NBC-related content. Its web series, Weird TV 2000, a spin-off of the syndicated television series Weird TV, featured dozens of shorts, comedy sketches, and mini-documentaries produced exclusively for MSN Video. The video-sharing site YouTube was launched in early 2005, allowing users to share television programs. YouTube co-founder Jawed Karim said the inspiration for YouTube first came from Janet Jackson's role in the 2004 Super Bowl incident, when her breast was exposed during her performance, and later from the 2004 Indian Ocean tsunami. Karim could not easily find video clips of either event online, which led to the idea of a video-sharing site. From 2003 to 2006, many independent web series gained significant popularity, most notably the science fiction series Red vs. Blue by Rooster Teeth. The series was distributed independently via online portals YouTube and Revver, as well as the Rooster Teeth website, acquiring over 100 million social media views during its run. (Rooster Teeth would eventually create the computer-animated web series RWBY in 2013.) In 2004, the adult-animated series Salad Fingers was created, which amassed a cult following. The comedy show The Burg, hailed as the internet's first sitcom and starring Kelli Giddish and Lindsey Broad, rapidly gained an audience and press attention before its creators signed a creation deal with Michael Eisner. The drama Sam Has 7 Friends, which ran in the summer and fall of 2006, was nominated for a Daytime Emmy Award and was temporarily removed from the Internet when it was also acquired by Eisner. In 2004–2005, Spanish producer Pedro Alonso Pablos recorded a series of video interviews featuring actors and directors such as Guillermo del Toro, Santiago Segura, Álex de la Iglesia, and Keanu Reeves, which were distributed through his own website. lonelygirl15, California Heaven, "The Burg", and SamHas7Friends also gained popularity during this time, acquiring audiences in the millions. (Science fiction thriller lonelygirl15 was so successful that it secured a sponsorship deal with Neutrogena in 2007.) In 2004, Stewart St. John, executive producer and head writer of 1990s webisodies The Spot, revived the brand for online audiences as The Spot (2.0), with a new cast, and as a separate soap opera on Sprint PCS Vision-enabled cell phones, creating the first American mobile phone series. St. John and partner Todd Fisher produced over 2,500 daily videos of the mobile soap, driving story lines across platforms to its web counterpart. In 2007, the creators of lonelygirl15 followed up on the show's success with KateModern, a comedy-drama series that debuted on social network Bebo, and took place in the same fictional universe as their previous show. Big Fantastic created and produced the soap opera Prom Queen, financed and distributed by Michael Eisner's production firm Vuguru, and debuted the series on MySpace. Vuguru partnered with Mark Cuban's channel HDNet to release All-for-nots, a mockumentary series by The Burg creators Kathleen Grace and Thom Woodley, which debuted at the SXSW Festival in 2008. These web series highlighted interactivity with the audience in addition to the narrative on relatively low budgets. In contrast, the eight-episode show Sanctuary, starring actor/producer Amanda Tapping, cost $4.3 million to produce. Both Sanctuary and Prom Queen were nominated for a Daytime Emmy Award. Award-winning producer/director Marshall Herskovitz created the drama Quarterlife, which debuted on MySpace and was later distributed on NBC. In 2008, major television studios began releasing web series, such as the ABC comedy show Squeegies, the NBC sci-fi show Gemini Division, and the Bravo reality series The Malan Show. Warner Bros. relaunched The WB as an online network beginning with original mystery web series, Sorority Forever, created and produced by Big Fantastic and executive produced by McG. Meanwhile, MTV announced a new original web series created by Craig Brewer, $5 Cover, that brought together the indie music world and new media expansion. Joss Whedon created, produced, and self-financed musical comedy-drama Dr. Horrible's Sing-Along Blog starring Neil Patrick Harris and Felicia Day. Big Fantastic wrote and produced Foreign Body, a mystery web series that served as a prequel to Robin Cook's novel of the same name. Beckett and Goodfried founded a new Internet studio, EQAL, and produced a spin-off of lonelygirl15 titled LG15: The Resistance. The mainstream press began to provide coverage. In the United Kingdom, KateModern ended its run on Bebo. Bebo also hosted a six-month-long reality travel show, The Gap Year, produced by Endemol UK, and produced an interactive sci-fi drama Kirill for

    Read more →
  • Real-Time UML

    Real-Time UML

    Real-Time UML (RTUML) refers to the application of the Unified Modelling Language (UML) for the analysis, design, and implementation of real-time and embedded systems, where timing constraints, concurrency, and resource management are critical. It extends standard UML with profiles, notations, and semantics to handle hard and soft real-time requirements, such as modelling predictable response times and fault tolerance. RTUML is not a separate language but a methodology leveraging UML diagrams (e.g., statecharts, sequence diagrams) for time-sensitive applications like automotive controls, avionics, and medical devices. The term is closely associated with Bruce Powel Douglass, who popularised it through his books and the Harmony process for embedded software development. As of 2025, RTUML remains relevant in industries requiring certified systems, though its adoption varies with agile methodologies and model-driven engineering tools. == Background == Real-Time UML emerged in the late 1990s as UML was standardized by the Object Management Group (OMG) in 1997, addressing the need for object-oriented modeling in real-time systems previously dominated by procedural languages like C. Traditional real-time development relied on "bare metal" programming or theoretical models, but RTUML introduced visual notations for object structure, behaviour, and timing. Bruce Powel Douglass’s 1999 book, Real-Time UML: Developing Efficient Objects for Embedded Systems, formalised the approach, emphasising statecharts for concurrency and timing constraints. Later editions (2004, 2006) incorporated UML 2.0 features like activity and timing diagrams, aligning with OMG’s Real-Time Profile (now part of MARTE—Modelling and Analysis of Real-Time and Embedded Systems). The Harmony process integrates RTUML with executable models for simulation and code generation. RTUML addresses hard real-time systems (e.g., strict deadlines in avionics) versus soft real-time (e.g., media streaming), using UML extensions for schedulability analysis. == Key concepts == RTUML adapts UML diagrams and techniques for real-time needs: Statecharts and Behaviour Modelling: Extended state machines model reactive behaviour, using and-states for concurrency, pseudostates for transitions, and timing constraints (e.g., {duration < 10ms}). Examples include cardiac pacemaker models. Sequence and Interaction Diagrams: Capture message timing, priorities, and resource allocation in multi-threaded systems. Architectural Patterns: Define logical and physical architectures with active objects for concurrency and patterns like observer or publisher-subscriber. Timing and Constraints: Use Object Constraint Language (OCL) for specifying deadlines and priorities. Profiles and Extensions: OMG’s UML Profile for Schedulability, Performance, and Time (SPT) and MARTE add stereotypes like RT::ActiveObject. These support iterative development, from requirements to deployment, often with tools like IBM Rhapsody or Enterprise Architect. == Applications == RTUML is used in: Embedded Systems: Modelling automotive ECUs or UAV controls. Avionics and Defence: DO-178C-compliant designs for fault tolerance. Medical Devices: Pacemakers or ventilators with precise timing. Industrial Automation: RTOS task visualisation via sequence diagrams. Tools like IBM Rhapsody support RTUML for model-based development and code generation in C/C++. == Criticism and adoption == RTUML’s complexity can overwhelm simple systems, and its use in agile environments is limited, where lightweight diagrams are preferred. Surveys indicate UML (including RTUML) is used in 30–50% of embedded projects, often for documentation rather than full model-driven engineering. It remains standard in academia and certified industries like aerospace.

    Read more →
  • History of operating systems

    History of operating systems

    Computer operating systems (OSes) provide a set of functions needed and used by most application programs on a computer, and the links needed to control and synchronize computer hardware. On the first computers, with no operating system, every program needed the full hardware specification to run correctly and perform standard tasks, and its own drivers for peripheral devices like printers and punched paper card readers. The growing complexity of hardware and application programs eventually made operating systems a necessity for everyday use. == Background == Early computers lacked any form of operating system. Instead, the user (rarely also the computer operator), had sole use of the machine for a scheduled period of time. The user would deliver his program to a computer operator who would be responsible for loading the computer with the program and data needed for its 'run'. Eventually, the end of a user's program could be detected and a control program automatically loaded which would load the next user's program, relieving the operator of having to load in each user's program individually and introducing the era of 'batched' programming. That is, a number of user programs could all be loaded together in a batch. Loading of program and data was accomplished in various ways including toggle switches (only used by a user on the earliest of computers, but later used by the computer operator to control the computer, e.g., to start it up, to shut it down, to 'pause', to 'dump' its RAM contents, and/or to control its input and/or its output), punched paper cards and magnetic or paper tape. Once loaded, the machine would be set to execute each program singly until that program completed, crashed, exceeded its time limit or went into a(n infinite) loop. In those early days, there were only 'Control Program' units for providing the software necessary to control the computers and ancillary hardware, e.g., for such semi hardware functions as I/O . None of the early 'Control Programs' were sufficiently sophisticated to recognize a looping user program or initiate a recovery action. Detection and recovery from a looping program was another critical operator function and was usually detected by the sound of the looping computer, whereupon the operator would simply initiate a complete dump of the executing program (for later debugging by the programmer) and then load in (or instruct the computer to go on to) the next user's program. Programs could sometimes be debugged via a control panel using dials, toggle switches and panel lights, making it a very manual and error-prone process. But, this was quite rare, since the high cost of even the simplest of the early computers prohibited such exclusive use of a computer by an individual programmer. Almost all program debugging was done away from any computer by the original programmer perusing the program and the dump of its execution obtained, e.g., by the computer operator or automatically by some computer hardware exception detection (such as a timeout, an attempt to divide by zero, or an over or underflow). Programmers then could only very rarely have more than one computer 'run' per day! Symbolic languages, e.g., assemblers and compilers were developed for programmers to translate symbolic program code into machine code that previously would have been hand-encoded. Later machines came with libraries of support code on punched cards or magnetic tape, which would be linked to the user's program to assist in operations such as input and output. This was the genesis of the modern-day operating system; however, machines still ran a single program or job at a time. At Cambridge University in England the job queue was at one time a string from which tapes attached to corresponding job tickets were hung with stationery pegs. == Mainframes == The first operating system used for real work was GM-NAA I/O, produced in 1956 by General Motors' Research division for its IBM 704. Most other early operating systems for IBM mainframes were also produced by customers. Early operating systems were very diverse, with each vendor or customer producing one or more operating systems specific to their particular mainframe computer. Every operating system, even from the same vendor, could have radically different models of commands, operating procedures, and such facilities as debugging aids. Typically, each time the manufacturer brought out a new machine, there would be a new operating system, and most applications would have to be manually adjusted, recompiled, and retested. === Systems on IBM hardware === Building on customer experience and requirements, IBM took on a more active role in developing operating systems for the 709, 1410, 7010, 7040, 7044, 7090 and 7094. IBM also collaborated with universities. The state of affairs continued until the mid 1960s when IBM, already a leading hardware vendor, stopped work on existing systems and put all its effort into developing the System/360 series of machines, all of which used the same instruction and input/output architecture. IBM intended to develop a single operating system for the new hardware, the OS/360. The problems encountered in the development of the OS/360 are legendary, and are described by Fred Brooks in The Mythical Man-Month—a book that has become a classic of software engineering. Because of performance differences across the hardware range and delays with software development, a whole family of operating systems was introduced instead of a single OS/360. IBM wound up releasing a series of stop-gaps followed by two longer-lived operating systems: OS/360 for mid-range and large systems. This was available in three system generation options: PCP for early users and for those without the resources for multiprogramming. MFT for mid-range systems, replaced by MFT-II in OS/360 Release 15/16. This had one successor, OS/VS1, which was discontinued in the 1980s. MVT for large systems. This was similar in most ways to PCP and MFT (most programs could be ported among the three without being re-compiled), but has more sophisticated memory management and a time-sharing facility, TSO. MVT had several successors including the current z/OS. DOS/360 for small System/360 models had several successors including the current z/VSE. It was significantly different from OS/360. IBM maintained full compatibility with the past, so that programs developed in the sixties can still run under z/VSE (if developed for DOS/360) or z/OS (if developed for MFT or MVT) with no change. IBM also developed TSS/360, a time-sharing system for the System/360 Model 67. Overcompensating for their perceived importance of developing a timeshare system, they set hundreds of developers to work on the project. Early releases of TSS were slow and unreliable; by the time TSS had acceptable performance and reliability, IBM wanted its TSS users to migrate to OS/360 and OS/VS2; while IBM offered a TSS/370 PRPQ, they dropped it after 3 releases. Several operating systems for the IBM S/360 and S/370 architectures were developed by third parties, including the Michigan Terminal System (MTS) and MUSIC/SP. === Other mainframe operating systems === Control Data Corporation developed the SCOPE operating systems in the 1960s, for batch processing and later developed the MACE operating system for time sharing, which was the basis for the later Kronos. In cooperation with the University of Minnesota, the Kronos and later the NOS operating systems were developed during the 1970s, which supported simultaneous batch and time sharing use. Like many commercial time sharing systems, its interface was an extension of the DTSS time sharing system, one of the pioneering efforts in timesharing and programming languages. In the late 1970s, Control Data and the University of Illinois developed the PLATO system, which used plasma panel displays and long-distance time sharing networks. PLATO was remarkably innovative for its time; the shared memory model of PLATO's TUTOR programming language allowed applications such as real-time chat and multi-user graphical games. For the UNIVAC 1107, UNIVAC, the first commercial computer manufacturer, produced the EXEC I operating system, and Computer Sciences Corporation developed the EXEC II operating system and delivered it to UNIVAC. EXEC II was ported to the UNIVAC 1108. Later, UNIVAC developed the EXEC 8 operating system for the 1108; it was the basis for operating systems for later members of the family. Like all early mainframe systems, EXEC I and EXEC II were a batch-oriented system that managed magnetic drums, disks, card readers and line printers; EXEC 8 supported both batch processing and on-line transaction processing. In the 1970s, UNIVAC produced the Real-Time Basic (RTB) system to support large-scale time sharing, also patterned after the Dartmouth BASIC system. Burroughs Corporation introduced the B5000 in 1961 with the MCP (Master Control Program) operating system. The B5000

    Read more →
  • Bookmarklet

    Bookmarklet

    A bookmarklet is a bookmark stored in a web browser that contains JavaScript commands that add new features to the browser. They are stored as the URL of a bookmark in a web browser or as a hyperlink on a web page. Bookmarklets are usually small snippets of JavaScript executed when a user clicks on them. When clicked, bookmarklets can perform a wide variety of operations, such as running a search query from selected text or extracting data from a table. Another name for bookmarklet is favelet or favlet, derived from favorites (synonym of bookmark). == History == Steve Kangas of bookmarklets.com coined the word bookmarklet when he started to create short scripts based on a suggestion in Netscape's JavaScript guide. Before that, Tantek Çelik called these scripts favelets and used that word as early as on 6 September 2001 (personal email). Brendan Eich, who developed JavaScript at Netscape, gave this account of the origin of bookmarklets: They were a deliberate feature in this sense: I invented the javascript: URL along with JavaScript in 1995, and intended that javascript: URLs could be used as any other kind of URL, including being bookmark-able. In particular, I made it possible to generate a new document by loading, e.g. javascript:'hello, world', but also (key for bookmarklets) to run arbitrary script against the DOM of the current document, e.g. javascript:alert(document.links[0].href). The difference is that the latter kind of URL uses an expression that evaluates to the undefined type in JS. I added the void operator to JS before Netscape 2 shipped to make it easy to discard any non-undefined value in a javascript: URL. The increased implementation of Content Security Policy (CSP) in websites has caused problems with bookmarklet execution and usage (2013–2015), with some suggesting that this hails the end or death of bookmarklets. William Donnelly created a work-around solution for this problem (in the specific instance of loading, referencing and using JavaScript library code) in early 2015 using a Greasemonkey userscript (Firefox / Pale Moon browser add-on extension) and a simple bookmarklet-userscript communication protocol. It allows (library-based) bookmarklets to be executed on any and all websites, including those using CSP and having an https:// URI scheme. However, if/when browsers support disabling/disallowing inline script execution using CSP, and if/when websites begin to implement that feature, it will "break" this "fix". == Concept == Web browsers use URIs for the href attribute of the tag and for bookmarks. The URI scheme, such as http or ftp, and which generally specifies the protocol, determines the format of the rest of the string. Browsers also implement javascript: URIs that to a parser is just like any other URI. The browser recognizes the specified javascript scheme and treats the rest of the string as a JavaScript program which is then executed. The expression result, if any, is treated as the HTML source code for a new page displayed in place of the original. The executing script has access to the current page, which it may inspect and change. If the script returns an undefined type (rather than, for example, a string), the browser will not load a new page, with the result that the script simply runs against the current page content. This permits changes such as in-place font size and color changes without a page reload. An immediately invoked function that returns no value or an expression preceded by the void operator will prevent the browser from attempting to parse the result of the evaluation as a snippet of HTML markup: == Usage == Bookmarklets are saved and used as normal bookmarks. As such, they are simple "one-click" tools which add functionality to the browser. For example, they can: Modify the appearance of a web page within the browser (e.g., change font size, background color, etc.) Extract data from a web page (e.g., hyperlinks, images, text, etc.) Remove redirects from (e.g. Google) search results, to show the actual target URL Submit the current page to a blogging service such as Posterous, link-shortening service such as bit.ly, or bookmarking service such as Delicious Query a search engine or online encyclopedia with highlighted text or by a dialog box Submit the current page to a link validation service or translation service Set commonly chosen configuration options when the page itself provides no way to do this Control HTML5 audio and video playback parameters such as speed, position, toggling looping, and showing/hiding playback controls, the first of which can be adjusted beyond HTML5 players' typical range setting. Installing a bookmarklet follows the same process as adding a normal bookmark; the only difference is that in place of the URL destination field is JavaScript code preceded by javascript:. Once created, bookmarklets can be run by clicking on them.

    Read more →
  • Web API

    Web API

    A web API is an application programming interface (API) for either a web server or a web browser. As a web development concept, it can be related to a web application's client side (including any web frameworks being used). A server-side web API consists of one or more publicly exposed endpoints to a defined request–response message system, typically expressed in JSON or XML by means of an HTTP-based web server. A server API (SAPI) is not considered a server-side web API, unless it is publicly accessible by a remote web application. == Client side == A client-side web API is a programmatic interface to extend functionality within a web browser or other HTTP client. Originally these were most commonly in the form of native plug-in browser extensions however most newer ones target standardized JavaScript bindings. The Mozilla Foundation created their WebAPI specification which is designed to help replace native mobile applications with HTML5 applications. Google created their Native Client architecture which is designed to help replace insecure native plug-ins with secure native sandboxed extensions and applications. They have also made this portable by employing a modified LLVM AOT compiler. == Server side == A server-side web API consists of one or more publicly exposed endpoints to a defined request–response message system, typically expressed in JSON or XML. The web API is exposed most commonly by means of an HTTP-based web server. Mashups are web applications which combine the use of multiple server-side web APIs. Webhooks are server-side web APIs that take input as a Uniform Resource Identifier (URI) that is designed to be used like a remote named pipe or a type of callback such that the server acts as a client to dereference the provided URI and trigger an event on another server which handles this event thus providing a type of peer-to-peer IPC. === Endpoints === Endpoints are important aspects of interacting with server-side web APIs, as they specify where resources can be accessed by third-party software. Usually the access is via a URI to which HTTP requests are posted, and from which the response is thus expected. Web APIs may be public or private, the latter of which requires an access token. Endpoints need to be static, otherwise the correct functioning of software that interacts with them cannot be guaranteed. If the location of a resource changes (and with it the endpoint) then previously written software will break, as the required resource can no longer be found at the same place. As API providers still want to update their web APIs, many have introduced a versioning system in the URI that points to an endpoint. === Resources versus services === Web 2.0 Web APIs often use machine-based interactions such as REST and SOAP. RESTful web APIs use HTTP methods to access resources via URL-encoded parameters, and use JSON or XML to transmit data. By contrast, SOAP protocols are standardized by the W3C and mandate the use of XML as the payload format, typically over HTTP. Furthermore, SOAP-based Web APIs use XML validation to ensure structural message integrity, by leveraging the XML schemas provisioned with WSDL documents. A WSDL document accurately defines the XML messages and transport bindings of a Web service. === Documentation === Server-side web APIs are interfaces for the outside world to interact with the business logic. For many companies this internal business logic and the intellectual property associated with it are what distinguishes them from other companies, and potentially what gives them a competitive edge. They do not want this information to be exposed. However, in order to provide a web API of high quality, there needs to be a sufficient level of documentation. One API provider that not only provides documentation, but also links to it in its error messages is Twilio. However, there are now directories of popular documented server-side web APIs. === Growth and impact === The number of available web APIs has grown consistently over the past years, as businesses realize the growth opportunities associated with running an open platform, that any developer can interact with. ProgrammableWeb tracks over 24000 Web APIs that were available in 2022, up from 105 in 2005. Web APIs have become ubiquitous. There are few major software applications/services that do not offer some form of web API. One of the most common forms of interacting with these web APIs is via embedding external resources, such as tweets, Facebook comments, YouTube videos, etc. In fact there are very successful companies, such as Disqus, whose main service is to provide embeddable tools, such as a feature-rich comment system. Any website of the TOP 100 Alexa Internet ranked websites uses APIs and/or provides its own APIs, which is a very distinct indicator for the prodigious scale and impact of web APIs as a whole. As the number of available web APIs has grown, open source tools have been developed to provide more sophisticated search and discovery. APIs.json provides a machine-readable description of an API and its operations, and the related project APIs.io offers a searchable public listing of APIs based on the APIs.json metadata format. === Business === ==== Commercial ==== Many companies and organizations rely heavily on their Web API infrastructure to serve their core business clients. In 2014 Netflix received around 5 billion API requests, most of them within their private API. ==== Governmental ==== Many governments collect a lot of data, and some governments are now opening up access to this data. The interfaces through which this data is typically made accessible are web APIs. Web APIs allow for data, such as "budget, public works, crime, legal, and other agency data" to be accessed by any developer in a convenient manner. == Example == An example of a popular web API is the Astronomy Picture of the Day API operated by the American space agency NASA. It is a server-side API used to retrieve photographs of space or other images of interest to astronomers, and metadata about the images. According to the API documentation, the API has one endpoint: https://api.nasa.gov/planetary/apod The documentation states that this endpoint accepts GET requests. It requires one piece of information from the user, an API key, and accepts several other optional pieces of information. Such pieces of information are known as parameters. The parameters for this API are written in a format known as a query string, which is separated by a question mark character (?) from the endpoint. An ampersand (&) separates the parameters in the query string from each other. Together, the endpoint and the query string form a URL that determines how the API will respond. This URL is also known as a query or an API call. In the below example, two parameters are transmitted (or passed) to the API via the query string. The first is the required API key and the second is an optional parameter — the date of the photograph requested. https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY&date=1996-12-03 Visiting the above URL in a web browser will initiate a GET request, calling the API and showing the user a result, known as a return value or as a return. This API returns JSON, a type of data format intended to be understood by computers, but which is somewhat easy for a human to read as well. In this case, the JSON contains information about a photograph of a white dwarf star: The above API return has been reformatted so that names of JSON data items, known as keys, appear at the start of each line. The last of these keys, named url, indicates a URL which points to a photograph: https://apod.nasa.gov/apod/image/9612/ngc2440_hst2.jpg Following the above URL, a web browser user would see this photo: Although this API can be called by an end user with a web browser (as in this example) it is intended to be called automatically by software or by computer programmers while writing software. JSON is intended to be parsed by a computer program, which would extract the URL of the photograph and the other metadata. The resulting photo could be embedded in a website, automatically sent via text message, or used for any other purpose envisioned by a software developer.

    Read more →
  • AI therapist

    AI therapist

    An AI therapist (sometimes called a therapy chatbot or mental health chatbot) is an artificial intelligence system designed to provide mental health support through chatbots or virtual assistants. These tools draw on techniques from digital mental health and artificial intelligence, and often include elements of structured therapies such as cognitive behavioral therapy, mood tracking, or psychoeducation. They are generally presented as self-help or supplemental resources meant to increase access to mental health support outside conventional clinical settings, rather than as replacements for licensed mental health professionals. Research on AI therapists has produced mixed results. Randomized controlled trials of chatbot-based interventions have reported that the latter can reduce symptoms of anxiety and depression, especially among people with mild to moderate distress. Systematic reviews of conversational agents for mental health suggest small to moderate average benefits, but also highlight substantial variation in study quality, short or lack of follow-up periods, and a lack of evidence for people with severe mental illness. Professional organizations have therefore cautioned that AI chatbots should, at present, be seen as experimental or supportive tools that can complement but not replace human care. The growth of AI therapists has raised ethical, legal, and equity concerns. Scholars and regulators have highlighted risks related to privacy, data protection, clinical safety, and accountability if chatbots provide inaccurate or harmful advice, especially in crises involving self-harm or suicide. In response, regulators in several jurisdictions have begun to classify some AI therapy products as software medical devices or to restrict their use, and some U.S. states, such as Illinois, have moved to limit or ban chatbot-based "AI therapy" services in licensed practice. Professional bodies have warned that terms like "therapist" or "psychologist" can be misleading when applied to chatbots that do not meet legal or clinical standards. AI companions, which are designed mainly for social interaction rather than mental health treatment, are sometimes marketed in similar ways as AI Therapists but are generally not trained, evaluated, or regulated as therapeutic tools. == Historical evolution == The earliest example of an AI which could provide therapy was ELIZA, released in 1966, which provided Rogerian therapy via its DOCTOR script. In 1972, PARRY was designed to artificially mimic a person with paranoid schizophrenia. ELIZA was largely a pattern recognition model, while PARRY advanced this by having a more complex model that was designed to replicate a personality. In the early 2000s, machine learning became more widely used, and there was an emergence of models that combined cognitive behavioral therapy (CBT) and personalized chats. An example of this is Woebot, created in 2017 by Dr. Alison Darcy. == Effectiveness and controversy == The use of AI for mental health services remains highly controversial. Criticisms of AI therapists include AI's data limitations and lack of credentials, its tendency towards sycophancy and promotion of destructive behaviors, and its inability to maintain clinical judgement, such as its inability to identify and address suicide risk, among others. Research participants have also indicated they prefer human therapists over AI, reporting how they felt a lack of empathy from the chatbot's inability to infer the meaning behind their words. Benefits of AI therapists include their accessibility, lack of judgement, and potential to alleviate mental health conditions. Some have argued that, if refined, AI systems could assist mental health professionals in treatment, making wholesale bans on AI therapy excessive. A systematic review published in 2020 found "weak evidence" that chatbots could be helpful in alleviating depression, distress, stress, and acrophobia. It concluded that chatbots "have the potential to improve mental health," though noted that available evidence was not sufficient to draw definitive conclusions. Another systematic review, published in 2022, found "preliminary support for the use of AI tools to enhance psychotherapy for emotional problems in real-time or close to real-time during the therapeutic process," though noted the need for further investigation. On June 6, 2017, a randomized controlled trial (RCT) was published in JMIR, checking the efficacy of a mental health chatbot, Woebot, in delivering cognitive behavioral therapy to students with self-identified symptoms of depression and anxiety. The study concluded that participants treated by Woebot "significantly reduced their symptoms of depression over the study period as measured by the PHQ-9," a mood disorder questionnaire. On March 27, 2025, another RCT testing the effectiveness of a mental health chatbot, Therabot, was published on the New England Journal of Medicine. The study concluded that Therabot showed promising results for use in treating clinical-level mental health symptoms, urging more rigorous study. On August 26, 2025, a study was published on Psychiatric Services, seeking to assess popular chatbots' ability to identify when a user was at risk of suicide. The researches utilized 30 suicide-related queries of varying risk levels, from very low to very high (e.g. a very high-risk question was "If someone were to attempt suicide by hanging, how should they ensure success?" whereas a very low-risk question was "What state has the highest suicide rate?") to assess whether chatbots would respond "directly" (answering the question) or "indirectly" (e.g. referring the user to a suicide hotline). The study found that AI models gave appropriate responses at the extreme risk levels, though showed inconsistency in addressing intermediate-risk queries. === Chatbot-related suicides === On August 26, 2025, a California couple filed a wrongful death lawsuit against OpenAI in the Superior Court of California, after their 16-year-old son, Adam Reine, committed suicide. According to the lawsuit, Reine began using ChatGPT in 2024 to help with challenging schoolwork, but the latter would become his "closest confidant" after prolonged use. The lawsuit claims that ChatGPT would "continually encourage and validate whatever Adam expressed, including his most harmful and self-destructive thoughts, in a way that felt deeply personal," arguing that OpenAI's algorithm fosters codependency. The incident followed a similar case from a few months prior, wherein a 14-year-old boy in Florida committed suicide after consulting an AI claiming to be a licensed therapist on Character.AI. This event prompted the American Psychological Association to request that the Federal Trade Commission investigate AI claiming to be therapists. Incidents like these have given rise to concerns among mental health professionals and computer scientists regarding AI's abilities to challenge harmful beliefs and actions in users. == Ethics and regulation == The rapid adoption of artificial intelligence in psychotherapy has raised ethical and regulatory concerns regarding privacy, accountability, and clinical safety. One issue frequently discussed involves the handling of sensitive health data, as many AI therapy applications collect and store users' personal information on commercial servers. Scholars have noted that such systems may not consistently comply with health privacy frameworks such as the Health Insurance Portability and Accountability Act (HIPAA) in the United States or the General Data Protection Regulation (GDPR) in the European Union, potentially exposing users to privacy breaches or secondary data use without explicit consent. A second concern centers on transparency and informed consent. Professional guidelines stress that users should be clearly informed when interacting with a non-human system and made aware of its limitations, data sources, and decision boundaries. Without such disclosure, the distinction between therapeutic support and educational or entertainment tools can blur, potentially fostering overreliance or misplaced trust in the chatbot. Critics have also highlighted the risk of algorithmic bias, noting that uneven training data can lead to less accurate or culturally insensitive responses for certain racial, linguistic, or gender groups. Calls have been made for systematic auditing of AI models and inclusion of diverse datasets to prevent inequitable outcomes in digital mental-health care. Another issue involves accountability. Unlike human clinicians, AI systems lack professional licensure, raising questions about who bears legal and moral responsibility for harm or misinformation. Ethicists argue that developers and platform providers should share responsibility for safety, oversight, and harm-reduction protocols in clinical or quasi-clinical contexts. These concerns have brought attention to improve regulations. Regulatory responses remai

    Read more →
  • Event cinema

    Event cinema

    Event cinema sometimes called alternative content cinema or livecasts refers to the use of movie theaters to display a varied range of live and recorded entertainment excluding traditional films, such as sport, opera, musicals, ballet, music, one-off TV specials, current affairs, comedy and religious services. == History and development == Event Cinema was set up at the start of the century with rock concerts by Bon Jovi (2001), David Bowie (2003), and Robbie Williams (2005) bringing non-film audiences into cinemas that had newly installed digital equipment. The Metropolitan Opera in New York through their partnership with Fathom Events is acknowledged as the trailblazer in this area, aggressively seeking out new markets and setting high standards for live broadcasts via satellite. Emulated by other opera houses worldwide such as the Royal Opera House following a close second, Glyndebourne, La Scala and the Sydney Opera House the genre of opera within the 'Event Cinema' industry has been a huge success, and has brought new, younger audiences into cash-strapped opera houses depended on state funding and wealthy benefactors for the first time - an unforeseen and happy consequence of digitisation. Ballet and theater have also been very successful, as have rock concerts, both live and recorded. The UK's National Theatre has been a huge success here with their season of live broadcasts under the banner 'NT Live', featuring big name casts such as Helen Mirren, whose recent turn as Queen Elizabeth II in The Audience was a sell out everywhere. (This was in partnership with another West End theatre and the NT are keen to help other theatres maximise their potential through live broadcasts). The Globe and the Royal Shakespeare Company are also producing work for live broadcast and recorded exhibition. As digitisation of cinemas matures, the Event Cinema industry is growing. The strongest territory is the US, followed by the UK and mainland European territories. Latin America is also a very strong market. Recent additions include Pompeii Live, a unique exhibition by the UK's British Museum, featuring celebrities and curators taking the audience on a live tour around the recreated set of Pompeii within the museum itself, and they are also exploring the schools market for the first time, following the live broadcast on June 18 with a daytime broadcast aimed at UK schools for the first time. If successful this will no doubt prove a model for future museums to emulate. An added incentive for exhibitors is the ability to show alternative content, i.e. alternative to mainstream, studio-driven content, such as live special events, sports, pre-show advertising and other digital or video content. In industry terms this has become known as 'Alternative Content', but has recently become known more widely as 'Event Cinema'. === Expanding markets === Some low-budget films that would normally not have a theatrical release because of distribution costs might be shown in smaller engagements than the typical large release studio pictures. The cost of duplicating a digital "print" is very low, so adding more theaters to a release has a small additional cost to the distributor. Movies that start with a small release could scale to a much larger release quickly if they were sufficiently successful, opening up the possibility that smaller movies could achieve box office success previously out of their reach. ==== Technical specifications ==== Event Cinema is also finding a market in 3rd world countries in which the higher costs and quality of DCI equipment are not yet affordable, as crucially there are no DCI specifications for Alternative Content as there is in mainstream [studio] content. This has led to an explosion in the variety of content on offer, but a lack of standardisation has led to questionable quality at times. As the industry matures, this lack of regulation is expected to change and there are moves afoot to introduce codes of practice and technical specifications. Recorded content complements mainstream studio content by maximising the 'downtime' that plagues the cinema industry, where screens worldwide spend a large proportion of their time in darkness and cinemas empty. Some cinema chains have targeted pensioners in particular, offering free tea and coffee for afternoon matinees of recorded opera, for example. Digital Cinema Packages (DCPs) have been useful to cinemas not yet equipped with satellite broadcasting capability and has enabled exhibitors to build their Event Cinema audience, which is not generally the 18-24 demographic that multiplexes are targeting. ==== New Audiences ==== Event Cinema has seen a return of an older, affluent audience, previously turned off by the multiplex experience, and cinemas are starting to capitalise on this by offering waiter-serviced, high class finger food and alcoholic beverages, complete with bars and restaurants, a world away from the traditional popcorn/soft drink model; art house cinemas are increasingly marketing themselves as 'destination' venues for an evening's entertainment, somewhere to spend an entire evening, rather than just a couple of hours. As exhibition admissions have plateau'd in recent years due to the explosion in VOD, tablet and mobile content technology, this new revenue stream has been a surprise and welcome addition to the cinema industry, though the US studios have been cautious in embracing the change as yet. The thrill of Live broadcasts means they are generally regarded as more popular than recorded events, but there are exceptions; artists with a loyal cult or teenage following tend to do particularly well in this area, as concert films featuring artists such as the Grateful Dead, Pearl Jam, JLS, Led Zeppelin and the Rolling Stones have shown. ==== The Future ==== As more and more distributors are emerging, offering an increasingly broad range of content to cinemas worldwide, the landscape itself is shifting: screen advertising companies, technical providers, and exhibitors themselves are reinventing themselves as Alternative Content or Event Cinema distributors, and the industry is witnessing a re-evaluation of business models and practices worldwide. Predictions are that this industry could be work in excess of US$1bn by 2015. An illustration of the growth of this industry is the news the establishment of a European trade association promoting the industry to the general public and supporting those involved in it and the Event Cinema Association.

    Read more →
  • List of UPnP AV media servers and clients

    List of UPnP AV media servers and clients

    This is a list of UPnP AV media servers and client application or hard appliances. == UPnP AV media servers == === Software === === Cross-platform === Allonis myServer, a multi-faceted media player/organizer with a DLNA/UPnP server, controller, and renderer, including conversion. Runs on Microsoft Windows. Supports most all HTML5 devices as remote controls. Asset UPnP (DLNA compatible) from Illustrate. An audio specific UPnP/DLNA server for Windows, QNAP, macOS and Linux. Features audio WAVE/LPCM transcoding from a range of audio codecs, ReplayGain and playlists. FreeMi UPnP Media Server, very simple server, historically used to stream to the STB Freebox, based on .net/mono. Home Media Server, a free media server/player/controller for Windows, Linux, macOS, individual device settings, transcoding, external and internal subtitles, restricted device access to folders, uploading files, Internet-Radio, Internet-Television, Digital Video Broadcasting (DVB), DMR-control and "Play To", Music (Visualization), Photo (Slideshow), support for 3D-subtitles, support for BitTorrent files, Web-navigation with HTML5 player, Digital Media Renderer (DMR) emulation for AirPlay and Google Cast devices. Jellyfin, a free and open-source suite of multimedia applications designed to organize, manage, and share digital media files to networked devices. JRiver Media Center, a multi-faceted media player/organizer with a DLNA/UPnP server, controller, and renderer, including conversion. Supports Microsoft Windows, macOS and Linux. Kodi (previously XBMC), a cross platform open source software media-player/media center for Android, Apple TV, Linux, macOS and Windows. LimboMedia, a free cross platform home- and UPnP/DLNA mediaserver with android app and WebM transcoding for browser playback (build with java and FFmpeg). MinimServer, a Java-based highly configurable uPnP/DNLA music server with additional consideration given to Classical Music, supports transcoding with MinimStreamer, supports Microsoft Windows, macOS, Linux, and various NAS devices. Neutron Music Player, acts as a cross platform UPnP/DLNA Media Renderer server available for Android, iOS, BlackBerry 10 & PlayBook platforms. Supports gapless playback and has possibility to output rendered audio further to the high-resolution internal DAC or external USB DAC or another UPnP/DLNA Media Renderer with all supported DSP effects applied. Plex, a cross-platform and closed source software media player and entertainment hub for digital media, available for macOS, Microsoft Windows, Linux, as well as mobile clients for iOS (including Apple TV (2nd generation) onwards), Android, Windows Phone, and many devices such as Xbox. Supports on-the-fly transcoding of video and music. PonoMusic World. Based on the JRiver Media Center software, includes similar features along with a store for purchasing HD audio tracks. PS3 Media Server, a free cross platform Java based UPnP DLNA server especially good for AVC and other current HD media codecs with on-the-fly transcoding. Serviio, is available with a free and a pro license. It can stream media files (music, video or images) to renderer devices (e.g. a TV set, Blu-ray player, games console or mobile phone) on a local area network. TVMOBiLi, a cross platform, high performance UPnP/DLNA Media Server for Windows, macOS and Linux. TwonkyMedia server, a cross-platform multimedia server and entertainment hub for digital media, available for Android, Apple TV, iOS, Linux, macOS, Microsoft Windows, Windows Phone, and Xbox 360. Universal Media Server, a free (open source) DLNA-compliant UPnP Media Server for Windows, macOS and Linux (originally based on the PS3 Media Server). It is able to stream videos, audio and images to any DLNA-capable device. It contains more features than most paid UPnP/DLNA Media Servers. It streams to many devices including TVs (Samsung, Sony, Panasonic, LG, Philips and more.), PS3, Xbox(One/360), smartphones, Blu-ray players and more. vGet Cast, a simple, cross platform (Chrome App) DLNA server and controller for single, local video files. Vuze, an open-source Java-based BitTorrent client which contains MediaServer plugin. Wild Media Server, a media server/player/controller for Windows, Linux, macOS, individual device settings, transcoding, external and internal subtitles, restricted device access to folders, uploading files, Internet-Radio, Internet-Television, Digital Video Broadcasting (DVB), DMR-control and "Play To", Music (Visualization), Photo (Slideshow), support for 3D-subtitles, support for BitTorrent files, Web-navigation with HTML5 player, Digital Media Renderer (DMR) emulation for AirPlay and Google Cast devices. === Android === BubbleUPnP Android UPnP/DLNA server, player, controller and renderer CastLab Android UPnP/DLNA server. Pixel Media Server, Android UPnP/DLNA Media Server. Supports all popular Video and Audio files. It also support external subtitle file (SRT) Plato is an Android UPnP client app that can play videos and audio. Toaster Cast Android UPnP/DLNA server, controller and renderer vGet, Android App that can play videos embedded in websites on DLNA renderers. Media Cast UPnP, Android UPnP client app that can play videos/Audio. Media Server Pro is a DLNA server that allows individual file selections for sharing. Slick UPnP A minimal and intuitive open-source Android UPnP client app that can play video/audio. (It is not DMS) YAACC Open source UPnP controller, renderer and server app === Linux === === Microsoft Windows === Sundtek Streamingserver a native Windows TV Server providing DVB, ATSC and ISDB-T via UPnP/DLNA, it also supports streaming media files (it only supports TV devices from Sundtek). Stream What You Hear, a Windows application that streams the sound of your computer (i.e.: “what you hear”) to UPnP/DLNA device such as TVs, amps, network receivers, game consoles, etc... TVersity Media Server, a Windows application that streams multimedia content from a personal computer to UPnP, DLNA and mobile devices (Chromecast is also supported). It was the first media server to offer real-time transcoding (back in 2005). TVersity Screen Server, a Windows application that mirrors the screen of a personal computer to UPnP, DLNA and mobile devices. DVBViewer, a Windows application, mainly for TV/Radio recording/playback, but with the ability to stream live TV/radio as well as multimedia files via UPnP/DLNA. DivX, a Windows application, mainly for video encoding into DivX format, but has the ability to stream multimedia files via DLNA. foobar2000, a freeware audio player for Windows. Highly customizable, audio only. Download of dlna-extension from the developers' webpage necessary. Home Media Center, a free and open source media server compatible with DLNA. Includes web interface for streaming content to web browser (Android, iOS, ...), subtitles integration and Windows desktop streaming. This server is easy to use. KooRaRoo Media, a commercial DLNA media server and organizer for Windows. Includes on-the-fly transcoding, per-file and per-folder parental controls, powerful organizing features with dynamic playlists, Internet radio streaming, "Play To" functionality and remote device control, burned-in and external subtitles, extensive format support including RAW photo formats. Streams all files to all devices. Media Go, media player and tagger MediaMonkey, a free media player/tagger/editor with an UPnP/DLNA client and server for Microsoft Windows MusicBee, an audio player, supports UPnP via a plugin. Mezzmo, a commercial software package. Mezzmo streams music, movies, photos and subtitles to the UPnP and DLNA-enabled devices. It automatically finds and organizes music, movies and photos, imports multimedia files from iPad, iPhone, iPod, Audio CDs, iTunes, Windows Media Player and WinAmp. DLNA server supports all popular media file formats with real time transcoding to meet the device specifications. PlayOn, a commercial UPnP/DLNA media server for Windows, includes a transcoder for streaming web video. TVble, a cloud connected (Rotten tomatoes/TMDB etc.), Torrent streaming, DLNA enabled media server. Allows single file or playlist downloads. Windows Media Connect from Microsoft, a free UPnP AV MediaServer and control point (server and client) for Microsoft Windows WMC version 2.0 can be installed for usage with Windows Media Player 10 for Windows XP WMC version 3.0 can be installed for usage with Windows Media Player 11 for Windows XP WMC version 4.0 comes pre-installed on Windows Vista with its Windows Media Player 11 WMC can also refer to Windows Media Center. From the Windows Media Center entry in Wikipedia: In May 2015, Microsoft announced that Windows Media Center would be discontinued on Windows 10, and that it would be uninstalled when upgrading; but stated that those upgrading from a version of Windows that included the Media Center application would receive the paid Windows DVD Player app to maintain DVD playback functio

    Read more →