AI Avatar For Zoom Meetings

AI Avatar For Zoom Meetings — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • List of JavaScript libraries

    List of JavaScript libraries

    This is a list of notable JavaScript libraries. == Constraint programming == Cassowary (software) CHR.js == DOM (manipulation) oriented == Google Polymer Dojo Toolkit jQuery MooTools Prototype JavaScript Framework == Graphical/visualization (canvas, SVG, or WebGL related) == AnyChart Apache ECharts Babylon.js Chart.js Cytoscape D3.js Dojo Toolkit FusionCharts Google Charts JointJS p5.js Plotly.js Processing.js Raphaël RGraph SWFObject Teechart Three.js Velocity.js Verge3D Webix == GUI (Graphical user interface) and widget related == Angular (application platform) by Google AngularJS by Google Bootstrap Dojo Widgets Ext JS by Sencha Foundation by ZURB jQuery UI jQWidgets OpenUI5 by SAP Polymer (library) by Google qooxdoo React.js by Meta/Facebook Vue.js Webix WinJS Svelte === No longer actively developed === Glow Lively Kernel Script.aculo.us YUI Library == Pure JavaScript/Ajax == Google Closure Library JsPHP Microsoft's Ajax library MochiKit PDF.js Socket.IO Spry framework Underscore.js == Template systems == jQuery Mobile Mustache Jinja-JS Twig.js == Unit testing == Jasmine Mocha QUnit == Test automation == Playwright Cypress == Web-application related (MVC, MVVM) == Angular (application platform) by Google AngularJS by Google Backbone.js Echo Ember.js Enyo Express.js Ext JS Google Web Toolkit JsRender/JsViews Knockout Meteor Mojito MooTools Next.js Nuxt.js OpenUI5 by SAP Polymer (library) by Google Prototype JavaScript Framework qooxdoo React.js SproutCore svelte Vue.js == Other == Blockly Cannon.js MathJax Modernizr TensorFlow Brain.js

    Read more →
  • Military communications

    Military communications

    Military communications or military signals involve all aspects of communications, or conveyance of information, by armed forces. Examples from Jane's Military Communications include text, audio, facsimile, tactical ground-based communications, naval signalling, terrestrial microwave, tropospheric scatter, satellite communications systems and equipment, surveillance and signal analysis, security, direction finding and jamming. The most urgent purposes are to communicate information to commanders and orders from them. Military communications span from pre-history to the present. The earliest military communications were delivered by runners. Later, communications progressed to visual signals. For example, Naval ships would use flag signaling to communicate from ship to ship. These flags are a uniform set of easily identifiable nautical codes that would convey visual messages and codes between ships and from ship to shore. Then militaries discovered methods to use audible signaling to communicate with each other. This way of communicating was possible because of telegraphs. They are an electronic device that is used by a sender and when the sender presses on the telegraph key, they interrupt the current creating an audible pulse that is heard at the receiving station. The receiver then decodes the pulses to decode the messages. Since then, military communication has evolved and advanced much further. Today, there are many perspectives used to examine how troops around the world communicate. Anthony King states how Military sociologists have attempted to explain how military institutions develop and maintain high levels of social cohesion. == History == In past centuries communicating a message usually required someone to go to the destination, bringing the message. Thus, the term communication often implied the ability to transport people and supplies. A place under siege was one that lost communication in both senses. The association between transport and messaging declined in recent centuries. The first military communications involved the use of runners or the sending and receiving of simple signals (sometimes encoded to be unrecognizable). The first distinctive uses of military communications were called semaphore. Modern units specializing in these tactics are usually designated as signal corps. The Roman system of military communication (cursus publicus or cursus vehicularis) is an early example of this. Later, the terms signals and signaller became words referring to a highly-distinct military occupation dealing with general communications methods (similar to those in civil use) rather than with weapons. Present-day military forces of an informational society conduct intense and complicated communicating activities on a daily basis, using modern telecommunications and computing methods. Only a small portion of these activities are directly related to combat actions. Modern concepts of network-centric warfare (NCW) rely on network-oriented methods of communications and control to make existing forces more effective. == Military communications equipment == Drums, horns, flags, and riders on horseback were some of the early methods the military used to send messages over distances. The advent of distinctive signals led to the formation of the signal corps, a group specialized in the tactics of military communications. The signal corps evolved into a distinctive occupation where the signaller became a highly technical job dealing with all available communications methods including civil ones. In the middle 20th century radio equipment came to dominate the field. Many modern pieces of military communications equipment are built to both encrypt and decode transmissions and survive rough treatment in hostile climates. They use different frequencies to send signals to other radio stations to communicate. Radios have played a major role in military communication. Since they are capable of sending radio waves to transmit voice signals over long distances. This can be helpful for communication on the battlefield since it is a good way to send messages undetected over long distances. Radios are also very reliable because even in harsh weather conditions they are still able to help communicate among the soldiers. Militaries still use radios and continue to improve the technology because of their durability and reliability for military communication. Spelling alphabets such as the NATO phonetic alphabet are used to aid radio communications by reducing ambiguity between letters. Military communications – or "comms" – are activities, equipment, techniques, and tactics used by the military in some of the most hostile areas of the earth and in challenging environments such as battlefields, on land (compare radio in a box), underwater and also in air. Military comms include command, control and communications and intelligence and were known as the C3I model before computers were fully integrated. The U.S. Army expanded the model to C4I when it recognized the vital role played by automated computer equipment to send and receive large, bulky amounts of data. In the modern world, most nations attempt to minimize the risk of war caused by miscommunication or inadequate communication. As a result, military communication is intense and complicated and often motivates the development of advanced technology for remote systems such as satellites. Satellites have been improving and are being used more and more for communication. They are being made to have higher transmission capacity to help with their communication abilities. The military is upgrading satellites to be immune to interference during combat operations. This advancement will establish stable, high-quality information highways for long distance communication. Aircraft are also beneficial for communication, both crewed and uncrewed, as well as computers. Computers and their varied applications have revolutionized military comms. Although military communication is designed for warfare, it also supports intelligence-gathering and communication between adversaries, and thus sometimes prevents war. The six categories of military comms are: alert measurement systems cryptography military radio systems command and control signal corps network-centric warfare The alert measurement systems are various states of alertness or readiness for the armed forces used around the world during a state of war, act of terrorism or a military attack against a state. They are known by different acronyms, such as DEFCON, or defense readiness condition, used by the U.S. Armed Forces. Cryptography is the study of methods of converting messages to a form unreadable except to one who knows how to decrypt them. This ancient military comms art gained new importance with the rise of radio systems whose signals traveled far and were easily intercepted. Cryptographic software is also widely used in civilian commerce. == Commercial refile == In United States military communications systems, commercial refile refers to sending a military message via a commercial communications network. The message may come from a military network, such as a tape relay network, a point-to-point telegraph network, a radio-telegraph network, or the Defense Switched Network. Commercial refiling of a message will usually require a reformatting of the message, particularly the heading.

    Read more →
  • Digital entertainment

    Digital entertainment

    Digital entertainment Industry includes, but is not restricted to, any combination of the following industries (that themselves have a considerable degree of overlap): digital media new media video on demand video games interactive entertainment online gambling mobile entertainment social media streaming services "Digital entertainment", largely a hard to define marketing term, rests upon entertainment technology and ultimately on the enabling basic technologies computers, Internet/World Wide Web, digital rights management, multimedia and streaming media. Apart from pure entertainment, the term rests upon the observation that already in 2011 in the UK, for example, "nearly half of people’s waking hours are spent using media content and communications services" ("screen time"). Digital entertainment is inextricably connected with digital marketing. People who follow influencers on social media for entertainment will receive a fair share of advertising at the same time. Digital merchandise is distributed with every computer game and popup ads or similar are ubiquitous in the online (gaming) world.

    Read more →
  • Gnowit

    Gnowit

    Gnowit (pronounced "know it") is a Canadian software company that provides automated, near-real-time monitoring of legislative, regulatory, and political activity across Canada. Its platform aggregates and analyzes information from government publications, parliamentary debates, committee, and proceedings to provide searchable alerts and reports for organizations monitoring public policy and regulatory developments. The system uses natural-language processing and machine learning techniques to organize and filter large volumes of public information.; the company reports that new publication documents are captured and millions of items are added to its repository daily. == History, Founders and Leadership == Gnowit was co-founded in Ottawa in 2010 by Shahzad Khan and Mohammad Al-Azzouni; Khan serves as chief executive officer. Khan holds a PhD in Computer Science from the University of Cambridge, has more than two decades of experience in AI/ML and computational linguistics, and has authored or co-authored 37 peer-reviewed publications and five patents. Traditionally, companies performed this analysis manually; Gnowit has delivered efficiencies achieved through AI innovations. The company has participated in several Canadian startup and accelerator programs, including Carleton University's Lead To Win initiative, the University of Ottawa's Startup Garage, the Invest Ottawa incubator, and the League of Innovators' BOOST program. === Kubernetes validation (2019–2020) === As part of a Canada's Centre of Excellence in Next Generation Networks (CENGN) project, Gnowit validated a containerized version of its web-intelligence software on Kubernetes. Between 2019 and 2020, Gnowit participated in a project with Canada’s Centre of Excellence in Next Generation Networks (CENGN) to test and scale its platform using containerized infrastructure based on Kubernetes. The initiative focused on improving scalability and supporting the company’s transition from a monolithic software architecture to a cloud-native deployment model. == Products and services == Gnowit markets several modules for public-affairs, compliance, and market-intelligence teams. Legislative & Regulatory Monitoring (vAnalyst). vAnalyst is a monitoring platform that tracks legislative and regulatory activity across Canadian federal, provincial, and territorial jurisdictions. The system aggregates parliamentary debates, bills, committee proceedings, and regulatory publications and provides searchable alerts and reporting tools. The product monitors more than two million web sources to surface relevant items quickly. Parliamentary Live (vAnalyst). Monitors live video feeds from parliamentary sessions and committees with same-day transcripts, AI-generated summaries, witness summaries, and motion detection; municipal coverage is offered as an option. Gnowit can avail transcripts up to two weeks before official releases. These transcripts enable users to navigate and review lengthy parliamentary sittings and committee discussions through searchable text. Municipal Monitoring (vAnalyst). The platform also tracks council meetings, agendas, bylaws, and other municipal government publications from hundreds of Canadian municipalities. The platform aggregates these sources into a single searchable interface for reviewing local government decisions. Curation Edge (analyst service). Curation Edge is an add-on service in which expert analysts work and collaborate with clients to develop a tailored curation guide and deliver daily newsletters or briefs on legislation and media. These reports provide concise summaries, relevant links, and optional metadata, prioritizing key updates with additional context and analysis. The service is customizable, including branding and formatting for executive audiences, and is intended to reduce information overload, support decision-making, and streamline the synthesis and distribution of information. === Coverage and sources === Gnowit monitors sources span Canadian government materials across federal, provincial, and territorial jurisdictions Hansard transcripts (All Jurisdictions, including committees), order papers, committee transcripts, gazettes, bills, acts and regulations, consultations, regulatory-agency publications, and global news media as well as press releases and council-meeting materials from hundreds of municipalities. == Partnerships and support == Gnowit reports collaborations with Canadian academic and ecosystem partners, including: Algonquin College Carleton University McGill University University of Ottawa Université du Québec en Outaouais (UQO) Queen's University The company also participated in the accelerator program at Invest Ottawa and has received support from Canadian research and innovation programs, including: NRC Industrial Research Assistance Program (NRC-IRAP) Mitacs Ontario Centre of Innovation (OCI) (formerly OCE) Gnowit has also referenced membership in the Southern Ontario Smart Computing Innovation Platform (Government of Canada profile: FedDev Ontario – SOSCIP overview). == Technology == Gnowit develops technology intended to support timely decision-making by delivering updates from monitored web sources as they are published. The platform applies artificial intelligence (AI) and machine learning (ML) techniques to monitor, capture, clean, analyze, filter, and organize text, and to generate concise briefs. Its technical approach combines Boolean queries, shallow language processing techniques, and machine learning classifiers within a self-service interface. The company has described its longer-term development framework in relation to a belief–desire–intention (BDI) model of intelligent agents on the web. Gnowit and its founder are listed as inventors/assignees on patents concerning multi-document clustering, salient-content extraction, and sentiment analysis methods that are consistent with these features: US 9,600,470 – Method and system relating to re-labelling multi-document clusters (assignee: Whyz Technologies Ltd.). US 9,336,202 – Method and system relating to salient content extraction for information retrieval (assignee: Whyz Technologies Ltd.). CA 2,865,184 C – Method and system relating to re-labelling multi-document clusters. CA 2,865,186 C – Procédé et système concernant l'analyse de sentiment d'un contenu (sentiment analysis; French record). CA 2,865,187 C – Method and system relating to salient content extraction for information retrieval. == Research and community == In January 2025, Gnowit personnel contributed to regulatory NLP by co-authoring a peer-reviewed paper at the 1st Regulatory NLP Workshop (RegNLP 2025), co-located with COLING in Abu Dhabi. Titled Unifying Large Language Models and Knowledge Graphs for Efficient Regulatory Information Retrieval and Answer Generation, the work introduces PolicyInsight, a framework that joins a dynamic policy data model and knowledge graph with LLMs to monitor policy texts, detect changes, and support retrieval and answer generation; the author list includes Shahzad Khan (CEO, Gnowit Inc.). (ACL Anthology, aclweb.org). Similar information-retrieval technologies are widely used for competitive intelligence, policy monitoring, and media analysis. == White paper == Gnowit has published a practical guide, Automated Government Information Monitoring, which outlines how GR and regulatory teams can design a monitoring and briefing workflow and describes Gnowit's automation features and export options (PDF, email, dashboards, CSV/JSON/XML/API).

    Read more →
  • Bright Computing

    Bright Computing

    Bright Computing, Inc. was a developer of software for deploying and managing high-performance (HPC) clusters, Kubernetes clusters, and OpenStack private clouds in on-premises data centers as well as in the public cloud. In 2022, it was acquired by Nvidia. == History == Bright Computing was founded by Matthijs van Leeuwen in 2009, who spun the company out of ClusterVision, which he had co-founded with Alex Ninaber and Arijan Sauer. Alex and Matthijs had worked together at UK’s Compusys, which was one of the first companies to commercially build HPC clusters. They left Compusys in 2002 to start ClusterVision in the Netherlands, after determining there was a growing market for building and managing supercomputer clusters using off-the-shelf hardware components and open source software, tied together with their own customized scripts. ClusterVision also provided delivery and installation support services for HPC clusters at universities and government entities. In 2004, Martijn de Vries joined ClusterVision and began development of cluster management software. The software was made available to customers in 2008, under the name ClusterVisionOS v4. In 2009, Bright Computing was spun out of ClusterVision. ClusterVisionOS was renamed Bright Cluster Manager, and van Leeuwen was named Bright Computing’s CEO. In February 2016, Bright appointed Bill Wagner as chief executive officer. Matthijs van Leeuwen became chief strategy officer, and then left the company and board of directors in 2018. In January 2022 Bright was acquired by Nvidia. Nvidia cited using Bright's Amsterdam facility as a development center. The acquisition occurred after several layoffs under Bill Wagner. == Customers == Early customers included Boeing, Sandia National Laboratories, Virginia Tech, Hewlett Packard, NSA, and Drexel University. Many early customers were introduced through resellers, including SICORP, Cray, Dell, and Advanced HPC. As of 2019, the company had more than 700 customers, including more than fifty Fortune 500 Companies. == Products and services == Bright Cluster Manager for HPC lets customers deploy and manage complete clusters. It provides management for the hardware, the operating system, the HPC software, and users. In 2014, the company announced Bright OpenStack, software to deploy, provision, and manage OpenStack-based private cloud infrastructures. In 2016, Bright started bundling several machine learning frameworks and associated tools and libraries with the product, to make it very easy to get machine learning workload up and running on a Bright cluster. In December 2018, version 8.2 was released, which introduced support for the ARM64 architecture, edge capabilities to build clusters spread out over many different geographical locations, improved workload accounting & reporting features, as well as many improvements to Bright's integration with Kubernetes. Bright Cluster Manager software was frequently sold through original equipment manufacturer (OEM) resellers, including Dell and HPE. In version 10, Bright Cluster Manager was merged into the NVIDIA Base Command Manager. Bright Computing was covered by Software Magazine and Yahoo! Finance, among other publications. == Awards == In 2016, Bright Computing was awarded a €1.5M Horizon 2020 SME Instrument grant from the European Commission. Bright Computing was one of only 33 grant recipients from 960 submitted proposals. In its category only 5 out of 260 grants were awarded. 2015 HPCwire Editor’s Choice Award for “Best HPC Cluster Solution or Technology" Main Software 50 “Highest Growth” award winner, 2013 Deloitte Technology Fast50 “Rising Star 2013” award winner Bio-IT World Conference & Expo ‘13, Boston, MA, winner of “IT Hardware & Infrastructure” category of the “Best of Show Award” program Red Herring Top 100 Global Award, 2013

    Read more →
  • Digital scrapbooking

    Digital scrapbooking

    Digital scrapbooking is the term for the creation of a new 2D artwork by re-combining various graphic elements. It is a form of scrapbooking that is done using a personal computer, digital or scanned photos and computer graphics software. It is a relatively new form of the traditional print scrapbooking. Recent advances in technology now enable the craft to be pursued on tablets and smart devices utilising imaging apps as well as hobby specific apps, some of which have been created specifically by brands for use with their own image products. Digital scrapbooking kits are available to purchase and download at many websites that specialize in the craft. Kits contain graphics and word-art and are usually themed and color-coordinated. They usually consist of a mix of background images and "cut out" [extracted] images containing alpha channels. Once a kit has been downloaded to the computer or device, it can then be used over and over again to make new scrapbook pages (scrapbook layouts) within the software program that one chooses to use, often in combination with the users's own family photographs, scanned keepsakes and other unique personal elements scanned on a flatbed scanner. Scanning is usually done at 300dpi, to make the resulting images suitable for print. == Licensing and Copyright == Kits are sometimes licensed differently from other forms of traditional royalty-free stock images that may be purchased per-item or in sets at online stock photography sites. Some kit packs will be wholly royalty-free, but some kit makers may restrict usage to non-commercial work only. Some may specifically forbid the use of their work in projects for commercial gain, for example greetings cards and gift tags that may be made with their kits. Licensing often varies from kit to kit, even from the same maker. Some kits include derivative works of public domain material. In contrast to stock, creators of digital scrapbooking kits often require a credit or byline to indicate that their image elements have been used in a new creation. == Uses == Some artistic individuals combine digital scrapbooking with traditional scrapbooking to create what's known as hybrid scrapbooking projects. Hybrid scrapbooking involves creating layouts on the computer using digital supplies that will then be printed and combined with traditional supplies such as buttons, ribbons and other elements. Conversely, a hybrid scrapbook project may also be created using traditional paper supplies and augmented with digital elements that have been printed and cut out specifically for use on the project. Journaling may be done within the software programs to accompany images and to create digital storybooks, or scrapbooks, which are then published in photo books via various popular print-on-demand services, printed and added to traditional scrapbooks, burned to CDs or posted on the Web. Digital Scrapbooking may also be done online by uploading photos to a specialist scrapbooking website and utilising their custom built platforms and decorative image elements to complete the projects for print to finished products, for example photo books and holiday greeting cards. == Market Size == The traditional scrapbooking market appeared to decline somewhat in the USA since 2010, probably due to the 2008 financial crisis, and the digital scrapbooking market (being potentially a much cheaper form of scrapbooking) may have increased accordingly. Both markets currently appear to have recovered lost ground and expanded since the beginning of the COVID-19 pandemic as many people sought to productively fill their time during lockdowns, quarantines and self-isolation / stay at home directions. == Digital scrapbooking software == The main software programs that are typically used are Adobe Photoshop, Adobe Photoshop Elements, paint.net (freeware), Filter Forge, Corel Paintshop Pro, and GIMP. Additionally Adobe offer the Photoshop iOS product using the same code base as the desktop version to drive the app version. == Digital scrapbooking supplies == Digital scrapbooking supplies are downloaded from the Internet and then stored on a computer or external hardrive, DVD or CD media, SD cards, or in the cloud, to be used as needed. Both paid and free digital scrapbooking supplies available from numerous designers on their blogs or in e-commerce stores either as solo designers or as part of a wide cohort of designers working cooperatively in large full service e-commerce websites. Usually designed at 300ppi image resolution, digital scrapbooking product offerings and supplies often include: Full coordinated kits containing digital background “papers”, decorative alphabets, and diverse embellishments generally containing a mixture of .JPG and .PNG files; "Quick pages", flattened files containing a completed page layout with transparent photo windows in .PNG file format; Digital templates, fully layered layouts i.e. pages that have had the composition pre-designed ready for use in an imaging program or app, fully customizable for color schemes, kit choices, photographs and other embellishments, generally supplied in either .PSD or .TIF file format; Hybrid “quick pages”, i.e. layouts that are both fully designed and fully layered for customization, generally supplied in either .PSD or .TIF file format; Adobe Photoshop actions, brushes, custom shapes, paths and styles, saved in their respective native Photoshop file formats; and Corel PaintShop Pro equivalent tools.

    Read more →
  • Daylight Computer Co.

    Daylight Computer Co.

    Daylight Computer Co. is a Public Benefit Company that designs and manufactures devices that do not emit blue light or flicker. Anjan Katta, the company's founder and CEO, stated that he started the company to reduce his personal eyestrain and the distraction that came with conventional devices. The first device that the company released is the Daylight DC-1, a tablet using a monochrome transflective liquid-crystal display designed for outdoor use, while also being usable indoors with an amber backlight. The company's goal is to create a "healthy computer." == History == In June 2018, Anjan Katta began the process of designing a device that did not emit blue light or flicker. He was inspired by the Kindle stating that he wanted to create a device that was, "an analog object that happens to have digital magical capabilities.” By 2020, he created his first scientific prototype and created the first proof-of-concept prototype in 2021. In the early research and development stages of the device, Katta had spent $300,000 of his own money. Eventually, Katta obtained a $12 million investment from current and former executives of companies such as Oculus, Pinterest, and Dropbox. In 2024, the company held a launch party at the Conservatory of Flowers in Golden Gate Park for the Daylight DC1, the company's first device. The event had roughly 200 attendees. Later that year, Daylight sold out its first run of 5,000 devices. The Daylight DC1 is a 1.2 pound tablet that runs its own operating system, SolOS, based on Android 13. It has a refresh rate of 60 Hz, fast enough to process video. In 2025, the product was demonstrated by Danny Jones on the Joe Rogan Experience. The company has been described by outlets such as Wired and VentureBeat as a "returning computing to hippie ideals" and being a product for "techno-hippies." The company is headquartered in San Francisco, California.

    Read more →
  • Zero-overhead looping

    Zero-overhead looping

    In computer architecture, zero-overhead looping is a hardware feature found in some processors that enables loops to execute without the performance cost of traditional loop control instructions. Instead of software managing loop iterations, the processor's hardware handles repetition automatically, saving clock cycles and improving efficiency. This technique is commonly employed in digital signal processors (DSPs) and certain complex instruction set computer (CISC) architectures. == Background == In many instruction sets, a loop must be implemented by using instructions to increment or decrement a counter, check whether the end of the loop has been reached, and if not jump to the beginning of the loop so it can be repeated. Although this typically only represents around 3–16 bytes of space for each loop, even that small amount could be significant depending on the size of the CPU caches. More significant is that those instructions each take time to execute, time which is not spent doing useful work. The overhead of such a loop is apparent compared to a completely unrolled loop, in which the body of the loop is duplicated exactly as many times as it will execute. In that case, no space or execution time is wasted on instructions to repeat the body of the loop. However, the duplication caused by loop unrolling can significantly increase code size, and the larger size can even impact execution time due to cache misses. (For this reason, it's common to only partially unroll loops, such as transforming it into a loop which performs the work of four iterations in one step before repeating. This balances the advantages of unrolling with the overhead of repeating the loop.) Moreover, completely unrolling a loop is only possible for a limited number of loops: those whose number of iterations is known at compile time. For example, the following C code could be compiled and optimized into the following x86 assembly code: == Implementation == Processors with zero-overhead looping have machine instructions and registers to automatically repeat one or more instructions. Depending on the instructions available, these may only be suitable for count-controlled loops ("for loops") in which the number of iterations can be calculated in advance, or only for condition-controlled loops ("while loops") such as operations on null-terminated strings. === Examples === ==== PIC ==== In the PIC instruction set, the REPEAT and DO instructions implement zero-overhead loops. REPEAT only repeats a single instruction, while DO repeats a specified number of following instructions. ==== Blackfin ==== Blackfin offers two zero-overhead loops. The loops can be nested; if both hardware loops are configured with the same "loop end" address, loop 1 will behave as the inner loop and repeat, and loop 0 will behave as the outer loop and repeat only if loop 1 would not repeat. Loops are controlled using the LTx and LBx registers (x either 0 to 1) to set the top and bottom of the loop — that is, the first and last instructions to be executed, which can be the same for a loop with only one instruction — and LCx for the loop count. The loop repeats if LCx is nonzero at the end of the loop, in which case LCx is decremented. The loop registers can be set manually, but this would typically consume 6 bytes to load the registers, and 8–16 bytes to set up the values to be loaded. More common is to use the loop setup instruction (represented in assembly as either LOOP with pseudo-instruction LOOP_BEGIN and LOOP_END, or in a single line as LSETUP), which optionally initializes LCx and sets LTx and LBx to the desired values. This only requires 4–6 bytes, but can only set LTx and LBx within a limited range relative to where the loop setup instruction is located. ==== x86 ==== The x86 assembly language REP prefixes implement zero-overhead loops for a few instructions (namely MOVS/STOS/CMPS/LODS/SCAS). Depending on the prefix and the instruction, the instruction will be repeated a number of times with (E)CX holding the repeat count, or until a match (or non-match) is found with AL/AX/EAX or with DS:[(E)SI]. This can be used to implement some types of searches and operations on null-terminated strings.

    Read more →
  • Oracle Cloud

    Oracle Cloud

    Oracle Cloud is a cloud computing service offered by Oracle Corporation providing servers, storage, network, applications and services through a global network of Oracle Corporation managed data centers. The company allows these services to be provisioned on demand over the Internet. Oracle Cloud provides infrastructure as a service (IaaS), platform as a service (PaaS), software as a service (SaaS), and data as a service (DaaS). These services are used to build, deploy, integrate, and extend applications in the cloud. This platform supports numerous open standards (SQL, HTML5, REST, etc.), open-source applications (Kubernetes, Spark, Hadoop, Kafka, MySQL, Terraform, etc.), and a variety of programming languages, databases, tools, and frameworks including Oracle-specific, open source, and third-party software and systems. == Services == === Infrastructure as a Service (IaaS) and Platform as a Service (PaaS) === Oracle's cloud infrastructure was made generally available (GA) on October 20, 2016 under the name "Oracle Bare Metal Cloud Services". Oracle Bare Metal Cloud Services was rebranded as Oracle Cloud Infrastructure in 2018 and dubbed Oracle's "Generation 2 Cloud" at Oracle OpenWorld 2018. Oracle Cloud Infrastructure offerings include the following services: Compute: The company provides Virtual Machine Instances to provide different shapes (VM sizes) catering to different types of workloads and performance characteristics. They also provide on-demand Bare metal servers and Bare metal GPU servers, without a hypervisor. In 2016, Oracle Cloud Infrastructure launched with bare metal instances with Intel processors. These first bare metal instances offered were powered by Intel servers. In 2018, Oracle Cloud added bare metal instances powered by AMD processors, followed by Ampere Cloud-native processors in 2021. In 2021, Oracle also released its first VM-based compute instances based on Arm processors. Storage: The platform provides block volumes, file storage, object storage, and archive storage for database, analytics, content, and other applications across common protocols and APIs. Networking: This cloud platform provides network with fully configurable IP addresses, subnets, routing, and firewalls to support new or existing private networks with end-to-end security. Governance: For auditing, identity and access management, the platform has data integrity checks, traceability, and access management features. Database Management / Data Management: Oracle offers a data management platform for database workloads as well as hyper-scale big data and streaming workloads including OLTP, data warehousing, Spark, machine learning, text search, image analytics, data catalog, and deep learning. The platform allows Oracle, MySQL, and NoSQL databases to be deployed on demand as managed cloud services. Oracle Databases uniquely offer the Oracle Autonomous Database (optimized for data warehouse, transaction processing, or JSON), the Exadata shape, as well as Real Application Clusters (RAC). Load Balancing: The cloud platform offers load balancing capability to automatically route traffic across fault domains and availability domains for high availability and fault-tolerance for hosted applications. Edge Services: These services can monitor the path between users and resources and adapt to changes and outages. They include Domain Name System (DNS) services from Oracle's acquisition of Dyn. FastConnect: The cloud platform provides private connectivity across on-premises and cloud networks through providers like Equinix, AT&T, and Colt. Application Development: For application development, the company's cloud offers an open, standards-based application development platform to build, deploy, and manage API-first, mobile-first cloud applications. This platform supports container-native, cloud-native, and low code development. This platform also provides a DevOps platform for CI/CD, diagnostics for Java applications, and integration with SaaS and on-prem applications. Services include Java, mobile, digital assistants (evolution from chatbots), messaging, application container cloud, developer cloud, visual builder, API catalog, AI platform, DataScience.com (Oracle acquired) and blockchain. Integration: This is a platform offering with adapters to integrate on-premise and cloud applications. Capabilities include data integration and replication, API management, integration analytics, along with data migration and integration. They offer services such as data integration platform cloud, data integrator cloud service, GoldenGate cloud service, integration cloud, process cloud service, API platform cloud service, apiary cloud service, and SOA cloud service. Business Analytics: The company provides this business analytics platform which can analyze and generate insights from data across various applications, data warehouses, and data lakes. The services offered include analytics cloud, business intelligence, big data discovery, big data preparation, data visualization, and essbase. Security: The Oracle Cloud Platform provides identity and security applications for providing secure access and monitoring of hybrid cloud environment and addressing IT governance and compliance requirements. This platform delivers an identity SOC (Security Operations Center) through a combined offering of SIEM, UEBA, CASB, and IDaaS. The services offered include Identity Cloud Service and CASB Cloud Service. Management: The platform provides an integrated monitoring, management, and analytics platform. This platform also uses machine learning and big data on the operational data set. The platform is used to improve IT stability, prevent application outages, improve DevOps, and harden security. Services offered include Application Performance Monitoring, Infrastructure Monitoring, Log Analytics, Orchestration, IT Analytics, Configuration and Compliance, Security Monitoring, and Analytics. Content and Experience: This is a platform for content, website, and workflow management. This service is used to provide content collaboration and web presence. This tool comes integrated with Oracle on-premise and SaaS services. The services offered are Content and Experience Cloud, WebCenter Portal Cloud, and DIVA Cloud. In 2016, Oracle acquired Dyn, an internet infrastructure company. On May 16, 2018 Oracle announced that it had acquired DataScience.com, a privately held cloud workspace platform for data science projects and workloads. In April 2020, Oracle became the cloud infrastructure provider for Zoom, an online and video meeting platform. The same month, Nissan announced its migration to Oracle Cloud for its high-performance computing (HPC) workloads used for simulating the structural impacts of a car design. Xerox announced a partnership with Oracle Cloud in 2021, where Xerox will use Oracle's cloud-computing capabilities within its business incubator. === Software as a Service (SaaS) === Oracle provides SaaS applications also known as Oracle Cloud Applications. These applications are offered across a variety of products, industrial sectors with various deployment options to adhere to compliance standards. The below list mentions Oracle Cloud Applications provided by Oracle Corporation. Customer Experience (CX) Human Capital Management (HCM) Enterprise Resource Planning (ERP) Supply Chain Management (SCM) Enterprise Performance Management (EPM) Internet of Things Applications (IoT) SaaS Analytics Data Industry Solutions (Communications, Financial Services, Consumer Goods, High Tech and Manufacturing, Higher Education, Hospitality, Utilities) Deployment (adhering to standards for sectors such as Financial Services, Retail Services, Public Sector, Defense) Block-Chain Cloud Service (in partnership with SAP, IBM and Microsoft) Blockchain Applications On July 28, 2016 Oracle bought NetSuite, the very first cloud company, for $9.3 billion. === Data as a Service (DaaS) === This platform is known as the Oracle Data Cloud. This platform aggregates and analyzes consumer data powered by Oracle ID Graph across channels and devices to create cross-channel consumer understanding. == Deployment models == Oracle Cloud is available in 44 regions as of July 2023, including North America, South America, UK, European Union, Middle East, Africa, India, Australia, Korea, and Japan. Oracle Cloud is available as a public cloud (Oracle-managed regions); to selected government agencies as an Oracle-managed government cloud in the United States (with FedRAMP High and DISA SRG IL5 compliance) and United Kingdom; and as a "private cloud" or "hybrid cloud" as an Oracle-managed database-only service or full-service dedicated region - what Oracle calls "Cloud at Customer". == Architecture == Oracle's public and government cloud is offered through a global network of Oracle-managed data centers, connected by an Oracle-managed backbone network. Oracle's Exadata Cloud at Customer leverages this network for contr

    Read more →
  • Audience capture

    Audience capture

    Audience capture is the phenomenon where an influencer is affected by their audience, catering to it with what they believe it wants to hear or is willing to pay for. This creates a positive feedback loop, which can lead the influencer to express more extreme views and behaviors. A famous example of audience capture can be found in the story of the online influencer Nicholas Perry, known as Nikocado Avocado. Perry started off on YouTube with videos of himself playing the violin and supporting veganism. He then shifted to videos of himself eating known as mukbang. Audience capture led him to more and more extreme eating leading him in turn to obesity and poor health. The effect can cause ideological media creators to become more politically radical, based on the feedback of their audience.

    Read more →
  • G7 Rapid Response Mechanism

    G7 Rapid Response Mechanism

    The G7 Rapid Response Mechanism (RRM) is an initiative introduced in the "Charlevoix Commitment on Defending Democracy from Foreign Threats", issued by the leaders of the Group of Seven (G7) countries—United States, Canada, Japan, United Kingdom, France, Germany and Italy—on June 9, 2018, during their summit in Charlevoix, Quebec. The RRM's mandate is to strengthen the coordination of G7 member countries, as well as "to identify and respond to diverse and evolving threats to our democracies, including through sharing information and analysis, and identifying opportunities for coordinated response" The G7 is an informal international intergovernmental economic organization that meets annually, whose members represent the seven wealthiest advanced economies in the world, as measured by the International Monetary Fund (IMF). == Constituents == The following countries and organisations are members and observers (associate members) of the G7 Rapid Response Mechanism: Australia Canada France Germany Italy Japan Netherlands New Zealand Poland Sweden United Kingdom United States European Union North Atlantic Treaty Organization == Mandate == The RRM was mandated to "strengthen coordination to prevent, thwart and respond to malign and evolving threats to G7 democracies." It "will share information and threat analysis related to various threats to democracy, and is an established mechanism to identify opportunities for coordinated response." According to the Institute for Research on Public Policy's Policy Options magazine, the "RRM initiative seeks to strengthen the leading democracies' coordination to identify and respond to diverse and evolving threats…including through sharing information and analysis, and identifying opportunities for a coordinated response." == Administration == The RRM initiative is led by Canada through Global Affairs Canada's Centre for International Digital Policy. Tara Denham, Director of the Centre for International Digital Policy at Global Affairs Canada, directed the team responsible for setting up the RRM Coordination Unit. Global Affairs Canada—the Department of Foreign Affairs, Trade and Development—is the federal Canadian ministry responsible for diplomatic and consular relations, international trade, and international development and humanitarian assistance. The Centre for International Digital Policy includes the Digital Inclusion Lab and the RRM. Denham is also the RRM's Canadian Focal Point. At a briefing on "the security and intelligence threats to elections" of the House of Commons Standing Committee on Access to Information, Privacy and Ethics, the chair Bob Zimmer (CPC), said that the 2019 general election "may be different" from past elections in Canada. as the "tools that were used to strengthen civic engagement are being used to undermine, disrupt and destabilize democracy." "Democracies around the world have entered a new era—an era of heightened threat and heightened vigilance—and 2019 will see a number of countries brace for volleys of attempted disruption: India, Australia, Ukraine, Switzerland, Belgium, the EU and, of course, Canada. Evidence has confirmed that the most recent Canadian general election, in 2015, was unencumbered by interference, although there were some relatively primitive attempts to disrupt, misinform and divide. These efforts were few in number and uncoordinated, and had no visible impact on the voter, either online or in line." Zimmer described the initiative's three pillars. "enhancing citizen preparedness" through the "digital citizen initiative" "improving organizational readiness" with national security and intelligence agencies supporting Elections Canada "ensure a comprehensive understanding of and response to any threats to Canada's democratic process." by establishing the Security and Intelligence Threats to Elections Task Force (SITE) which works as a team with the Communications Security Establishment (CSE), the Canadian Security Intelligence Service (CSIS), the Royal Canadian Mounted Police (RCMP), as well as Global Affairs Canada Zimmer said that as part of the third pillar, "We have activated the G7 rapid response mechanism, announced at the G7 leaders' summit in Charlevoix, to strengthen coordination among our G7 allies and to ensure that there is international collaboration and coordination in responding to foreign threats to democracy." == Background == === Charlevoix summit === The G7 met from June 8 to 9, 2018 during their summit at the Manoir Richelieu in Charlevoix, in La Malbaie, Quebec. The Charlevoix Summit was the 44th G7 summit. The group issued eight "Commitments" at the summit. They included: Commitment on Defending Democracy from Foreign Threats Commitment on Equality and Economic Growth Commitment to End Sexual and Gender-Based Violence, Abuse and Harassment in Digital Contexts Declaration on Quality Education for Girls, Adolescent Girls and Women in Developing Countries Commitment on Innovative Financing for Development. Prime Minister Justin Trudeau announced five themes for Canada's G7 presidency which began in January 2018. === Defending Democracy from Foreign Threats === "We commit to take concerted action in responding to foreign actors who seek to undermine our democratic societies and institutions, our electoral processes, our sovereignty and our security as outlined in the Charlevoix Commitment on Defending Democracy from Foreign Threats. We recognize that such threats, particularly those originating from state actors, are not just threats to G7 nations, but to international peace and security and the rules-based international order. We call on others to join us in addressing these growing threats by increasing the resilience and security of our institutions, economies and societies, and by taking concerted action to identify and hold to account those who would do us harm." They committed to "cooperate in defending democracies from foreign threats and establish a response mechanism for that purpose". "Democracy and the rules-based international order are increasingly being challenged by authoritarianism and the defiance of international norms. In particular, foreign actors seek to undermine our democratic societies and institutions, our electoral processes, our sovereignty and our security. These malicious, multi-faceted and ever-evolving tactics constitute a serious strategic threat which we commit to confront together, working with other governments that share our democratic values." The Charlevoix Commitment states that "foreign actors seek to undermine our democratic societies and institutions, our electoral processes, our sovereignty and our security. These malicious, multi-faceted and ever-evolving tactics constitute a serious strategic threat which we commit to confront together, working together with other governments that share our democratic values." The Charlevoix Summit resolved to "establish a G7 Rapid Response Mechanism to strengthen our coordination to identify and respond to diverse and evolving threats to our democracies, including through sharing information and analysis, and identifying opportunities for coordinated response." == Monitored elections == === 2019 European Parliament election === RRM Canada's comprehensive report on the 2019 European Parliament election analyzed open data "related to foreign interference during and leading up to the 2019 European Union Parliamentary Elections, May 23–26, 2019". RRM Canada did not find "significant evidence of state-based foreign interference, or any large-scale, organized and coordinated efforts by non-state actors". They did find that "national or international non-state actors" used tactics based on those used by the Russian sponsored Internet Research Agency (IRA) in previous elections, "such as the 2016 U.S. Elections". For example, blogs, webpages, and social media accounts on Twitter, Facebook and Reddit "were used to spread divisive and false information to damage and negatively impact social cohesion and trust in democratic processes and institutions" in coordinated networks of Facebook groups. === 2019 Alberta general election === RRM Canada's analyz report on the 2019 Alberta general election was intended to "identify any emerging tactics in foreign interference and draw lessons learned for the Canadian general elections scheduled to take place in October 2019." No foreign activity was detected, although the data revealed ""suspicious account creation pattern that is indicative of troll or bot activity". They found "automated inauthentic behaviour and trolling activities" but concluded that they were "very likely domestic". The data showed "suspicious account creation pattern that is indicative of troll or bot activity", and "spikes in account creation" which suggested the "presence of accounts developed for a specific purpose." The accounts were very likely domestic and were "mainly comprised of supporters of the United Conservative Party (UCP)." A seco

    Read more →
  • Virtual DOM

    Virtual DOM

    A virtual DOM is a lightweight JavaScript representation of the Document Object Model (DOM) used in declarative web frameworks such as React, Vue.js, and Elm. Since generating a virtual DOM is relatively fast, any given framework is free to rerender the virtual DOM as many times as needed relatively cheaply. The framework can then find the differences between the previous virtual DOM and the current one (diffing), and only makes the necessary changes to the actual DOM (reconciliation). While technically slower than using just vanilla JavaScript, the pattern makes it much easier to write websites with a lot of dynamic content, since markup is directly coupled with state. Similar techniques include Ember.js' Glimmer and Angular's incremental DOM. == History == The JavaScript DOM API has historically been inconsistent across browsers, clunky to use, and difficult to scale for large projects. While libraries like jQuery aimed to improve the overall consistency and ergonomics of interacting with HTML, it too was prone to repetitive code that didn't describe the nature of the changes being made well and decoupled logic from markup. The release of AngularJS in 2010 provided a major paradigm shift in the interaction between JavaScript and HTML with the idea of dirty checking. Instead of imperatively declaring and destroying event listeners and modifying individual DOM nodes, changes in variables were tracked and sections of the DOM were invalidated and rerendered when a variable in their scope changed. This digest cycle provided a framework to write more declarative code that coupled logic and markup in a more logical way. While AngularJS aimed to provide a more declarative experience, it still required data to be explicitly bound to and watched by the DOM, and performance concerns were cited over the expensive process of dirty checking hundreds of variables. To alleviate these issues, React was the first major library to adopt a virtual DOM in 2013, which removed both the performance bottlenecks (since diffing and reconciling the DOM was relatively cheap) and the difficulty of binding data (since components were effectively just objects). Other benefits of a virtual DOM included improved security since XSS was effectively impossible and better extensibility since a component's state was entirely encapsulated. Its release also came with the advent of JSX, which further coupled HTML and JavaScript with an XML-like syntax extension. Following React's success, many other web frameworks copied the general idea of an ideal DOM representation in memory, such as Vue.js in 2014, which used a template compiler instead of JSX and had fine-grained reactivity built as part of the framework. In recent times, the virtual DOM has been criticized for being slow due to the additional time required for diffing and reconciling DOM nodes. This has led to the development of frameworks without a virtual DOM, such as Svelte, and frameworks that edit the DOM in-place such as Angular 2. == Implementations == === React === React pioneered the use of a virtual DOM to make components declaratively. Virtual DOM nodes are constructed using the createElement() function, but are often transpiled from JSX to make writing components more ergonomic. In class-based React, virtual DOM nodes are returned from the render() function, while in functional hook-based components, the return value of the function itself serves as the page markup. === Vue.js === Vue.js uses a virtual DOM to handle state changes, but is usually not directly interacted with; instead, a compiler is used to transform HTML templates into virtual DOM nodes as an implementation detail. While Vue supports writing JSX and custom render functions, it's more typical to use the template compiler since a build step isn't required that way. === Svelte === Svelte does not have a virtual DOM, with its creator Rich Harris calling the virtual DOM "pure overhead". Instead of diffing and reconciling DOM nodes at runtime, Svelte uses compile-time reactivity to analyze markup and generate JavaScript code that directly manipulates the DOM, drastically increasing performance.

    Read more →
  • Realization (linguistics)

    Realization (linguistics)

    In linguistics, realization is the process by which some kind of surface representation is derived from its underlying representation; that is, the way in which some abstract object of linguistic analysis comes to be produced in actual language. Phonemes are often said to be realized by speech sounds. The different sounds that can realize a particular phoneme are called its allophones. Realization is also a subtask of natural language generation, which involves creating an actual text in a human language (English, French, etc.) from a syntactic representation. There are a number of software packages available for realization, most of which have been developed by academic research groups in NLG. The remainder of this article concerns realization of this kind. == Example == For example, the following Java code causes the simplenlg system [2] to print out the text The women do not smoke.: In this example, the computer program has specified the linguistic constituents of the sentence (verb, subject), and also linguistic features (plural subject, negated), and from this information the realiser has constructed the actual sentence. == Processing == Realisation involves three kinds of processing: Syntactic realisation: Using grammatical knowledge to choose inflections, add function words and also to decide the order of components. For example, in English the subject usually precedes the verb, and the negated form of smoke is do not smoke. Morphological realisation: Computing inflected forms, for example the plural form of woman is women (not womans). Orthographic realisation: Dealing with casing, punctuation, and formatting. For example, capitalising The because it is the first word of the sentence. The above examples are very basic, most realisers are capable of considerably more complex processing. == Systems == A number of realisers have been developed over the past 20 years. These systems differ in terms of complexity and sophistication of their processing, robustness in dealing with unusual cases, and whether they are accessed programmatically via an API or whether they take a textual representation of a syntactic structure as their input. There are also major differences in pragmatic factors such as documentation, support, licensing terms, speed and memory usage, etc. It is not possible to describe all realisers here, but a few of the emerging areas are: Simplenlg [3]: a document realizing engine with an api which intended to be simple to learn and use, focused on limiting scope to only finding the surface area of a document. KPML [4]: this is the oldest realiser, which has been under development under different guises since the 1980s. It comes with grammars for ten different languages. FUF/SURGE [5]: a realiser which was widely used in the 1990s, and is still used in some projects today OpenCCG [6]: an open-source realiser which has a number of nice features, such as the ability to use statistical language models to make realisation decisions.

    Read more →
  • End-to-end encryption

    End-to-end encryption

    End-to-end encryption (E2EE) is a method of implementing a secure communication system where only the sender and intended recipient can read the messages. No one else, including the system provider, telecom providers, Internet providers or malicious actors, can access the cryptographic keys needed to read or send messages. End-to-end encryption prevents data from being read or secretly modified, except by the sender and intended recipients. In many applications, messages are relayed from a sender to some recipients by a service provider. In an E2EE-enabled service, messages are encrypted on the sender's device such that no third party, including the service provider, has the means to decrypt them. The recipients retrieve encrypted messages and decrypt them independently on their own devices. Since third parties cannot decrypt the data being communicated or stored, services with E2EE are better at protecting user data from data breaches and espionage. Computer security experts, digital freedom organizations, and human rights activists advocate for the use of E2EE due to its security and privacy benefits, including its ability to resist mass surveillance. Popular messaging apps like WhatsApp, iMessage, Facebook Messenger, and Signal use end-to-end encryption for chat messages, with some also supporting E2EE of voice and video calls. As of May 2025, WhatsApp is the most widely used E2EE messaging service, with over 3 billion users. Meanwhile, Signal with an estimated 70 million users, is regarded as the current gold standard in secure messaging by cryptographers, protestors, and journalists. Since end-to-end encrypted services cannot offer decrypted messages in response to government requests, the proliferation of E2EE has been met with controversy. Around the world, governments, law enforcement agencies, and child protection groups have expressed concerns over its impact on criminal investigations. As of 2025, some governments have successfully passed legislation targeting E2EE, such as Australia's Telecommunications and Other Legislation Amendment Act (2018) and the Online Safety Act (2023) in the UK. Other attempts at restricting E2EE include the EARN IT Act in the US and the Child Sexual Abuse Regulation in the EU.[1] Nevertheless, some government bodies such as the UK's Information Commissioner's Office and the US's Cybersecurity and Infrastructure Security Agency (CISA) have argued for the use of E2EE, with Jeff Greene of the CISA advising that "encryption is your friend" following the discovery of the Salt Typhoon espionage campaign in 2024. == Definitions == End-to-end encryption is a means of ensuring the security of communications in applications like secure messaging. Under E2EE, messages are encrypted on the sender's device such that they can be decoded only by the final recipient's device. In many non-E2EE messaging systems, including email and many chat platforms, messages pass through intermediaries and are stored by a third party service provider, from which they are retrieved by the recipient. Even if messages are encrypted, they are only encrypted 'in transit', and are thus accessible by the service provider. Server-side disk encryption is also distinct from E2EE because it does not prevent the service provider from viewing the information, as they have the encryption keys and can simply decrypt it. The term "end-to-end encryption" originally only meant that the communication is never decrypted during its transport from the sender to the receiver. For example, around 2003, E2EE was proposed as an additional layer of encryption for GSM or TETRA, in addition to the existing radio encryption protecting the communication between the mobile device and the network infrastructure. This has been standardized by SFPG for TETRA. Note that in TETRA, the keys are generated by a Key Management Centre (KMC) or a Key Management Facility (KMF), not by the communicating users. Later, around 2014, the meaning of "end-to-end encryption" started to evolve when WhatsApp encrypted a portion of its network, requiring that not only the communication stays encrypted during transport, but also that the provider of the communication service is not able to decrypt the communications—maliciously or when requested by law enforcement agencies. Similarly, messages must be undecryptable in transit by attackers through man-in-the-middle attacks. This new meaning is now the widely accepted one. == Motivations == The lack of end-to-end encryption can allow service providers to easily provide search and other features, or to scan for illegal and unacceptable content. However, it also means that content can be read by anyone who has access to the data stored by the service provider, by design or via a backdoor. This can be a concern in many cases where privacy is important, such as in governmental and military communications, financial transactions, and when sensitive information such as health and biometric data are sent. If this content were shared without E2EE, a malicious actor or adversarial government could obtain it through unauthorized access or subpoenas targeted at the service provider. E2EE alone does not guarantee privacy or security. For example, the data may be held unencrypted on the user's own device or accessed through their own app if their credentials are compromised. == Modern implementations == === Messaging === In May 2026, Meta ended support for end-to-end encryption (E2EE) on Instagram, reversing a previous commitment to expand the technology across its messaging services. The company justified the move as a measure to mitigate fraudulent activity and facilitate the detection of harmful content. The decision highlighted a conflict between digital privacy and online safety; while child protection organizations supported the change to better identify predatory behavior, privacy advocates argued that removing E2EE compromises user security. As of 2025, messaging apps like Signal and WhatsApp are designed to exclusively use end-to-end encryption. Both Signal and WhatsApp use the Signal Protocol. Other messaging apps and protocols that support end-to-end encryption include Facebook Messenger, iMessage, Telegram, Matrix, and Keybase. Although Telegram supports end-to-end encryption, it has been criticized for not enabling it by default, instead supporting E2EE through opt-in "secret chats". As of 2020, Telegram did not support E2EE for group chats and no E2EE on its desktop clients. In 2022, after controversy over the use of Facebook Messenger messages in an abortion lawsuit in Nebraska, Facebook added support for end-to-end encryption in the Messenger app. Writing for Wired, technologist Albert Fox Cahn criticized Messenger's approach to end-to-end encryption, which required the user to opt into E2EE for each conversation and split the message thread into two chats which were easy for users to confuse. In December 2023, Facebook announced plans to enable end-to-end encryption by default despite pressure from British law enforcement agencies. As of 2016, many server-based communications systems did not include end-to-end encryption. These systems can only guarantee the protection of communications between clients and servers, meaning that users have to trust the third parties who are running the servers with the sensitive content. End-to-end encryption is regarded as safer because it reduces the number of parties who might be able to interfere or break the encryption. In the case of instant messaging, users may use a third-party client or plugin to implement an end-to-end encryption scheme over an otherwise non-E2EE protocol. === Audio and video conferencing === Signal and WhatsApp use end-to-end encryption for audio and video calls. Since 2020, Signal has also supported end-to-encrypted video calls. In 2024, Discord added end-to-end encryption for audio and video calls, voice channels, and certain live streams. However, they had no plans to implement E2EE for messages. In 2020, after acquiring Keybase, Zoom announced end-to-end encryption would be limited to paid accounts. Following criticism from human rights advocates, Zoom extended the feature to all users with accounts. In 2021, Zoom settled an $85M class action lawsuit over past misrepresentation about end-to-end encryption. The FTC confirmed Zoom previously retained access to meeting keys. === Other uses === Some encrypted backup and file sharing services provide client-side encryption. Nextcloud and MEGA, offer end-to-end encryption of shared files. The term "end-to-end encryption" is sometimes incorrectly used to describe client-side encryption. Some non-E2EE systems, such as Lavabit and Hushmail, have described themselves as offering "end-to-end" encryption when they did not. == Law enforcement and regulation == In 2022, Facebook Messenger came under scrutiny because the messages between a mother and daughter in Nebraska were used to seek criminal charges in an abortion-rel

    Read more →
  • Bookmarklet

    Bookmarklet

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

    Read more →