Svelte

Svelte

Svelte is a free and open-source component-based front-end software framework and language created by Rich Harris and maintained by the Svelte core team. Svelte is not a monolithic JavaScript library imported by applications: instead, Svelte compiles HTML templates to specialized code that manipulates the DOM directly, which may reduce the size of transferred files and give better client performance. Application code is also processed by the compiler, inserting calls to automatically recompute data and re-render UI elements when the data they depend on is modified. This also avoids the overhead associated with runtime intermediate representations, such as virtual DOM, unlike traditional frameworks (such as React and Vue) which carry out the bulk of their work at runtime, i.e. in the browser. The compiler itself is written in JavaScript. Its source code is licensed under MIT License and hosted on GitHub. Among comparable frontend libraries, Svelte has one of the smallest bundle footprints at merely 2KB. == History == The predecessor of Svelte is Ractive.js, which Rich Harris created in 2013. Version 1 of Svelte was written in JavaScript and was released on 29 November 2016. The name Svelte was chosen by Rich Harris and his coworkers at The Guardian. Version 2 of Svelte was released on 19 April 2018. It set out to correct what the maintainers viewed as mistakes in the earlier version such as replacing double curly braces with single curly braces. Version 3 of Svelte was written in TypeScript and was released on 21 April 2019. It rethought reactivity by using the compiler to instrument assignments behind the scenes. The SvelteKit web framework was announced in October 2020 and entered beta in March 2021. SvelteKit 1.0 was released in December 2022 after two years in development. Version 4 of Svelte was released on 22 June 2023. It was a maintenance release, smaller and faster than version 3. A part of this release was an internal rewrite from TypeScript back to JavaScript, with JSDoc type annotations. This was met with confusion from the developer community, which was addressed by the creator of Svelte, Rich Harris. Version 5 of Svelte was released on October 19, 2024 at Svelte Summit Fall 2024 with Rich Harris cutting the release live while joined by other Svelte maintainers. Svelte 5 was a ground-up rewrite of Svelte, changing core concepts such as reactivity and reusability. Its primary feature, runes, reworked how reactive state is declared and used. Runes are function-like macros that are used to declare a reactive state, or code that uses reactive states. These runes are used by the compiler to indicate values that may change and are depended on by other states or the DOM. Svelte 5 also introduces Snippets, which are reusable "snippets" of code that are defined once and can be reused anywhere else in the component. Svelte 5 was initially met with controversy due to its many changes, and thus deprecations caused primarily by runes. However, most of this has subsided since the initial announcement of runes, and the further refining of Svelte 5. Also at Svelte Summit Fall 2024, Ben McCann announced the Svelte CLI under the sv package name on npm. In early 2025, the Svelte team announced Asynchronous Svelte, an experimental feature set centered around asynchronous reactivity in Svelte using await expressions. As of August 2025, the feature is available via an experimental compiler option. This coincided with the experimental release of remote functions, an RPC feature in SvelteKit, Svelte's metaframework. Key early contributors to Svelte became involved with Conduitry joining with the release of Svelte 1, Tan Li Hau joining in 2019, and Ben McCann joining in 2020. Rich Harris and Simon Holthausen joined Vercel to work on Svelte fulltime in 2022. Dominic Gannaway joined Vercel from the React core team to work on Svelte fulltime in 2023. == Syntax == Svelte applications and components are defined in .svelte files, which are HTML files extended with templating syntax that is based on JavaScript and is similar to JSX. Svelte's core features are accessed through runes, which syntactically look like functions, but are used as macros by the compiler. These runes include: The $state rune, used for declaring a reactive state value The $derived rune, used for declaring reactive state derived from one or more states The $effect rune, used for declaring code that reruns whenever its dependencies change Starting with Svelte 5, the framework introduced a significant reactivity overhaul that replaces the previous `$:` reactive declarations with new runes such as $state, $derived, and $effect. The $effect rune is now used for post-render operations without modifying state, while $derived is used for computations that depend on other reactive values. This change aims to simplify the mental model of reactivity and make component logic more explicit. Additionally, the { JavaScript code } syntax can be used for templating in HTML elements and components, similar to template literals in JavaScript. This syntax can also be used in element attributes for uses such as two-way data binding, event listeners, and CSS styling. A Todo List example made in Svelte is below: == Associated projects == The Svelte maintainers created SvelteKit as the official way to build projects with Svelte. It is a Next.js/Nuxt-style full-stack framework that dramatically reduces the amount of code that gets sent to the browser. The maintainers had previously created Sapper, which was the predecessor of SvelteKit. The Svelte maintainers also maintain a number of integrations for popular software projects under the Svelte organization including integrations for Vite, Rollup, Webpack, TypeScript, VS Code, Chrome Developer Tools, ESLint, and Prettier. A number of external projects such as Storybook have also created integrations with Svelte and SvelteKit. == Influence == Vue.js modeled its API and single-file components after Ractive.js, the predecessor of Svelte. == Adoption == Svelte is widely praised by developers. Taking the top ranking in multiple large scale developer surveys, it was chosen as the Stack Overflow 2021 most loved web framework and 2020 State of JS frontend framework with the most satisfied developers. Recent surveys continue to show Svelte's strong developer satisfaction, with the 2024 State of JS survey maintaining its position among the most praised frontend frameworks. The 2024 Stack Overflow Developer Survey reported that 73% of developers who used Svelte want to continue working with it, and noted that Stack Overflow's own team used Svelte for building their 2024 Developer Survey results site. Svelte has been adopted by a number of high-profile web companies including The New York Times, Google, Apple, Spotify, Radio France, Square, Yahoo, ByteDance, Rakuten, Bloomberg, Reuters, Ikea, Facebook, Logitech, and Brave. A community group of primarily non-maintainers, known as the Svelte Society, run the Svelte Summit conference, write a Svelte newsletter, host a Svelte podcast, and host a directory of Svelte tooling, components, and templates.

Language identification

In natural language processing, language identification or language guessing is the problem of determining which natural language a given content is in. Computational approaches to this problem view it as a special case of text categorization, solved with various statistical methods. == Overview == === Logical approach === A common non-statistical intuitive approach (though highly uncertain) is to look for common letter combinations, or distinctive diacritics or punctuation. === Statistical approach === There are several statistical approaches to language identification. An older statistical method by Grefenstette was based on the frequency of short n-grams, which are often function morphemes. For example, "ing" is more common in English than in French, while the sequence "que" is more common in French. Given a new page found on the Web, one counts the number of occurrences of each such short sequence and picks the language whose frequency table it matches the most. One technique is to compare the compressibility of the text to the compressibility of texts in a set of known languages. This approach is known as mutual information based distance measure. The same technique can also be used to empirically construct family trees of languages which closely correspond to the trees constructed using historical methods. Mutual information based distance measure is essentially equivalent to more conventional model-based methods and is not generally considered to be either novel or better than simpler techniques. Another technique, as described by Cavnar and Trenkle (1994) and Dunning (1994) is to create a language n-gram model from a "training text" for each of the languages. These models can be based on characters (Cavnar and Trenkle) or encoded bytes (Dunning); in the latter, language identification and character encoding detection are integrated. Then, for any piece of text needing to be identified, a similar model is made, and that model is compared to each stored language model. The most likely language is the one with the model that is most similar to the model from the text needing to be identified. This approach can be problematic when the input text is in a language for which there is no model. In that case, the method may return another, "most similar" language as its result. Also problematic for any approach are pieces of input text that are composed of several languages, as is common on the Web. As of 2025, a commonly used baseline method is via the fastText library, which has comparable classification accuracy as deep learning techniques, but much faster. == Identifying similar languages == One of the great bottlenecks of language identification systems is to distinguish between closely related languages. Similar languages like Bulgarian and Macedonian or Indonesian and Malay present significant lexical and structural overlap, making it challenging for systems to discriminate between them. In 2014 the DSL shared task has been organized providing a dataset (Tan et al., 2014) containing 13 different languages (and language varieties) in six language groups: Group A (Bosnian, Croatian, Serbian), Group B (Indonesian, Malaysian), Group C (Czech, Slovak), Group D (Brazilian Portuguese, European Portuguese), Group E (Peninsular Spanish, Argentine Spanish), Group F (American English, British English). The best system reached performance of over 95% results (Goutte et al., 2014). Results of the DSL shared task are described in Zampieri et al. 2014. == Software == Apache OpenNLP includes char n-gram based statistical detector and comes with a model that can distinguish 103 languages Apache Tika contains a language detector for 18 languages

CSS box model

In web development, the CSS box model refers to how HTML elements are modeled in browser engines and how the dimensions of those HTML elements are derived from CSS properties. It is a fundamental concept for the composition of HTML webpages. The guidelines of the box model are described by web standards World Wide Web Consortium (W3C) specifically the CSS Working Group. For much of the late-1990s and early 2000s there had been non-standard compliant implementations of the box model in mainstream browsers. With the advent of CSS2 in 1998, which introduced the box-sizing property, the problem had mostly been resolved. == Specifics == The Cascading Style Sheets (CSS) specification describes how elements of web pages are displayed by graphical browsers. Section 4 of the CSS1 specification defines a "formatting model" that gives block-level elements—such as p and blockquote—a width and height, and three levels of boxes surrounding it: padding, borders, and margins. While the specification never uses the term "box model" explicitly, the term has become widely used by web developers and web browser vendors. All HTML elements can be considered "boxes", this includes div tag, p tag, or a tag. Each of those boxes has five modifiable dimensions: the height and width describe dimensions of the actual content of the box (text, images, ...) the padding describes the space between this content and the border of the box the border is any kind of line (solid, dotted, dashed...) surrounding the box, if present the margin is the space around the border According to the CSS1 specification, released by W3C in 1996 and revised in 1999, when a width or height is explicitly specified for any block-level element, it should determine only the width or height of the visible element, with the padding, borders, and margins applied afterward. Before CSS3, this box model was known as W3C box model, in CSS3, it is known as the content-box. The total width of a box is therefore margin-left + border-left + padding-left + width + padding-right + border-right + margin-right. Similarly, the total height of a box equals margin-top + border-top + padding-top + height + padding-bottom + border-bottom + margin-bottom. For example, the following CSS code would specify the box dimensions of each block belonging to 'my-class'. Moreover, each such box will have total height 140px and width 240px. CSS3 introduced the Internet Explorer box model to the standard, known referred to as border-box. == History == Before HTML 4 and CSS, very few HTML elements supported both border and padding, so the definition of the width and height of an element was not very contentious. However, it varied depending on the element. The HTML width attribute of a table defined the width of the table including its border. On the other hand, the HTML width attribute of an image defined the width of the image itself (inside any border). The only element to support padding in those early days was the table cell. Width for the cell was defined as "the suggested width for a cell content in pixels excluding the cell padding." In 1996, CSS introduced margin, border and padding for many more elements. It adopted a definition width in relation to content, border, margin and padding similar to that for a table cell. This has since become known as the W3C box model. At the time, very few browser vendors implemented the W3C box model to the letter. The two major browsers at the time, Netscape 4.0 and Internet Explorer 4.0 both defined width and height as the distance from border to border. This has been referred to as the traditional or the Internet Explorer box model. Internet Explorer in "quirks mode" includes the content, padding and borders within a specified width or height; this results in a narrower or shorter rendering of a box than would result following the standard behavior. The Internet Explorer box model behavior was often considered a bug, because of the way in which earlier versions of Internet Explorer handle the box model or sizing of elements in a web page, which differs from the standard way recommended by the W3C for the Cascading Style Sheets language. As of Internet Explorer 6, the browser supports an alternative rendering mode (called the "standards-compliant mode") which solves this discrepancy. However, for backward compatibility reasons, all versions still behave in the usual, non-standard way by default (see quirks mode). Internet Explorer for Mac is not affected by this non-standard behavior. === Workarounds === Internet Explorer versions 6 and onward are not affected by the bug if the page contains certain HTML document type declarations. These versions maintain the buggy behavior when in quirks mode for reasons of backward compatibility. For example, quirks mode is triggered: When the document type declaration is absent or incomplete; When an HTML 3 or earlier document is encountered; When an HTML 4.0 Transitional or Frameset document type declaration is used and a system identifier (URI) is not present; When an SGML comment or other unrecognized content appears before the document type declaration Internet Explorer 6 also uses quirks mode if there is an XML declaration prior to the document type declaration. Various workarounds have been devised to force Internet Explorer versions 5 and earlier to display Web pages using the W3C box model. These workarounds generally exploit unrelated bugs in Internet Explorer's CSS selector processing in order to hide certain rules from the browser. The best known of these workarounds is the "box model hack" developed by Tantek Çelik, a former Microsoft employee who developed this idea while working on Internet Explorer for the Macintosh. It involves specifying a width declaration for Internet Explorer for Windows, and then overriding it with another width declaration for CSS-compliant browsers. This second declaration is hidden from Internet Explorer for Windows by exploiting other bugs in the way that it parses CSS rules. The implementation of these CSS “hacks” has been further complicated by the public release of Internet Explorer 7, which has had some issues fixed, but not others, causing undesired results in pages using these hacks. Box model hacks have proven unreliable because they rely on bugs in browsers' CSS support that may be fixed in later versions. For this reason, some Web developers have instead recommended either avoiding specifying both width and padding for the same element or using conditional comment and/or CSS filters to work around the box model bug in older versions of Internet Explorer. == Support for Internet Explorer's box model == Web designer Doug Bowman has said that the original Internet Explorer box model represents a better, more logical approach. Peter-Paul Koch gives the example of a physical box, whose dimensions always refer to the box itself, including potential padding, but never its content. He says that this box model is more useful for graphic designers, who create designs based on the visible width of boxes rather than the width of their content. Bernie Zimmermann says that the Internet Explorer box model is closer to the definition of cell dimensions and padding used in the HTML table model. The W3C has included a "box-sizing" property in CSS3. When box-sizing: border-box; is specified for an element, any padding or border of the element is drawn inside the specified width and height, "as commonly implemented by legacy HTML user agents". Internet Explorer 8, WebKit browsers such as Apple Safari 5.1+ and Google Chrome, Gecko-based browsers such as Mozilla Firefox 29.0 and later, Opera 7.0 and later, and Konqueror 3.3.2 and later support the CSS3 box-sizing property. Gecko browsers previous than 29.0 support the same functionality using the browser-specific -moz-box-sizing property. border-box is the default box model used in Bootstrap framework.

Commercial skipping

Commercial skipping is a feature of some digital video recorders that makes it possible to automatically skip commercials in recorded programs. This feature created controversy, with major television networks and movie studios claiming it violates copyright and should be banned. == History == After the video cassette recorder (VCR) became popular in the 1980s, the television industry began studying the impact of users fast forwarding through commercials. Advertising agencies fought the trend by making them more entertaining. For many years, video recorders manufactured for the Japanese market have been able to skip advertisements automatically, which is done by detecting when foreign language audio overdub tracks provided for many programmes go silent, as advertisements were broadcast with a single language only. The first digital video recorder (DVR) with a built-in commercial skipping feature was ReplayTV with its "4000 Series" and "5000 Series" units. In 2002, the main television networks and movie studios sued ReplayTV, claiming that skipping advertisements during replay violates copyright. Later, five owners of ReplayTV represented by Electronic Frontier Foundation and attorneys Ira Rothken and Richard Wiebe countersued, asking the federal judge to uphold consumers' rights to record TV shows and skip commercials, claiming that features like commercial skipping help parents protect their kids from excessive consumerism. ReplayTV ended up filing for bankruptcy in 2003 after fighting a copyright infringement suit over the ReplayTV's ability to skip commercials. === Commercial skipping software === In addition to the DVR devices which existed in the private market since the late 1990s, towards the mid-2000s, due to the significant advances in home computers, Home theater PCs started gaining popularity in the private market and many users began using their Home theater PCs in their living room for entertainment purposes. Following this, many DVR programs were developed, including popular programs such as Windows Media Center, which contained all of the features of the DVR devices in addition to advanced features such as HDTV and the use of Multiple TV Tuner Cards. Some independent developers began developing independent software capable of skipping the commercial segments when playing recorded videos, and permanently removing the commercial segments from recorded video files. By 2014, many DVR programs such as Windows Media Center, SageTV and MythTV had the capability to skip commercials segments in recorded TV broadcasts after installing third-party add-ons such as DVRMSToolbox, Comskip and ShowAnalyzer, which use various advanced techniques to locate the commercial segments in the video files and save their locations to text files. The text files can also be fed into programs such as MEncoder or DVRMSToolboxGUI which can delete the commercial segments from the recorded video files. A few third-party tools such as MCEBuddy automate detection and removal/marking of commercials. One of the weaknesses of commercial skippers is that, operating automatically, they may misidentify program material as a commercial. Some programs like MCEBuddy provide the ability to fine-tune commercial detection for groups of files (e.g. by channel or country) and provide tools to manually fine-tune commercial segments for individual files. In May 2012, the US Dish Network began offering a DVR with what it calls AutoHop. The device would automatically skip commercials when displaying programming that the viewer had previously recorded with the PrimeTime Anytime feature. It does not skip ads on any live programs. US broadcasters were angered at the news, and FOX embarked on legal action. Most, but not all, of Fox's claims were dismissed; ultimately an agreement was reached whereby AutoHop would only become available for Fox stations seven days after a program is transmitted; terms of the settlement were not disclosed. == The future of TV advertisements == The introduction of digital video recorders and services with skipping and fast-forward capabilities enables viewers to avoid viewing interruptive advertisements in recorded programs, either manually or automatically. While advertising separate to television shows can be skipped, advertising in TV shows themselves ("product placement") cannot be skipped. Streaming services such as Hulu show shorter advertisements with a countdown timer and tailored to the viewers interests, asking interactive questions like "Is this ad relevant to you?".

Battleboarding

Battleboarding, also known as versus debating and "who would win" debating, is an activity that involves discussing and debating around hypothetical fights between individuals; most popularly, fictional characters. These debates are often held in forums, blogs, sites and wikis, known as versus sites or battle boards. Netizens who engage in battleboarding online are often called "battleboarders". The earliest iterations of battleboarding first appeared in various online boards and forums, though its origins can be traced back to magazines, television shows, and comic book letter columns. Eventually, the online activity grew, becoming one of the most popular internet activities today, and spawning many online communities dedicated solely for battleboarding. It soon evolved into its own subculture, and even went on to inspire other media. == History == === Origins === Before the advent of the internet, articles about hypothetical fights were published in magazines. These articles range from topics like sports, comics and anime, such as Black Belt Magazine issue May 1997 which discussed about a hypothetical match between Muhammad Ali and Bruce Lee, and Wizard Magazine #133 which discussed about various hypothetical fights between American comic characters against Japanese anime characters. During that time, many comic book publishers also conceptualized and published "versus" storylines like Batman Versus Predator and Justice League/Avengers. Many films also capitalized on the concept of characters from different franchises fighting each other, such as Frankenstein Meets the Wolf Man (1934), King Kong vs. Godzilla (1962), Freddy vs Jason (2003), and Alien vs. Predator (2004). Another inspiration behind battleboarding were television shows and documentaries whose premise involved hypothetical fights concerning a variety of subjects like zoology, paleontology, and military history. These include shows such as Animal Face-Off (which pitted animals against each other), Deadliest Warrior (which pitted historical warriors, oftentimes from different time periods, against each other), and Jurassic Fight Club (which was about analyzing cases where different types of dinosaurs fought one another). Death Battle, a web series about pitting characters against each other that began in 2010, is a similar show that soon inspired many battleboarding communities and fandoms. Death Battle, as with many other battleboarding series and websites before it, utilised "calcs", which are mathematical equations that try to calculate how strong a character or weapon is. Other popular web series about the subject include Super Power Beat Down and Grudge Match. === Forums and sites === Many internet forums about movies, comics, anime, and video games often held discussions about hypothetical fights between characters from these media. These discussions would be the first iteration of online battleboarding. A notable early battleboarding website was stardestroyer.net (founded 1998), created by Michael Wong. The website focuses in large part on match-ups between the Star Wars and Star Trek franchises, and also includes a forum covering this as well as other more general battleboarding topics, usually related to science fiction and space opera. In addition to the forums, several webpages written by the administrators and contributors were embedded on the site. These attempted to mathematically quantify the capabilities of Star Wars technology and prove their superiority to their Star Trek equivalents, such as Wong's "Star Wars vs Star Trek: Technology Overview" and Brian Young's "Turbolaser Commentaries." stardestroyer.net had a notable impact on early battleboarding culture and also influenced official products. Curtis Saxton, author of several officially-licensed Star Wars technical reference books, thanked Wong, Young, and several other stardestroyer.net contributors by name in the acknowledgements section of Star Wars: Attack of the Clones Incredible Cross-Sections (2002), referring to them as "prominent among the hundreds of people contributing to constructive debates about Star Wars technicalities over the years, resulting in the consensus of conceptual and physical foundations applied in these pages." Saxton's books in the Incredible Cross-Sections series contain specific numbers about the capabilities of Star Wars ships original to these publications and not used in any other official sources. In an interview conducted by TheForce.Net, Saxton claimed to have been offered the job of writing reference books by a DK employee familiar with his "Star Wars Technical Commentaries" webpage (1995–2001), where Saxton attempted to calculate the firepower, speed, and durability of Star Wars spaceships using his background as an astrophysics student. One of the oldest and longest-running battleboarding forum is Comic Vine's "battle forum", whose first post was in 2007. Comic Vine also has one of the largest impacts on battleboarding, creating many common rules and terminologies such as "bloodlusted", "morals are off", "speed equalized", and many others. Another long-running battle forum is a subreddit called r/whowouldwin, where redditors can post and debate fights about real or fictional individuals. Verdicts of these match-ups are often chosen by using evidences of a character's power, weakness, or feat, such as movie clips, comic book panel scans, and excerpts from related literature; all of which are posted and categorized in a separate subreddit called r/respectthreads. Other influential battle forums include Fanverse, where users can post their own calcs about a character's power level. The popularity of battle forums inspired the creation of websites dedicated only for battleboarding. These include The Outskirts Battle Dome, a website that popularized the use of "power levels" in battleboarding; the aforementioned stardestroyer.net; and Space Battles, a website whose forums and threads are filled with posts about hypothetical fights between characters as well as other related topics. Another influential battleboarding site is the now defunct Fact Pile, and its sister site, FactPileTopia. Fact Pile is one of the first battleboarding site that actually listed down and documented winners of their match-ups. The site closed down in 2016 along with its forum, wikia, and YouTube channel. Besides these, blogs about battleboarding were also created, such as dreager1.com. === Wikis === Nowadays, the most popular battleboarding communities can be seen in Fandom, with two of the oldest and most popular being Deadliest Fiction and VS Battles Wiki. Deadliest Fiction is a Deadliest Warrior-inspired fanon created in July 2010 by a group of historians, academics, and pop culture enthusiasts. Being one of the most influential and accurate battleboarding sites around, Deadliest Fiction allows users to create hypothetical match-ups in the form of blogs, where other users can vote and debate around who will win in the comment section. Once a verdict is reached, the site allows the user to create a simulated fanfiction of how the fight would happen. The same year in October, a similar battleboarding site named VS Battles Wiki was created. In the VS Battles Wiki, users can create profiles and power levels of characters, post match-ups in its threads and forums, and list down the winners and losers of these threads in said character profiles. The wiki is considered the most active wiki battleboarding site today, with over 1 million visitors per month. However, throughout the years, the VS Battles Wiki has had its share of controversies, such as alleged inaccuracies in its profiles. There have also been websites and fanfiction wikis inspired by the battleboarding internet show Death Battle. These include the long-running G1 Death Battle Fan Blog, r/deathbattlematchups, and the popular Death Battle Fanon Wiki and DBX Fanon Wiki. Death Battle also released its own dice and card game, complete with rules and effects taken from battleboarding. == Subculture == In its rise in popularity, battleboarding has given birth to a unique online subculture with its own rules, activities, and terminologies. Several of these influences have become present in other online communities and popular media. Some of the common slang and terminologies used in battleboarding subculture includes: Battle Field Removal: Often abbreviated to "BFR", this is a rule that a fight can end if one character is taken out of a battlefield. This rule is used for characters who have the powers to teleport or transport enemies without actually killing them. Battle Royale: A term originating from Comic Vine in which multiple characters are pitted against each other. The name is probably derived from the film Battle Royale or the video game genre of the same name. Bloodlusted: A hypothetical situation wherein the characters are pitted against each other while in a furious, berserker-like state. Calc: These are calculations battl

Automatic taxonomy construction

Automatic taxonomy construction (ATC) is the use of software programs to generate taxonomical classifications from a body of texts called a corpus. ATC is a branch of natural language processing, which in turn is a branch of artificial intelligence. A taxonomy (or taxonomical classification) is a scheme of classification, especially, a hierarchical classification, in which things are organized into groups or types. Among other things, a taxonomy can be used to organize and index knowledge (stored as documents, articles, videos, etc.), such as in the form of a library classification system, or a search engine taxonomy, so that users can more easily find the information they are searching for. Many taxonomies are hierarchies (and thus, have an intrinsic tree structure), but not all are. Manually developing and maintaining a taxonomy is a labor-intensive task requiring significant time and resources, including familiarity of or expertise in the taxonomy's domain (scope, subject, or field), which drives the costs and limits the scope of such projects. Also, domain modelers have their own points of view which inevitably, even if unintentionally, work their way into the taxonomy. ATC uses artificial intelligence techniques to quickly automatically generate a taxonomy for a domain in order to avoid these problems and remove limitations. == Approaches == There are several approaches to ATC. One approach is to use rules to detect patterns in the corpus and use those patterns to infer relations such as hyponymy. Other approaches use machine learning techniques such as Bayesian inferencing and Artificial Neural Networks. === Keyword extraction === One approach to building a taxonomy is to automatically gather the keywords from a domain using keyword extraction, then analyze the relationships between them (see Hyponymy, below), and then arrange them as a taxonomy based on those relationships. === Hyponymy and "is-a" relations === In ATC programs, one of the most important tasks is the discovery of hypernym and hyponym relations among words. One way to do that from a body of text is to search for certain phrases like "is a" and "such as". In linguistics, is-a relations are called hyponymy. Words that describe categories are called hypernyms and words that are examples of categories are hyponyms. For example, dog is a hypernym and Fido is one of its hyponyms. A word can be both a hyponym and a hypernym. So, dog is a hyponym of mammal and also a hypernym of Fido. Taxonomies are often represented as is-a hierarchies where each level is more specific than (in mathematical language "a subset of") the level above it. For example, a basic biology taxonomy would have concepts such as mammal, which is a subset of animal, and dogs and cats, which are subsets of mammal. This kind of taxonomy is called an is-a model because the specific objects are considered instances of a concept. For example, Fido is-a instance of the concept dog and Fluffy is-a cat. == Applications == ATC can be used to build taxonomies for search engines, to improve search results. ATC systems are a key component of ontology learning (also known as automatic ontology construction), and have been used to automatically generate large ontologies for domains such as insurance and finance. They have also been used to enhance existing large networks such as Wordnet to make them more complete and consistent. == ATC software == == Other names == Other names for automatic taxonomy construction include: Automated outline building Automated outline construction Automated outline creation Automated outline extraction Automated outline generation Automated outline induction Automated outline learning Automated outlining Automated taxonomy building Automated taxonomy construction Automated taxonomy creation Automated taxonomy extraction Automated taxonomy generation Automated taxonomy induction Automated taxonomy learning Automatic outline building Automatic outline construction Automatic outline creation Automatic outline extraction Automatic outline generation Automatic outline induction Automatic outline learning Automatic taxonomy building Automatic taxonomy creation Automatic taxonomy extraction Automatic taxonomy generation Automatic taxonomy induction Automatic taxonomy learning Outline automation Outline building Outline construction Outline creation Outline extraction Outline generation Outline induction Outline learning Semantic taxonomy building Semantic taxonomy construction Semantic taxonomy creation Semantic taxonomy extraction Semantic taxonomy generation Semantic taxonomy induction Semantic taxonomy learning Taxonomy automation Taxonomy building Taxonomy construction Taxonomy creation Taxonomy extraction Taxonomy generation Taxonomy induction Taxonomy learning

Hoopla (digital media service)

Hoopla Digital is a web and mobile streaming platform launched in 2013 that provides access to a wide range of digital media, including audiobooks, eBooks, comics, manga, music, movies, and TV shows. The service is available to users through participating public libraries, allowing library cardholders to borrow and stream digital media. Hoopla is a division of Midwest Tape. == History == Hoopla was launched in 2013. Its goal was for libraries to provide patrons with access to digital content such as audiobooks, music, movies, and TV shows, without the need for holds or waiting lists. Hoopla's model is a pay-per-use system, which means patrons can borrow items instantly. Since its inception, the service has expanded its offerings to include eBooks and comics. The app was built exclusively for public libraries and their patrons. Hoopla Digital is the only platform that combines all formats and all license models into one convenient app with no platform fees. In 2017, Hoopla became available on Apple TV, Amazon Fire TV, Android TV, and Roku, allowing users to stream content on larger screens. In 2020, Hoopla Flex and Bonus Borrows programs are introduced, enabling libraries to move their one copy/one user titles. At that time, there were 6.5 million library card holders and 2,700+ library partners. In 2021, the BingePass was introduced, offering patrons seven days to access entire collections with just one borrow. In 2022, Apple CarPlay and Android Auto become available, giving users safe and easy access while driving. In 2023, manga joins Hoopla's comic collection, adding 1.5 million titles to Hoopla's offerings. In January 2025, Hoopla introduced a new streaming feature called SeasonPass. Building on the existing BingePass model, SeasonPass allows users to borrow an entire season of a television series with a single borrow. == Business model == Hoopla is free-of-charge for patrons of participating libraries. The content is paid for by library systems, using a "per circulation transaction model". == Content == Hoopla claims to have over 500,000 content titles across six formats, including over 25,000 comic books. As of November 2016, Hoopla's content comprised 35% audiobooks (for which Hoopla has contracts with publishers such as Blackstone Audio, HarperCollins, Simon & Schuster Audio, Tantor Audio, and others), followed by 22% movies (for which Hoopla has motion picture contracts with publishers such as Disney, Lionsgate, Starz, Warner Bros., and others), 19% music, 12% ebooks, 6% comics, and 6% television. One drawback is that Hoopla has few new bestsellers. In February 2025, 404 Media reported that Hoopla's collection includes books created by generative AI with fictional authors and dubious quality. Often not labeled as AI-produced or fact-checked, this AI slop can cost libraries money when checked out by unsuspecting patrons. Libraries like Sacramento Public library have questioned the sustainability of Hoopla's pay-per-use model and have considered transitioning to other digital platforms. === Areas served === Hoopla expanded to serve Australia and New Zealand in June 2021. == Technology == Hoopla content can be borrowed and consumed on the web, or via the native Android or iOS apps. Hoopla broadcasts only in Standard definition unlike most of its competitors such as Kanopy. == Parent company == John Eldred and Jeff Jankowski founded Hoopla's parent company, Midwest Tape, in 1989. Midwest Tape is a library vendor of physical media such as audiobooks, CDs, and DVD/Blu-ray. == Controversy == Hoopla and Midwest Tapes were censured by the Library Freedom Project and Library Futures in a joint statement for hosting what it described as "fascist propaganda", including a recent English translation of A New Nobility of Blood and Soil by Richard Walther Darré of the SS and books related to Holocaust denial, in public library collections without the input from the staff. Criticism was also directed at the inclusion of books on homosexuality, abortion, and vaccines claimed by the Library Freedom Project and Library Futures to be misinformation. On February 17, 2022, Hoopla removed a number of titles after public outcry about Holocaust denial books available on the app under non-fiction. The advocacy groups expressed appreciation for the response, however state that it is "insufficient," as they maintain concerns about the company's practices in selecting materials and lack of transparency.