AI Art Can't Be Copyrighted

AI Art Can't Be Copyrighted — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Natural Language Toolkit

    Natural Language Toolkit

    The Natural Language Toolkit, or more commonly NLTK, is a suite of libraries and programs for symbolic and statistical natural language processing (NLP) for English written in the Python programming language. It supports classification, tokenization, stemming, tagging, parsing, and semantic reasoning functionalities. It was developed by Steven Bird and Edward Loper in the Department of Computer and Information Science at the University of Pennsylvania. NLTK includes graphical demonstrations and sample data. It is accompanied by a book that explains the underlying concepts behind the language processing tasks supported by the toolkit, plus a cookbook. NLTK is intended to support research and teaching in NLP or closely related areas, including empirical linguistics, cognitive science, artificial intelligence, information retrieval, and machine learning. NLTK has been used successfully as a teaching tool, as an individual study tool, and as a platform for prototyping and building research systems. == Library highlights == Discourse representation Lexical analysis: Word and text tokenizer n-gram and collocations Part-of-speech tagger Tree model and Text chunker for capturing Named-entity recognition

    Read more →
  • Cardiovascular health awareness in Nepal

    Cardiovascular health awareness in Nepal

    Cardiovascular health awareness in Nepal has improved in recent times. It has emerged as a cost-effective tool for prevention of heart disease in recent years. == Background == Cardiovascular diseases in Nepal is responsible for maximum number of deaths and rapid urbanization possess extra threat in this situation emphasizing need for widespread awareness campaigns. Efforts to enhance cardiovascular health awareness among the general public, particularly through social media platforms, have proven pivotal in motivating individuals to adopt healthier lifestyle choices and improve heart health in Nepal in recent years. These awareness initiatives, often organized on special occasions such as World Heart Day of World Heart Federation, World Hypertension Day, and World Health Day of World Health Organization, have garnered active participation from the public, reflecting a growing interest in health-related information. Notably, various hospitals, organizations, and health professionals actively contribute to cardiovascular health awareness in Nepal. The prevalence of heart health-related content on social media platforms indicates a substantial dissemination of information. The engagement of a large number of followers underscores the audience's keen interest in health matters, evident in the significant engagement on various social media accounts and pages. During an event of cardiovascular health awareness a Guinness World Record was achieved on World Heart Day 2023. A Facebook live awareness programme on heart health prevention attracted 11,212 viewers during the 30-minute presentation and was awarded the "Most viewers for a cardiovascular health awareness live stream on Facebook" by Guinness World Record signifying depth of public involvement and importance of social media use in health awareness. In 2014, a 11-day heart camp was conducted in Nepal to raise awareness . In 2015, a is a heart health education program " Mission to Save Heart" was conducted to empower health professionals to manage heart attacks and reduce heart disease deaths.

    Read more →
  • Digital image correlation for electronics

    Digital image correlation for electronics

    Digital image correlation analyses have applications in material property characterization, displacement measurement, and strain mapping. As such, DIC is becoming an increasingly popular tool when evaluating the thermo-mechanical behavior of electronic components and systems. == CTE measurements and glass transition temperature identification == The most common application of DIC in the electronics industry is the measurement of coefficient of thermal expansion (CTE). Because it is a non-contact, full-field surface technique, DIC is ideal for measuring the effective CTE of printed circuit boards (PCB) and individual surfaces of electronic components. It is especially useful for characterizing the properties of complex integrated circuits, as the combined thermal expansion effects of the substrate, molding compound, and die make effective CTE difficult to estimate at the substrate surface with other experimental methods. DIC techniques can be used to calculate average in-plane strain as a function of temperature over an area of interest during a thermal profile. Linear curve-fitting and slope calculation can then be used to estimate an effective CTE for the observed area. Because the driving factor in solder fatigue is most often the CTE mismatch between a component and the PCB it is soldered to, accurate CTE measurements are vital for calculating printed circuit board assembly (PCBA) reliability metrics. DIC is also useful for characterizing the thermal properties of polymers. Polymers are often used in electronic assemblies as potting compounds, conformal coatings, adhesives, molding compounds, dielectrics, and underfills. Because the stiffness of such materials can vary widely, accurately determining their thermal characteristics with contact techniques that transfer load to the specimen, such as dynamic mechanical analysis (DMA) and thermomechanical analysis (TMA), is difficult to do with consistency. Accurate CTE measurements are important for these materials because, depending on the specific use case, expansion and contraction of these materials can drastically affect solder joint reliability. For example, if a stiff conformal coating or other polymeric encapsulation is allowed to flow under a QFN, its expansion and contraction during thermal cycling can add tensile stress to the solder joints and expedite fatigue failure. DIC techniques will also allow the detection of glass transition temperature (Tg). At a glass transition temperature, the strain vs. temperature plot will exhibit a change in slope. Determining the Tg is very important for polymeric materials that could have glass transition temperatures within the operating temperature range of the electronics assemblies and components on which they are used. For example, some potting materials can see the Elastic Modulus of the material change by a factor of 100 or more over the glass transition region. Such changes can have drastic effects on an electronic assembly's reliability if they are not planned for in the design process. == Out-of-plane component warpage == When 3D DIC techniques are employed, out-of-plane motion can be tracked in addition to in-plane motion. Out-of-plane warpage is especially of interest at the component level of electronics packaging for solder joint reliability quantification. Excessive warpage during reflow can contribute to defective solder joints by lifting the edges of the component away from the board and creating head-in-pillow defects in ball grid arrays (BGA). Warpage can also shorten the fatigue life of adequate joints by adding tensile stresses to edge joints during thermal cycling. == Thermo-mechanical strain mapping == When a PCBA is over-constrained, thermo-mechanical stress brought about during thermal expansion can cause board strains that could negatively affect individual component and overall assembly reliability. The full-field monitoring capabilities of an image correlation technique allow for the measurement of strain magnitude and location on the surface of a specimen during a displacement-causing event, such as PCBA during a thermal profile. These "strain maps" allow for the comparison of strain levels over full areas of interest. Many traditional discrete methods, like extensometers and strain gauges, only allow for localized measurements of strain, inhibiting their ability to efficiently measure strain across larger areas of interest. DIC techniques have also been used to generate strain maps from purely mechanical events, such as drop impact tests, on electronic assemblies.

    Read more →
  • Mass media use by the Islamic State

    Mass media use by the Islamic State

    The Islamic State (IS) is known for its extensive and effective use of propaganda. It uses a version of the Muslim Black Standard flag and developed an emblem which has clear symbolic meaning in the Muslim world. The Islamic State targets younger audiences, such as teenagers and young adults, since they are more vulnerable to propaganda. It is known to exploit the internet to spread its propaganda by establishing websites, such as the Al Fustat domain. Videos by the Islamic State are commonly accompanied by nasheeds (chants), notable examples being the chant Dawlat al-Islam Qamat, which came to be viewed as an unofficial anthem of the Islamic State, and Salil al-Sawarim. Academic research has emphasized the scale and volume of Islamic State media production beyond its flagship magazines. A quantitative study cited in R. Malash’s academic work documented 1,373 distinct Islamic State media products released over a six-month period between 1 August 2017 and 28 February 2018, including magazines, newsletters, reports, photographic releases, audio recordings, and other media formats. Scholars have used such datasets to illustrate the breadth and intensity of the group’s media output, particularly during periods of territorial decline, when propaganda activity remained high despite military pressure. == Traditional media == === Al-Furqan Foundation for Media Production === In January 2006, shortly after the group's rebranding as the "Islamic State of Iraq", it established the Al-Furqan Foundation for Media Production (Arabic: مؤسسة الفرقان للإنتاج الإعلامي, romanized: Muasasat al-Furqān lil'īntāj al'ilāmī), which produces CDs, DVDs, posters, pamphlets, and web-related propaganda products and official statements. It is the primary media production house of the Islamic State and responsible for production of major media releases, including the statements of the spokesmen and leaders of the group. On January 10, 2006, Al-Furqan released its very first video, titled (Arabic: زحف الأنوار, romanized: Zahf al-Anwār) It was founded by the Iraqi man Dr Wa'il al-Fayad, known as Abu Muhammad al-Furqan. He got his name "Al-Furqan" from his role in founding this media house, which was named after the 25th surah of the Quran Al-Furqan. It is the oldest media production house for the Islamic State, being founded in November 2006 to release media for the Islamic State of Iraq. The earliest release indexed by the SITE Intelligence Group is on 21 November 2006, documenting the storming of a police station in the Iraqi town of Miqdadiyah. Al-Furqan is considered to be a considerable innovation in jihadist media, with Kavkaz Center describing it as "a milestone on the path of jihad, a distinguished media that takes the great care in the management of the conflict with the crusaders and their tails and to expose the lies in the crusader's media." In October 2007, the Long War Journal reported on United States Army raids targeting Al-Furqan media cell members across Iraq, including in Mosul and Samarra. Between August 2013 and March 2014 they released the 22 part series Messages from the Land of Epic Battles. On 2 September 2014 SITE Intelligence Group discovered the beheading video called A Second Message to America, about the death of Steven Sotloff. Since then, Al-Furqan has released videos of their operations across Iraq and Syria, as well as execution videos directed to governments around the world. In April 2019, Al-Furqan released a video Interviewing Abu Bakr al-Baghdadi. Al-Furqan also produces media in the form of audio, which consists mostly of recordings of IS leaders and spokesmen giving speeches, as well as producing a single nasheed under their name called "Ya Allah Al-Jannah" (O Allah, (we ask you for) Paradise), sung by now-dead member of IS, Uqab Al-Marzuqi. === Al-I'tisam Foundation for Media Production === The Islamic State of Iraq founded a second media foundation - Al-I'tisam Media Foundation - around 2011, marked by their first video release, titled "The Conqueror of the Murtaddin: Abu Ahmad Al-Ansari". The foundation has since released a few series of videos, 50 parts of "Windows on the Land of Battles", 9 parts of "Pictures from the Land of Battles", a 9-part series quoting leaders about the establishment of the Islamic State, and other series before their last release, "Deterring the Safavids in Salah ad-Din" in 2015. Since then, there were no further releases from their behalf. === Al-Hayat Media Center === In mid-2014, IS established the Al-Hayat Media Center, which targets Western audiences and produces material in English, German, Russian, Urdu, Indonesian, Turkish, Bengali, Chinese, Bosnian, Kurdish, Uyghur, and French. When IS announced its expansion to other countries in November 2014 it established media departments for the new branches, and its media apparatus ensured that the new branches follow the same models it uses in Iraq and Syria. Then FBI Director James Comey said that IS's "propaganda is unusually slick," noting that, "They are broadcasting... in something like 23 languages". In July 2014, Al-Hayat began publishing a digital magazine called Dabiq, in a number of different languages including English. According to the magazine, its name is taken from the town of Dabiq in northern Syria, which is mentioned in a hadith about Armageddon. Al-Hayat also began publishing other digital magazines, including the Turkish language Konstantiniyye, the Ottoman word for Istanbul, the French language Dar al-Islam, and the Russian language Istok (Russian: Исток). By late 2016, these magazines had apparently all been discontinued, with Al-Hayat's material being consolidated into a new magazine called Rumiyah (Arabic for Rome). === Al-Naba === While the group's glossy, foreign-language magazines like Dabiq and Rumiyah ceased publication as the group lost territory, the weekly Arabic newsletter Al-Naba (The News) has continued to publish regularly, becoming the central pillar of the group's "media jihad" in the post-territorial phase. Recent scholarship, including studies published in 2025, suggests that Al-Naba serves a dual purpose: maintaining internal cohesion among dispersed fighters and projecting a narrative of endurance to enemies. Unlike the earlier magazines which were designed for recruitment, Al-Naba focuses on bureaucratic reporting, military statistics, and religious instruction. These are then translated and disseminated by decentralized supporter networks ("media mujahideen") to reach non-Arabic speakers. === Furat Media Center === The Al-Furat Media Center is another media center established in around 2015 to cater towards non-Arab speaking audiences. However, unlike the other organizations, the production wasn't as professional as ones made by the other media centers. Instead, they partially relied on local media departments and foreign communities of the Mujahideen to produce short-form videos. However, some professional long-form videos were also made under their behalf. As of now, the media center is the only known active branch of all the media centers of the Islamic State, after heavy losses from past campaigns against them. Their last release was "The Resolve of Muwahhidin in Russia", where videos from the Surovikino penal colony hostage crisis were edited and released. === Ajnad Foundation for Media Production === Ajnad Foundation is one of the official media wings of Islamic State which produces nasheeds and Quran recitations. It was established in January 2014 and has released more than 150 nasheeds. === Asdaa Foundation === Like the Ajnad Foundation, the Asdaa Foundation (Arabic: مؤسسة أصداء) or Asedaa Foundation produces Anasheed (Islamic chants). The foundation is the closest counterpart to Ajnad in producing Islamic State nasheeds, only difference being Ajnad is directly linked to the Islamic State while Asdaa is only classified as a "supporter organization" (munaser/munasera). The foundation had humble beginnings possibly in Yemen, where low-quality nasheeds were produced at first by 2 munshids, Abu Layth Al-Iraqi and Abu Ya'qub Al-Yamani. After that, the quality had improved a bit (possibly with new equipment and increased recognition) and eventually had its nasheeds included in the Islamic State's official media releases. One of its munshids, Abu Hafs is a renowned munshid who sings around 70 nasheeds, who as well works with Ajnad Foundation in some instances. He is currently alive, and working under Ansar Production Center (مركز إنتاج الأنصار), another Munasir foundation and Asedaa. Another Yemeni munshid, Abu Musab al-Adani, worked temporarily with Asdaa Foundation before defecting back to AQAP, from which he previously defected from. Some of their anasheed is used in IS's execution videos, a popular one is their human slaughterhouse execution video released during the time of Eid Al-Adha in 2016. The background nasheed they used was "We Came To Fill The Horizons With Terror", produced by the Asd

    Read more →
  • The 2028 Global Intelligence Crisis

    The 2028 Global Intelligence Crisis

    The 2028 Global Intelligence Crisis is a report authored by James van Geelen and Alap Shah and published by Citrini Research in February 2026, on the impact of artificial intelligence on humanity's future. Written in the form of a scenario analysis, it was viewed millions of times online and reportedly caused a fall in the stock market prices of major tech and financial firms. It also received criticism among others, for its allegedly flawed economic logic. The 'thought exercise', as the authors called it, painted a gloomy picture for the near future, where outputs keep growing while consumer's ability to spend collapses. "...driven by ai agents that don’t sleep, take sick days or require health insurance”, "outputs that are shown in national accounts increases, "but never circulates through the real economy"(which the report calls 'Ghost GDP'), the authors argued. In other words, the authors predict a scenario where the owners of the AI firms will accumulate a vast fortune but there will be scant demand from consumers as AI would cause massive unemployment. The authors caution the reader that what they make is a scenario and not a prediction. In the scenario they visualise, any service whose value proposition is “I will navigate complexity that you find tedious” is getting disrupted. The reports argues that the unique ability of human beings to analyse, decide, create, persuade, and coordinate was “the thing that could not be replicated at scale,” and call the historical scarcity of this precious entity 'friction'. When this friction becomes zero, a gamut of changes occur which then triggers a cascading of changes across the economy. ”Travel booking platforms are an early casualty; Financial advice. tax prep., and routine legal work follow suit. National unemployment rate go as high 10.2% and the S&P 500 goes for a massive 38% peak-to-trough crash. In contrast to the previous technological revolutions the high-earning professionals suffers more and get forced to take up roles in the gig economy. Labour supply becomes abundant and this cuts wages all across the economy. The dent in income for the employees then affects other sectors of the economy such as the residential mortgage market. The losses for the software companies triggers loan defaults and heralds peril for the private credit sector.

    Read more →
  • Digital inclusion

    Digital inclusion

    Digital inclusion involves the activities necessary to ensure equitable access to and use of information and communications technologies for participation in social and economic life including for education, social services, health, social, and community participation. Digital inclusion includes access to affordable broadband Internet services, Internet-enabled devices, access to digital literacy training, quality technical support, and applications and online content designed to enable and encourage self-sufficiency, participation, and collaboration. Related concepts include digital divide, digital exclusion and digital inequality, however digital inclusion focuses more on the strategies, policies, and programs required to address the digital divide. As many services have moved online and with the increasing use of telehealth to deliver primary care, particularly during the COVID-19 pandemic in 2020, digital inclusion, including digital literacy and internet access is increasingly regarded as a social determinant of health. Accessibility, relevance, and impact have been identified as essential elements of digital inclusion as it pertains to health information systems. "Digital inclusion is broadly defined as different strategies designed to ensure that all people have equal access, opportunities and skills to benefit from digital technologies and systems" (ITU, 2019, as cited in Carmi and Yates, 2020). Since 2020, there have been many technology companies that have begun implementing different features or roles within their companies to support breaking down the digital divide. For example, HP has announced the digital divide accelerator. This accelerator will support nonprofits in Greece, Indonesia, Nigeria, and Spain. The goal for this role is to help equip children and other people within the community to understand the skills needed to become a part of the digital community. == Background == With the increasing use of computers and the Internet in the 1990s and early 2000s concerns rose around digital equality, however this primarily focused on the physical access to technology. This gave rise to the concept of the digital divide which was originally developed to describe the growing disparity in Internet access between rural and urban areas of the United States of America. This gradually expanded to considerations of digital access between countries in what is termed the global digital divide, which mirrors many of the disparities seen within countries but on an international scale. However, with the adoption of digital technologies across most sectors of society, and the increasing diversity of technologies and programs, access and use of ICT became more complex and essential for many aspects of daily life. This led to new terminology and a second wave of research on digital inequality which has been identified as the (1) usage gap, (2) second level digital divide, (3) emerging digital differentiation, and (4) digital inclusion. == Strategies for digital inclusion == A review of the literature in 2019 found that while physical access to digital technologies and the internet continues to be a barrier to digital inclusion, digital ability and attitude were also potential barriers. Key strategies identified for improving digital inclusion are social support, direct user experience and collaborative learning/design. Education is a key aspect of digital inclusion as digital technologies have become a key means of engaging with all levels of the education system, requiring levels of digital competence for successful engagement with the curriculum. In addition lifelong learning is required as technologies, services and systems are changing constantly. Public libraries and community service providers play a key role in supporting digital inclusion through access to computers, internet connection and expertise and training. Designing for digital inclusion may also help with poor written literacy, which remains a barrier for 10% of the world's population. UNESCO has developed Guidelines for designing digital technologies in ways that could assist those who are illiterate. == Indigenous digital inclusion == Digital inclusion is a critical issue for many Indigenous communities across the globe, many of whom lack access to adequate resources. The Australian Government has set a National Closing the Gap target for Aboriginal and Torres Strait Islander people to have equal levels of digital inclusion by 2026. Many people on tribal land and in Native Hawaiian land struggle with the technology gap. The Native Entities Capacity and Planning Grant Program has $45.3 million available to help address these challenges and empower Indian Tribes, Alaska Native entities, and Native Hawaiian organizations. Some of the impacts so far are in the education and workforce development and healthcare access through telehealth.[13] == Measuring digital inclusion == The Australian Digital Inclusion Index (ADII) is a research project which has been tracking digital inclusion throughout Australia since 2016. It uses survey data to measure digital inclusion across three dimensions of access, affordability and digital ability. == The Future of Digital Inclusion == On February 16, 2021, a global dialogue within the United Nations (UN) took a look at the future of digital inclusion. Through the adoption of the 2030 UN Agenda for Sustainable Development, Member States made a commitment. They pledged to "leave no one behind." By 2030, the UN's goal is to close the digital divide by providing access to the Internet and mobile technologies for all nations and peoples and for all segments of society. The UN sees the crisis of too many people in our global society still living unconnected and how the digital divide remains a challenge that must be addressed. == Gaming == The Xbox Adaptive Controller is a groundbreaking example of digital inclusion, designed to make gaming more accessible to people with limited mobility. Developed by Microsoft, it features large programmable buttons and ports that connect to a wide range of external devices like switches, joysticks, and mounts, allowing users to customize their gaming experience based on their unique needs. By removing traditional physical barriers to gameplay, the Xbox Adaptive Controller empowers more people to participate in digital entertainment, promotes equal access to technology, and fosters a more inclusive gaming community. == Digital inclusion advocacy groups == Australian Digital Inclusion Alliance National Digital Inclusion Alliance (US)

    Read more →
  • Awwwards

    Awwwards

    Awwwards (Awwwards Online SL) is an organization that hosts web design competitions and conferences across Europe and the United States. Website owners and developers can participate by submitting their websites for review. Submissions are assessed by a jury, and top entries are presented and awarded prizes on a rotational basis. == Nomination process == Web designers submit their websites through Awwwards' platform for consideration for the Site of the Day. A jury, composed of industry professionals, and the Awwwards community evaluate the entries. The best daily sites are published annually in "The 365 Best Websites Around the World" book. == Jury == The jury consists of international designers, developers, and agencies who assess the creativity, technical skills, and insight of the submitted web projects. The panel's expertise ensures a comprehensive review process. === Developer Award === Awwwards, in partnership with Microsoft, created the Developer Award to recognize web developers who demonstrate excellence in creating websites that meet modern standards. The award highlights websites that work seamlessly across various platforms and devices, using best practices in HTML5, JavaScript, and CSS. == Annual winners == Some prominent Site of the Year winners include Mercedes-Benz, Bloomberg L.P., Bose Corporation, Warner Brothers, Volkswagen, Uber, and Google. == Awwwards conference == Awwwards also organizes two-day conferences featuring speakers from major tech companies and industry leaders such as Microsoft, Google, Spotify, Adobe, Opera, and Smashing Magazine. These events focus on the latest trends in web design and development. Speakers at Awwwards conferences have included notable figures in the design and technology industry such as Stefan Sagmeister, Paula Scher, and design leaders from companies including Wix. == Corporate affairs == === Platform === Awwwards operates an online platform where web designers and developers submit websites for evaluation and awards. Submitted projects are reviewed by a jury based on design, usability, creativity, and content. The platform also serves as a community hub for discovering digital trends, showcasing work, and accessing educational resources including talks and interviews. Design professionals from international companies have participated in Awwwards events and platform content. For example, Wix, a cloud-based web development company known for its website builder tools, has featured prominently in Awwwards conferences, with its design leadership contributing to discussions on design trends and creative thinking.

    Read more →
  • Signal-to-crosstalk ratio

    Signal-to-crosstalk ratio

    The signal-to-crosstalk ratio at a specified point in a circuit is the ratio of the power of the wanted signal to the power of the unwanted signal from another channel. The signals are adjusted in each channel so that they are of equal power at the zero transmission level point in their respective channels. The signal-to-crosstalk ratio is usually expressed in dB.

    Read more →
  • Exposure Notification

    Exposure Notification

    The (Google/Apple) Exposure Notification System (GAEN) is a framework and protocol specification developed by Apple Inc. and Google to facilitate digital contact tracing during the COVID-19 pandemic. When used by health authorities, it augments more traditional contact tracing techniques by automatically logging close approaches among notification system users using Android or iOS smartphones. Exposure Notification is a decentralized reporting protocol built on a combination of Bluetooth Low Energy technology and privacy-preserving cryptography. It is an opt-in feature within COVID-19 apps developed and published by authorized health authorities. Unveiled on April 10, 2020, it was made available on iOS on May 20, 2020, as part of the iOS 13.5 update and on December 14, 2020, as part of the iOS 12.5 update for older iPhones. On Android, it was added to devices via a Google Play Services update, supporting all versions since Android Marshmallow. The Apple/Google protocol is similar to the Decentralized Privacy-Preserving Proximity Tracing (DP-3T) protocol created by the European DP-3T consortium and the Temporary Contact Number (TCN) protocol by Covid Watch, but is implemented at the operating system level, which allows for more efficient operation as a background process. Since May 2020, a variant of the DP-3T protocol is supported by the Exposure Notification Interface. Other protocols are constrained in operation because they are not privileged over normal apps. This leads to issues, particularly on iOS devices where digital contact tracing apps running in the background experience significantly degraded performance. The joint approach is also designed to maintain interoperability between Android and iOS devices, which constitute nearly all of the market. The ACLU stated the approach "appears to mitigate the worst privacy and centralization risks, but there is still room for improvement". In late April, Google and Apple shifted the emphasis of the naming of the system, describing it as an "exposure notification service", rather than "contact tracing" system. == Technical specification == Digital contact tracing protocols typically have two major responsibilities: encounter logging and infection reporting. Exposure Notification only involves encounter logging which is a decentralized architecture. The majority of infection reporting is centralized in individual app implementations. To handle encounter logging, the system uses Bluetooth Low Energy to send tracking messages to nearby devices running the protocol to discover encounters with other people. The tracking messages contain unique identifiers that are encrypted with a secret daily key held by the sending device. These identifiers change every 15–20 minutes as well as Bluetooth MAC address in order to prevent tracking of clients by malicious third parties through observing static identifiers over time. The sender's daily encryption keys are generated using a random number generator. Devices record received messages, retaining them locally for 14 days. If a user tests positive for infection, the last 14 days of their daily encryption keys can be uploaded to a central server, where it is then broadcast to all devices on the network. The method through which daily encryption keys are transmitted to the central server and broadcast is defined by individual app developers. The Google-developed reference implementation calls for a health official to request a one-time verification code (VC) from a verification server, which the user enters into the encounter logging app. This causes the app to obtain a cryptographically signed certificate, which is used to authorize the submission of keys to the central reporting server. The received keys are then provided to the protocol, where each client individually searches for matches in their local encounter history. If a match meeting certain risk parameters is found, the app notifies the user of potential exposure to the infection. Google and Apple intend to use the received signal strength (RSSI) of the beacon messages as a source to infer proximity. RSSI and other signal metadata will also be encrypted to resist deanonymization attacks. === Version 1.0 === To generate encounter identifiers, first a persistent 32-byte private Tracing Key ( t k {\displaystyle tk} ) is generated by a client. From this a 16 byte Daily Tracing Key is derived using the algorithm d t k i = H K D F ( t k , N U L L , 'CT-DTK' | | D i , 16 ) {\displaystyle dtk_{i}=HKDF(tk,NULL,{\text{'CT-DTK'}}||D_{i},16)} , where H K D F ( Key, Salt, Data, OutputLength ) {\displaystyle HKDF({\text{Key, Salt, Data, OutputLength}})} is a HKDF function using SHA-256, and D i {\displaystyle D_{i}} is the day number for the 24-hour window the broadcast is in starting from Unix Epoch Time. These generated keys are later sent to the central reporting server should a user become infected. From the daily tracing key a 16-byte temporary Rolling Proximity Identifier is generated every 10 minutes with the algorithm R P I i , j = Truncate ( H M A C ( d t k i , 'CT-RPI' | | T I N j ) , 16 ) {\displaystyle RPI_{i,j}={\text{Truncate}}(HMAC(dtk_{i},{\text{'CT-RPI'}}||TIN_{j}),16)} , where H M A C ( Key, Data ) {\displaystyle HMAC({\text{Key, Data}})} is a HMAC function using SHA-256, and T I N j {\displaystyle TIN_{j}} is the time interval number, representing a unique index for every 10 minute period in a 24-hour day. The Truncate function returns the first 16 bytes of the HMAC value. When two clients come within proximity of each other they exchange and locally store the current R P I i , j {\displaystyle RPI_{i,j}} as the encounter identifier. Once a registered health authority has confirmed the infection of a user, the user's Daily Tracing Key for the past 14 days is uploaded to the central reporting server. Clients then download this report and individually recalculate every Rolling Proximity Identifier used in the report period, matching it against the user's local encounter log. If a matching entry is found, then contact has been established and the app presents a notification to the user warning them of potential infection. === Version 1.1 === Unlike version 1.0 of the protocol, version 1.1 does not use a persistent tracing key, rather every day a new random 16-byte Temporary Exposure Key ( t e k i {\displaystyle tek_{i}} ) is generated. This is analogous to the daily tracing key from version 1.0. Here i {\displaystyle i} denotes the time is discretized in 10 minute intervals starting from Unix Epoch Time. From this two 128-bit keys are calculated, the Rolling Proximity Identifier Key ( R P I K i {\displaystyle RPIK_{i}} ) and the Associated Encrypted Metadata Key ( A E M K i {\displaystyle AEMK_{i}} ). R P I K i {\displaystyle RPIK_{i}} is calculated with the algorithm R P I K i = H K D F ( t e k i , N U L L , 'EN-RPIK' , 16 ) {\displaystyle RPIK_{i}=HKDF(tek_{i},NULL,{\text{'EN-RPIK'}},16)} , and A E M K i {\displaystyle AEMK_{i}} using the algorithm A E M K i = H K D F ( t e k i , N U L L , 'EN-AEMK' , 16 ) {\displaystyle AEMK_{i}=HKDF(tek_{i},NULL,{\text{'EN-AEMK'}},16)} . From these values a temporary Rolling Proximity Identifier ( R P I i , j {\displaystyle RPI_{i,j}} ) is generated every time the BLE MAC address changes, roughly every 15–20 minutes. The following algorithm is used: R P I i , j = A E S 128 ( R P I K i , 'EN-RPI' | | 0 x 000000000000 | | E N I N j ) {\displaystyle RPI_{i,j}=AES128(RPIK_{i},{\text{'EN-RPI'}}||{\mathtt {0x000000000000}}||ENIN_{j})} , where A E S 128 ( Key, Data ) {\displaystyle AES128({\text{Key, Data}})} is an AES cryptography function with a 128-bit key, the data is one 16-byte block, j {\displaystyle j} denotes the Unix Epoch Time at the moment the roll occurs, and E N I N j {\displaystyle ENIN_{j}} is the corresponding 10-minute interval number. Next, additional Associated Encrypted Metadata is encrypted. What the metadata represents is not specified, likely to allow the later expansion of the protocol. The following algorithm is used: Associated Encrypted Metadata i , j = A E S 128 _ C T R ( A E M K i , R P I i , j , Metadata ) {\displaystyle {\text{Associated Encrypted Metadata}}_{i,j}=AES128\_CTR(AEMK_{i},RPI_{i,j},{\text{Metadata}})} , where A E S 128 _ C T R ( Key, IV, Data ) {\displaystyle AES128\_CTR({\text{Key, IV, Data}})} denotes AES encryption with a 128-bit key in CTR mode. The Rolling Proximity Identifier and the Associated Encrypted Metadata are then combined and broadcast using BLE. Clients exchange and log these payloads. Once a registered health authority has confirmed the infection of a user, the user's Temporary Exposure Keys t e k i {\displaystyle tek_{i}} and their respective interval numbers i {\displaystyle i} for the past 14 days are uploaded to the central reporting server. Clients then download this report and individually recalculate every Rolling Proximity Identifier starting from interval number i {\displaystyle i} ,

    Read more →
  • LTE (telecommunication)

    LTE (telecommunication)

    In telecommunications, Long Term Evolution (LTE) is a standard for wireless broadband communication for cellular mobile devices and data terminals. It is considered to be a "transitional" 4G technology, and is therefore also referred to as 3.95G as a step above 3G. LTE is based on the 2G GSM/EDGE and 3G UMTS/HSPA standards. It improves on those standards' capacity and speed by using a different radio interface and core network improvements. LTE is the upgrade path for carriers with both GSM/UMTS networks and CDMA2000 networks. LTE has been succeeded by LTE Advanced, which is officially defined as a "true" 4G technology and also named "LTE+". == Terminology == The standard is developed by the 3GPP (3rd Generation Partnership Project) and is specified in its Release 8 document series, with minor enhancements described in Release 9. LTE is also called 3.95G and has been marketed as 4G LTE and Advanced 4G; but the original version did not meet the technical criteria of a 4G wireless service, as specified in the 3GPP Release 8 and 9 document series for LTE Advanced. The requirements were set forth by the ITU-R organisation in the IMT Advanced specification; but, because of market pressure and the significant advances that WiMAX, Evolved High Speed Packet Access, and LTE bring to the original 3G technologies, ITU-R later decided that LTE and the aforementioned technologies can be called 4G technologies. The LTE Advanced standard formally satisfies the ITU-R requirements for being considered IMT-Advanced. To differentiate LTE Advanced and WiMAX-Advanced from current 4G technologies, ITU has defined the latter as "True 4G". == Overview == LTE stands for Long Term Evolution and is a registered trademark owned by ETSI (European Telecommunications Standards Institute) for the wireless data communications technology and development of the GSM/UMTS standards. However, other nations and companies do play an active role in the LTE project. The goal of LTE was to increase the capacity and speed of wireless data networks using new DSP (digital signal processing) techniques and modulations that were developed around the turn of the millennium. A further goal was the redesign and simplification of the network architecture to an IP-based system with significantly reduced transfer latency compared with the 3G architecture. The LTE wireless interface is incompatible with 2G and 3G networks, so it must be operated on a separate radio spectrum. The idea of LTE was first proposed in 1998, with the use of the COFDM radio access technique to replace the CDMA and studying its Terrestrial use in the L band at 1428 MHz (TE) In 2004 by Japan's NTT Docomo, with studies on the standard officially commenced in 2005. In May 2007, the LTE/SAE Trial Initiative (LSTI) alliance was founded as a global collaboration between vendors and operators with the goal of verifying and promoting the new standard to ensure the global introduction of the technology as quickly as possible. The LTE standard was finalized in December 2008, and the first publicly available LTE service was launched by TeliaSonera in Oslo and Stockholm on December 14, 2009, as a data connection with a USB modem. The LTE services were launched by major North American carriers as well, with the Samsung SCH-r900 being the world's first LTE Mobile phone starting on September 21, 2010, and Samsung Galaxy Indulge being the world's first LTE smartphone starting on February 10, 2011, both offered by MetroPCS, and the HTC ThunderBolt offered by Verizon starting on March 17 being the second LTE smartphone to be sold commercially. In Canada, Rogers Wireless was the first to launch LTE network on July 7, 2011, offering the Sierra Wireless AirCard 313U USB mobile broadband modem, known as the "LTE Rocket stick" then followed closely by mobile devices from both HTC and Samsung. Initially, CDMA operators planned to upgrade to rival standards called UMB and WiMAX, but major CDMA operators (such as Verizon, Sprint and MetroPCS in the United States, Bell and Telus in Canada, au by KDDI in Japan, SK Telecom in South Korea and China Telecom/China Unicom in China) have announced instead they intend to migrate to LTE. The next version of LTE is LTE Advanced, which was standardized in March 2011. Services commenced in 2013. Additional evolution known as LTE Advanced Pro was approved in 2015. The LTE specification provides downlink peak rates of 300 Mbit/s, uplink peak rates of 75 Mbit/s, and QoS provisions permitting a transfer latency of less than 5 ms in the radio access network. LTE has the ability to manage fast-moving mobiles and supports multicast and broadcast streams. LTE supports scalable carrier bandwidths, from 1.4 MHz to 20 MHz and supports both frequency division duplexing (FDD) and time-division duplexing (TDD). The IP-based network architecture, called the Evolved Packet Core (EPC) designed to replace the GPRS Core Network, supports seamless handovers for both voice and data to cell towers with older network technology such as GSM, UMTS and CDMA2000. The simpler architecture results in lower operating costs (for example, each E-UTRA cell will support up to four times the data and voice capacity supported by HSPA). Because LTE frequencies and bands differ from country to country, only multi-band phones can use LTE in all countries where it is supported. == History == === 3GPP standard development timeline === In 2004, NTT Docomo of Japan proposes LTE as the international standard. In September 2006, Siemens Networks (today Nokia Networks) showed in collaboration with Nomor Research the first live emulation of an LTE network to the media and investors. As live applications, two users streaming an HDTV video in the downlink and playing an interactive game in the uplink have been demonstrated. In February 2007, Ericsson demonstrated for the first time in the world, LTE with bit rates up to 144 Mbit/s In September 2007, NTT Docomo demonstrated LTE data rates of 200 Mbit/s with power level below 100 mW during the test. In November 2007, Infineon presented the world's first RF transceiver named SMARTi LTE, supporting LTE functionality in a single-chip RF silicon processed in CMOS In early 2008, LTE test equipment began shipping from several vendors and at the Mobile World Congress 2008 in Barcelona, Ericsson demonstrated the world's first end-to-end mobile call enabled by LTE on a small handheld device. Motorola demonstrated an LTE RAN (Radio Access Network) standard compliant eNodeB and LTE chipset at the same event. At the February 2008 Mobile World Congress: Motorola demonstrated how LTE can accelerate the delivery of personal media experience with HD video demo streaming, HD video blogging, online gaming, and VoIP over LTE running a RAN standard-compliant LTE network & LTE chipset. Ericsson EMP (later ST-Ericsson) demonstrated the world's first end-to-end LTE call on handheld Ericsson demonstrated LTE FDD and TDD mode on the same base station platform. Freescale Semiconductor demonstrated streaming HD video with peak data rates of 96 Mbit/s downlink and 86 Mbit/s uplink. NXP Semiconductors (later part of ST-Ericsson) demonstrated a multi-mode LTE modem as the basis for a software-defined radio system for use in cellphones. picoChip and Mimoon demonstrated a base station reference design. This runs on a common hardware platform (multi-mode / software-defined radio) with their WiMAX architecture. In April 2008, Motorola demonstrated the first EV-DO to LTE hand-off handling over streaming a video from LTE to a commercial EV-DO network and back to LTE. In April 2008, LG Electronics and Nortel demonstrated LTE data rates of 50 Mbit/s while travelling at 110 km/h (68 mph). In November 2008, Motorola demonstrated industry first over-the-air LTE session in 700 MHz spectrum. Researchers at Nokia Siemens Networks and Heinrich Hertz Institut have demonstrated LTE with 100 Mbit/s Uplink transfer speeds. At the February 2009 Mobile World Congress: Infineon demonstrated a single-chip 65 nm CMOS RF transceiver providing 2G/3G/LTE functionality Launch of ng Connect program, a multi-industry consortium founded by Alcatel-Lucent to identify and develop wireless broadband applications. Motorola provided LTE drive tour on the streets of Barcelona to demonstrate LTE system performance in a real-life metropolitan RF environment In July 2009, Nujira demonstrated efficiencies of more than 60% for an 880 MHz LTE Power Amplifier In August 2009, Nortel and LG Electronics demonstrated the first successful handoff between CDMA and LTE networks in a standards-compliant manner In August 2009, Alcatel-Lucent receives FCC certification for LTE base stations for the 700 MHz spectrum band. In September 2009, Nokia Siemens Networks demonstrated the world's first LTE call on standards-compliant commercial software. In October 2009, Ericsson and Samsung demonstrated interoperability between the first ever commercial LTE device and the live network in

    Read more →
  • Polyfill (programming)

    Polyfill (programming)

    In software development, a polyfill is code that implements a new standard feature of a deployment environment within an old version of that environment that does not natively support the feature. Most often, it refers to JavaScript code that implements an HTML5 or CSS web standard, either an established standard (supported by some browsers) on older browsers, or a proposed standard (not supported by any browsers) on existing browsers. Polyfills are also used in PHP and Python. Polyfills allow web developers to use an API regardless of whether or not it is supported by a browser, and usually with minimal overhead. Typically they first check if a browser supports an API, and use it if available, otherwise using their own implementation. Polyfills themselves use other, more supported features, and thus different polyfills may be needed for different browsers. The term is also used as a verb: polyfilling is providing a polyfill for a feature. == Definition == The term is a neologism, coined by Remy Sharp, who required a word that meant "replicate an API using JavaScript (or Flash or whatever) if the browser doesn’t have it natively" while co-writing the book Introducing HTML5 in 2009. Formally, "a shim is a library that brings a new API to an older environment, using only the means of that environment." Polyfills exactly fit this definition; the term shim was also used for early polyfills. However, to Sharp shim connoted non-transparent APIs and workarounds, such as spacer GIFs for layout, sometimes known as shim.gif, and similar terms such as progressive enhancement and graceful degradation were not appropriate, so he invented a new term. The term is based on the multipurpose filling paste brand Polyfilla, a paste used to cover up cracks and holes in walls, and the meaning "fill in holes (in functionality) in many (poly-) ways." The word has since gained popularity, particularly due to its use by Paul Irish and in Modernizr documentation. The distinction that Sharp makes is: What makes a polyfill different from the techniques we have already, like a shim, is this: if you removed the polyfill script, your code would continue to work, without any changes required in spite of the polyfill being removed. This distinction is not drawn by other authors. At times various other distinctions are drawn between shims, polyfills, and fallbacks, but there are no generally accepted distinctions: most consider polyfills a form of shim. The term polyfiller is also occasionally found. == Examples == === core-js === core-js is one of the most popular JavaScript standard library polyfills. Includes polyfills for ECMAScript up to the latest version of the standard: promises, symbols, collections, iterators, typed arrays, many other features, ECMAScript proposals, some cross-platform WHATWG / W3C features and proposals like URL. You can load only required features or use it without global namespace pollution. It can be integrated with Babel, which allows it to automatically inject required core-js modules into your code. === html5shiv === In IE versions prior to 9, unknown HTML elements like

    and
  • Frictionless sharing

    Frictionless sharing

    Frictionless sharing refers to the transparent or automatic dissemination of user activity across social media platforms, typically without requiring explicit action from the user each time content is shared. The concept gained prominence in 2011 after Mark Zuckerberg announced a series of new features for Facebook at the F8 developers conference, framing the changes as enabling “real-time serendipity in a friction-less experience.” == History and concept == Before 2011, the term “frictionless sharing” was occasionally used in academic and technical contexts to describe sharing of resources with minimal effort, such as through social bookmarking or Creative Commons licensing to reduce barriers to reuse of research data. The concept took on a broader cultural meaning when Facebook introduced its Timeline interface and new “social apps” in 2011. These features enabled third-party applications to automatically publish user activity to the platform—effectively shifting sharing from a deliberate act to a passive process. For example, integrating music streaming service Spotify meant that any song a user listened to could automatically appear in a Facebook “Ticker,” allowing friends to see the activity and click through to play the song themselves. == Zuckerberg’s vision == Zuckerberg articulated a vision of a Web in which sharing occurs by default rather than by choice: “You read, you watch, you listen, you buy—and everyone you know will hear all about it on Facebook.” This “frictionless” model assumes ongoing consent after an initial opt-in. Once users connect an app to their profile, any future activity with that app may be automatically shared. This shift from intentional posting to ambient sharing represented a significant evolution in how personal data is distributed online. == Criticism and debate == Many commentators and users have raised concerns about frictionless sharing. While some criticism centers on online privacy, others focus on how automatic updates can flood news feeds and erode the social value of sharing. Critics argue that when sharing becomes automatic, it dilutes the personal curation that makes social media exchanges meaningful. According to Slate, this approach risks “killing taste,” because users typically choose to share only select content they find worth highlighting, rather than everything they consume. AL.com similarly observed that the frictionless model encourages over-sharing, overwhelming both users and their networks with minor or trivial activities. For example, integrating multiple platforms—such as Twitter, Foursquare, Pinterest, Spotify, and others—can create an incessant stream of updates that some users may find intrusive or irritating. This can lead to what critics describe as “narcissistic” or noisy timelines, potentially undermining the “social” nature of social media. == Business model and data implications == For Facebook, frictionless sharing offers clear business advantages. More frequent and detailed sharing provides valuable data that can be used to refine targeted advertising and personalize content delivery. The model also encourages users to spend more time on the platform, reinforcing its position as a central hub of online social activity. Other technology companies have experimented with similar approaches. Google has introduced forms of cross-platform integration that facilitate automatic activity sharing, though with a more explicit opt-in structure compared to Facebook. This approach has been described as “friction with consent,” allowing users to manually enable or disable integrations on a per-service basis.

    Read more →
  • Anderson's rule (computer science)

    Anderson's rule (computer science)

    In the field of computer security, Anderson's rule refers to a principle formulated by Ross J. Anderson: systems that handle sensitive personal information involve a trilemma of security, functionality, and scale, of which you can choose any two. A system that has information on many data subjects and to which many people require access is hard to secure unless its functionality is severely restricted. If it has rich functionality, you may have to restrict the number of people with access, or accept that some information will leak.

    Read more →
  • Radio network

    Radio network

    A radio network is a system that distributes radio signals to multiple receivers or enables two-way communication between stations and mobile units. Worldwide, radio networks include broadcast networks, such as BBC Radio in the United Kingdom and NPR in the United States, which transmit one-to-many signals for news, entertainment, and public information; two-way radio networks, used by police, fire services, taxicabs, and delivery fleets for operational communication; and cellular networks, such as Verizon, Vodafone, and China Mobile, which provide mobile telephony and data services using frequency or time division duplexing. While all rely on radio-frequency technology like transmitters, receivers, and antennas, their network architectures, protocols, and regulatory frameworks differ substantially across applications and regions. The two-way type of radio network shares many of the same technologies and components as the broadcast-type radio network but is generally set up with fixed broadcast points (transmitters) with co-located receivers and mobile receivers/transmitters or transceivers. In this way both the fixed and mobile radio units can communicate with each other over broad geographic regions ranging in size from small single cities to entire states/provinces or countries. There are many ways in which multiple fixed transmit/receive sites can be interconnected to achieve the range of coverage required by the jurisdiction or authority implementing the system: conventional wireless links in numerous frequency bands, fibre-optic links, or microwave links. In all of these cases the signals are typically backhauled to a central switch of some type where the radio message is processed and resent (repeated) to all transmitter sites where it is required to be heard. In contemporary two-way radio systems, a concept called trunking is commonly used to achieve better efficiency of radio spectrum use. It provides a very wide range of coverage, with no switching of channels required by the mobile radio user as it roams throughout the system coverage. Trunking of two-way radio is identical to the concept used for cellular phone systems where each fixed and mobile radio is specifically identified to the system controller and its operation is switched by the controller. == Broadcasting networks == The broadcast type of radio network is a network system which distributes radio programming to multiple stations simultaneously, or slightly delayed, for the purpose of extending total coverage beyond the limits of a single broadcast signal. The resulting expanded audience for radio programming or information essentially applies the benefits of mass-production to the broadcasting enterprise. A radio network has two sales departments, one to package and sell programs to radio stations, and one to sell the audience of those programs to advertisers. Most radio networks also produce much of their programming. Originally, radio networks owned some or all of the stations that broadcast the network's radio format programming. Presently however, there are many networks that do not own any stations and only produce and/or distribute programming. Similarly station ownership does not always indicate network affiliation. A company might own stations in several different markets and purchase programming from a variety of networks. Radio networks rose rapidly with the growth of regular broadcasting of radio to home listeners in the 1920s. This growth took various paths in different places. In Britain the BBC was developed with public funding, in the form of a broadcast receiver license, and a broadcasting monopoly in its early decades. In contrast, in the United States various competing commercial broadcasting networks arose funded by advertising revenue. In that instance, the same corporation that owned or operated the network often manufactured and marketed the listener's radio. Major technical challenges to be overcome when distributing programs over long distances are maintaining signal quality and managing the number of switching/relay points in the signal chain. Early on, programs were sent to remote stations (either owned or affiliated) by various methods, including leased telephone lines, pre-recorded gramophone records and audio tape. The world's first all-radio, non-wireline network was claimed to be the Rural Radio Network, a group of six upstate New York FM stations that began operation in June 1948. Terrestrial microwave relay, a technology later introduced to link stations, has been largely supplanted by coaxial cable, fiber, and satellite, which usually offer superior cost-benefit ratios. Many early radio networks evolved into television networks.

    Read more →
  • WebCL

    WebCL

    WebCL (Web Computing Language) is a JavaScript binding to OpenCL for heterogeneous parallel computing within any compatible web browser without the use of plug-ins, first announced in March 2011. It is developed on similar grounds as OpenCL and is considered as a browser version of the latter. Primarily, WebCL allows web applications to actualize speed with multi-core CPUs and GPUs. With the growing popularity of applications that need parallel processing like image editing, augmented reality applications and sophisticated gaming, it has become more important to improve the computational speed. With these background reasons, a non-profit Khronos Group designed and developed WebCL, which is a Javascript binding to OpenCL with a portable kernel programming, enabling parallel computing on web browsers, across a wide range of devices. In short, WebCL consists of two parts, one being Kernel programming, which runs on the processors (devices) and the other being JavaScript, which binds the web application to OpenCL. The completed and ratified specification for WebCL 1.0 was released on March 19, 2014. == Implementation == Currently, no browsers natively support WebCL. However, non-native add-ons are used to implement WebCL. For example, Nokia developed a WebCL extension. Mozilla does not plan to implement WebCL in favor of WebGL Compute Shaders, which were in turn scrapped in favor of WebGPU. Mozilla (Firefox) - hg.mozilla.org/projects/webcl/ === WebCL working draft === Samsung (WebKit) - github.com/SRA-SiliconValley/webkit-webcl (unavailable) Nokia (Firefox) - github.com/toaarnio/webcl-firefox (down since Nov 2014, Last Version for FF 34) Intel (Crosswalk) - www.crosswalk-project.org === Example C code === The basic unit of a parallel program is kernel. A kernel is any parallelizable task used to perform a specific job. More often functions can be realized as kernels. A program can be composed of one or more kernels. In order to realize a kernel, it is essential that a task is parallelizable. Data dependencies and order of execution play a vital role in producing efficient parallelized algorithms. A simple example can be thought of the case of loop unrolling performed by C compilers, where a statement like:can be unrolled into:Above statements can be parallelized and can be made to run simultaneously. A kernel follows a similar approach where only the snapshot of the ith iteration is captured inside kernel. Rewriting the above code using a kernel:Running a WebCL application involves the following steps: Allow access to devices and provide context Hand over the kernel to a device Cause the device to execute the kernel Retrieve results from the device Use the data inside JavaScript Further details about the same can be found at == Exceptions List == WebCL, being a JavaScript based implementation, doesn't return an error code when errors occur. Instead, it throws an exception such as OUT_OF_RESOURCES, OUT_OF_HOST_MEMORY, or the WebCL-specific WEBCL_IMPLEMENTATION_FAILURE. The exception object describes the machine-readable name and human-readable message describing the error. The syntax is as follows: From the code above, it can be observed that the message field can be a NULL value. Other exceptions include: INVALID_OPERATION – if the blocking form of this function is called from a WebCLCallback INVALID_VALUE – if eventWaitList is empty INVALID_CONTEXT – if events specified in eventWaitList do not belong to the same context INVALID_DEVICE_TYPE – if deviceType is given, but is not one of the valid enumerated values DEVICE_NOT_FOUND – if there is no WebCLDevice available that matches the given deviceType More information on exceptions can be found in the specs document. There is another exception that is raised upon trying to call an object that is ‘released’. On using the release method, the object doesn't get deleted permanently but it frees the resources associated with that object. In order to avoid this exception, releaseAll method can be used, which not only frees the resources but also deletes all the associated objects created. == Security == WebCL, being an open-ended software developed for web applications, has lots of scope for vulnerabilities in the design and development fields too. This forced the developers working on WebCL to give security the utmost importance. Few concerns that were addressed are: Out-of-bounds Memory Access: This occurs by accessing the memory locations, outside the allocated space. An attacker can rewrite or erase all the important data stored in those memory locations. Whenever there arises such a case, an error must be generated at the compile time, and zero must be returned at run-time, not letting the program override the memory. A project WebCL Validator, was initiated by the Khronos Group (developers) on handling this vulnerability. Memory Initialization: This is done to prevent the applications to access the memory locations of previous applications. WebCL ensures that this doesn't happen by initializing all the buffers, variables used to zero before it runs the current application. OpenCL 1.2 has an extension ‘cl_khr_initialize_memory’, which enables this. Denial of Service: The most common attack on web applications cannot be eliminated by WebCL or the browser. OpenCL can be provided with watchdog timers and pre-emptive multitasking, which can be used by WebCL in order to detect and terminate the contexts that are taking too long or consume lot of resources. There is an extension of OpenCL 1.2 ‘cl_khr_terminate_context’ like for the previous one, which enables to terminate the process that might cause a denial of service attack. == Related browser bugs == Bug 664147 - [WebCL] add openCL in gecko, Mozilla Bug 115457: [Meta] WebCL support for WebKit, WebKit Bugzilla

    Read more →