AI Art Detector

AI Art Detector — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Application performance engineering

    Application performance engineering

    Application performance engineering is a method to develop and test application performance in various settings, including mobile computing, the cloud, and conventional information technology (IT). == Methodology == According to the American National Institute of Standards and Technology, nearly four out of every five dollars spent on the total cost of ownership of an application is directly attributable to finding and fixing issues post-deployment. A full one-third of this cost could be avoided with better software testing. Application performance engineering attempts to test software before it is published. While practices vary among organizations, the method attempts to emulate the real-world conditions that software in development will confront, including network deployment and access by mobile devices. Techniques include network virtualization.

    Read more →
  • Plotting algorithms for the Mandelbrot set

    Plotting algorithms for the Mandelbrot set

    There are many programs and algorithms used to plot the Mandelbrot set and other fractals, some of which are described in fractal-generating software. These programs use a variety of algorithms to determine the color of individual pixels efficiently. == Escape time algorithm == The simplest algorithm for generating a representation of the Mandelbrot set is known as the "escape time" algorithm. A repeating calculation is performed for each x, y point in the plot area and based on the behavior of that calculation, a color is chosen for that pixel. === Unoptimized naïve escape time algorithm === In both the unoptimized and optimized escape time algorithms, the x and y locations of each point are used as starting values in a repeating, or iterating calculation (described in detail below). The result of each iteration is used as the starting values for the next. The values are checked during each iteration to see whether they have reached a critical "escape" condition, or "bailout". If that condition is reached, the calculation is stopped, the pixel is drawn, and the next x, y point is examined. For some starting values, escape occurs quickly, after only a small number of iterations. For starting values very close to but not in the set, it may take hundreds or thousands of iterations to escape. For values within the Mandelbrot set, escape will never occur. The programmer or user must choose how many iterations–or how much "depth"–they wish to examine. The higher the maximal number of iterations, the more detail and subtlety emerge in the final image, but the longer time it will take to calculate the fractal image. Escape conditions can be simple or complex. Because no complex number with a real or imaginary part greater than 2 can be part of the set, a common bailout is to escape when either coefficient exceeds 2. A more computationally complex method that detects escapes sooner, is to compute distance from the origin using the Pythagorean theorem, i.e., to determine the absolute value, or modulus, of the complex number. If this value exceeds 2, or equivalently, when the sum of the squares of the real and imaginary parts exceed 4, the point has reached escape. More computationally intensive rendering variations include the Buddhabrot method, which finds escaping points and plots their iterated coordinates. The color of each point represents how quickly the values reached the escape point. Often black is used to show values that fail to escape before the iteration limit, and gradually brighter colors are used for points that escape. This gives a visual representation of how many cycles were required before reaching the escape condition. To render such an image, the region of the complex plane we are considering is subdivided into a certain number of pixels. To color any such pixel, let c {\displaystyle c} be the midpoint of that pixel. We now iterate the critical point 0 under P c {\displaystyle P_{c}} , checking at each step whether the orbit point has modulus larger than 2. When this is the case, we know that c {\displaystyle c} does not belong to the Mandelbrot set, and we color our pixel according to the number of iterations used to find out. Otherwise, we keep iterating up to a fixed number of steps, after which we decide that our parameter is "probably" in the Mandelbrot set, or at least very close to it, and color the pixel black. In pseudocode, this algorithm would look as follows. The algorithm does not use complex numbers and manually simulates complex-number operations using two real numbers, for those who do not have a complex data type. The program may be simplified if the programming language includes complex-data-type operations. for each pixel (Px, Py) on the screen do x0 := scaled x coordinate of pixel (scaled to lie in the Mandelbrot X scale (-2.00, 0.47)) y0 := scaled y coordinate of pixel (scaled to lie in the Mandelbrot Y scale (-1.12, 1.12)) x := 0.0 y := 0.0 iteration := 0 max_iteration := 1000 while (xx + yy ≤ 22 AND iteration < max_iteration) do xtemp := xx - yy + x0 y := 2xy + y0 x := xtemp iteration := iteration + 1 color := palette[iteration] plot(Px, Py, color) Here, relating the pseudocode to c {\displaystyle c} , z {\displaystyle z} and P c {\displaystyle P_{c}} : z = x + i y {\displaystyle z=x+iy\ } z 2 = x 2 + 2 i x y {\displaystyle z^{2}=x^{2}+2ixy} - y 2 {\displaystyle y^{2}\ } c = x 0 + i y 0 {\displaystyle c=x_{0}+iy_{0}\ } and so, as can be seen in the pseudocode in the computation of x and y: x = R e ⁡ ( z 2 + c ) = x 2 − y 2 + x 0 {\displaystyle x=\mathop {\mathrm {Re} } (z^{2}+c)=x^{2}-y^{2}+x_{0}} and y = I m ⁡ ( z 2 + c ) = 2 x y + y 0 . {\displaystyle y=\mathop {\mathrm {Im} } (z^{2}+c)=2xy+y_{0}.\ } To get colorful images of the set, the assignment of a color to each value of the number of executed iterations can be made using one of a variety of functions (linear, exponential, etc.). One practical way, without slowing down calculations, is to use the number of executed iterations as an entry to a palette initialized at startup. If the color table has, for instance, 500 entries, then the color selection is n mod 500, where n is the number of iterations. === Optimized escape time algorithms === The code in the previous section uses an unoptimized inner while loop for clarity. In the unoptimized version, one must perform five multiplications per iteration. To reduce the number of multiplications the following code for the inner while loop may be used instead: x2:= 0 y2:= 0 w:= 0 while (x2 + y2 ≤ 4 and iteration < max_iteration) do x:= x2 - y2 + x0 y:= w - x2 - y2 + y0 x2:= x x y2:= y y w:= (x + y) (x + y) iteration:= iteration + 1 The above code works via some algebraic simplification of the complex multiplication: ( i y + x ) 2 = − y 2 + 2 i y x + x 2 = x 2 − y 2 + 2 i y x {\displaystyle {\begin{aligned}(iy+x)^{2}&=-y^{2}+2iyx+x^{2}\\&=x^{2}-y^{2}+2iyx\end{aligned}}} Using the above identity, the number of multiplications can be reduced to three instead of five. The above inner while loop can be further optimized by expanding w to w = x 2 + 2 x y + y 2 {\displaystyle w=x^{2}+2xy+y^{2}} Substituting w into y = w − x 2 − y 2 + y 0 {\displaystyle y=w-x^{2}-y^{2}+y_{0}} yields y = 2 x y + y 0 {\displaystyle y=2xy+y_{0}} and hence calculating w is no longer needed. The further optimized pseudocode for the above is: x:= 0 y:= 0 x2:= 0 y2:= 0 while (x2 + y2 ≤ 4 and iteration < max_iteration) do x2:= x x y2:= y y y:= 2 x y + y0 x:= x2 - y2 + x0 iteration:= iteration + 1 Note that in the above pseudocode, 2 x y {\displaystyle 2xy} seems to increase the number of multiplications by 1, but since 2 is the multiplier the code can be optimized via ( x + x ) y {\displaystyle (x+x)y} . == Coloring algorithms == In addition to plotting the set, a variety of algorithms have been developed to efficiently color the set in an aesthetically pleasing way show structures of the data (scientific visualisation) === Histogram coloring === A more complex coloring method involves using a histogram which pairs each pixel with said pixel's maximum iteration count before escape/bailout. This method will equally distribute colors to the same overall area, and, importantly, is independent of the maximum number of iterations chosen. This algorithm has four passes. The first pass involves calculating the iteration counts associated with each pixel (but without any pixels being plotted). These are stored in an array IterationCounts[x][y], where x and y are the x and y coordinates of said pixel on the screen respectively. The first step of the second pass is to create an array NumIterationsPerPixel[n], where the array size n is the maximum iteration count. Next, one must iterate over the array of pixel-iteration count pairs IterationCounts[x][y], and retrieve each pixel's saved iteration count, i, via e.g. i = IterationCounts[x][y]. After each pixel's iteration count i is retrieved, it is necessary to index the NumIterationsPerPixel array at i and increment the indexed value (which is initially zero) -- e.g. NumIterationsPerPixel[i] = NumIterationsPerPixel[i] + 1. for (x = 0; x < width; x++) do for (y = 0; y < height; y++) do i:= IterationCounts[x][y] NumIterationsPerPixel[i]++ The third pass iterates through the NumIterationsPerPixel array and adds up all the stored values, saving them in total. The array index represents the number of pixels that reached that iteration count before bailout. total: = 0 for (i = 0; i < max_iterations; i++) do total += NumIterationsPerPixel[i] After this, the fourth pass begins and all the values in the IterationCounts array are indexed, and, for each iteration count i, associated with each pixel, the count is added to a global sum of all the iteration counts from 1 to i in the NumIterationsPerPixel array . This value is then normalized by dividing the sum by the total value computed earlier. hue[][]:= 0.0 for (x = 0; x < width; x++) do for (y = 0; y < height; y++) do iteration:= Iteration

    Read more →
  • Sub-pixel resolution

    Sub-pixel resolution

    In digital image processing, sub-pixel resolution can be obtained in images constructed from sources with information exceeding the nominal pixel resolution of said images. == Example == For example, if the image of a ship of length 50 metres (160 ft), viewed side-on, is 500 pixels long, the nominal resolution (pixel size) on the side of the ship facing the camera is 0.1 metres (3.9 in). Now sub-pixel resolution of well resolved features can measure ship movements which are an order of magnitude (10×) smaller. Movement is specifically mentioned here because measuring absolute positions requires an accurate lens model and known reference points within the image to achieve sub-pixel position accuracy. Small movements can however be measured (down to 1 cm) with simple calibration procedures. Specific fit functions often suffer specific bias with respect to image pixel boundaries. Users should therefore take care to avoid these "pixel locking" (or "peak locking") effects. == Determining feasibility == Whether features in a digital image are sharp enough to achieve sub-pixel resolution can be quantified by measuring the point spread function (PSF) of an isolated point in the image. If the image does not contain isolated points, similar methods can be applied to edges in the image. It is also important when attempting sub-pixel resolution to keep image noise to a minimum. This, in the case of a stationary scene, can be measured from a time series of images. Appropriate pixel averaging, through both time (for stationary images) and space (for uniform regions of the image) is often used to prepare the image for sub-pixel resolution measurements.

    Read more →
  • Wilkinson's Grammar of Graphics

    Wilkinson's Grammar of Graphics

    The Grammar of Graphics (GoG) is a grammar-based system for representing graphics to provide grammatical constraints on the composition of data and information visualizations. A graphical grammar differs from a graphics pipeline as it focuses on semantic components such as scales and guides, statistical functions, coordinate systems, marks and aesthetic attributes. For example, a bar chart can be converted into a pie chart by specifying a polar coordinate system without any other change in graphical specification. The grammar of graphics concept was launched by Leland Wilkinson in 2001 (Wilkinson et al., 2001; Wilkinson, 2005) and graphical grammars have since been written in a variety of languages with various parameterisations and extensions. The major implementations of graphical grammars are nViZn created by a team at SPSS/IBM, followed by Polaris focusing on multidimensional relational databases which is commercialised as Tableau, a revised Layered Grammar of Graphics by Hadley Wickham in Ggplot2, and Vega-Lite which is a visualisation grammar with added interactivity. The grammar of graphics continues to evolve with alternate parameterisations, extensions, or new specifications. == Wilkinson's Grammar of Graphics == === Theory === Wilkinson conceived the seven elements of a graphics to be Variables: mapping of objects to values represented in a graphic Algebra: operations to combine variables and specify dimensions of graphs Geometry: creation of geometric graphs from variables Aesthetics: sensory attributes Statistics: functions to change the appearance and representation of graphs Scales: represent variables on measured dimensions Coordinates: mapping to coordinate systems With these, Wilkinson hypothesised that These seven constructs are orthogonal and virtually all known statistical charts can be generated relatively parsimoniously This computational system is not a taxonomy of charts and rather it describes the meaning of what we do when we construct statistical graphics. === Implementations === Wilkinson wrote SYSTAT, a statistical software package, in the early 1980s. This program was noted for its comprehensive graphics, including the first software implementation of the heatmap display now widely used among biologists. After his company grew to 50 employees, he sold it to SPSS in 1995. At SPSS, he assembled a team of graphics programmers who developed the nViZn platform that produces the visualizations in SPSS, Clementine, and other analytics products. While at Stanford, Tableau founders Hanrahan and Stolte, as well as Diane Tang, created the predecessor to Tableau, named Polaris. Polaris was a data visualization software tool, built with the support of a United States Department of Energy defense program, the Accelerated Strategic Computing Initiative (ASCI). The main differences between Wilkinson's system and Polaris are the use of SQL relational algebra for database services and using shelves instead of cross and nest operators. == Wickham's Layered Grammar of Graphics == === Theory === Hadley Wickham conceived an alternate parameterisation of the syntax Wilkinson had derived, creating a layered grammar of graphics which he implemented as ggplot2 for R (programming language) users. This added a hierarchy of defaults based around the idea of building up a graphic from multiple layers. Wickham conceived these elements to be: Defaults: consists of data and mapping Data: dataset Mapping: aesthetic mappings Layer: consists of data, mapping, geom, stat, and position Data: dataset, or inherit from defaults Mapping: aesthetic mappings, or inherit from defaults Geom: geometric object Stat: statistical transformation Position: position adjustment Scale: mapping of data to aesthetic attributes Coord: mapping of data to the plane of the plot Facet: split up the data === Reception === Wilkinson is generally positive on Wickham's parameterisation and implementation of ggplot2, praising its elegance and expressivity whilst claiming that his original Grammar of Graphics is capable of representing a wider range of statistical graphics. === Implementations === ggplot2 is the first implementation of a layered grammar of graphics in R and implementations in other programming languages have ensued. These include direct ports plotnine for Python, gramm for MATLAB, Lets-Plot for Kotlin and gadfly for Julia. Projects inspired by elements of Wickham's grammar include Vega-Lite which specifies plots in JSON and uses a JavaScript engine. Implementations for Python include Vega-Altair (built on top of Vega-Lite). == Vega-Lite: A Grammar of Interactive Graphics == === Theory === Vega-Lite combines ideas from Wilkinson's Grammar of Graphics and Wickham's Layered Grammar of Graphics with a composition algebra for layered and multi-view displays with a grammar of interaction. The Vega-Lite specification is instantiated in JSON and rendered by the lower-level Vega. The graphical grammar implemented by Vega-Lite is composed of the following: Unit: consists of data, transforms, mark-type and encoding Data: relational table consisting of records (rows) and named attributes (columns) Transforms: data transformations Mark-type: geometric object for visual encoding Encodings: mapping of data attributes to visual marks properties where each encoding consists of: Channel: e.g. colour, shape, size, or text Field: data attribute Data-type: e.g. nominal, ordinal, quantitative, or temporal Value: use a literal instead of a data-type Functions: e.g. binning, aggregation, and sorting Scale: maps from data domain to visual range Guide: axis or legend for visualising scale Composite Views: compose views from multiple unit specifications with operators: Layer: charts plotted on top of each other Hconcat/Vconcat: place views side-by-side Facet: subset data to produce a trellis plot Repeat: multiple plots similar to facet but with full data replication in each cell Interaction: selections identify the set of points a user is interested in manipulating, with components: Selection: get the minimal number of backing points Name: reference Type: how many backing values are stored Predicate: determine the set of selected points e.g. single, list, interval Domain|Range: store data domain or visual range Event: e.g. mouseover, mousedown, mouseup, Init: initialise with specific backing points Transforms: e.g. project, toggle, translate, zoom, and nearest Resolve: resolve selections to union or intersect ==== Implementations ==== Whilst Vega-Lite is the sole implementation of this graphics grammar specification with compilation to Vega, other implementations do create JSON files which can be interpreted by Vega-Lite. == Related projects == Ggplot2 is an R package for plotting Tableau Software (originally known as Polaris) is a commercial software built using the Grammar of Graphics nViZn built by Wilkinson. SYSTAT (statistics package) built by Wilkinson ggpy, ggplot for Python, but has not been updated since 20 November 2016 plotnine started as an effort to improve the scalability of ggplot for Python and is largely compatible with ggplot2 syntax. Plotly - Interactive, online ggplot2 graphs gramm, a plotting class for MATLAB inspired by ggplot2 gadfly, a system for plotting and visualization written in Julia, based largely on ggplot2 Chart::GGPlot - ggplot2 port in Perl, but has not been updated since 16 March 2023 The Lets-Plot for Python library includes a native backend and a Python API, which was mostly based on the ggplot2 package. Lets-Plot Kotlin API is an open-source plotting library for statistical data implemented using the Kotlin programming language, and is built on the principles of layered graphics first described in the Leland Wilkinson's work The Grammar of Graphics. ggplotnim, plotting library using the Nim programming language inspired by ggplot2. Vega and Vega-Lite are plotting libraries that use JSON to specify plots. Vega-Altair, a Python library built on top of Vega-Lite chart-parts - React-friendly Grammar of Graphics, but has not been updated since 10 Dec 2021 g2 - a JavaScript library

    Read more →
  • Play Integrity API

    Play Integrity API

    Play Integrity API (formerly known as SafetyNet) consists of several application programming interfaces (APIs) offered by the Google Play Services to support security sensitive applications and enforce DRM. Currently, these APIs include device integrity verification, app verification, recaptcha and web address verification. It uses an environment called DroidGuard to perform the attestation. == Attestation == The SafetyNet Attestation API, one of the APIs under the SafetyNet umbrella, provides verification that the integrity of the device is not compromised. In practice, non-official ROMs such as LineageOS fail the hardware attestation and thus prevent the user from using a non-compliant ROM with third-party apps (mainly banking) that require the API. Due to this, some consider this a monopolistic practice deterring the entrance of competing mobile operating systems in the market. It requires a network connection to Google servers and validates the hardware signatures. Amongst the checks, the API looks for bootloader unlock status, ROM signatures, kernel strings, it also uses AVB2.0 and dm-verity attestations. Upon successful checks, Google Play will mark the device as Certified. The attestation runs in an environment called DroidGuard (com.google.android.gms.unstable). The SafetyNet Attestation API (one of the four APIs under the SafetyNet umbrella) has been deprecated. As of 6 October 2023, Google planned to replace it with the Play Integrity API by the end of January 2025. The transition ended on 20 May 2025, breaking applications which hadn't been updated. These attestations are offered by Google Play Services and thus are not available on free Android environments, like AOSP. Therefore, developers can require the API to be available and may refuse to execute on AOSP builds. == Google Play Protect == Under the same umbrella, Play Protect is a mechanism to find and remove "vulnerable" apps from one's Android device as well as store apps. Although it's meant to scan for malware-containing apps, it also looks for non-DRM compliant apps. == Criticism == Multiple groups have criticised SafetyNet and the Play Integrity API. Criticisms include that it offers weaker protection compared to alternatives such as Android's hardware attestation API, which provides a stronger form of verification while having the ability to remain compatible with more secure Android operating systems like GrapheneOS. Critics argued it undermines competition by effectively requiring developers to rely on Google's proprietary services, strengthening its monopoly over the Android ecosystem and disadvantaging alternative, privacy-focused operating systems. Users have also developed tools, such as the Play Integrity Fix module for Magisk/KernelSU/APatch, which tricks the attestation using leaked fingerprints of vulnerable devices. Furthermore, some have questioned the effectiveness of the attestation, claiming it does not deliver the level of security promised by Google and instead serves more as a form of vendor lock-in than a meaningful security measure. Activists have also raised concerns that it may violate antitrust and competition laws, like the Digital Markets Act.

    Read more →
  • Outline of automation

    Outline of automation

    The following outline is provided as an overview of and topical guide to automation: Automation – use of control systems and information technologies to reduce the need for human work in the production of goods and services. In the scope of industrialization, automation is a step beyond mechanization. == Essence of automation == Control system – a device, or set of devices to manage, command, direct or regulate the behavior of other devices or systems. Industrial control system (ICS) – encompasses several types of control systems used in industrial production, including supervisory control and data acquisition (SCADA) systems, distributed control systems (DCS), and other smaller control system configurations such as skid-mounted programmable logic controllers (PLC) often found in industrial sectors and critical infrastructures. Industrialization – period of social and economic change that transforms a human group from an agrarian society into an industrial one. Numerical control (NC) – refers to the automation of machine tools that are operated by abstractly programmed commands encoded on a storage medium, as opposed to controlled manually via handwheels or levers, or mechanically automated via cams alone. Robotics – the branch of technology that deals with the design, construction, operation, structural disposition, manufacture and application of robots and computer systems for their control, sensory feedback, and information processing. == Branches of automation == === General purpose === Autonomous automation – autonomous software agents to adapt the controllers of computer controlled industrial machinery and processes Banking automation Broadcast automation Building automation – advanced functionality provided by the control system of a building. A building automation system (BAS) is an example of a distributed control system. Home automation – control system of a home. Office automation – the varied computer machinery and software used to digitally create, collect, store, manipulate, and relay office information needed for accomplishing basic tasks such as business process automation and robotic process automation. Console automation Database automation Integrated library system Laboratory automation === Specific purpose === Automated attendant Automated guided vehicle Autonomous mobile robot Automated highway system Automated pool cleaner Automated teller machine Automatic painting (robotic) Pop music automation Remotely operated vehicle Robotic lawn mower Telephone switchboard Vending machine == Fields contributing to automation == Cybernetics – the interdisciplinary study of the structure of regulatory systems. Cognitive science – interdisciplinary scientific study of the mind and its processes. It examines what cognition is, what it does and how it works. Robotics – the branch of technology that deals with the design, construction, operation, structural disposition, manufacture and application of robots and computer systems for their control, sensory feedback, and information processing. == History of automation == History of mass production – Prerequisites of mass production were interchangeable parts, machine tools and power, especially in the form of electricity. Mass production was popularized in the 1910s and 1920s by Henry Ford's Ford Motor Company, which introduced electric motors to the then-well-known technique of chain or sequential production. History of home automation == Automated machines == Machine to Machine OLE for process control (OPC) Process control – a statistics and engineering discipline that deals with architectures, mechanisms and algorithms for maintaining the output of a specific process within a desired range. Run Book Automation (RBA) Robot – a mechanical or virtual intelligent agent that can perform tasks automatically or with guidance, typically by remote control. == Automated machine components == Artificial intelligence – the intelligence of machines and the branch of computer science that aims to create it. Friendly artificial intelligence – an artificial intelligence that has a positive rather than negative effect on humanity, and the field of knowledge required to build such an artificial intelligence. === Automation tools === Artificial neural network (ANN) – mathematical model or computational model that is inspired by the structure or functional aspects of biological neural networks. Human machine interface (HMI) – operator level local control panel that monitors field devices Laboratory information management system (LIMS) – software package that offers a set of key features that support a modern laboratory's operations. Industrial control system – encompasses several types of control systems used in industrial production, including supervisory control and data acquisition (SCADA) systems, distributed control systems (DCS), and other smaller control system configurations such as skid-mounted programmable logic controllers (PLC) often found in the industrial sectors and critical infrastructures. Distributed control system (DCS) – control system usually of a manufacturing system, process or any kind of dynamic system, in which the controller elements are not central in location (like the brain) but are distributed throughout the system with each component sub-system controlled by one or more controllers. Manufacturing execution system (MES) – system that manages manufacturing operations in a factory, including management of resources, scheduling production processes, dispatching production orders, execution of production orders, etc. Programmable automation controller (PAC) – digital computer used for automation of electromechanical processes, such as control of machinery on factory assembly lines, amusement rides, or light fixtures. Programmable logic controller (PLC)A Programmable Logic Controller, PLC or Programmable Controller is a digital computer used for automation of electromechanical processes, such as control of machinery on factory assembly lines, amusement rides, or light fixtures. The abbreviation "PLC" and the term "Programmable Logic Controller" are registered trademarks of the Allen-Bradley Company (Rockwell Automation). PLCs are used in many industries and machines. Unlike general-purpose computers, the PLC is designed for multiple inputs and output arrangements, extended temperature ranges, immunity to electrical noise, and resistance to vibration and impact. Programs to control machine operation are typically stored in battery-backed-up or non-volatile memory. A PLC is an example of a hard real time system since output results must be produced in response to input conditions within a limited time, otherwise unintended operation will result. Supervisory control and data acquisition (SCADA) – generally refers to industrial control systems (ICS): computer systems that monitor and control industrial, infrastructure, or facility-based processes, as described below: Industrial processes include those of manufacturing, production, power generation, fabrication, and refining, and may run in continuous, batch, repetitive, or discrete modes. Simulation § Engineering Technology simulation or Process simulation == Social movements == Automation-related social movement – a movement that advocates semi- or fully automatic systems to provide for human needs globally. For example, automation of farming and food distribution throughout the world so that no one will go hungry. One goal is to automate all mundane labor, to free humans to engage in more creative activities (or less work). The Technocracy movement – social movement active from the Great Depression (1930s) to date that proposes replacing politicians and business people with scientists and engineers who have the technical expertise to manage the economy. The Zeitgeist Movement – movement advocating the replacement of the market economy with an economy in which all resources are equitably, commonly and sustainably shared. == Automation in the future == Android – a robot or synthetic organism designed to look and act like a human, and with a body having a flesh-like resemblance Technological singularity – the hypothetical future emergence of greater-than-human intelligence through technological means Semi-automation – using a centralized computer controller to orchestrate the activities of man and machine. == Automation-related publications == IEEE Spectrum – the flagship publication of the Institute of Electrical and Electronics Engineers (IEEE), explores the development, applications and implications of new technologies, and provides a forum for understanding, discussion and leadership in these areas. IEEE Transactions on Information Theory – peer-reviewed scientific journal published by the Institute of Electrical and Electronics Engineers (IEEE), focused on the study of information theory, the mathematics of communications, including computer communications, robotics communications, etc. IEEE Transactions on Control S

    Read more →
  • Automated Lip Reading

    Automated Lip Reading

    Automated Lip Reading (ALR) is a software technology developed by speech recognition expert Frank Hubner. A video image of a person talking can be analysed by the software. The shapes made by the lips can be examined and then turned into sounds. The sounds are compared to a dictionary to create matches to the words being spoken. The technology was used successfully to analyse silent home movie footage of Adolf Hitler taken by Eva Braun at their Bavarian retreat Berghof. The video, with words, was included in a documentary titled "Hitler's Private World", Revealed Studios, 2006 Source: New Technology catches Hitler off guard

    Read more →
  • Optical sorting

    Optical sorting

    Optical sorting (sometimes called digital sorting) is the automated process of sorting solid products using cameras and/or lasers. Depending on the types of sensors used and the software-driven intelligence of the image processing system, optical sorters can recognize an object's color, size, shape, structural properties and chemical composition. The sorter compares objects to user-defined accept/reject criteria to identify and remove defective products and foreign material (FM) from the production line, or to separate product of different grades or types of materials. Optical sorters are in widespread use in the food industry worldwide, with the highest adoption in processing harvested foods such as potatoes, fruits, vegetables and nuts where it achieves non-destructive, 100 percent inspection in-line at full production volumes. The technology is also used in pharmaceutical manufacturing and nutraceutical manufacturing, tobacco processing, waste recycling and other industries. Compared to manual sorting, which is subjective and inconsistent, optical sorting helps improve product quality, maximize throughput and increase yields while reducing labor costs. == History == Optical sorting is an idea that first came out of the desire to automate industrial sorting of agricultural goods like fruits and vegetables. Before automated optical sorting technology was conceived in the 1930s, companies like Unitec were producing wooden machinery to assist in the mechanical sorting of fruit processing. In 1931, a company known as “the Electric Sorting Company” was incorporated and began the creation of the world’s first color sorters, which were being installed and used in Michigan’s bean industry by 1932. In 1937, optical sorting technology had advanced to allow for systems based on a two-color principle of selection. The next few decades saw the installation of new and improved sorting mechanisms, like gravity feed systems and the implementation of optical sorting in more agricultural industries. In the late 1960s, optical sorting began to be implemented to new industries beyond agriculture, like the sorting of ferrous and non-ferrous metals. By the 1990s, optical sorting was being used heavily in the sorting of solid wastes. With the large technological revolution happening in the late 1990s and early 2000s, optical sorters were being made more efficient via the implementation of new optical sensors, like CCD, UV, and IR cameras. Today, optical sorting is used in a wide variety of industries and, as such, is implemented with a varying selection of mechanisms to assist in that specific sorter’s task. == The sorting system == In general, optical sorters feature four major components: the feed system, the optical system, image processing software, and the separation system. The objective of the feed system is to spread products into a uniform monolayer so products are presented to the optical system evenly, without clumps, at a constant velocity. The optical system includes lights and sensors housed above and/or below the flow of the objects being inspected. The image processing system compares objects to user-defined accept/reject thresholds to classify objects and actuate the separation system. The separation system — usually compressed air for small products and mechanical devices for larger products, like whole potatoes — pinpoints objects while in-air and deflects the objects to remove into a reject chute while the good product continues along its normal trajectory. The ideal sorter to use depends on the application. Therefore, the product's characteristics and the user's objectives determine the ideal sensors, software-driven capabilities and mechanical platform. == Sensors == Optical sorters require a combination of lights and sensors to illuminate and capture images of the objects so the images can be processed. The processed images will determine if the material should be accepted or rejected. There are camera sorters, laser sorters and sorters that feature a combination of the two on one platform. Lights, cameras, lasers and laser sensors can be designed to function within visible light wavelengths as well as the infrared (IR) and ultraviolet (UV) spectrums. The optimal wavelengths for each application maximize the contrast between the objects to be separated. Cameras and laser sensors can differ in spatial resolution, with higher resolutions enabling the sorter to detect and remove smaller defects. === Cameras === Monochromatic cameras detect shades of gray from black to white and can be effective when sorting products with high-contrast defects. Sophisticated color cameras with high color resolution are capable of detecting millions of colors to better distinguish more subtle color defects. Trichromatic color cameras (also called three-channel cameras) divide light into three bands, which can include red, green and/or blue within the visible spectrum as well as IR and UV. The interaction of different materials with parts of the electromagnetic spectrum make these contrasts more evident than how they appear to the naked human eye. Coupled with intelligent software, sorters that feature cameras are capable of recognizing each object's color, size and shape; as well as the color, size, shape and location of a defect on a product. Some intelligent sorters even allow the user to define a defective product based on the total defective surface area of any given object. === Lasers === While cameras capture product information based primarily on material reflectance, lasers and their sensors are able to distinguish a material's structural properties along with their color. This structural property inspection allows lasers to detect a wide range of organic and inorganic foreign material such as insects, glass, metal, sticks, rocks and plastic; even if they are the same color as the good product. Lasers can be designed to operate within specific wavelengths of light; whether on the visible spectrum or beyond. For example, lasers can detect chlorophyll by stimulating fluorescence using specific wavelengths; which is a process that is very effective for removing foreign material from green vegetables. === Camera/laser combinations === Sorters equipped with cameras and lasers on one platform are generally capable of identifying the widest variety of attributes. Cameras are often better at recognizing color, size and shape while laser sensors identify differences in structural properties to maximize foreign material detection and removal. === Hyperspectral Imaging === Driven by the need to solve previously impossible sorting challenges, a new generation of sorters that feature multispectral and hyperspectral imaging Optical Sorters. Like trichromatic cameras, multispectral and hyperspectral cameras collect data from the electromagnetic spectrum. Unlike trichromatic cameras, which divide light into three bands, hyperspectral systems can divide light into hundreds of narrow bands over a continuous range that covers a vast portion of the electromagnetic spectrum. This opens the door for more detailed analysis that leads to a more consistent product. Using IR alone might detect some defects, but combining it with a broader range of the spectrum makes it more effective. Compared to the three data points per pixel collected by trichromatic cameras, hyperspectral cameras can collect hundreds of data points per pixel, which are combined to create a unique spectral signature (also called a fingerprint) for each object. When complemented by capable software intelligence, a hyperspectral sorter processes those fingerprints to enable sorting on the chemical composition of the product. This is an emerging area of chemometrics. == Software-driven intelligence == Once the sensors capture the object's response to the energy source, image processing is used to manipulate the raw data. The image processing extracts and categorizes information about specific features. The user then defines accept/reject thresholds that are used to determine what is good and bad in the raw data flow. The art and science of image processing lies in developing algorithms that maximize the effectiveness of the sorter while presenting a simple user-interface to the operator. Object-based recognition is a classic example of software-driven intelligence. It allows the user to define a defective product based on where a defect lies on the product and/or the total defective surface area of an object. It offers more control in defining a wider range of defective products. When used to control the sorter's ejection system, it can improve the accuracy of ejecting defective products. This improves product quality and increases yields. New software-driven capabilities are constantly being developed to address the specific needs of various applications. As computing hardware becomes more powerful, new software-driven advancements become possible. Some of these advancements enhance the effectivene

    Read more →
  • Test data management

    Test data management

    Test data management (TDM) is a process in software testing concerned with the creation, preparation, and control of data used for testing software systems. It involves supplying datasets required to execute test cases and verifying system behaviour under defined conditions. Test data management is an integral part of the software development lifecycle (SDLC) and is utilized in both manual and automated testing processes. It is applied in environments that use continuous integration and DevOps practices, where test execution requires consistent and repeatable data conditions. == Overview == Test data management includes the generation, selection, and preparation of data for testing purposes, as well as its distribution across test environments. It also involves controlling data versions and ensuring that datasets correspond to specific test scenarios. In many cases, production data is adapted for testing through techniques such as masking or subsetting to reduce size and remove sensitive content. Test data management ensures that test cases are executed with relevant, consistent, and readily available data. This reduces variability in test results and supports reproducibility across test cycles. == Importance == The role of test data management has expanded with the growth of complex, data-driven systems and regulatory requirements governing data usage. Testing often depends on data that reflects real-world conditions, but direct use of production data may introduce security and privacy risks. As a result, organizations apply methods such as data masking and anonymization to meet compliance requirements, including those set by the California Privacy Rights Act (CPRA) and Europe’s General Data Protection Regulation (GDPR). Inadequate control of test data can lead to incomplete test coverage, unreliable test results, or delays in testing processes due to unavailable or inconsistent datasets. == Techniques and tools == Test data management leverages various techniques for preparing and controlling data used in testing. These include the generation of synthetic data, the extraction of subsets from production datasets, and the modification of data to remove or obscure sensitive information. A key technical requirement in these processes is maintaining referential integrity, or ensuring that relationships between data entities remain consistent across different tables and systems after masking or subsetting. Data virtualization is also used to provide access to datasets without full replication. These methods may be implemented using software tools that automate data preparation, masking, and distribution.

    Read more →
  • PhotoWorks (ray tracing software)

    PhotoWorks (ray tracing software)

    PhotoWorks is a raytrace rendering program created by Dassault Systèmes SolidWorks Corporation, formerly supplied as a photorealistic rendering add-in for SolidWorks. The program is based on the Mental Ray rendering engine. It has a library of scenes and materials that can be used with user-created SolidWorks files to create still frame images within the SolidWorks GUI. Since the 2011 release of SolidWorks, PhotoWorks has been replaced by the PhotoView 360 rendering utility. A 2010 review comparing PhotoWorks with three other rendering programs for SolidWorks (including PhotoView 360) gave the program high marks for render speed and built-in materials, but low marks for realism and user interface. Appearance File Type: .p2m

    Read more →
  • Corel VideoStudio

    Corel VideoStudio

    Corel VideoStudio (formerly Ulead VideoStudio) is a video editing software package for Microsoft Windows. == Features == === Basic editing === The software allows storyboard and timeline-oriented editing. Various formats are supported for source clips, and the resulting video can be exported to a video file. DVD and AVCHD DVD authoring capabilities are included, and Blu-ray authoring is available via a plug-in. VideoStudio supports direct DV and HDV capture and burning. === Overlay === Users can overlay videos, images, and text. Using the overlay track, up to 50 clips can be displayed simultaneously. It can handle videos in MOV and AVI formats, including alpha channel, and images in PSP, PSD, PNG, and GIF formats. Clips that do not contain an alpha channel can have specific colours removed from the overlay video so that the required background or image is displayed in the foreground. === Proxy video files === VideoStudio supports high-definition video. Proxy files are smaller versions of the video source that stand in for the full-resolution source during editing to improve performance. === Plug-ins/bundles === VideoStudio supports VFX-type plug-ins from providers, including NewBlue and proDAD. proDAD plug-ins Roto-Pen, Script, Vitascene, and Mercalli-Stabilizer are bundled with X4 and later Ultimate Editions. == Version history == Ulead VideoStudio 4 (1999) Ulead VideoStudio 5 (2001) Ulead VideoStudio 6 (2002) Ulead VideoStudio 7 (2003) Ulead VideoStudio 8 (2004) Ulead VideoStudio 9 (2005) Ulead VideoStudio 10 plus. (2006) Corel Ulead VideoStudio 11 plus. (2007) Corel VideoStudio Pro X2 (v12, 2008) Corel VideoStudio Pro X3 (v13, 2010) 2011: Corel VideoStudio Pro X4 (v14, 2011) Adds support for stop motion animation, time-lapse mode photography, 3D movies, and 2nd generation Intel Core. Corel VideoStudio Pro X5 (v15, March 9, 2012): Adds HTML5 export (Comparison of HTML5 and Flash). Corel VideoStudio Pro X6 (v16, April 25, 2013): Windows 8 compatible. Adds UHD 4K support. Corel VideoStudio Pro X7 (v17, March 5, 2014): Software becomes 64-bit. Corel VideoStudio Pro X8 (v18, May 8, 2015): Several improvements. Corel VideoStudio Pro X9 (v19, February 16, 2016): Windows 10 compatible. Adds H.265 support, Multi-Camera Editor, and Match moving. Corel VideoStudio Pro X10 (v20, February 15, 2017): Adds Mask Creator, Track Transparency, and 360-degree video support. Corel VideoStudio Pro 2018 (v21, February 13, 2018): Adds split screen Video, Lens Correction, and 3D Title Editor. Corel VideoStudio Pro 2019 (v22, February 12, 2019): Adds Color Grading, Morph Transitions, and MultiCam Capture Lite. Corel VideoStudio Pro 2020 (v23, February 25, 2020). Corel VideoStudio Pro 2021 (v24, March 26, 2021): Adds Instant Project Templates, AR Stickers, and performance improvements (particularly regarding hardware acceleration). Corel VideoStudio Pro 2022 (v25, March 6, 2022): Adds face effects, GIF Creator, transitions for Camera Movements, a speech to text converter, and ProRes Smart Proxy.

    Read more →
  • Smart environment

    Smart environment

    Smart environments link computers and other smart devices to everyday settings and tasks. Smart environments include smart homes, smart cities, and smart manufacturing. == Introduction == Smart environments are an extension of pervasive computing. According to Mark Weiser, pervasive computing promotes the idea of a world that is connected to sensors and computers. These sensors and computers are integrated with everyday objects in peoples' lives and are connected through networks. == Definition == Cook and Das, define a smart environment as "a small world where different kinds of smart devices are continuously working to make inhabitants' lives more comfortable." Smart environments aim to satisfy the experience of individuals from every environment, by replacing hazardous work, physical labor, and repetitive tasks with automated agents. Poslad differentiates three different kinds of smart environments for systems, services, and devices: virtual (or distributed) computing environments, physical environments, and human environments, or a hybrid combination of these: Virtual computing environments enable smart devices to access pertinent services anywhere and anytime. Physical environments may be embedded with various smart devices of different types including tags, sensors, and controllers, and have different form factors ranging from nano- to micro- to macro-sized. Human environments: humans, either individually or collectively, inherently form a smart environment for devices. However, humans themselves may be accompanied by smart devices such as mobile phones, use surface-mounted devices (wearable computing), and contain embedded devices (e.g., pacemakers to maintain a healthy heart operation or AR contact lenses) == Features == Smart environments encompass a range of features and services across various domains, including smart homes, smart cities, smart health, and smart factories. Some of the key features of smart environments are: Sensors and Actuators: Smart environments are equipped with an assembly of sensors and actuators that collect data and initiate actions to provide services for the betterment of human life. Interconnected Systems: These environments consist of interconnected systems that enable seamless communication and coordination among various devices and components. Data-Driven Technologies: Smart environments leverage data-driven technologies, such as the Internet of Things (IoT), to obtain information from the physical world, process it, and perform actions accordingly. Efficiency and Sustainability: They are designed to improve efficiency, sustainable practices, and resource management across different settings, such as energy efficiency in smart homes and environmental quality management in smart cities. Diverse Requirements: Different types of smart environments have diverse requirements and technology choices, influencing the processing and utilization of data within a specific environment. == Technologies == Building a smart environment involves technologies of Wireless communication Algorithm design, signal prediction & classification, information theory Multilayered software architecture, Corba, middleware Speech recognition Image processing, image recognition Sensors design, calibration, motion detection, temperature, pressure sensors, accelerometers Semantic Web and knowledge graphs Adaptive control, Kalman filters Computer networking Parallel processing Operating systems == Existing projects == The Aware Home Research Initiative at Georgia Tech "is devoted to the multidisciplinary exploration of emerging technologies and services based in the home" and was launched in 1998 as one of the first "living laboratories." The Mav Home (Managing an Adaptive Versatile Home) project, at UT Arlington, is a smart environment-lab with state-of-the-art algorithms and protocols used to provide a customized, personal environment to the users of this space. The Mav Home project, in addition to providing a safe environment, wants to reduce the energy consumption of the inhabitants. Other projects include House at the MIT Media Lab and many others.

    Read more →
  • Multimedia database

    Multimedia database

    A Multimedia database (MMDB) is a collection of related for multimedia data. The multimedia data include one or more primary media data types such as text, images, graphic objects (including drawings, sketches and illustrations) animation sequences, audio and video. A Multimedia Database Management System (MMDBMS) is a framework that manages different types of data potentially represented in a wide diversity of formats on a wide array of media sources. It provides support for multimedia data types, and facilitate for creation, storage, access, query and control of a multimedia database. == Contents of MMDB == A Multimedia Database (MMDB) hosts one or more multimedia data types (i.e. text, images, graphic objects, audio, video, animation sequences). These data types are broadly categorized into three classes: Static media (time-independent: image and graphic object). Dynamic media (time-dependent: audio, video and animation). Dimensional media(3D game and computer aided drafting programs). === Comparison of multimedia data types === Additionally, a Multimedia Database (MMDB) needs to manage additional information pertaining to the actual multimedia data. The information is about the following: Media data: the actual data representing an object. Media format data: information about the format of the media data after it goes through the acquisition, processing, and encoding phases. Media keyword data: the keyword descriptions, usually relating to the generation of the media data. Media feature data: content dependent data such as contain information about the distribution of colours, the kinds of textures and the different shapes present in an image. The last three types are called metadata as they describe several different aspects of the media data. The media keyword data and media feature data are used as indices for searching purpose. The media format data is used to present the retrieved information. == Requirements of Multimedia databases == Like the traditional databases, Multimedia databases should address the following requirements: Integration Data items do not need to be duplicated for different programs invocations Data independence Separate the database and the management from the application programs Concurrency control Allows concurrent transactions Persistence Data objects can be saved and re-used by different transactions and program invocations Privacy Access and authorization control Integrity control Ensures database consistency between transactions Recovery Failures of transactions should not affect the persistent data storage Query support Allows easy querying of multimedia data Multimedia databases should have the ability to uniformly query data (media data, textual data) represented in different formats and have the ability to simultaneously query different media sources and conduct classical database operations across them. (Query support) They should have the ability to retrieve media objects from a local storage device in a good manner. (Storage support) They should have the ability to take the response generated by a query and develop a presentation of that response in terms of audio-visual media and have the ability to deliver this presentation. (Presentation and delivery support) == Issues and challenges == Multimedia data consists of a variety of media formats or file representations including TIFF, BMP, PPT, IVUE, FPX, JPEG, MPEG, AVI, MID, WAV, DOC, GIF, EPS, PNG, etc. Because of restrictions on the conversion from one format to the other, the use of the data in a specific format has been limited as well. Usually, the data size of multimedia is large such as video; therefore, multimedia data often require a large storage. Multimedia database consume a lot of processing time, as well as bandwidth. Some multimedia data types such as video, audio, and animation sequences have temporal requirements that have implications on their storage, manipulation and presentation, but images, video and graphics data have special constraints in terms of their content. == Application areas == Examples of multimedia database application areas: Digital Libraries News-on-Demand Video-on-Demand Music database Geographic Information Systems (GIS) Telemedicine

    Read more →
  • Depop

    Depop

    Depop Limited is a social e-commerce company based in London, with additional offices in Milan and New York City. The company allows users to buy and sell items, which are mostly used and vintage pieces of clothing. == History == Depop was founded in 2011 by entrepreneur Simon Beckerman at an Italian technological incubator and business start-up centre, H-Farm. Beckerman came up with the original outline of the application during his time working on PIG, a fashion magazine based in Italy that he co-founded. The idea was to create a platform where products shown in the magazine could be purchased by users online. This idea turned into a concept similar to a flea market but on the internet, where people could sell their items while also being in control of advertising, public relations, and the creative process behind their accounts. While being financially supported by H-Farm, Beckerman worked within a team to create and lay out the Depop application while exposing it to numerous investors. In 2013, Beckerman became a member of the company's board to help improve the application and business while concurrently ceding his role of CEO. Maria Raga, Depop's co-founder and former CEO, took on the role of vice president of operations in 2014, and in 2016, she became chief executive. According to Raga, the main goal while developing Depop was to become the next Airbnb or Spotify, but to make an impact on fashion. Paolo Barberis and Nana Bianca were two of the first investors in the platform in 2012 with a seed investment. Its headquarters were moved to London in 2012. Depop expanded and opened additional offices in Milan and New York City. Beckerman raised €1 million in funding in October 2013 from Red Circle Investment and brought on Faroese Runar Reistrup as new CEO. In 2015, Depop secured another investment of $8 million from Balderton Capital and HV Capital. In March 2016, former CEO, Runar Reistrup, stated that Depop's growth was achieved through word of mouth. During his time as CEO, this growth involved taking Depop as a startup and working to raise funds to eventually amass a significant user base within the United States. In June 2019, Depop raised $62 million in Series C from General Atlantic to fund its expansion. Previous investors HV Capital, Balderton Capital, Creandum, Octopus Ventures, TempoCap and Sebastian Siemiatkowski also participated. During this time, Depop held workshops and conversations as part of their Depop Live NY events, and the company also opened a London store through their partnership with Selfridges. In 2020, Depop's gross merchandise sales and revenue both more than doubled to $650 million and $70 million respectively. This may be attributed to Depop's responsiveness to user trends, its lack of issues regarding inventory management, and the increase in users looking to resell. As of 2024, Depop has over 35 million users, according to their website. Depop is popular for Gen Z and young millennials, it is the 10th most-visited shopping platform for Gen Z consumers in the US, and, in a poll conducted by The Strategist in 2019, Depop was voted by teenagers as their favorite resale website. === Acquisition by Etsy === In June 2021, Depop was acquired by Etsy for $1.6 billion in cash, making it Etsy's most expensive acquisition; however, Depop continues to operate as a standalone brand independent from Etsy. This means that in addition to Depop keeping its existing team, the company retained its London location. At the time of acquisition, Etsy CEO Josh Silverman’s goal was to counteract the influx of buyers starting to go back to physical shops for their purchases. He saw Depop for its potential as a platform supporting a variety of products and creating a greater community of users. According to Silverman, Depop may expand and improve its services for its significant Gen Z user base. For Etsy, this acquisition maintains the company's foothold in the clothing industry and allows the company to expand its customer base to a younger demographic; at the same time, Depop is now able to make use of Etsy's company operations. When Maria Raga relinquished her position as Depop's CEO in 2022, Etsy assigned the role to Kruti Patel Goyal, who was Etsy's former chief product officer and a leader there for eleven years. When Goyal was appointed president and chief growth officer for Etsy in May, Peter Semple, former chief marketing officer, was assigned CEO of Depop officially on August 1st. === Acquisition by eBay === In February 2026, Etsy announced a proposed sale of Depop to eBay for $1.2 billion that was estimated to close within the year. == Business model == === Selling === Depop operates as a marketplace and social platform, where users can follow friends and other influencers to view their buying and selling activities. Through the platform, users are able to sell branded and designer items, as well as vintage pieces. Depop users are also encouraged by the platform to use other social networking services such as Instagram to promote their shop profiles. Celebrities have resold their own items on Depop, with some donating proceeds to charitable causes. Depop's user interface is modeled after that of Instagram. According to Depop, users who list and sell items provide their own photos with item descriptions. Users also note their designer items' authenticity and if they include any labels, tags, and receipts. These listings will appear in users' feeds. The platform's "Explore" page features items picked out by Depop staff. According to Depop, purchases are made via Apple Pay, Google Pay, credit and debit cards, and Klarna. Depop payments stay in-app, allowing for the company to mediate disputes and process refunds. Depop payments allow sellers to directly receive their payments in their bank account. To get paid by Depop, a seller has to add a bank account and verify their identification by uploading an ID. On July 18, 2024, Depop CEO Kruti Patel Goyal announced the removal of selling fees for US sellers, while maintaining a payment processing fee. This policy adjustment aimed to enhance seller revenue and support the growth of the second-hand market. === Buying === A Depop transaction includes the agreed sale price of the item, shipping fees, VAT or other applicable taxes and duties, and the marketplace fee for buyers in the U.S. or U.K. For international deliveries, packages may be subject to import taxes, customs duties, or fees, payable upon arrival or at checkout if Depop collects the tax on behalf of the buyer. For domestic purchases, relevant taxes may be collected by the seller or charged by the platform at checkout, ensuring no additional taxes are due upon delivery. For users in Australia, the United Kingdom, and the United States, Depop allows users to receive a full refund if their item does not arrive, arrives damaged, or is considerably different from the original when the issue is reported within 30 days. === Competitors === As of June 2021, Depop's competitors include Vinted, a platform founded by Milda Mitkute and Justas Janauskas in 2008 and valued at €3.5 billion, as well as the U.S. resale site Poshmark, valued at $3.5 billion. Additional competitors include Grailed, a peer-to-peer e-commerce site founded in 2014 that is recognized for its high-end second-hand menswear and streetwear, and Vestiaire Collection, a European resale app established in 2009 which specializes in authenticated pre-owned luxury items. The popularity of Depop has negatively impacted traditional second-hand stores, which can struggle to compete due to high labor costs and quality demands. There is an oversupply of clothes with the rise of fast fashion; this has taken a toll on the revenue aspect of the second-hand clothing industry. == Criticism == In November 2019, Business of Fashion reported that users within the Depop app were receiving sexually suggestive messages. In February 2020, Jessica Hamilton, a Depop buyer, reported that she found many scammers on the platform. She noticed this issue after she attempted to purchase a Nintendo Switch from a seller who would suspiciously only accept payment through a direct bank transfer without buyer protection. Hamilton blamed the company for its lack of action and relaxed security measures compared to other e-commerce sites, which made the platform especially susceptible to hackers. Without a clear strategy for managing scams, Depop lost some users' trust because of its negligence. In October 2020, some Depop buyers were tricked into paying sellers directly to bypass Depop's buyer protections, and the Depop sellers then sold those users' information on the dark web. In response, Depop claimed that it would improve security through mandatory password updates and multi-factor authentication. Users have criticized Depop for belatedly taking action against this issue.

    Read more →
  • Adobe Presenter Video Express

    Adobe Presenter Video Express

    Adobe Presenter Video Express is screencasting and video editing software developed by Adobe Systems. == Description == Adobe Presenter Video Express is primarily used as a software by video creators, to record and mix webcam and screen video feeds. It allows users to simultaneously record video from their webcam and the screen, and easily mix the 2 tracks with a simple user interface. Users can change the background in their recorded video without needing equipment like a green screen. This is unlike other video tools which rely on chroma keying technology, and only work with green or blue screens. They can also add annotations and quizzes to their content and publish the video to MP4 or HTML5 formats. == List of notable features == === Record and mix, screen and webcam === Support for simultaneous recording of screen and webcam video feeds, with a simple editing interface to mix the two video streams. This lets the author rapidly create screencasts, software demos, etc. === Make my background awesome === This feature allows authors to change the background of their webcam recording without needing a green screen, provided they use a solid-colored backdrop which contrasts well against them. Authors can select images, videos or even the screen recording as their background. === In-video quizzing === Authors can insert quizzes within their video content. On success/failure attempts, the author can decide what message to display, and can also configure the video to jump to a certain point and play. Quizzes are published as part of the interactive HTML 5 player, which cannot be hosted on YouTube and Vimeo. === LMS Reporting === Authors can publish to any SCORM compliant LMS (Learning Management System) for quiz reporting, or to Adobe Captivate Prime. === In-app assets and branding === Adobe Presenter Video Express ships with a large number of branding videos, backgrounds and video filters to help authors create studio quality videos. === MP4 and HTML5 Output === The tool publishes a single MP4 video file containing all the video content, within an HTML 5 wrapper that contains the interactive player. The interactive HTML 5 player can be hosted on any website. == Common uses == === Screencasting === Screencasting is the process of recording one's computer screen as a video, usually with an audio voice over, to create a software demonstration, tutorial, presentation, etc. Adobe Presenter Video Express supports simultaneous recording of full screen video and microphone audio for creating screencasts. === Product marketing and demos === The ability to record the webcam video in addition to everything that is visible on the screen in Adobe Presenter Video Express, allows the author to add their personality to their screencasts. Features like video mixing and 'make my background awesome' further enhance the presentation, allowing effortless creation of marketing and demo videos. === Education === Adobe Presenter Video Express supports in-video quizzes and LMS reporting, along with screencasting and webcam recording. These features make it a powerful tool for creating educational content. == Differences from Adobe Presenter and Adobe Captivate == Adobe Presenter is a Microsoft PowerPoint plug-in for converting PowerPoint slides into interactive eLearning content, available only on Windows. Starting with Adobe Presenter 8, the video creation tool Adobe Presenter Video Express was bundled with every purchase of Adobe Presenter. From September 2015, Adobe Presenter Video Express 11 was also made available as a stand-alone product on Windows and Mac. A subscription license for Adobe Presenter Video Express, valid on Windows and Mac, is available for $9.99/month. Adobe Presenter Video Express continues to be bundled with purchases of Adobe Presenter on Windows as well. Adobe Captivate is an authoring tool for creating numerous forms of interactive eLearning content. Unlike Adobe Presenter, it uses a proprietary editing interface instead of Microsoft PowerPoint. While it is possible to create screen captures with Adobe Captivate, you cannot record the webcam feed. Adobe Captivate does not bundle Adobe Presenter or Adobe Presenter Video Express.

    Read more →