Julia is a dynamic general-purpose programming language. As a high-level language, distinctive aspects of Julia's design include a type system with parametric polymorphism, the use of multiple dispatch as a core programming paradigm, just-in-time compilation and a parallel garbage collection implementation. Notably, Julia does not support classes with encapsulated methods but instead relies on the types of all of a function's arguments to determine which method will be called. By default, Julia is run similarly to scripting languages, using its runtime, and allows for interactions, but Julia programs can also be compiled to small binary standalone executables (or to small libraries for e.g. Python), with e.g. the JuliaC.jl compiler. Julia programs can reuse libraries from other languages, and vice versa. Julia has interoperability with C, C++, Fortran, Rust, Python, and R. Additionally, some Julia packages have bindings to be used from Python and R as libraries. Julia is supported by programmer tools like IDEs (see below) and by notebooks like Pluto.jl, Jupyter, and since 2025, Google Colab officially supports Julia natively. Julia is sometimes used in embedded systems (e.g. has been used in a satellite in space on a Raspberry Pi Compute Module 4; 64-bit Pis work best with Julia, and Julia is supported in Raspbian). == History == Work on Julia began in 2009, when Jeff Bezanson, Stefan Karpinski, Viral B. Shah, and Alan Edelman set out to create a free language that was both high-level and fast. On 14 February 2012, the team launched a website with a blog post explaining the language's mission. In an interview with InfoWorld in April 2012, Karpinski said about the name of the language, Julia: "There's no good reason, really. It just seemed like a pretty name." Bezanson said he chose the name on the recommendation of a friend, then years later wrote: Maybe julia stands for "Jeff's uncommon lisp is automated"? Julia's syntax is stable, since version 1.0 in 2018, and Julia has a backward compatibility guarantee for 1.x and also a stability promise for the documented (stable) API, while in the years before in the early development prior to 0.7 the syntax (and semantics) was changed in new versions. All of the (registered package) ecosystem uses the new and improved syntax, and in most cases relies on new APIs that have been added regularly, and in some cases minor additional syntax added in a forward compatible way e.g. in Julia 1.7. In the 10 years since the 2012 launch of pre-1.0 Julia, the community has grown. The Julia package ecosystem has over 11.8 million lines of code (including docs and tests). The JuliaCon academic conference for Julia users and developers has been held annually since 2014 with JuliaCon2020 welcoming over 28,900 unique viewers, and then JuliaCon2021 breaking all previous records (with more than 300 JuliaCon2021 presentations available for free on YouTube, up from 162 the year before), and 43,000 unique viewers during the conference. Three of the Julia co-creators are the recipients of the 2019 James H. Wilkinson Prize for Numerical Software (awarded every four years) "for the creation of Julia, an innovative environment for the creation of high-performance tools that enable the analysis and solution of computational science problems." Also, Alan Edelman, professor of applied mathematics at MIT, has been selected to receive the 2019 IEEE Computer Society Sidney Fernbach Award "for outstanding breakthroughs in high-performance computing, linear algebra, and computational science and for contributions to the Julia programming language." Version 0.3 was released in August 2014. Both Julia 0.7 and version 1.0 were released on 8 August 2018. Julia 1.4 added syntax for generic array indexing to handle e.g. 0-based arrays. The memory model was also changed. Julia 1.5 released in August 2020 added record and replay debugging support, for Mozilla's rr tool. The release changed the behavior in the REPL (to soft scope) to the one used in Jupyter, but keeps full compatible with non-REPL code (that retains hard scope). Julia 1.6 was the largest release since 1.0, and it was the long-term support (LTS) version for the longest time. Since Julia 1.7 development is back to time-based releases, and it was released in November 2021 with e.g. a new default random-number generator and Julia 1.7.3 fixed at least one security issue. Julia 1.8 added options for hiding source code when compiling Julia source code to executables. Julia 1.9 has added the ability to precompile packages to native machine code, done automatically; to improve precompilation of packages a new package PrecompileTools.jl was introduced, for use by package developers. Julia 1.10 was released on 25 December 2023 with new features such as parallel garbage collection. Julia 1.11 was released on 7 October 2024, and with it 1.10.5 became the next long-term support (LTS) version (i.e. those became the only two supported versions), since replaced by 1.10.10 released on 27 June, and 1.6 is no longer an LTS version. Julia 1.11 adds e.g. the new public keyword to signal safe public API (Julia users are advised to use such API, not internals, of Julia or packages, and package authors advised to use the keyword, generally indirectly, e.g. prefixed with the @compat macro, from Compat.jl, to also support older Julia versions, at least the LTS version). Julia 1.12 was released on 7 October 2025 (and 1.12.5 on 9 February 2026), and with it a JuliaC.jl package including the juliac compiler that works with it, for making rather small binary executables (much smaller than was possible before; through the use of new so-called trimming feature). Julia 1.10 LTS is an officially still-supported branch, but the 1.11 branch has also been maintained after 1.12 release, with 1.11.8 released and then 1.11.9 released on 8 February 2026. === JuliaCon === Since 2014, the Julia Community has hosted an annual Julia Conference focused on developers and users. The first JuliaCon took place in Chicago and kickstarted the annual occurrence of the conference. Since 2014, the conference has taken place across a number of locations including MIT and the University of Maryland, Baltimore. The event audience has grown from a few dozen people to over 28,900 unique attendees during JuliaCon 2020, which took place virtually. JuliaCon 2021 also took place virtually with keynote addresses from professors William Kahan, the primary architect of the IEEE 754 floating-point standard (which virtually all CPUs and languages, including Julia, use), Jan Vitek, Xiaoye Sherry Li, and Soumith Chintala, a co-creator of PyTorch. JuliaCon grew to 43,000 unique attendees and more than 300 presentations (still freely accessible, plus for older years). JuliaCon 2022 will also be virtual held between July 27 and July 29, 2022, for the first time in several languages, not just in English. === Sponsors === The Julia language became a NumFOCUS fiscally sponsored project in 2014 in an effort to ensure the project's long-term sustainability. Jeremy Kepner at MIT Lincoln Laboratory was the founding sponsor of the Julia project in its early days. In addition, funds from the Gordon and Betty Moore Foundation, the Alfred P. Sloan Foundation, Intel, and agencies such as NSF, DARPA, NIH, NASA, and FAA have been essential to the development of Julia. Mozilla, the maker of Firefox web browser, with its research grants for H1 2019, sponsored "a member of the official Julia team" for the project "Bringing Julia to the Browser", meaning to Firefox and other web browsers. The Julia language is also supported by individual donors on GitHub. === The Julia company === JuliaHub, Inc. was founded in 2015 as Julia Computing, Inc. by Viral B. Shah, Deepak Vinchhi, Alan Edelman, Jeff Bezanson, Stefan Karpinski and Keno Fischer. In June 2017, Julia Computing raised US$4.6 million in seed funding from General Catalyst and Founder Collective, the same month was "granted $910,000 by the Alfred P. Sloan Foundation to support open-source Julia development, including $160,000 to promote diversity in the Julia community", and in December 2019 the company got $1.1 million funding from the US government to "develop a neural component machine learning tool to reduce the total energy consumption of heating, ventilation, and air conditioning (HVAC) systems in buildings". In July 2021, Julia Computing announced they raised a $24 million Series A round led by Dorilton Ventures, which also owns Formula One team Williams Racing, that partnered with Julia Computing. Williams' Commercial Director said: "Investing in companies building best-in-class cloud technology is a strategic focus for Dorilton and Julia's versatile platform, with revolutionary capabilities in simulation and modelling, is hugely relevant to our business. We look forward to embedding Julia Computing in the world's most technologically advanced sport". In June 2023, JuliaHub received (again, now
ARD Sounds
ARD Sounds (until March 2026: ARD Audiothek) is the joint audio portal of the state broadcasting stations of the ARD and Deutschlandradio on the Internet. The service was officially launched as a mobile app on November 8, 2017, on the occasion of the ARD Radio Play Days in Karlsruhe. A beta web version has also been available since November 2018; it replaces the radio features in the ARD Mediathek, which has since offered only video content. Editorial support for the ARD Audiothek is provided by the ARD, the online editorial team in Mainz. In April 2018, the ARD Audiothek won the German Digital Award in silver in the category "Mobile Apps - User Experience / Usability". Within a year, the mobile app version had been installed more than 510,000 times and had around 21 million audio views. The Android app recorded more than 100,000 downloads in October 2019, according to the Google Play Store.
Open Media Framework Interchange
Open Media Format (OMF), Open Media Framework, or Open Media Framework Interchange (OMFI), is a platform-independent file format intended for transfer of digital media between different software applications. OMFI is a file format that aids in exchange of digital media across applications and platforms. This framework enables users to import media elements and to edit information and effects summaries. Sequential media representation is the primary concern that is addressed by this format. The primary objective of OMFI is video production. However, there are a number of additional features which can be listed as follows: The origin of the data can be easily backtracked or identified since the import material is in the form of a videotape or film. There are predefined effects and transitions, which paves the way for easy and quick overlapping and sequencing of various track. The format supports motion control. (i.e. enabling a particular segment to play at a ratio of the speed of another segment) Some of the key benefits of OMFI are: It saves time by getting rid of tape-based file transfers. It brings in flexibility owing to its ability to use a number of applications on multiple workstations. The format preserves the best sound and picture quality during all imports. It eliminates the risk of file formatting and incompatibilities, which in turn allows users to spend their productive time on the creative aspects of their work. It preserves the formatting information during file transfers between applications or workstations. Hence, the need for rebuilding the effects and sequences is eliminated. The OMFI format consists of four primary sections namely Header, Object data, Object dictionary and Track data. The header contains an index of all the segments that constitute the file.
Glossary of operating systems terms
This page is a glossary of Operating systems terminology. == A == access token: In Microsoft Windows operating systems, an access token contains the security credentials for a login session and identifies the user, the user's groups, the user's privileges, and, in some cases, a particular application. == B == binary semaphore: See semaphore. booting: In computing, booting (also known as booting up) is the initial set of operations that a computer performs after electrical power is switched on or when the computer is reset. This can take tens of seconds and typically involves performing a power-on self-test, locating and initializing peripheral devices, and then finding, loading and starting the operating system. == C == cache: In computer science, a cache is a component that transparently stores data so that future requests for that data can be served faster. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere. cloud: Cloud computing operating systems are recent, and were not mentioned in Gagne's 8th Edition (2009). In contrast, by Gagne's 9th (2012), cloud o/s received 3 pages of coverage (41, 42, 716). Doeppner (2011) mentions them (p. 3), but only to prove that operating systems "are not a solved problem" and that even if the day of the dedicated PC is waning, cloud computing has created an entirely new opportunity for o/s development ala sharing, networks, memory, parallelism, etc. Gagne (2012) adds that in addition to numerous traditional o/s's at cloud warehouses, Virtual machine o/s (VMMs), Eucalyptus, Vware, vCloud Director and others are being developed specifically for cloud management with numerous traditional o/s features (security, threads, file and memory management, guis, etc.) (p. 42). Microsoft's investment in cloud aspects of o/s tend to support that argument. concurrency == D == daemon: Operating systems often start daemons at boot time and serve the function of responding to network requests, hardware activity, or other programs by performing some task. Daemons can also configure hardware (like udevd on some Linux systems), run scheduled tasks (like cron), and perform a variety of other tasks. == E == == F == == G == == H == == I == == J == == K == kernel: In computing, the kernel is a computer program that manages input/output requests from software and translates them into data processing instructions for the central processing unit and other electronic components of a computer. The kernel is a fundamental part of a modern computer's operating system. == L == lock: In computer science, a lock or mutex (from mutual exclusion) is a synchronization mechanism for enforcing limits on access to a resource in an environment where there are many threads of execution. A lock is designed to enforce a mutual exclusion concurrency control policy. == M == mutual exclusion: Mutual exclusion is to allow only one process at a time to access the same critical section (a part of code which accesses the critical resource). This helps prevent race conditions. mutex: See lock. == N == == O == == P == paging daemon: See daemon. process == Q == == R == == S == semaphore: In computer science, particularly in operating systems, a semaphore is a variable or abstract data type that is used for controlling access, by multiple processes, to a common resource in a parallel programming or a multi user environment. == T == thread: In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by an operating system scheduler. The scheduler itself is a light-weight process. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process. templating: In an o/s context, templating refers to creating a single virtual machine image as a guest operating system, then saving it as a tool for multiple running virtual machines (Gagne, 2012, p. 716). The technique is used both in virtualization and cloud computing management, and is common in large server warehouses. == U == == V == == W == == Z ==
Filter (social media)
Filters are digital image effects often used on social media. They initially simulated the effects of camera filters, and they have since developed with facial recognition technology and computer-generated augmented reality. Social media filters—especially beauty filters—are often used to alter the appearance of selfies taken on smartphones or other similar devices. While filters are commonly associated with beauty enhancement and feature alterations, there is a wide range of filters that have different functions. From adjusting photo tones to using face animations and interactive elements, users have access to a range of tools. These filters allow users to enhance photos and allow room for creative expression and fun interactions with digital content. == History == Beauty filters originate from Purikura ("print club"), a type of Japanese photographic arcade game machine conceived in 1994 by Sasaki Miho, a female employee at Atlus, and released in 1995 by Atlus and Sega primarily for female visitors at Japanese arcades. They allowed the manipulation of digital selfie photos with kawaii beauty filters similar to later Snapchat filters. Purikura filters included beautifying the image, cat whiskers, bunny ears, writing text, scribbling graffiti, selecting backdrops, borders, insertable decorations, icons, hair extensions, twinkling diamond tiaras, tenderized light effects, and predesigned decorative margins. To capitalize on the Purikura phenomenon in Japan during the late 1990s, Japanese mobile phones began including a front-facing camera, starting with the Kyocera Visual Phone VP‑210 in 1999. The Sanyo SCP-5300 released in 2002 was the first camera phone with filter effects, such as illumination, white‑balance control, sepia, black and white, and negative colors. Purikura-like beauty filters later appeared in smartphone apps such as Instagram and Snapchat in the 2010s. In 2010, Apple introduced the iPhone 4—the first iPhone model with a front-facing camera. It gave rise to a dramatic increase in selfies, which could be touched up with more flattering lighting effects with applications such as Instagram. The American photographer Cole Rise was involved in the creation of the original filters for Instagram around 2010, designing several of them himself, including Sierra, Mayfair, Sutro, Amaro, and Willow. However, the technology for virtual lens filters was invented and patented by Patrick Levy-Rosenthal in 2007. The patent received 100 citations, including Facebook, Nvidia, Microsoft, Samsung, and Snap. In September, 2011, the Instagram 2.0 update for the application introduced "live filters," which allowed the user to preview the effect of the filter while shooting with the application's camera. #NoFilter, a hashtag label to describe an image that had not been filtered, became popular around 2013. An update in 2014 allowed users to adjust the intensity of the filters as well as fine-tune other aspects of the image, features that had been available for years on applications such as VSCO and Litely. In 2014, Snapchat started releasing sponsored filters to monetize the participatory use of the application. In September 2015, Snapchat acquired Looksery and released a feature called "lenses," animated filters using facial recognition technology. Some of the early lenses available on Snapchat at the time were Heart Eyes, Terminator, Puke Rainbows, Old, Scary, Rage Face, Heart Avalanche. The Coachella filter released April 2016 was a popular early augmented reality filter. In April 2017, Facebook released the Camera Effects Platform, which is the first augmented reality platform that allows developers to create their own filters and effects on Facebook's Camera. In December 2017, Snapchat also launched their Lens Studio augmented reality developer tool that allows users and advertisers to do the same on the Snapchat application. In April 2022,TikTok joined the two, and launched their own augmented reality developer platform called Effect house. In February 2023, Effect House gave opened up the access to generative AI tools that allowed creators to change facial features in real time. In November 2023, TikTok released a feature where users no longer needed Effect House to create their own filters, as they are now able to create their own effects on the TikTok application. In August 2024, Meta announced that it would be removing third-party filter effects from its family of apps by January 14, 2025. The AR development software Meta Spark AR will also be retired at the same time; it was at one point the "world's largest mobile AR platform". Brand and creator effects represent the vast majority of filters available on Meta platforms, with over 2 million third-party filters available as of 2021. == Beauty filter == A beauty filter is a filter applied to still photographs, or to video in real time, to enhance the physical attractiveness of the subject. Typical effects of such filters include smoothing skin texture and modifying the proportions of facial features, for example enlarging the eyes or narrowing the nose. Filters may be included as a built-in feature of social media apps such as Instagram or Snapchat, or implemented through standalone applications such as Facetune. In 2020, the "Perfect Skin" filter for Snapchat and Instagram which was created by Brazilian augmented reality developer Brenno Faustino gained more than 36 million impressions in the first 24 hours of its release. In 2021, TikTok users pointed out how the default front-facing camera on the platform automatically applied the retouch and other feature-altering filters. Users noted that these filters slimmed down faces, smoothed skin, whitened teeth, and altered facial features such as nose and eye size, without the option to disable this feature through settings. In March 2023, the "Bold Glamour" filter was released on TikTok and instantly went viral with over 18 million videos created within its first week. This filter subtly enhances the user's facial features seamlessly, giving the illusion of fuller eyebrows, taller cheekbones, enhanced eye make up, a smaller nose, plumper lips, and clearer skin, giving off a natural yet distinct effect. As of May 2024, the filter has been used in over 220 million videos and has become a pivotal moment for beauty filters on digital platforms. Critics have raised concerns that the widespread use of such filters on social media may lead to negative body image, particularly among girls. Though Meta's intention of removing third-party filters will likely see all beauty filters removed, academics feel that the damage of beautifying filters is already done. === Background === The manipulation of photos to enhance attractiveness has long been possible using software such as Adobe Photoshop and, before that, analogue techniques such as airbrushing. However, such tools required considerable technical and artistic skill, and so their use was mostly limited to professional contexts, such as magazines or advertisements. By contrast, filters work in an automated fashion through the use of complex algorithms, requiring little or no input from the user. This ease of use, in combination with the increase in processing power of smartphones, and the rise of social media and selfie culture, have led to photographic manipulation occurring on a much wider scale than ever before. One of the earliest examples of a content-aware digital photographic filter is red-eye reduction. === Effects === Typical changes applied by beauty filters include: Smoothing skin texture; minimizing fine lines and blemishes Erasing under-eye bags Erasing naso-labial lines ("laugh lines") Application of virtual makeup, such as lipstick or eyeshadow Slimming the face; erasing double chins Enlarging the eyes Whitening teeth Narrowing the nose Increasing fullness of the lips Beauty filters most frequently target the face, though in some cases they may affect other body parts. For example, the app "Retouch Me" was reported to have a feature which allows users to superimpose visible abdominal muscles (a "six pack") onto photos featuring the subject's bare stomach. === Reception and psychological effects === Some commentators have expressed concern that beauty filters may create unrealistic beauty standards, particularly among girls, and contribute to rates of body dysmorphic disorder. A correlation has been established between negative body image and the use of beautifying filters, though the direction of causation is unknown. The inability to discern whether a particular image has been filtered is thought to exacerbate their negative psychological effects. Policymakers have advocated for social networks to disclose the use of filters; TikTok, Instagram, and Snapchat all label filtered photos and videos with the name of the filter applied. It has also been noted that beauty filters on social media tend to highlight Eurocentric features, like lighter eyes, a smaller nose, and flushed ch
Group of Governmental Experts on Lethal Autonomous Weapons Systems
The Group of Governmental Experts on Lethal Autonomous Weapons Systems, commonly known as the GGE on LAWS, refers to a group of governmental experts established under the framework of the Convention on Certain Conventional Weapons (CCW), a United Nations arms control framework. The group examines legal, ethical, societal and moral questions that arise from the increased use of autonomous robots to carry weapons and to be programmed to engage in combat in various situations that might arise, including battles between countries, or in patrolling border areas or sensitive areas, or other similar roles. As of 18 March 2025, the Convention on Certain Conventional Weapons had 128 High Contracting Parties. In the Geneva Conventions, the term "High Contracting Parties" refers to the states that have joined the conventions and are therefore bound to uphold them. Among the countries that have joined are states with tense relations or ongoing armed conflict with one another, including Russia and Ukraine, Israel and the State of Palestine, and Pakistan and Afghanistan. == Background == In 2013, the Meeting of State Parties to the Convention on Certain Conventional Weapons agreed on a mandate on lethal autonomous weapon systems and tasked its chairperson with convening an informal Meeting of Experts to discuss issues related to emerging technologies in the area of LAWS. Those informal Meetings of Experts were then held in 2014, 2015 and 2016, and their reports fed into subsequent meetings of the High Contracting Parties. At the Fifth CCW Review Conference in 2016, the High Contracting Parties decided to establish an open-ended Group of Governmental Experts on emerging technologies in the area of LAWS, building on the earlier expert meetings. Since then, the group has been reconvened annually. In 2023, the Meeting of the High Contracting Parties to the CCW decided that the GGE on LAWS would continue its work in 2024 and 2025. The group was tasked with developing, by consensus, elements of a possible instrument, without predetermining its form, as well as other measures addressing lethal autonomous weapon systems, drawing on existing CCW protocols, earlier recommendations, state proposals, and legal, military, and technological expertise. == 2024 == In 2024, the GGE met twice, and the group was chaired by Robert in den Bosch, the Netherlands' disarmament ambassador. The 2024 Meeting of the High Contracting Parties decided that the group would meet for 10 days in 2025, in two five-day sessions, and reaffirmed its mandate to continue work by consensus on possible elements of an instrument and other measures addressing lethal autonomous weapon systems. == 2025 == At its first 2025 session, held in Geneva from 3 to 7 March 2025, the Group of Governmental Experts on Lethal Autonomous Weapon Systems discussed revisions to the chair's rolling text. The text was structured into five sections, or "boxes", though delegates held differing views on whether headings were useful or appropriate. Broadly, the discussions covered the characterization of lethal autonomous weapon systems, the application of international humanitarian law, possible prohibitions and regulations, legal review, and questions of accountability and responsibility. At its second session, held from 1 to 5 September 2025, delegations continued work on the chair's rolling text, which set out elements of a possible instrument and was organized into five thematic "boxes". == 2026 == === Developments before the 2026 session === A few weeks before the meeting, autonomous weapons drew renewed attention when the United States pressured Anthropic to revise the terms of use for its AI model Claude. Anthropic prohibited the model's use for mass domestic surveillance and for fully autonomous weapons operating without human oversight, while reports also emerged that OpenAI had reached an agreement with the U.S. Department of War for the use of its AI models, reportedly stipulating that they would not independently direct autonomous weapons where human control was required. The U.S. military nevertheless continued to use Claude during its war on Iran, and there was increasing alarm about the use of AI-assisted semi-autonomous weapons in conflicts including those in Ukraine, Sudan, Gaza, and Iran. Before the start of the sessions, Robert in den Bosch, as chair, warned that progress was urgent because technological developments were moving quickly. At the same time, although states agreed that international humanitarian law applied to LAWS, specific internationally binding standards governing such systems remained largely absent. A key divide before the session was that Russia and the United States opposed new legally binding instruments, while other states argued that new rules were necessary. According to Robert in den Bosch, the talks could lead to new rules, amendments to an existing convention, or a new treaty. === First session === From 2 to 6 March 2026, the group held its penultimate session under the group's three-year mandate. Delegations discussed the chair's rolling draft text, circulated in December 2025, on elements of a possible instrument or other measures concerning lethal autonomous weapon systems. In revised text circulated by the chair on 5 March 2026, a lethal autonomous weapon system was characterized as "a functionally integrated combination of one or more weapons and technological components, that can identify, select, and engage a target, without intervention by a human operator in the execution of these tasks". The text was divided into five boxes to structure discussion. During the session, delegates conducted a first reading of the draft text, and the chair later circulated revised language for several sections. Informal consultations were also held. According to campaign groups and participating observers, support grew during the week for moving to negotiations on the basis of the rolling text, with more than 70 states said to support that step by the end of the session, though some participants warned that attempts to bridge differences risked blurring the group's core purpose. The International Committee of the Red Cross argued that the text should not only restate existing international humanitarian law, but also clarify how those rules apply to autonomous weapons and set out additional measures tailored to the specific challenges such systems raise. Stop Killer Robots likewise emphasized the need to preserve meaningful human judgment and control over increasingly autonomous systems. During the discussions, the U.S. delegation opposed the term "human control" and reportedly proposed the alternative phrase "good faith human judgment and care". Other delegations rejected that wording as too weak, while many states continued to insist that meaningful human control over weapon systems remained essential.
Link-richness
Link-richness is the quality, possessed by some websites, of having many hyperlinks. Classified advertising sites like Craigslist tend to be very link-rich, sometimes with hundreds of links on their main page. They help users find the links they are looking for by grouping links into clusters. Inadequate link richness has been described as frustrating to readers, as it reduces transparency of site content from the main page. Students new to wiki collaboration were found to need guidance in how to take full advantage of the medium's potential for creating link-rich content. Link-richness in some contexts can be distracting, as when an article is surrounded by extraneous links. Indeed, it is becoming accepted as a best practice for universities to have link-rich home pages that do not rely on user categorisation and exploration of long sequences of links and are not constrained by traditional boundaries between departments. Tools are sometimes needed to make the publishing of link-rich web sites tractable, and many people may lack the technical skills, time, or inclination to engage in hand- crafting new digital document forms. A link-rich site that is low on content is sometimes referred to as a "gateway site." Link-rich portals were popular on the Web in 2000. Yahoo! and other sites featuring categories with many links were heavily used and often required fewer than three clicks to reach the content. Web designers were creating flat sites with content positioned close to the top of pages.