Web container

Web container

A web container (also known as a servlet container; and compare "webcontainer") is the component of a web server that interacts with Jakarta Servlets. A web container is responsible for managing the lifecycle of servlets, mapping a URL to a particular servlet and ensuring that the URL requester has the correct access-rights. A web container handles requests to servlets, Jakarta Server Pages (JSP) files, and other types of files that include server-side code. The Web container creates servlet instances, loads and unloads servlets, creates and manages request and response objects, and performs other servlet-management tasks. A web container implements the web component contract of the Jakarta EE architecture. This architecture specifies a runtime environment for additional web components, including security, concurrency, lifecycle management, transaction, deployment, and other services. == List of Servlet containers == The following is a list of notable applications which implement the Jakarta Servlet specification from Eclipse Foundation, divided depending on whether they are directly sold or not. === Open source Web containers === Apache Tomcat (formerly Jakarta Tomcat) is an open source web container available under the Apache Software License. Apache Tomcat 6 and above are operable as general application container (prior versions were web containers only) Apache Geronimo is a full Java EE 6 implementation by Apache Software Foundation. Enhydra, from Lutris Technologies. GlassFish from Eclipse Foundation (an application server, but includes a web container). Jetty, from the Eclipse Foundation. Also supports SPDY and WebSocket protocols. Open Liberty, from IBM, is a fully compliant Jakarta EE server Virgo from Eclipse Foundation provides modular, OSGi based web containers implemented using embedded Tomcat and Jetty. Virgo is available under the Eclipse Public License. WildFly (formerly JBoss Application Server) is a full Java EE implementation by Red Hat, division JBoss. === Commercial Web containers === iPlanet Web Server, from Oracle. JBoss Enterprise Application Platform from Red Hat, division JBoss is subscription-based/open-source Jakarta EE-based application server. WebLogic Application Server, from Oracle Corporation (formerly developed by BEA Systems). Orion Application Server, from IronFlare. Resin Pro, from Caucho Technology. IBM WebSphere Application Server. SAP NetWeaver.

Vujak

VuJak is an early video sampler, a VJ remix and mashup tool created in 1992 by Brian Kane, Lisa Eisenpresser, and Jay Haynes. The original name of the project was Mideo, but it was later changed to VuJak. VuJak was based on MIDI control of video in real-time. It was created with MAX from Opcode Systems, and utilized the newly released QuickTime 1.0 movie object. The first working version of the program was built on a Mac IIfx with 8 megs of ram, and could jump in real-time across a 160 x 120 pixel QuickTime movie via a midi keyboard. Later versions could manipulate full screen video, included the first real-time video scratch feature, had looping, vari-speed, and random play features, and allowed for recording and editing of video sequences within the application. VuJak also had networking capabilities which allowed artists to "jam" in real time across standard phone lines. The first public exhibition of VuJak was at the Digital Hollywood conference in Beverly Hills in 1993, where it was promoted by Timothy Leary. VuJak was featured in Mondo 2000, CBS Evening News, Wired Magazine, Electronic Musician, Billboard Magazine, The Hollywood Reporter, and it was used to create promotional videos for MTV. In 1994, VuJak was a featured interactive exhibition at the Exploratorium in San Francisco. Development of VuJak ceased in 1995.

Land of Memories

Land of Memories (Chinese: 机忆之地) is a Chinese science-fiction novel by Shen Yang (沈阳), a professor at Tsinghua University's School of Journalism and Communication. The story revolves around a former neuroscientist trying to recover her memories from the metaverse after suffering amnesia due to an accident. It contains almost 6,000 Chinese characters and was shortened from an AI-generated draft that was 43,000 characters long. The process involved 66 prompts spanning almost three hours. The novel was among 18 submissions that won the level-two prize at the Fifth Jiangsu Youth Science Education and Science Fiction Competition (第五届江苏省青年科普科幻作品大赛). The contest was restricted to participants between the age of 14 and 45 but did not forbid entries generated by AI. One of its organizers reached out to Shen after finding out that the professor had been experimenting with writing science fiction using AI. The judges were not told about the novel's origin in advance. Three of them, out of the six, approved the work. One judge, who had worked with AI models before, recognized that the novel was written by AI and criticized the work for lacking emotional appeal. The organizer who had contacted Shen said the novel's introduction was not bad but the story did not develop well. It would not meet the usual standards for publication. However, he still plans to allow AI-generated submissions in 2024. Fu Ruchu, editorial department director of the People's Literature Publishing House, said the novel was not easily identifiable as AI-generated and applauded its logical consistency. She warned that artificial intelligence could endanger the jobs of fiction writers and cause permanent damage to literary language.

Cooperative coevolution

Cooperative Coevolution (CC) in the field of biological evolution is an evolutionary computation method. It divides a large problem into subcomponents, and solves them independently in order to solve the large problem. The subcomponents are also called species. The subcomponents are implemented as subpopulations and the only interaction between subpopulations is in the cooperative evaluation of each individual of the subpopulations. The general CC framework is nature inspired where the individuals of a particular group of species mate amongst themselves, however, mating in between different species is not feasible. The cooperative evaluation of each individual in a subpopulation is done by concatenating the current individual with the best individuals from the rest of the subpopulations as described by M. Potter. The cooperative coevolution framework has been applied to real world problems such as pedestrian detection systems, large-scale function optimization and neural network training. It has also be further extended into another method, called Constructive cooperative coevolution. == Pseudocode == i := 0 for each subproblem S do Initialise a subpopulation Pop0(S) calculate fitness of each member in Pop0(S) while termination criteria not satisfied do i := i + 1 for each subproblem S do select Popi(S) from Popi-1(S) apply genetic operators to Popi(S) calculate fitness of each member in Popi(S)

Multi Autonomous Ground-robotic International Challenge

The Multi Autonomous Ground-robotic International Challenge (MAGIC) is a 1.6 million dollar prize competition for autonomous mobile robots funded by TARDEC and the DSTO, the primary research organizations for Tank and Defense research in the United States and Australia respectively. The goal of the competition is to create multi-vehicle robotic teams that can execute an intelligence, surveillance and reconnaissance mission in a dynamic urban environment. The challenge required competitors to map a 500 m x 500 m challenge area in under 3.5 hours and to correctly locate, classify and recognise all simulated threats. The challenge event was conducted in Adelaide, Australia, during November 2010. == Competitors == Initially 12 teams were selected for the competition in November 2009, of which 10 teams received funding. These included: MAGICian – Adelaide/Perth, Australia (UWA, ECU, Flinders, Thales) Strategic Engineering – Adelaide, Australia (U. Adelaide) Northern Hunters – Canada (Royal Military College of Canada) Chiba Team – Japan (Chiba University) Cappadocia – Ankara, Turkey (ASELSAN, Ohio State University) RASR – Gaithersburg, Md. (Robotics Research, LLC; QinetiQ; Embry-Riddle Aeronautical University) Team Cornell – US (Cornell University) Team Michigan – Ann Arbor, Mich. (University of Michigan) Virginia Tech – US (Virginia Tech) University of Pennsylvania – Philadelphia (University of Pennsylvania) Numinence – Brisbane, Australia (Numinence Pty Ltd, La Trobe University) UNSW – Sydney, Australia (UNSW) The first downselection trial required teams to map an indoor area and outdoor area, and to demonstrate distributing and handing over tasks between robots. During the first downselection trial, the top six teams were selected: Cappadocia – Ankara, Turkey MAGICian – Adelaide/Perth, Australia RASR – Gaithersburg, Md. Team Michigan – Ann Arbor, Mich. University of Pennsylvania – Philadelphia Chiba Team – Japan Before the finals were held, Chiba Team withdrew from the competition, leaving five competitors. == Event == Ultimately the overall goal of fully autonomous operations without human intervention was not achieved, however, the Secretary for Defence stated "The competing vehicles demonstrated new advances in robotics technology, which are very promising for their potential deployment in combat zones where they can replace our troops in carrying out life-threatening tasks" and considered the competition a success. == Results == The official results of the competition were: First – Team Michigan ($750,000 prize) Second – University of Pennsylvania ($250,000 prize) Third – RASR ($100,000 prize) Fourth – MAGICian & Cappadocia The "Old Ram Shed Challenge" was a single-day competition held after the completion of MAGIC. It was smaller in scale, allowing all of the teams to demonstrate their systems during a single day. The University of Pennsylvania won this challenge, having found a greater number of the target objects than the other teams. == Technology == Key technology used by all teams was computer vision, sensor fusion, human-robot interaction, and simultaneous localization and mapping (SLAM). Team Michigan, a collaboration between the University of Michigan's APRIL Lab and Soar Technology, Inc., had the largest fleet of 14 robots, developed their own Inertial Measurement Unit, and created their skid steer robot chassis out of Baltic birch plywood. Additionally, they had minimal reliance on GPS and used bandwidth limited 900 MHz radios for all telemetry, imaging, and status communications between all robots and the ground station. The code was written primarily in Java and each robot was equipped with an actuated 2D LIDAR, along with a unique 2D barcode for inter-robot recognition. The University of Pennsylvania team consisted of only four members. All code was written using Matlab. The robots were equipped with omnidirectional vision. RASR used the Foster-Miller TALON vehicle. MAGICian used the WAMbot robots developed by The University of Western Australia, Edith Cowan University and Thales Australia. Code was written in C++ and Java. The robots were equipped with SICK laser scanners. See the September/October 2012 special issue of the Journal of Field Robotics for contest highlights, technical approaches taken by several of the teams, and an explanation of the evaluation metrics used by organizers.

TiDB

TiDB (; "Ti" stands for Titanium) is an open-source NewSQL database that supports Hybrid Transactional and Analytical Processing (HTAP) workloads. Designed to be MySQL compatible, it is developed and supported primarily by PingCAP and licensed under Apache 2.0. It is also available as a paid product. TiDB drew its initial design inspiration from Google's Spanner and F1 papers. == Release history == See all TiDB release notes. On December 19, 2024, TiDB 8.5 GA was released. On May 24, 2024, TiDB 8.1 GA was released. On December 1, 2023, TiDB 7.5 GA was released. On May 31, 2023, TiDB 7.1 GA was released. On April 7, 2022, TiDB 6.0 GA was released. On April 7, 2021 TiDB 5.0 GA was released. On May 28, 2020, TiDB 4.0 GA was released. On June 28, 2019, TiDB 3.0 GA was released. On April 27, 2018, TiDB 2.0 GA was released. On October 16, 2017, TiDB 1.0 GA was released. == Main features == === Horizontal scalability === TiDB can expand both SQL processing and storage capacity by adding new nodes. === MySQL compatibility === TiDB acts like it is a MySQL 8.0 server to applications. A user can continue to use all of the existing MySQL client libraries. Because TiDB's SQL processing layer is built from scratch, it is not a MySQL fork. === Distributed transactions with strong consistency === TiDB internally shards a table into small range-based chunks that are referred to as "Regions". Each Region defaults to approximately 100 MB in size, and TiDB uses a two-phase commit internally to ensure that regions are maintained in a transactionally consistent way. === Cloud native === TiDB is designed to work in the cloud. The storage layer of TiDB, called TiKV, became a Cloud Native Computing Foundation (CNCF) member project in August 2018, as a Sandbox level project, and became an incubation-level hosted project in May 2019. TiKV graduated from CNCF in September 2020. === Real-time HTAP === TiDB can support both online transaction processing (OLTP) and online analytical processing (OLAP) workloads. TiDB has two storage engines: TiKV, a rowstore, and TiFlash, a columnstore. === High availability === TiDB uses the Raft consensus algorithm to ensure that data is available and replicated throughout storage in Raft groups. In the event of failure, a Raft group will automatically elect a new leader for the failed member, and self-heal the TiDB cluster. === Vector Search === TiDB has a vector data type and vector indexes. This allows TiDB to be used as Vector database in AI Retrieval-augmented generation applications. == Deployment methods == === Kubernetes with Operator === TiDB can be deployed in a Kubernetes-enabled cloud environment by using TiDB Operator. An Operator is a method of packaging, deploying, and managing a Kubernetes application. It is designed for running stateful workloads and was first introduced by CoreOS in 2016. TiDB Operator was originally developed by PingCAP and open-sourced in August, 2018. TiDB Operator can be used to deploy TiDB on a laptop, Google Cloud Platform’s Google Kubernetes Engine, and Amazon Web Services’ Elastic Container Service for Kubernetes. === TiUP === TiDB 4.0 introduces TiUP, a cluster operation and maintenance tool. It helps users quickly install and configure a TiDB cluster with a few commands. == Tools == TiDB has a series of open-source tools built around it to help with data replication and migration for existing MySQL and MariaDB users. === TiDB Data Migration (DM) === TiDB Data Migration (DM) is suited for replicating data from already sharded MySQL or MariaDB tables to TiDB. A common use case of DM is to connect MySQL or MariaDB tables to TiDB, treating TiDB almost as a slave, then directly run analytical workloads on this TiDB cluster in near real-time. === Backup & Restore === Backup & Restore (BR) is a distributed backup and restore tool for TiDB cluster data. === Dumpling === Dumpling is a data export tool that exports data stored in TiDB or MySQL. It lets users make logical full backups or full dumps from TiDB or MySQL. === TiDB Lightning === TiDB Lightning is a tool that supports high speed full-import of a large MySQL dump into a new TiDB cluster. This tool is used to populate an initially empty TiDB cluster with much data, in order to speed up testing or production migration. The import speed improvement is achieved by parsing SQL statements into key-value pairs, then directly generate Sorted String Table (SST) files to RocksDB. === TiCDC === TiCDC is a change data capture tool which streams data from TiDB to other systems like Apache Kafka.

Computer-automated design

Design Automation usually refers to electronic design automation, or Design Automation which is a Product Configurator. Extending Computer-Aided Design (CAD), automated design and Computer-Automated Design (CAutoD) are more concerned with a broader range of applications, such as automotive engineering, civil engineering, composite material design, control engineering, dynamic system identification and optimization, financial systems, industrial equipment, mechatronic systems, steel construction, structural optimisation, and the invention of novel systems. The concept of CAutoD perhaps first appeared in 1963, in the IBM Journal of Research and Development, where a computer program was written. to search for logic circuits having certain constraints on hardware design to evaluate these logics in terms of their discriminating ability over samples of the character set they are expected to recognize. More recently, traditional CAD simulation is seen to be transformed to CAutoD by biologically-inspired machine learning, including heuristic search techniques such as evolutionary computation, and swarm intelligence algorithms. == Guiding designs by performance improvements == To meet the ever-growing demand of quality and competitiveness, iterative physical prototyping is now often replaced by 'digital prototyping' of a 'good design', which aims to meet multiple objectives such as maximised output, energy efficiency, highest speed and cost-effectiveness. The design problem concerns both finding the best design within a known range (i.e., through 'learning' or 'optimisation') and finding a new and better design beyond the existing ones (i.e., through creation and invention). This is equivalent to a search problem in an almost certainly, multidimensional (multivariate), multi-modal space with a single (or weighted) objective or multiple objectives. == Normalized objective function: cost vs. fitness == Using single-objective CAutoD as an example, if the objective function, either as a cost function J ∈ [ 0 , ∞ ) {\displaystyle J\in [0,\infty )} , or inversely, as a fitness function f ∈ ( 0 , 1 ] {\displaystyle f\in (0,1]} , where f = J 1 + J {\displaystyle f={\tfrac {J}{1+J}}} , is differentiable under practical constraints in the multidimensional space, the design problem may be solved analytically. Finding the parameter sets that result in a zero first-order derivative and that satisfy the second-order derivative conditions would reveal all local optima. Then comparing the values of the performance index of all the local optima, together with those of all boundary parameter sets, would lead to the global optimum, whose corresponding 'parameter' set will thus represent the best design. However, in practice, the optimization usually involves multiple objectives and the matters involving derivatives are a lot more complex. == Dealing with practical objectives == In practice, the objective value may be noisy or even non-numerical, and hence its gradient information may be unreliable or unavailable. This is particularly true when the problem is multi-objective. At present, many designs and refinements are mainly made through a manual trial-and-error process with the help of a CAD simulation package. Usually, such a posteriori learning or adjustments need to be repeated many times until a ‘satisfactory’ or ‘optimal’ design emerges. == Exhaustive search == In theory, this adjustment process can be automated by computerised search, such as exhaustive search. As this is an exponential algorithm, it may not deliver solutions in practice within a limited period of time. == Search in polynomial time == One approach to virtual engineering and automated design is evolutionary computation such as evolutionary algorithms. === Evolutionary algorithms === To reduce the search time, the biologically-inspired evolutionary algorithm (EA) can be used instead, which is a (non-deterministic) polynomial algorithm. The EA based multi-objective "search team" can be interfaced with an existing CAD simulation package in a batch mode. The EA encodes the design parameters (encoding being necessary if some parameters are non-numerical) to refine multiple candidates through parallel and interactive search. In the search process, 'selection' is performed using 'survival of the fittest' a posteriori learning. To obtain the next 'generation' of possible solutions, some parameter values are exchanged between two candidates (by an operation called 'crossover') and new values introduced (by an operation called 'mutation'). This way, the evolutionary technique makes use of past trial information in a similarly intelligent manner to the human designer. The EA based optimal designs can start from the designer's existing design database, or from an initial generation of candidate designs obtained randomly. A number of finely evolved top-performing candidates will represent several automatically optimized digital prototypes. There are websites that demonstrate interactive evolutionary algorithms for design. allows you to evolve 3D objects online and have them 3D printed. allows you to do the same for 2D images.