AI Coding Claude

AI Coding Claude — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • List of COBOL software and tools

    List of COBOL software and tools

    This is a list of software and programming tools for the COBOL programming language, which includes compilers, IDEs, build tools, testing, frameworks, and related projects. == Compilers and runtimes == Fujitsu NetCOBOL — COBOL compiler for Windows, Linux, and mainframes GnuCOBOL — open-source COBOL compiler translating COBOL to C and then compiling with GCC IBM COBOL — mainframe COBOL compiler for IBM z/OS and IBM i platforms Micro Focus COBOL — commercial COBOL compiler and runtime for enterprise systems FairCom RTG – A commercial real-time database and runtime solution developed by FairCom Corporation. It provides integration with COBOL applications for transaction processing and modernization projects, and is used in enterprise environments requiring high-performance data management. == Integrated development environments == Eclipse IDE — with COBOL plugin support, Micro Focus or Bitlang extensions. IBM Developer for z/OS — IDE for COBOL and PL/I mainframe development Micro Focus Visual COBOL — IDE integration for Visual Studio, Visual Studio Code, and Eclipse OpenCOBOLIDE — open-source lightweight IDE for GnuCOBOL Visual Studio Code — with COBOL extensions via Bitlang COBOL and GnuCOBOL Language Server == Frameworks, libraries, and APIs == ACUCOBOL-GT — runtime and API library suite from Micro Focus CICS — IBM middleware for transaction processing in COBOL applications DB2 and IMS APIs — database access libraries commonly used with COBOL applications == Build tools and package managers == Apache Ant — scripting and build automation for COBOL/Java hybrid systems GNU Make — common build tool for compiling COBOL via GnuCOBOL Jenkins — used for CI/CD automation with COBOL builds == Testing and quality assurance == COBOL Check — open-source unit testing framework for COBOL IBM Rational Performance Tester — automated performance testing of web and server-based applications from the Rational Software division of IBM Micro Focus Unit Testing Framework — integrated COBOL unit testing tool == Debugging and profiling tools == GnuCOBOL debug mode — command-line debugging integrated in GnuCOBOL compiler IBM Debug Tool for z/OS — mainframe debugging for COBOL and PL/I Micro Focus Animator — step-through debugger for COBOL code

    Read more →
  • ISO/IEC JTC 1/SC 6

    ISO/IEC JTC 1/SC 6

    ISO/IEC JTC 1/SC 6 Telecommunications and information exchange between systems is a standardization subcommittee of the Joint Technical Committee ISO/IEC JTC 1. It is part of the International Organization for Standardization (ISO) and the International Electrotechnical Commission (IEC), which develops and facilitates standards within the field of telecommunications and information exchange between systems. ISO/IEC JTC 1/SC 6 was established in 1964, following the creation of a Special Working Group under ISO/TC 97 on Data Link Control Procedures and Modem Interfaces. The international secretariat of ISO/IEC JTC 1/SC 6 is the Korean Agency for Technology and Standards (KATS), located in South Korea. == Scope == The scope of ISO/IEC JTC 1/SC 6 is “Standardization in the field of telecommunications dealing with the exchange of information between open systems including system functions, procedures, parameters as well as the conditions for their use. The standardization encompasses protocols and services of lower layers, including physical, data link, network, and transport as well as those of upper layers including but not limited to Directory and ASN.1.” Future Network has recently been added as an important work scope. A considerable part of the work is done in effective cooperation with ITU-T and other standardization bodies including IEEE 802 and Ecma International. == Structure == ISO/IEC JTC 1/SC 6 has three active working groups (WGs), each of which carries out specific tasks in standards development within the field of telecommunications and information exchange between systems. The focus of each working group is described in the group’s terms of reference. Working groups can be established if new working areas arise, or disbanded if the group’s working area is no longer relevant to standardization needs. Active working groups of ISO/IEC JTC 1/SC 6 are: == Collaborations == ISO/IEC JTC 1/SC 6 works in close collaboration with a number of other organizations or subcommittees, both internal and external to ISO or IEC. Organizations internal to ISO or IEC that collaborate with or are in liaison with ISO/IEC JTC 1/SC 6 include: ISO/IEC JTC 1/WG 7, Sensor networks ISO/IEC JTC 1/SC 17, Cards and personal identification ISO/IEC JTC 1/SC 25, Interconnection of information technology equipment ISO/IEC JTC 1/SC 27, IT security techniques ISO/IEC JTC 1/SC 29, Coding of audio, picture, multimedia and hypermedia information ISO/IEC JTC 1/SC 31, Automatic identification and data capture techniques ISO/IEC JTC 1/SC 38, Distributed application platforms & services (DAPS) ISO/TC 68, Financial services ISO/TC 122, Packaging ISO/TC 184/SC 5, Interoperability, integration, and architectures for enterprise systems and automation applications ISO/TC 215, Health Informatics IEC/SC 46A, Coaxial cables IEC/SC 46C, Wires and symmetric cables IEC/TC 48, Electrical connectors and mechanical structures for electrical and electronic equipment IEC/SC 48B, Electrical connectors IEC/TC 65, Industrial-process measurement, control and automation IEC/SC 65C, Industrial networks IEC/TC 86, Fibre optics IEC/SC 86C, Fibre optic systems and active devices IEC/TC 93, Design automation Some organizations external to ISO or IEC that collaborate with or are in liaison to ISO/IEC JTC 1/SC 6 include: European Conference of Postal and Telecommunications Administrations (CEPT) European Organization for Nuclear Research (CERN) European Commission (EC) European Telecommunications Standards Institute (ETSI) Ecma International International Civil Aviation Organization (ICAO) IEEE 802 LMSC (LAN/MAN Standards Committee) Internet Society (ISOC) International Telecommunications Satellite Organization (ITSO) ITU-T Organization for the Advancement of Structured Information Standards (OASIS) NFC Forum MFA Forum United Nations Conference on Trade and Development (UNCTAD) United Nations Economic Commission for Europe (UNECE) Universal Postal Union (UPU) World Meteorological Organization (WMO) CEN/TC 247/WG 4 == Member countries == Countries pay a fee to ISO to be members of subcommittees. The 19 "P" (participating) members of ISO/IEC JTC 1/SC 6 are: Austria, Belgium, Canada, China, Czech Republic, Finland, Germany, Greece, Jamaica, Japan, Kazakhstan, Republic of Korea, Netherlands, Russian Federation, Spain, Switzerland, Tunisia, United Kingdom, and United States. The 31 "O" (observing) members of ISO/IEC JTC 1/SC 6 are: Argentina, Bosnia and Herzegovina, Colombia, Cuba, Cyprus, France, Ghana, Hong Kong, Hungary, Iceland, India, Indonesia, Islamic Republic of Iran, Ireland, Italy, Kenya, Luxembourg, Malaysia, Malta, New Zealand, Norway, Philippines, Poland, Romania, Saudi Arabia, Serbia, Singapore, Slovenia, Thailand, Turkey, and Ukraine. == Published standards == There are 365 published standards under the direct responsibility of ISO/IEC JTC 1/SC 6. Published standards by ISO/IEC JTC 1/SC 6 include:

    Read more →
  • Outline of telecommunication

    Outline of telecommunication

    The following outline is provided as an overview of and topical guide to telecommunication: Telecommunication – the transmission of signals over a distance for the purpose of communication. In modern times, this process almost always involves the use of electromagnetic waves by transmitters and receivers, but in earlier years it also involved the use of drums and visual signals such as smoke, fire, beacons, semaphore lines and other optical communications. == Modes of telecommunication == E-mail Fax Instant messaging Radio Satellite SMS Telegraphy Telephony Television Television broadcasting mobile telephony Videoconferencing VoIP Voicemail == Types of telecommunication networks == Telecommunications network Computer networks ARPANET Ethernet Internet Wireless networks Public switched telephone networks (PSTN) Packet switched networks Radio network Broadband Wireless Broadband == Aspects of telecommunication transmission == Telecommunication Analog Digital Functional profile Optics === Telecommunication technology === Modulation Amplitude modulation Frequency modulation Quadrature amplitude modulation Nyquist rate Nyquist ISI criterion Pulse shaping Intersymbol interference === Communications media types === Physical media for Telecommunication Twisted pair Coaxial cable Optical fiber Telecommunication through Free Space Broadcast radio frequency including television and radio Line-of-sight Communications satellite Terrestrial Microwave Wireless LAN === Relationship between media and transmitters === Physical access to media Simplex Duplex (telecommunications) Logical relationships Return channel Two-way alternating Two-way simultaneous === Multiple access to media === Multiplexing Analog Frequency division multiplexing Space division multiplexing Digital Time-division multiplexing Statistical multiplexing and Packet switching Media Access Control Contention Token-based Centralized token control Distributed token control == History of telecommunication == History of telecommunication History of telegraphy History of the telephone Invention of the telephone Timeline of the telephone History of radio History of television History of videophones History of mobile phones History of computing hardware History of the Internet == Major telecommunications equipment manufacturers == Alcatel-Lucent – French global telecommunications equipment company Aricent – Former company AT&T – American telecommunications company Avaya – American technology company Ciena – American telecommunications company Cisco Systems – American multinational technology companyPages displaying short descriptions of redirect targets Ericsson – Swedish multinational networking and telecommunications company Fujitsu – Japanese multinational technology company HCL Technologies – Indian multinational technology companyPages displaying short descriptions of redirect targets Huawei – Chinese multinational technology company NEC – Japanese technology corporation Nokia – Multinational data networking and telecommunications equipment company ShoreTel – US telecommunications company Verizon – American telecommunications company ZTE – Chinese telecommunications company == Major telecommunications service providers == List of mobile network operators List of telephone operating companies == Telecommunication organizations == Alliance for Telecommunications Industry Solutions Telecommunications Industry Association == Telecommunication publications == Magazines Billing and OSS World Cabling Installation & Maintenance Call Center Communications News Communications System Design Lightwave Mobile Radio Technology (MRT) New Telephony Phone+ RCR Wireless News Telecom Asia Telecommunications Magazine Telephony WhatSatphone Magazine Wireless Systems Design Wireless Week Xchange == Persons influential in telecommunication == Edwin Howard Armstrong – American radio-frequency engineer and inventor (1890–1954) John Logie Baird – Scottish inventor (1888–1946) Paul Baran – American-Jewish engineer (1926–2011) Alexander Graham Bell – Inventor of the telephone (1847–1922) Tim Berners-Lee – English computer scientist (born 1955) Jagadish Chandra Bose – Physicist, biologist and botanist (1857–1937) Vint Cerf – American computer scientist and Internet pioneer (born 1943) Claude Chappe – Late 18th-century French inventor Donald Davies – British computer scientist (1924–2000) Louis Pouzin – French computer scientist and Internet pioneer (born 1931) Lee de Forest – American inventor (1873–1961) Philo Farnsworth – American inventor (1906–1971) Reginald Fessenden – Canadian-American electrical engineer and inventor (1866–1932) Elisha Gray – American electrical engineer (1835–1901) Innocenzo Manzetti – Italian inventor (1826–1877) Guglielmo Marconi – Italian radio-frequency engineer and inventor (1874–1937) Antonio Meucci – Italian inventor (1808–1889) Alexander Stepanovich Popov – Russian physicist (1859–1906)Pages displaying short descriptions of redirect targets Johann Philipp Reis – German scientist and inventor Almon Brown Strowger – American inventor of the telephone exchange (1839–1902) Nikola Tesla – Serbian-American engineer and inventor (1856–1943) Camille Tissot – French physicist (1868–1917) Alfred Vail – 19th-century American machinist and inventor Charles Wheatstone – English physicist and inventor (1802–1875) Vladimir K. Zworykin – Russian-American engineer (1888–1982)

    Read more →
  • Greedy embedding

    Greedy embedding

    In distributed computing and geometric graph theory, greedy embedding is a process of assigning coordinates to the nodes of a telecommunications network in order to allow greedy geographic routing to be used to route messages within the network. Although greedy embedding has been proposed for use in wireless sensor networks, in which the nodes already have positions in physical space, these existing positions may differ from the positions given to them by greedy embedding, which may in some cases be points in a virtual space of a higher dimension, or in a non-Euclidean geometry. In this sense, greedy embedding may be viewed as a form of graph drawing, in which an abstract graph (the communications network) is embedded into a geometric space. The idea of performing geographic routing using coordinates in a virtual space, instead of using physical coordinates, is due to Rao et al. Subsequent developments have shown that every network has a greedy embedding with succinct vertex coordinates in the hyperbolic plane, that certain graphs including the polyhedral graphs have greedy embeddings in the Euclidean plane, and that unit disk graphs have greedy embeddings in Euclidean spaces of moderate dimensions with low stretch factors. == Definitions == In greedy routing, a message from a source node s to a destination node t travels to its destination by a sequence of steps through intermediate nodes, each of which passes the message on to a neighboring node that is closer to t. If the message reaches an intermediate node x that does not have a neighbor closer to t, then it cannot make progress and the greedy routing process fails. A greedy embedding is an embedding of the given graph with the property that a failure of this type is impossible. Thus, it can be characterized as an embedding of the graph with the property that for every two nodes x and t, there exists a neighbor y of x such that d(x,t) > d(y,t), where d denotes the distance in the embedded space. == Graphs with no greedy embedding == Not every graph has a greedy embedding into the Euclidean plane; a simple counterexample is given by the star K1,6, a tree with one internal node and six leaves. Whenever this graph is embedded into the plane, some two of its leaves must form an angle of 60 degrees or less, from which it follows that at least one of these two leaves does not have a neighbor that is closer to the other leaf. In Euclidean spaces of higher dimensions, more graphs may have greedy embeddings; for instance, K1,6 has a greedy embedding into three-dimensional Euclidean space, in which the internal node of the star is at the origin and the leaves are a unit distance away along each coordinate axis. However, for every Euclidean space of fixed dimension, there are graphs that cannot be embedded greedily: whenever the number n is greater than the kissing number of the space, the graph K1,n has no greedy embedding. == Hyperbolic and succinct embeddings == Unlike the case for the Euclidean plane, every network has a greedy embedding into the hyperbolic plane. The original proof of this result, by Robert Kleinberg, required the node positions to be specified with high precision, but subsequently it was shown that, by using a heavy path decomposition of a spanning tree of the network, it is possible to represent each node succinctly, using only a logarithmic number of bits per point. In contrast, there exist graphs that have greedy embeddings in the Euclidean plane, but for which any such embedding requires a polynomial number of bits for the Cartesian coordinates of each point. == Special classes of graphs == === Trees === The class of trees that admit greedy embeddings into the Euclidean plane has been completely characterized, and a greedy embedding of a tree can be found in linear time when it exists. For more general graphs, some greedy embedding algorithms such as the one by Kleinberg start by finding a spanning tree of the given graph, and then construct a greedy embedding of the spanning tree. The result is necessarily also a greedy embedding of the whole graph. However, there exist graphs that have a greedy embedding in the Euclidean plane but for which no spanning tree has a greedy embedding. === Planar graphs === Papadimitriou & Ratajczak (2005) conjectured that every polyhedral graph (a 3-vertex-connected planar graph, or equivalently by Steinitz's theorem the graph of a convex polyhedron) has a greedy embedding into the Euclidean plane. By exploiting the properties of cactus graphs, Leighton & Moitra (2010) proved the conjecture; the greedy embeddings of these graphs can be defined succinctly, with logarithmically many bits per coordinate. However, the greedy embeddings constructed according to this proof are not necessarily planar embeddings, as they may include crossings between pairs of edges. For maximal planar graphs, in which every face is a triangle, a greedy planar embedding can be found by applying the Knaster–Kuratowski–Mazurkiewicz lemma to a weighted version of a straight-line embedding algorithm of Schnyder. The strong Papadimitriou–Ratajczak conjecture, that every polyhedral graph has a planar greedy embedding in which all faces are convex, remains unproven. === Unit disk graphs === The wireless sensor networks that are the target of greedy embedding algorithms are frequently modeled as unit disk graphs, graphs in which each node is represented as a unit disk and each edge corresponds to a pair of disks with nonempty intersection. For this special class of graphs, it is possible to find succinct greedy embeddings into a Euclidean space of polylogarithmic dimension, with the additional property that distances in the graph are accurately approximated by distances in the embedding, so that the paths followed by greedy routing are short.

    Read more →
  • ISLRN

    ISLRN

    The ISLRN or International Standard Language Resource Number is Persistent Unique Identifier for Language Resources. == Context == On November 18, 2013, 12 major organisations (see list below) from the fields Language Resources and Technologies, Computational Linguistics, and Digital Humanities held a cooperation meeting in Paris (France) and agreed to announce the establishment of the International Standard Language Resource Number (ISLRN), to be assigned to each Language Resource. Among the 12 organisations, 4 institutions constitute the ISLRN Steering Committee (ST) ADHO ACL Asian Federation of Natural Language Processing ST COCOSDA, International Committee for the Coordination & Standardisation of Speech Databases and Assessment Techniques ICCL (COLING) European Data Forum ELRA ST IAMT, International Association for Machine Translation Archived 2010-06-24 at the Wayback Machine ISCA LDC ST Oriental COCOSDA ST RMA, Language Resource Management Agency == Size and Content == The Joint Research Centre(JRC), the [European Commission]'s in-house science service, was the first organisation to adopt the ISLRN initiative and requested. 2500 resources and tools have already been allocated an ISLRN. These resources include written data (Annotated corpus, Annotated text, List of misspelled word, Terminological database, Treebank, Wordnet, etc.) and speech corpora (Synthesised Speech, Transcripts and Audiovisual Recordings, Conversational Speech, Folk Sayings, etc.) == Objectives == Providing Language Resources with unique names and identifiers using a standardized nomenclature ensures the identification of each Language Resources and streamlines the citation with proper references in activities within Human Language Technology as well as in documents and scientific publications. Such unique identifier also enhances the reproducibility, an essential feature of scientific work.

    Read more →
  • GlTF

    GlTF

    glTF (Graphics Library Transmission Format or GL Transmission Format and formerly known as WebGL Transmissions Format or WebGL TF) is a standard file format for three-dimensional scenes and models. A glTF file uses one of two possible file extensions: .gltf (JSON/ASCII) or .glb (binary). Both .gltf and .glb files may reference external binary and texture resources. Alternatively, both formats may be self-contained by directly embedding binary data buffers (as base64-encoded strings in .gltf files or as raw byte arrays in .glb files). An open standard developed and maintained by the Khronos Group, it supports 3D model geometry, appearance, scene graph hierarchy, and animation. It is intended to be a streamlined, interoperable format for the delivery of 3D assets, while minimizing file size and runtime processing by apps. As such, its creators have described it as the "JPEG of 3D". == Overview == The glTF format stores data primarily in JSON. The JSON may also contain blobs of binary data known as buffers, and refer to external files, for storing mesh data, images, etc. The binary .glb format also contains JSON text, but serialized with binary chunk headers to allow blobs to be directly appended to the file. The fundamental building blocks of a glTF scene are nodes. Nodes are organized into a hierarchy, such that a node may have other nodes defined as children. Nodes may have transforms relative to their parent. Nodes may refer to resources, such as meshes, skins, and cameras. Meshes may refer to materials, which refer to textures, which refer to images. Scenes are defined using an array of root nodes. Most of the top-level glTF properties use a flat hierarchy for storage. Nodes are saved in an array and are referred to by index, including by other nodes. A glTF scene refers to its root nodes by index. Furthermore, nodes refer to meshes by index, which refer to materials by index, which refer to textures by index, which refer to images by index. All glTF data structures support being extended using a JSON property, allowing arbitrary JSON data to be added. == Releases == === glTF 1.0 === Members of the COLLADA working group conceived the file format in 2012. At SIGGRAPH 2012, Khronos presented a demo of glTF, which was then called WebGL Transmissions Format (WebGL TF). On October 19, 2015, Khronos released the glTF 1.0 specification. ==== Adoption of glTF 1.0 ==== At SIGGRAPH 2016, Oculus announced their adoption of glTF citing the similarities to their ovrscene format. In October 2016, Microsoft joined the 3D Formats working group at Khronos to collaborate on glTF. === glTF 2.0 === The second version, glTF 2.0, was released in June 2017, and is a complete overhaul of the file format from version 1.0, with most tools adopting the 2.0 version. Based on a proposal by Fraunhofer originally presented at SIGGRAPH 2016, physically based rendering (PBR) was added, replacing WebGL shaders used in glTF 1.0. glTF 2.0 added the GLB binary format into the base specification. Other upgrades include sparse accessors and morph targets for techniques such as facial animation, and schema tweaks and breaking changes for corner cases or performance such as replacing top-level glTF object properties with arrays for faster index-based access. There is ongoing work towards import and export in Unity and an integrated multi-engine viewer and validator. ==== Adoption of glTF 2.0 ==== On March 3, 2017, Microsoft announced that they would be using glTF 2.0 as the 3D asset format across their product line, including Paint 3D, 3D Viewer, Remix 3D, Babylon.js, and Microsoft Office. Sketchfab also announced support for glTF 2.0. The glTF and GLB formats are used on and supported by companies including DGG, UX3D, Sketchfab, Facebook, Microsoft, Meta, Google, Adobe, Box, TurboSquid, Unreal Engine, Unity, and Qt Quick 3D. The format has been noted as an important standard for augmented reality, integrating with modeling software such as Autodesk Maya, Autodesk 3ds Max, and Poly. In February 2020, the Smithsonian Institution launched their Open Access Initiative, releasing approximately 2.8 million 2D images and 3D models into the public domain, using glTF for the 3D models. In July 2022, glTF 2.0 was released as the ISO/IEC 12113:2022 International Standard. Khronos stated they would make regular submissions to bring updates and new widely adopted glTF functionality into refreshed versions of ISO/IEC 12113 to ensure that there is no long-term divergence between the ISO/IEC and Khronos specifications. The open-source game engine Godot supports importing glTF 2.0 files since version 3.0 and export since version 4.0. === Extensions === The glTF format can be extended with arbitrary JSON to add new data and functionality. Extensions can be placed on any part of a glTF, including nodes, animations, materials, textures, and on the entire document. Khronos keeps a non-comprehensive registry of glTF extensions on GitHub, including all official Khronos extensions and a few third-party extensions. PBR extensions model the physical appearance of real-world objects, allowing developers to create realistic 3D assets that have the correct appearance. As new PBR extensions are released, they continue to expand PBR capabilities within the glTF framework, allowing a wider range of scenes and objects to be realistically rendered as 3D assets. The KTX 2.0 extension for universal texture compression enables 3D models in the glTF format to be highly compressed and to use natively supported texture formats, reducing file size and boosting rendering speed. Draco is a glTF extension for mesh compression, to compress and decompress 3D meshes, to help reduce the size of 3D files. It compresses vertex attributes, normals, colors, and texture coordinates. Various glTF extensions for game engine interoperability have been developed by OMI group. This includes extensions for physics shapes, physics bodies, physics joints, audio playback, seats, spawn points, and more. The VRM consortium has developed glTF extensions for advanced humanoid 3D avatars including dynamic spring bones and toon materials. == Derivative formats == 3D Tiles, an OGC Community Standard, builds on glTF to add a spatial data structure, metadata, and declarative styling for streaming massive heterogeneous 3D geospatial datasets. VRM, a model format for VR, is built on the .glb format. It is a 3D humanoid avatar specification and file format. == Software ecosystem == Khronos maintains the glTF Sample Viewer for viewing glTF assets. Khronos also maintains the glTF Validator for validating if 3D models conform to the glTF specification. Khronos maintains a glTF Compressor tool to interactively optimize and fine-tune compression settings for glTF assets using KTX 2.0 textures. glTF loaders are in open-source WebGL engines including PlayCanvas, Three.js, Babylon.js, Cesium, PEX, xeogl, and A-Frame. The Godot game engine supports and recommends the glTF format, with both import and export support. Open-source glTF converters are available from COLLADA, FBX, and OBJ. Assimp can import and export glTF. glTF files can also be directly exported from a variety of 3D editors, such as Blender, Unity (using the glTFast importer/exporter), Freecad, Vectary, Autodesk 3ds Max (natively or using Verge3D exporter), Autodesk Maya (using babylon.js exporter), Autodesk Inventor, Modo, Houdini, Paint 3D, Godot, and Substance Painter. Open-source glTF utility libraries are available for programming languages including JavaScript, Node.js, C++, C#, Python, Haskell, Java, Go, Rust, Haxe, Ada, and TypeScript. Khronos keeps a list of these libraries and other related applications on their ecosystem site. The Khronos 3D Commerce Working Group released Asset Creation Guidelines in 2020 outlining best practices for use of the glTF file format in 3D Commerce. In 2025, the Working Group launched Asset Creation Guidelines 2.0, a continuously updated resource with additional guidance for geometry, mesh optimization, UV maps, textures, materials/PBR performance, and web optimization. The Khronos PBR Neutral Tone Mappers specification is a tone mapper designed to faithfully reproduce an object's base color, hue, and saturation when using PBR rendering under grayscale lighting, supporting brand- and product-accurate color representation. Khronos maintains the glTF Asset Auditor to allow retailers and advertising technology platforms to validate 3D assets against either a default Audit Profile modelled on the 2020 3D Commerce Asset Creation Guidelines or a custom profile defined by the target application.

    Read more →
  • Foreground detection

    Foreground detection

    Foreground detection is one of the major tasks in the field of computer vision and image processing whose aim is to detect changes in image sequences. Background subtraction is any technique which allows an image's foreground to be extracted for further processing (object recognition etc.). Many applications do not need to know everything about the evolution of movement in a video sequence, but only require the information of changes in the scene, because an image's regions of interest are objects (humans, cars, text etc.) in its foreground. After the stage of image preprocessing (which may include image denoising, post processing like morphology etc.) object localisation is required which may make use of this technique. Foreground detection separates foreground from background based on these changes taking place in the foreground. It is a set of techniques that typically analyze video sequences recorded in real time with a stationary camera. == Description == All detection techniques are based on modelling the background of the image, i.e., setting the background and detecting which changes occur. Defining the background can be difficult when it contains shapes, shadows, and moving objects. In defining the background, it is assumed that stationary objects may vary in color and intensity over time. Scenarios in which these techniques apply tend to be very diverse. There can be highly variable sequences, such as images with different lighting, interiors, exteriors, quality, and noise. In addition to real-time processing, systems need to adapt to these changes. A foreground detection system should be able to: Develop a background model (estimate). Be robust to lighting changes, repetitive movements (leaves, waves, shadows), and long-term changes. == Background subtraction == Background subtraction is a widely used approach for detecting moving objects in videos from static cameras. The rationale in the approach is that of detecting the moving objects from the difference between the current frame and a reference frame, often called "background image", or "background model". Background subtraction is mostly done if the image in question is a part of a video stream. Background subtraction provides important cues for numerous applications in computer vision, for example surveillance tracking or human pose estimation. Background subtraction is generally based on a static background hypothesis which is often not applicable in real environments. With indoor scenes, reflections or animated images on screens lead to background changes. Similarly, due to wind, rain or illumination changes brought by weather, static backgrounds methods have difficulties with outdoor scenes. == Temporal average filter == The temporal average filter is a method that was proposed at the Velastin. This system estimates the background model from the median of all pixels of a number of previous images. The system uses a buffer with the pixel values of the last frames to update the median for each image. To model the background, the system examines all images in a given time period called training time. At this time, we only display images and will find the median, pixel by pixel, of all the plots in the background this time. After the training period for each new frame, each pixel value is compared with the input value of funds previously calculated. If the input pixel is within a threshold, the pixel is considered to match the background model and its value is included in the pixbuf. Otherwise, if the value is outside this threshold pixel is classified as foreground, and not included in the buffer. This method cannot be considered very efficient because they do not present a rigorous statistical basis and requires a buffer that has a high computational cost. == Conventional approaches == A robust background subtraction algorithm should be able to handle lighting changes, repetitive motions from clutter and long-term scene changes. The following analyses make use of the function of V(x,y,t) as a video sequence where t is the time dimension, x and y are the pixel location variables. e.g. V(1,2,3) is the pixel intensity at (1,2) pixel location of the image at t = 3 in the video sequence. === Using frame differencing === A motion detection algorithm begins with the segmentation part where foreground or moving objects are segmented from the background. The simplest way to implement this is to take an image as background and take the frames obtained at the time t, denoted by I(t) to compare with the background image denoted by B. Here using simple arithmetic calculations, we can segment out the objects simply by using image subtraction technique of computer vision meaning for each pixels in I(t), take the pixel value denoted by P[I(t)] and subtract it with the corresponding pixels at the same position on the background image denoted as P[B]. In mathematical equation, it is written as: P [ F ( t ) ] = P [ I ( t ) ] − P [ B ] {\displaystyle P[F(t)]=P[I(t)]-P[B]} The background is assumed to be the frame at time t. This difference image would only show some intensity for the pixel locations which have changed in the two frames. Though we have seemingly removed the background, this approach will only work for cases where all foreground pixels are moving, and all background pixels are static. A threshold "Threshold" is put on this difference image to improve the subtraction (see Image thresholding): | P [ F ( t ) ] − P [ F ( t + 1 ) ] | > T h r e s h o l d {\displaystyle |P[F(t)]-P[F(t+1)]|>\mathrm {Threshold} } This means that the difference image's pixels' intensities are 'thresholded' or filtered on the basis of value of Threshold. The accuracy of this approach is dependent on speed of movement in the scene. Faster movements may require higher thresholds. === Mean filter === For calculating the image containing only the background, a series of preceding images are averaged. For calculating the background image at the instant t: B ( x , y , t ) = 1 N ∑ i = 1 N V ( x , y , t − i ) {\displaystyle B(x,y,t)={1 \over N}\sum _{i=1}^{N}V(x,y,t-i)} where N is the number of preceding images taken for averaging. This averaging refers to averaging corresponding pixels in the given images. N would depend on the video speed (number of images per second in the video) and the amount of movement in the video. After calculating the background B(x,y,t) we can then subtract it from the image V(x,y,t) at time t = t and threshold it. Thus the foreground is: | V ( x , y , t ) − B ( x , y , t ) | > T h {\displaystyle |V(x,y,t)-B(x,y,t)|>\mathrm {Th} } where Th is a threshold value. Similarly, we can also use median instead of mean in the above calculation of B(x,y,t). Usage of global and time-independent thresholds (same Th value for all pixels in the image) may limit the accuracy of the above two approaches. === Running Gaussian average === For this method, Wren et al. propose fitting a Gaussian probabilistic density function (pdf) on the most recent n {\displaystyle n} frames. In order to avoid fitting the pdf from scratch at each new frame time t {\displaystyle t} , a running (or on-line cumulative) average is computed. The pdf of every pixel is characterized by mean μ t {\displaystyle \mu _{t}} and variance σ t 2 {\displaystyle \sigma _{t}^{2}} . The following is a possible initial condition (assuming that initially every pixel is background): μ 0 = I 0 {\displaystyle \mu _{0}=I_{0}} σ 0 2 = ⟨ some default value ⟩ {\displaystyle \sigma _{0}^{2}=\langle {\text{some default value}}\rangle } where I t {\displaystyle I_{t}} is the value of the pixel's intensity at time t {\displaystyle t} . In order to initialize variance, we can, for example, use the variance in x and y from a small window around each pixel. Note that background may change over time (e.g. due to illumination changes or non-static background objects). To accommodate for that change, at every frame t {\displaystyle t} , every pixel's mean and variance must be updated, as follows: μ t = ρ I t + ( 1 − ρ ) μ t − 1 {\displaystyle \mu _{t}=\rho I_{t}+(1-\rho )\mu _{t-1}} σ t 2 = d 2 ρ + ( 1 − ρ ) σ t − 1 2 {\displaystyle \sigma _{t}^{2}=d^{2}\rho +(1-\rho )\sigma _{t-1}^{2}} d = | ( I t − μ t ) | {\displaystyle d=|(I_{t}-\mu _{t})|} Where ρ {\displaystyle \rho } determines the size of the temporal window that is used to fit the pdf (usually ρ = 0.01 {\displaystyle \rho =0.01} ) and d {\displaystyle d} is the Euclidean distance between the mean and the value of the pixel. We can now classify a pixel as background if its current intensity lies within some confidence interval of its distribution's mean: | ( I t − μ t ) | σ t > k ⟶ foreground {\displaystyle {\frac {|(I_{t}-\mu _{t})|}{\sigma _{t}}}>k\longrightarrow {\text{foreground}}} | ( I t − μ t ) | σ t ≤ k ⟶ background {\displaystyle {\frac {|(I_{t}-\mu _{t})|}{\sigma _{t}}}\leq k\longrightarrow {\text{background}}} where the parameter k {\displaystyle k} is a free threshold (usuall

    Read more →
  • Variable-message sign

    Variable-message sign

    A variable- (also changeable-, electronic-, or dynamic-) message sign or message board, often abbreviated VMS, VMB, CMS, or DMS, and in the UK known as a matrix sign, is an electronic traffic sign often used on roadways to give travelers information about special events. Such signs warn of traffic congestion, accidents, incidents such as terrorist attacks, Amber/Silver/Blue Alerts, roadwork zones, or speed limits on a specific highway segment. In urban areas, VMS are used within parking guidance and information systems to guide drivers to available car parking spaces. They may also ask vehicles to take alternative routes, limit travel speed, warn of duration and location of the incidents, inform of the traffic conditions, or display general public safety messages. == History == VMS systems were deployed at least as early as the 1950s on the New Jersey Turnpike. The road's signs of that period, and up to around 2012, were capable of displaying a few messages in neon, all oriented around warning drivers to slow down: "REDUCE SPEED", followed by a warning of either construction, accident, congestion, ice, snow, or fog at a certain distance ahead. The New Jersey Turnpike Authority replaced those signs (along with 1990s-vintage dot-matrix VMS systems along the Garden State Parkway) with more flexible electronic signs between 2010 and 2016. The current VMS systems are largely deployed on freeways, trunk highways, or in work zones. On the interchange of I-5 and SR 120 in San Joaquin County, California, an automated visibility and speed warning system was installed in 1996 to warn traffic of reduced visibility due to fog (where tule fog is a common problem in the winter), and of slow or stopped traffic. Message Signs were deployed in Ontario during the 1990s and are now being upgraded on 400-series highways as well as two pilot secondary highways in northeastern Ontario. == Technologies and types == Early variable message signs included static signs with words that would illuminate (often using neon tubing) indicating the type of incident that occurred, or signs that used rotating prisms (trilons) to change the message being displayed. These were later replaced by dot matrix displays typically using eggcrate, fiber optic, or flip-disc technology, which were capable of displaying a much wider range of messages than earlier static variable message signs. Since the late 1990s, the most common technology used in new installations for variable message signs are LED displays. In recent years, some newer LED variable message signs have the ability to display colored text and graphics. Dot-matrix variable message signs are divided into three subgroups: character matrix, row matrix, and full matrix. In a character matrix VMS, each character is given its own matrix with equal horizontal spacing between them, typically with two or three rows of characters. In a full matrix VMS, the entire sign is a single large dot matrix display, allowing the display of different fonts and graphics. A row matrix VMS is a hybrid of the two types, divided into two or three rows like a character matrix display, except each row is a single long dot matrix display instead of being split per character horizontally. Overhead variable message signs are today available in three form factors: front access, rear access, and walk-in. In a front access variable message sign, maintenance is performed by lifting the sign open from the front. Most smaller VMS are of the front access form factor, and are typically installed today on major arterials. The rear access form factor is similar to the front access form factor, except that maintenance is performed from the rear of the sign, and are commonly used for medium-sized dynamic message signs installed along the roadside of freeways (instead of overhead). The walk-in form factor is a more recent introduction, where maintenance on the sign is performed from the inside of the sign. A key advantage of the walk-in form factor is that lane closures are generally not required to perform maintenance on the sign. Most of the largest VMS units installed today are walk-in units, and are typically installed overhead on freeways. The NJ Turnpike Authority counts five unique types of variable message signs under its jurisdiction, at least one of which has been replaced by newer signs. They are: "REDUCE SPEED" neon signs (1950s-2010, obsolete, have now been replaced). "Changeable message signs" (trilon/ rotating-drum signs that can be used for closing roads or moving traffic to other roadways). Electronic VMS: signs with remotely controlled messages displayed on them; the messages are sent from the State Traffic Management Center, updating the signs automatically. Variable speed limit signs - used for varying the posted speed limits within work zones and in emergencies. Portable VMS: movable "electronic VMS". A portable VMS has much the same characteristics as a fixed electronic VMS, but can be moved from location to location as the need dictates. == Usage == Early models required an operator to be physically present when programming a message, whereas newer models may be reprogrammed remotely via a wired or wireless network or cellphone connection. A complete message on a panel generally includes a problem statement indicating incident, roadwork, stalled vehicle etc.; a location statement indicating where the incident is located; an effect statement indicating lane closure, delay, etc. and an action statement giving suggestion what to do traffic conditions ahead. These signs are also used for Amber alert messages, and in some states, Silver and Blue Alert messages. In some places, VMSes are set up with permanent, semi-static displays indicating predicted travel times to important traffic destinations such as major cities or interchanges along the route of a highway. Typical messages provide the following information: Promotional messages about services provided by a road authority during non-critical hours, such as carpooling efforts, travelers' information stations and 5-1-1 lines Crashes, including vehicle spin-out or rollover Road Works Incidents affecting normal traffic flow in a lane or on shoulders Non-recurring congestion, often a residual effect of cleared crash Closures of an entire road, e.g. over a mountain pass in winter. Exit ramp closures Debris on roadway Vehicle fires Wildfires Short-term maintenance or construction lasting less than three days Pavement failure alerts AMBER, Silver, and Blue Alerts, as well as weather warnings via the warning infrastructure of NOAA Weather Radio's SAME system Travel times Variable speed limits Car park occupancy levels speed sign, for recommending a speed to approach the next traffic light in its green phase. The information comes from a variety of traffic monitoring and surveillance systems. It is expected that by providing real-time information on special events on the oncoming road, VMS can improve motorists' route selection, reduce travel time, mitigate the severity and duration of incidents and improve the performance of the transportation network. === United Kingdom === Do not enter the motorway when the red lamps are flashing in pairs from side to side. On 27 March 1972, the first motorway computer-controlled warning lights in the UK, with 59 miles on the M6 from Broughton, Lancashire to Barthomley, on the Cheshire boundary, and 26 miles on the M62 east of Whitefield, was switched on by Michael Heseltine and Charles Legh Shuldham Cornwall-Legh, 5th Baron Grey of Codnor at the headquarters of Cheshire Constabulary on Nuns Road. It was centred at a police computer centre at Westhoughton, that connected to police stations in Preston and Chester. The Chester site was soon be connected to the M53 and M57. Four other regional computer centres would be opened at Perry Barr near the M6, Scratchwood near the M1, at Hook near the M3, and at Almondsbury near the M4. Most British motorways would be covered by 1975. The system was designed by GEC and had taken five years to design. == Safety messages for drivers == Increasingly, signs have been used to remind drivers to buckle seat belts ("Click It or Ticket"), obey the speed limit, and stay off the road if impaired ("Drive sober or get pulled over"). In a federal study, a slight majority of drivers reported that public safety messages on dynamic message signs impacted their driving behaviors. The Ohio Department of Transportation began using humorous dynamic message signs in 2015, perplexing some drivers. Examples of humorous signs seen in New Jersey, Arizona, Texas, Pennsylvania, Delaware, Iowa, New York, Minnesota and Ohio include: "Hold on to your butts. Help prevent forest fires." "We'll be blunt. Don't drive high." "Visiting in-laws? Slow down, get there late." "Only sparklers should be lit." and “Don’t drive Star Spangled hammered." (for Fourth of July) "Hocus pocus – drive with focus." and "Slow down in work zones - my mummy works here." (f

    Read more →
  • Server.com

    Server.com

    Server.com is a domain name that was owned by software as a service (SaaS) company Server Corporation. They offered a suite of services from 1996 until 2007. It was the first SaaS site to offer a variety of services and the first to use the term WebApp to describe its services. It was selected as an Incredibly Useful Site by Yahoo! Internet Life magazine. net magazine listed Server.com among the 100 most influential websites of all time. Server.com launched in 1996 offering the first online personal information manager. In 1997, they rolled out the first threaded message board service; the first web based mailing list manager; one of the first online calendar services; and one of the first online form builders. In 2000, Server.com partnered with NBCi and became server.snap.com until 2001. In 2001, Server.com was serving 100 million monthly pageviews. Media Life declared it one of the 20 biggest ad domains on the Web. In 2002, Server.com developed one of the first web-based RSS aggregators. In 2007, all services were moved to YourWebApps.com. The domain name Server.com was sold in 2009 for $770,000.

    Read more →
  • Control communications

    Control communications

    In telecommunications, control communications is the branch of technology devoted to the design, development, and application of communications facilities used specifically for control purposes, such as for controlling (a) industrial processes, (b) movement of resources, (c) electric power generation, distribution, and utilization, (d) communications networks, and (e) transportation systems.

    Read more →
  • Electronic kit

    Electronic kit

    An electronic kit is a package of electrical components used to build an electronic device. Generally, kits are composed of electronic components, a circuit diagram (schematic), assembly instructions, and often a printed circuit board (PCB) or another type of prototyping board. There are two types of kits. Some build a single device or system. Other types used for education demonstrate a range of circuits. These will include a solderless construction board of some type, such as: Components mounted in plastic blocks with side contacts, that are held together in a base, e.g. Denshi blocks Springs on a card board, the springs trap wire leads, or component leads, such as Philips EE electronic experiment kits. These are a cheap and flexible option Professional type prototyping boards, (breadboards) into which component leads are inserted, following documentation of the "kit". The first type of kit for constructing a single device normally uses a PCB on which components are soldered. They normally come with extended documentation describing which component goes where into the PCB. For advanced hobby projects, sometimes the kit may only consist of a printed circuit board and assembly instructions, and the purchaser may have to source all the parts independently; or, the vendor may provide hard-to-get or pre-programmed parts while expecting the purchaser to obtain the rest of the components. People primarily purchase electronic kits to have fun and learn how things work. They were once popular as a means to reduce the cost of buying goods, but there is usually no cost saving in buying a kit today. Some electronic kits were assembled to make complete complex devices such as color television sets, oscilloscopes, high-end audio amplifiers, amateur radio equipment, electric organs, and even computers such as the Heathkit H-8, and the LNW-80. Many of the early microprocessor computers were sold as either electronic kits or assembled and tested. Heathkit sold millions of electronic kits during its 45-year history. Home assembly of common consumer electronics items no longer provides a cost advantage over commercially manufactured and distributed devices. People still build kits for custom devices and special-purpose electronics for professional and educational use and as a hobby. Also emerging is a trend to simplify the complexity by providing preprogrammed or modular kits often provided by many suppliers online. The fun and thrill of making your own electronics have shifted, in many cases, from easy-to-comprehend applications and analog devices to more sophisticated digital devices. == Examples == The Altair 8800 (the first home computer) was also sold as a kit, as were the MK14, Sinclair ZX80, Sinclair ZX81 and Acorn Atom computers. Many S-100 bus system cards were sold only as kits. Building a Robot kit, most often with a micro controller inside, is now in fashion.

    Read more →
  • Telecommunications

    Telecommunications

    Telecommunication, often used in its plural form or abbreviated as telecom, is the transmission of information over a distance using electrical or electronic means, typically through cables, radio waves, or other communication technologies. These means of transmission may be divided into communication channels for multiplexing, allowing for a single medium to transmit several concurrent communication sessions. Long-distance technologies invented during the 19th, 20th and 21st centuries generally use electric power, and include the electrical telegraph, telephone, television, and radio. Early telecommunication networks used metal wires as the medium for transmitting signals. These networks were used for telegraphy and telephony for many decades. In the first decade of the 20th century, a revolution in wireless communication began with breakthroughs including those made in radio communications by Guglielmo Marconi, who won the 1909 Nobel Prize in Physics. Other early pioneers in electrical and electronic telecommunications include co-inventors of the telegraph Charles Wheatstone and Samuel Morse, numerous inventors and developers of the telephone including Antonio Meucci, Philipp Reis, Elisha Gray and Alexander Graham Bell, inventors of radio Edwin Armstrong and Lee de Forest, as well as inventors of television like Vladimir K. Zworykin, John Logie Baird and Philo Farnsworth. Since the 1960s, the proliferation of digital technologies has meant that voice communications have gradually been supplemented by data. The physical limitations of metallic media prompted the development of optical fibre. The Internet, a technology independent of any given medium, has provided global access to services for individual users and further reduced location and time limitations on communications. == Definition == At the 1932 Plenipotentiary Telegraph Conference and the International Radiotelegraph Conference in Madrid, the two organizations merged to form the International Telecommunication Union (ITU). They defined telecommunication as "any telegraphic or telephonic communication of signs, signals, writing, facsimiles and sounds of any kind, by wire, wireless or other systems or processes of electric signaling or visual signaling (semaphores)." The definition was later reconfirmed, according to Article 1.3 of the ITU Radio Regulations, which defined it as "Any transmission, emission or reception of signs, signals, writings, images and sounds or intelligence of any nature by wire, radio, optical, or other electromagnetic systems". As such, slow communications technologies like postal mail and pneumatic tubes are excluded from the telecommunication's definition. The term telecommunication was coined in 1904 by the French engineer and novelist Édouard Estaunié, who defined it as "remote transmission of thought through electricity". Telecommunication is a compound noun formed from the Greek prefix tele- (τῆλε), meaning distant, far off, or afar, and the Latin verb communicare, meaning to share. Communication was first used as an English word in the late 14th century. It comes from Old French comunicacion (14c., Modern French communication), from Latin communicationem (nominative communication), noun of action from past participle stem of communicare, "to share, divide out; communicate, impart, inform; join, unite, participate in," literally, "to make common", from communis. == History == Many transmission media have been used for long-distance communication throughout history, from smoke signals, beacons, semaphore telegraphs, signal flags, and optical heliographs to wires and empty space made to carry electromagnetic signals. === Before the electrical and electronic era === Long-distance communication was used long before the discovery of electricity and electromagnetism enabled the invention of telecommunications. A few of the many ingenious methods for communicating over distances prior to that are described here. Homing pigeons have been used throughout history by different cultures. Pigeon post had Persian roots and was later used by the Romans to aid their military. Frontinus claimed Julius Caesar used pigeons as messengers in his conquest of Gaul. The Greeks also conveyed the names of the victors at the Olympic Games to various cities using homing pigeons. In the early 19th century, the Dutch government used the system in Java and Sumatra. And in 1849, Paul Julius Reuter started a pigeon service to fly stock prices between Aachen and Brussels, a service that operated for a year until the gap in the telegraph link was closed. In the Middle Ages, chains of beacons were commonly used on hilltops as a means of relaying a signal. Beacon chains suffered the drawback that they could only pass a single bit of information, so the meaning of the message, such as "the enemy has been sighted" had to be agreed upon in advance. One notable instance of their use was during the Spanish Armada, when a beacon chain relayed a signal from Plymouth to London. In 1792, Claude Chappe, a French engineer, built the first fixed visual telegraphy system (or semaphore line) between Lille and Paris. However semaphore suffered from the need for skilled operators and expensive towers at intervals of ten to thirty kilometres (six to nineteen miles). As a result of competition from the electrical telegraph, the last commercial line was abandoned in 1880. === Telegraph and telephone === On July 25, 1837, the first commercial electrical telegraph was demonstrated by English inventor Sir William Fothergill Cooke and English scientist Sir Charles Wheatstone. Both inventors viewed their device as "an improvement to the [existing] electromagnetic telegraph" and not as a new device. Samuel Morse independently developed a version of the electrical telegraph that he unsuccessfully demonstrated on September 2, 1837. His code was an important advance over Wheatstone's signaling method. The first transatlantic telegraph cable was successfully completed on July 27, 1866, allowing transatlantic telecommunication for the first time. After early attempts to develop a talking telegraph by Antonio Meucci and a telefon by Johann Philipp Reis, a patent for the conventional telephone was filed by Alexander Bell in February 1876 (just a few hours before Elisha Gray filed a patent caveat for a similar device). The first commercial telephone services were set up by the Bell Telephone Company in 1878 and 1879 on both sides of the Atlantic in the cities of New Haven and London. === Radio and television === In 1894, Italian inventor Guglielmo Marconi began developing wireless communication using the then-newly discovered phenomenon of radio waves, demonstrating, by 1901, that they could be transmitted across the Atlantic Ocean. This was the start of wireless telegraphy by radio. On 17 December 1902, a transmission from the Marconi station in Glace Bay, Nova Scotia, Canada, became the world's first radio message to cross the Atlantic from North America. In 1904, a commercial service was established to transmit nightly news summaries to subscribing ships, which incorporated them into their onboard newspapers. World War I accelerated the development of radio for military communications. After the war, commercial radio AM broadcasting began in the 1920s and became an important mass medium for entertainment and news. World War II again accelerated the development of radio for the wartime purposes of aircraft and land communication, radio navigation, and radar. Development of stereo FM broadcasting of radio began in the 1930s in the United States and the 1940s in the United Kingdom, displacing AM as the dominant commercial standard in the 1970s. On March 25, 1925, John Logie Baird demonstrated the transmission of moving pictures at the London department store Selfridges. Baird's device relied upon the Nipkow disk by Paul Nipkow and thus became known as the mechanical television. It formed the basis of experimental broadcasts done by the British Broadcasting Corporation beginning on 30 September 1929. === Vacuum tubes === Vacuum tubes use thermionic emission of electrons from a heated cathode for a number of fundamental electronic functions such as signal amplification and current rectification. The simplest vacuum tube, the diode invented in 1904 by John Ambrose Fleming, contains only a heated electron-emitting cathode and an anode. Electrons can only flow in one direction through the device—from the cathode to the anode. Adding one or more control grids within the tube enables the current between the cathode and anode to be controlled by the voltage on the grid or grids. These devices became a key component of electronic circuits for the first half of the 20th century and were crucial to the development of radio, television, radar, sound recording and reproduction, long-distance telephone networks, and analogue and early digital computers. While some applications had used earlier technologies such as the sp

    Read more →
  • Django (web framework)

    Django (web framework)

    Django ( JANG-goh; sometimes stylized as django) is a free and open-source, Python-based web framework that runs on a web server. It follows the model–template–views (MTV) architectural pattern. It is maintained by the Django Software Foundation (DSF), an independent organization established in the US as a 501(c)(3) non-profit. Django's primary goal is to ease the creation of complex, database-driven websites. The framework emphasizes reusability and "pluggability" of components, less code, low coupling, rapid development, and the principle of don't repeat yourself. Python is used throughout, even for settings, files, and data models. Django also provides an optional administrative create, read, update and delete interface that is generated dynamically through introspection and configured via admin models. Some well-known sites that use Django include Instagram, Mozilla, Disqus, Bitbucket, Nextdoor, and Clubhouse. == History == Django was created in the autumn of 2003, when the web programmers at the Lawrence Journal-World newspaper, Adrian Holovaty and Simon Willison, began using Python to build applications. Jacob Kaplan-Moss was hired early in Django's development shortly before Willison's internship ended. It was released publicly under a BSD license in July 2005. The framework was named after guitarist Django Reinhardt. Holovaty is a romani jazz guitar player inspired in part by Reinhardt's music. In June 2008, it was announced that a newly formed Django Software Foundation (DSF) would maintain Django in the future. == Features == === Components === Despite having its own nomenclature, such as naming the callable objects generating the HTTP responses "views", the core Django framework can be seen as an MVC architecture. It consists of an object-relational mapper (ORM) that mediates between data models (defined as Python classes) and a relational database ("Model"), a system for processing HTTP requests with a web templating system ("View"), and a regular-expression-based URL dispatcher ("Controller"). Also included in the core framework are: a lightweight and standalone web server for development and testing a form serialization and validation system that can translate between HTML forms and values suitable for storage in the database a template system that utilizes the concept of inheritance borrowed from object-oriented programming a caching framework that can use any of several cache methods support for middleware classes that can intervene at various stages of request processing and carry out custom functions an internal dispatcher system that allows components of an application to communicate events to each other via pre-defined signals an internationalization system, including translations of Django's own components into a variety of languages a serialization system that can produce and read XML and/or JSON representations of Django model instances a system for extending the capabilities of the template engine an interface to Python's built-in unit test framework === Bundled applications === The main Django distribution also bundles a number of applications in its "contrib" package, including: an extensible authentication system the dynamic administrative interface tools for generating RSS and Atom syndication feeds a "Sites" framework that allows one Django installation to run multiple websites, each with their own content and applications tools for generating Sitemaps built-in mitigation for cross-site request forgery, cross-site scripting, SQL injection, password cracking and other typical web attacks, most of them turned on by default a framework for creating geographic information system (GIS) applications === Extensibility === Django's configuration system allows third-party code to be plugged into a regular project, provided that it follows the reusable app conventions. More than 5000 packages are available to extend the framework's original behavior, providing solutions to issues the original tool didn't tackle: registration, search, API provision and consumption, CMS, etc. This extensibility is, however, mitigated by internal components' dependencies. While the Django philosophy implies loose coupling, the template filters and tags assume one engine implementation, and both the auth and admin bundled applications require the use of the internal ORM. None of these filters or bundled apps are mandatory to run a Django project, but reusable apps tend to depend on them, encouraging developers to keep using the official stack in order to benefit fully from the apps ecosystem. === Server arrangements === Django can be run on ASGI or WSGI-compliant web servers. Django officially supports five database backends: PostgreSQL, MySQL, MariaDB, SQLite, and Oracle. Microsoft SQL Server can be used with mssql-django. == Version history == The Django team will occasionally designate certain releases to be "long-term support" (LTS) releases. LTS releases will get security and data loss fixes applied for a guaranteed period of time, typically 3+ years, regardless of the pace of releases afterwards. == Community == === DjangoCon === There is a semiannual conference for Django developers and users, named "DjangoCon", that has been held since September 2008. DjangoCon is held annually in Europe, in May or June; while another is held in the United States in August or September, in various cities. ==== United States ==== The 2012 DjangoCon took place in Washington, D.C., from September 3 to 8. 2013 DjangoCon was held in Chicago at the Hyatt Regency Hotel and the post-conference Sprints were hosted at Digital Bootcamp, computer training center. The 2014 DjangoCon US returned to Portland, OR from August 30 to 6 September. The 2015 DjangoCon US was held in Austin, TX from September 6 to 11 at the AT&T Executive Center. The 2016 DjangoCon US was held in Philadelphia, PA at The Wharton School of the University of Pennsylvania from July 17 to 22. The 2017 DjangoCon US was held in Spokane, WA; in 2018 DjangoCon US was held in San Diego, CA. DjangoCon US 2019 was held again in San Diego, CA from September 22 to 27. DjangoCon 2021 took place virtually and in 2022, DjangoCon US returned to San Diego from October 16 to 21. DjangoCon US 2023 was held from October 16 to 20 at the Durham, NC convention center and DjangoCon US 2024 took place also in Durham in September 22 to 27. DjangoCon US 2025 was held from September 8 to 12 in Chicago, Illinois. ==== Europe ==== The 2025 edition of DjangoCon Europe took place in Dublin, Ireland from 23 to 27 April. In 2024, the conference was hosted in Vigo, Spain. Edinburgh, Scotland served as the venue for DjangoCon Europe in 2023. The 2022 conference was organized in Porto, Portugal. In 2021, DjangoCon Europe was held virtually due to the COVID-19 pandemic. The 2020 edition was also conducted as a fully virtual event. DjangoCon Europe 2019 was held in Copenhagen, Denmark. In 2018, the event took place in Heidelberg, Germany. The 2017 conference was convened in Florence, Italy. DjangoCon Europe 2012 was organized in Zurich, Switzerland. ==== Australia ==== Django mini-conferences are usually held every year as part of the Australian Python Conference 'PyCon AU'. Previously, these mini-conferences have been held in: Hobart, Australia, in July 2013, Brisbane, Australia, in August 2014 and 2015, Melbourne, Australia in August 2016 and 2017, and Sydney, Australia, in August 2018 and 2019. ==== Africa ==== The first DjangoCon Africa was held in Zanzibar, Tanzania, from 6 to 11 November 2023. The event hosted approximately 200 attendees from 22 countries, including 103 women. The conference featured 26 talks on topics such as software development, education, careers, accessibility, and agriculture, often highlighting perspectives from across the African continent. Future editions of the conference are planned, with details available on the official website === Community groups & programs === Django has spawned user groups and meetups around the world, a notable group is the Django Girls organization, which began in Poland but now has had events in 91 countries. Another initiative is Djangonaut Space, a mentorship program aimed at supporting new contributors to the Django ecosystem. The program pairs experienced mentors with developers to guide them through making meaningful contributions to Django and its community. It emphasizes long-term engagement, inclusion, and collaborative open-source development. == Ports to other languages == Programmers have ported Django's template engine design from Python to other languages, providing decent cross-platform support. Some of these options are more direct ports; others, though inspired by Django and retaining its concepts, take the liberty to deviate from Django's design: Liquid for Ruby Template::Swig for Perl Twig for PHP and JavaScript Jinja for Python ErlyDTL for Erlang == CMSs based on Django Framework == Django as a framework is capable of building a complete CMS

    Read more →
  • Digital goods

    Digital goods

    Digital goods or e-goods are intangible goods that exist in digital form. Examples are Wikipedia articles; digital media, such as e-books, downloadable music, internet radio, internet television and streaming media; fonts, logos, photos and graphics; digital subscriptions; online ads (as purchased by the advertiser); internet coupons; electronic tickets; electronically treated documentation in many different fields; downloadable software (Digital Distribution) and mobile apps; cloud-based applications and online games; virtual goods used within the virtual economies of online games and communities; community access; workbooks; worksheets; planners; e-learning (online courses); webinars, video tutorials, blog posts; cards; patterns; website themes and templates. == Legal concerns about digital goods == Special legal concerns regarding digital goods include copyright infringement and taxation. Also the question of the ownership (versus licensed use or service only) of purely digital goods is not finally resolved. For instance, the software installers of the digital software distributor gog.com are technically independent to the account but are still subject to the EULA, where a "licensed, not sold" formulation is used. Therefore, it is not clear if the software can be legally used after a hypothetical loss of the account; a question which was also raised before in practice for the similar service Steam. In July 2012, the European Court of Justice ruled in the case UsedSoft GMbH v. Oracle International Corp. that the sale of a software product, either through a physical support or download, constituted a transfer of ownership in EU law, thus the first sale doctrine applies; the ruling thereby breaks the "licensed, not sold" legal theory, but leaves open numerous questions. Therefore, it is also permissible to resell software licenses even if the digital good has been downloaded directly from the Internet, as the first-sale doctrine applied whenever software was originally sold to a customer for an unlimited amount of time, thus prohibiting any software maker from preventing the resale of their software by any of their legitimate owners. The court requires that the previous owner must no longer be able to use the licensed software after the resale, but finds that the practical difficulties in enforcing this clause should not be an obstacle to authorizing resale, as they are also present for software which can be installed from physical supports, where the first-sale doctrine is in force. In several cases, content providers have faced criticism for revoking access to digital goods due to expired licenses or the discontinuation of a product, such as ebooks (which resulted in a lawsuit against Amazon.com, Inc.), digital video (with Sony Interactive Entertainment revoking access to purchased StudioCanal content from its now-defunct PlayStation video store; a similar move involving Warner Bros. Discovery content was averted by an updated license agreement), and video games (such as Ubisoft discontinuing and revoking access to its game The Crew without providing refunds or the ability to redownload the game) In September 2024, the U.S. state of California implemented a consumer protection law that prohibits the use of terms such as "buy" or "purchase" during transactions involving digital goods if there is no way to obtain the purchases in a manner that cannot be revoked by the seller (such as allowing it to be downloaded for permanent, offline access), and requires a disclaimer to be displayed to the customer at the time of purchase.

    Read more →
  • Nanonetwork

    Nanonetwork

    A nanonetwork or nanoscale network is a set of interconnected nanomachines (devices a few hundred nanometers or a few micrometers at most in size) which are able to perform only very simple tasks such as computing, data storing, sensing and actuation. Nanonetworks are expected to expand the capabilities of single nanomachines both in terms of complexity and range of operation by allowing them to coordinate, share and fuse information. Nanonetworks enable new applications of nanotechnology in the biomedical field, environmental research, military technology and industrial and consumer goods applications. Nanoscale communication is defined in IEEE P1906.1. == Communication approaches == Classical communication paradigms need to be revised for the nanoscale. The two main alternatives for communication in the nanoscale are based either on electromagnetic communication or on molecular communication. === Electromagnetic === This is defined as the transmission and reception of electromagnetic radiation from components based on novel nanomaterials. Recent advancements in carbon and molecular electronics have opened the door to a new generation of electronic nanoscale components such as nanobatteries, nanoscale energy harvesting systems, nano-memories, logical circuitry in the nanoscale and even nano-antennas. From a communication perspective, the unique properties observed in nanomaterials will decide on the specific bandwidths for emission of electromagnetic radiation, the time lag of the emission, or the magnitude of the emitted power for a given input energy, amongst others. For the time being, two main alternatives for electromagnetic communication in the nanoscale have been envisioned. First, it has been experimentally demonstrated that is possible to receive and demodulate an electromagnetic wave by means of a nanoradio, i.e., an electromechanically resonating carbon nanotube which is able to decode an amplitude or frequency modulated wave. Second, graphene-based nano-antennas have been analyzed as potential electromagnetic radiators in the terahertz band. === Molecular === Molecular communication is defined as the transmission and reception of information by means of molecules. The different molecular communication techniques can be classified according to the type of molecule propagation in walkaway-based, flow-based or diffusion-based communication. In walkway-based molecular communication, the molecules propagate through pre-defined pathways by using carrier substances, such as molecular motors. This type of molecular communication can also be achieved by using E. coli bacteria as chemotaxis. In flow-based molecular communication, the molecules propagate through diffusion in a fluidic medium whose flow and turbulence are guided and predictable. The hormonal communication through blood streams inside the human body is an example of this type of propagation. The flow-based propagation can also be realized by using carrier entities whose motion can be constrained on the average along specific paths, despite showing a random component. A good example of this case is given by pheromonal long range molecular communications. In diffusion-based molecular communication, the molecules propagate through spontaneous diffusion in a fluidic medium. In this case, the molecules can be subject solely to the laws of diffusion or can also be affected by non-predictable turbulence present in the fluidic medium. Pheromonal communication, when pheromones are released into a fluidic medium, such as air or water, is an example of diffusion-based architecture. Other examples of this kind of transport include calcium signaling among cells, as well as quorum sensing among bacteria. Based on the macroscopic theory of ideal (free) diffusion the impulse response of a unicast molecular communication channel was reported in a paper that identified that the impulse response of the ideal diffusion based molecular communication channel experiences temporal spreading. Such temporal spreading has a deep impact in the performance of the system, for example in creating the intersymbol interference (ISI) at the receiving nanomachine. In order to detect the concentration-encoded molecular signal two detection methods named sampling-based detection (SD) and energy-based detection (ED) have been proposed. While the SD approach is based on the concentration amplitude of only one sample taken at a suitable time instant during the symbol duration, the ED approach is based on the total accumulated number of molecules received during the entire symbol duration. In order to reduce the impact of ISI a controlled pulse-width based molecular communication scheme has been analysed. The work presented in showed that it is possible to realize multilevel amplitude modulation based on ideal diffusion. A comprehensive study of pulse-based binary and sinus-based, concentration-encoded molecular communication system have also been investigated.

    Read more →