AI Code Update

AI Code Update — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Deep Learning Indaba

    Deep Learning Indaba

    The Deep Learning Indaba is an annual conference and educational event that aims to strengthen machine learning and artificial intelligence (AI) capacity across Africa. Launched in 2017, it brings together students, researchers, industry practitioners, and policymakers from across the African continent. == History == The Deep Learning Indaba began in 2017 at the University of the Witwatersrand with over 300 participants from 23 African countries, offering tutorials in advanced AI topics and featuring notable speakers like Nando de Freitas. In 2018, it expanded to 650 delegates at Stellenbosch University, introducing parallel sessions to encourage collaboration. The 2019 edition in Nairobi, Kenya, reflected further growth, with increasing sponsorship and support from major tech companies like Google and Microsoft. === Deep Learning IndabaX ===

    Read more →
  • Elowan

    Elowan

    Elowan is a plant-robot cyborg. Using its own internal bioelectrical signals, The plant has a robotic extension that makes it move towards light sources. Electrodes are inserted into the leaves, stem, and ground to detect the faint bioelectrical signals the plant produces. Then they are amplified so the robot can read them. So when the plant "wants" to go to light, the cyborg automatically goes to the nearest light source. Future extensions of the robot could provide: Protection, growth frameworks, and nutrients. Other factors that could make the cyborg move are temperature, soil, and gravity conditions Elowan is one in a series of plant-electronic hybrid experiments.

    Read more →
  • Read Along

    Read Along

    Read Along, formerly known as Bolo, is an Android language-learning app for children developed by Google for the Android operating system. The application was released on the Play Store on March 7, 2019. It features a character named Diya helping children learn to read through illustrated stories. It has the facility to learn English and Indian major languages i.e. Hindi, Bengali, Tamil, Telugu, Marathi and Urdu, as well as Spanish, Portuguese and Arabic. == Technology == The app uses text-to-speech technology, through which the character named Dia reads the story, as well as speech-to-text technology, which mechanically identifies the matches between the text and the reading of the user. The story of Chhota Bheem and Katha Kids was added in September 2019. In April 2020, a new version of the application was released. In September 2020, it added Arabic language to its language option. A web version was launched in August 2022.

    Read more →
  • Open-source robotics

    Open-source robotics

    Open-source robotics is a branch of robotics where robots are developed with open-source hardware and free and open-source software, publicly sharing blueprints, schematics, and source code. It is thus closely related to the open design movement, the maker movement and open science. == Requirements == Open source robotics means that information about the hardware is easily discerned, so that others can easily rebuild it. In turn, this requires design to use only easily available standard subcomponents and tools, and for the build process to be documented in detail including a bill of materials and detailed ('Ikea style') step-by-step building and testing instructions. (A CAD file alone is not sufficient, as it does not show the steps for performing or testing the build). These requirements are standard to open source hardware in general, and are formalised by various licences, certifications, especially those defined by the peer-reviewed journals Journal of Open Hardware and HardwareX. Licensing requirements for software are the same as for any open source software. But in addition, for software components to be of practical use in real robot systems, they need to be compatible with other software, usually as defined by some robotics middleware community standard. == Hardware systems == Applications to date include: Robot arms, e.g. PARA or Thor Wheeled mobile robots. e.g. OpenScout Four-legged robots such as the Open Dynamic Robot Initiative UAV quadcopters (drones) such as Agilicious Humanoid robots, e.g. iCub, Berkeley Humanoid Lite Self-driving cars, e.g. OpenPodcar (→ Personal rapid transit) Submersible robots, eg. OpenFish Laboratory robotics such as chemical liquid handling Vertical farming Swarm robots, e.g. HeRoSwarm Domestic tasks: vacuum cleaning, floor washing and grass mowing Robot sports including robot combat and autonomous racing Education == Hardware subcomponents == Most open source hardware definitions allow non-open subcomponents to be used in modular design, as long as they are easily available. However many designs try to push openness down into as many subcomponents as possible, with the aim of ultimately reaching fully open designs. Open hardware manual-drive vehicles and their subcomponents, such as from Open Source Ecology, are often used as starting points and extended with automation systems. Open subcomponents can include open-source computing hardware as subcomponents, such as Arduino and RISC-V, as well as open source motors and drivers such as the Open Source Motor Controller and ODrive. Open hardware robotics interface boards can simplify interfacing between middleware software and physical hardware. == Software subcomponents == === Middleware === Robotics middleware is software which links multiple other software components together. In robotics, this specifically means real-time communication systems with standardized message passing protocols. The predominant open source middleware is ROS2, the robot operating system, now as version 2. Other alternatives include ROS1, YARP — used in the iCub, URBI, and Orca. Open source middleware is usually run on an open source operating system, especially the Ubuntu distribution of Linux. === Driver software === Most robot sensors and actuators require software drivers. There is little standardization of open source software at this level, because each hardware device is different. Creating open drivers for closed hardware is difficult as it requires both low level programming and reverse engineering. === Simulation software === Open source robotics simulators include Gazebo, MuJoCo and Webots. Open source 3D game engines such as Godot are also sometimes used as simulators, when equipped with suitable middleware interfaces. === Automation software === At the level of AI, many standard algorithms have open source software implementations, mostly in ROS2. Major components include: Machine vision systems such as the YOLO object detector. 3D photogrammetry Navigation including SLAM and planning such as nav2 Arm inverse kinematics such as moveIt2 == Community == The first signs of the increasing popularity of building and sharing robot designs were found with the maker culture community. What began with small competitions for remote operated vehicles (e.g. Robot combat), soon developed to the building of autonomous telepresence robots such as Sparky and then true robots (being able to take decisions themselves) as the Open Automaton Project. Several commercial companies now also produce kits for making simple robots. The community has adopted open source hardware licenses, certifications, and peer-reviewed publications, which check that source has been made correctly and permanently available under community definitions, and which validate that this has been done. These processes have become critically important due to many historical projects claiming to be open source but them reverting on the promise due to commercialisation or other pressures. As with other forms of open source hardware, the community continues to debate precise criteria for 'ease of build'. A common standard is that designs should be buildable by a technical university student, in a few days, using typical fablab tools, but definitions of all of these subterms can also be debated. Compared to other forms of open source hardware, open source robotics typically includes a large software element, so involves software as well as hardware engineers. Open source concepts are more established in open source software than hardware, so robotics is a field in which those concepts can be shared and transferred from software to hardware. While the community in open source robotics is multi-faceted with a wide range of backgrounds, a sizable sub-community uses the ROS middleware and meets at the ROSCon conferences to discuss development of ROS itself and automation components built on it.

    Read more →
  • Normalization (image processing)

    Normalization (image processing)

    In image processing, normalization is a process that changes the range of pixel intensity values, a kind of intensity mapping. Applications include photographs with poor contrast due to glare, for example. A typical case is contrast stretching. In more general fields of data processing, such as digital signal processing, it is referred to as dynamic range expansion. The purpose of dynamic range expansion in the various applications is usually to bring the image, or other type of signal, into a range that is more familiar or normal to the senses, hence the term normalization. Often, the motivation is to achieve consistency in dynamic range for a set of data, signals, or images to avoid mental distraction or fatigue. For example, a newspaper will strive to make all of the images in an issue share a similar range of grayscale. Auto-normalization in image processing software typically normalizes to the full dynamic range of the number system specified in the image file format. == Definition == Normalization transforms an n-dimensional grayscale image I : { X ⊆ R n } → { Min , . . , Max } {\displaystyle I:\{\mathbb {X} \subseteq \mathbb {R} ^{n}\}\rightarrow \{{\text{Min}},..,{\text{Max}}\}} with intensity values in the range ( Min , Max ) {\displaystyle ({\text{Min}},{\text{Max}})} , into a new image I N : { X ⊆ R n } → { newMin , . . , newMax } {\displaystyle I_{N}:\{\mathbb {X} \subseteq \mathbb {R} ^{n}\}\rightarrow \{{\text{newMin}},..,{\text{newMax}}\}} with intensity values in the range ( newMin , newMax ) {\displaystyle ({\text{newMin}},{\text{newMax}})} . The linear normalization of a grayscale digital image is performed according to the formula I N = ( I − Min ) newMax − newMin Max − Min + newMin {\displaystyle I_{N}=(I-{\text{Min}}){\frac {{\text{newMax}}-{\text{newMin}}}{{\text{Max}}-{\text{Min}}}}+{\text{newMin}}} For example, if the intensity range of the image is 50 to 180 and the desired range is 0 to 255 the process entails subtracting 50 from each of pixel intensity, making the range 0 to 130. Then each pixel intensity is multiplied by 255/130, making the range 0 to 255. Normalization might also be non-linear, as the relationship between I {\displaystyle I} and I N {\displaystyle I_{N}} may not be linear. An example of non-linear normalization is when the normalization follows a sigmoid function, in which case the normalized image is computed according to the formula I N = ( newMax − newMin ) 1 1 + e − I − β α + newMin {\displaystyle I_{N}=({\text{newMax}}-{\text{newMin}}){\frac {1}{1+e^{-{\frac {I-\beta }{\alpha }}}}}+{\text{newMin}}} Where α {\displaystyle \alpha } defines the width of the input intensity range, and β {\displaystyle \beta } defines the intensity around which the range is centered. Gamma correction (log/inverse log) is also a common transformation function. === Colorspace === Intensity operations generally operate on a colorspace that maps to the human perception of lightness without intentionally changing the other properties. This can be done, for example, by operating on the L component of the CIELAB color space, or approximately by operating on the Y component of YCbCr. It is also possible to operate on each of the RGB color channels, though the result will not always make sense. == Contrast stretching == This is the most significant and essential technique of spatial-based image enhancement. The basic intent of this contrast enhancement technique is to adjust the local contrast in the image so as to bring out the clear regions or objects in the image. Low-contrast images often result from poor or non-uniform lighting conditions, a limited dynamic range of the imaging sensor, or improper settings of the lens aperture. This operation tries to change the intensity of the pixel in the image, particularly in the input image, to obtain an enhanced image. It is based on the number of techniques, namely local, global, dark and bright levels of contrast. The contrast enhancement is considered as the amount of color or gray differentiation that lies among the different features in an image. The contrast enhancement improves the quality of image by increasing the luminance difference between the foreground and background. A contrast stretching transformation can be achieved by: Stretching the dark range of input values into a wider range of output values: This involves increasing the brightness of the darker areas in the image to enhance details and improve visibility. Shifting the mid-range of input values: This involves adjusting the brightness levels of the mid-tones in the image to improve overall contrast and clarity. Compressing the bright range of input values: This process involves reducing the brightness of the brighter areas in the image to prevent overexposure resulting in a more balanced and visually appealing image. It can be described as the following piecewise funciton: I N = { s 1 r 1 I if I < r 1 s 2 − s 1 r 1 − r 2 ( I − r 1 ) if r 1 ≤ I ≤ r 2 1 − s 2 1 − r 2 ( I − r 2 ) if I > r 2 {\displaystyle I_{N}={\begin{cases}{\frac {s_{1}}{r_{1}}}I&{\text{if }}Ir_{2}\end{cases}}} Where: ( r 1 , s 1 ) {\displaystyle (r_{1},s_{1})} defines the transition point between the "dark" range to the "main" range. ( r 2 , s 2 ) {\displaystyle (r_{2},s_{2})} defines the transition point between the "main" range to the "bright" range. A typical linear stretch is obtained when ( r 1 , s 1 ) = ( r min , 0 ) {\displaystyle (r_{1},s_{1})=(r_{\text{min}},0)} and ( r 2 , s 2 ) = ( r max , 1 ) {\displaystyle (r_{2},s_{2})=(r_{\text{max}},1)} , where r min {\displaystyle r_{\text{min}}} and r max {\displaystyle r_{\text{max}}} denote the minimum and maximum levels in the source image. === Global contrast stretching === Global Contrast Stretching considers all color palate ranges at once to determine the maximum and minimum values for the entire RGB color image. This approach utilizes the combination of RGB colors to derive a single maximum and minimum value for contrast stretching across the entire image. === Local contrast stretching === Local contrast stretching (LCS) is an image enhancement method that focuses on locally adjusting each pixel's value to improve the visualization of structures within an image, particularly in both the darkest and lightest portions. It operates by utilizing sliding windows, known as kernels, which traverse the image. The central pixel within each kernel is adjusted using the following formula: I p ( x , y ) = 255 × [ I 0 ( x , y ) − m i n ] ( m a x − m i n ) {\displaystyle I_{p}(x,y)=255\times {\frac {[I_{0}(x,y)-min]}{(max-min)}}} Where: Ip(x,y) is the color level for the output pixel (x,y) after the contrast stretching process. I0(x,y) is the color level input for data pixel (x, y). max is the maximum value for color level in the input image within the selected kernel. min is the minimum value for color level in the input image within the selected kernel. A piecewise form (see above) may also be used. LCS can be applied to the three color channels of an image separately.

    Read more →
  • COVID-19 apps

    COVID-19 apps

    COVID-19 apps include mobile-software applications for digital contact-tracing—i.e. the process of identifying persons ("contacts") who may have been in contact with an infected individual—deployed during the COVID-19 pandemic. Numerous tracing applications have been developed or proposed, with official government support in some territories and jurisdictions. Several frameworks for building contact-tracing apps have been developed. Privacy concerns have been raised, especially about systems that are based on tracking the geographical location of app users. Less overtly intrusive alternatives include the co-option of Bluetooth signals to log a user's proximity to other cellphones. (Bluetooth technology has form in tracking cell-phones' locations.)) On 10 April 2020, Google and Apple jointly announced that they would integrate functionality to support such Bluetooth-based apps directly into their Android and iOS operating systems. India's COVID-19 tracking app Aarogya Setu became the world's fastest growing application—beating Pokémon Go—with 50 million users in the first 13 days of its release. == Rationale == Contact tracing is an important tool in infectious disease control, but as the number of cases rises time constraints make it more challenging to effectively control transmission. Digital contact tracing, especially if widely deployed, may be more effective than traditional methods of contact tracing. In a March 2020 model by the University of Oxford Big Data Institute's Christophe Fraser's team, a coronavirus outbreak in a city of one million people is halted if 80% of all smartphone users take part in a tracking system; in the model, the elderly are still expected to self-isolate en masse, but individuals who are neither symptomatic nor elderly are exempt from isolation unless they receive an alert that they are at risk of carrying the disease. Some proponents advocate for legislation exempting certain COVID-19 apps from general privacy restrictions. == Issues == === Uptake === Ross Anderson, professor of security engineering at Cambridge University, listed a number of potential practical problems with app-based systems, including false positives and the potential lack of effectiveness if takeup of the app is limited to only a small fraction of the population. In Singapore, only one person in three had downloaded the TraceTogether app by the end of June 2020, despite legal requirements for most workers; the app was also underused, as it required users to keep it open at all times on iOS. A team at the University of Oxford simulated the effect of a contact tracing app on a city of 1 million. They estimated that if the app was used in conjunction with the shielding of over-70s, then 56% of the population would have to be using the app for it to suppress the virus. This would be equivalent to 80% of smartphone users in the United Kingdom. They found that the app could still slow the spread of the virus if fewer people downloaded it, with one infection being prevented for every one or two users. In August 2020, the American Civil Liberties Union (ACLU) argued that there were disparities in smartphone use between demographics and minority groups, and that "even the most comprehensive, all-seeing contact tracing system is of little use without social and medical systems in place to help those who may have the virus — including access to medical care, testing, and support for those who are quarantined." === App store restrictions === Addressing concerns about the spread of misleading or harmful apps, Apple, Google and Amazon set limits on which types of organizations could add coronavirus-related apps to its App Store, limiting them to only "official" or otherwise reputable organizations. === Ethical principles of mass surveillance using COVID-19 contact tracing apps === The advent of COVID-19 contact tracing apps has led to concerns around privacy, the rights of app users, and governmental authority. The European Convention on Human Rights, the International Covenant on Civil and Political Rights (ICCPR) and the United Nations and the Siracusa Principles have outlined 4 principles to consider when looking at the ethical principles of mass surveillance with COVID-19 contact tracing apps. These are necessity, proportionality, scientific validity, and time boundedness. Necessity is defined as the idea that governments should only interfere with a person's rights when deemed essential for public health interests. The potential risks associated with infringements of personal privacy must be outweighed by the possibility of reducing significant harm to others. Potential benefits of contact-tracing apps that may be considered include allowing for blanket population-level quarantine measures to be lifted sooner and the minimization of people under quarantine. Hence, some contend that contact-tracing apps are justified as they may be less intrusive than blanket quarantine measures. Furthermore, the delay of an effective contact-tracing app with significant health and economic benefits may be considered unethical. Proportionality refers to the concept that a contact tracing app's potential negative impact on a person's rights should be justifiable by the severity of the health risks that are being addressed. Apps must use the most privacy-preserving options available to achieve their goals, and the selected option should not only be a logical option for achieving the goal but also an effective one. Scientific validity evaluates whether an app is effective, timely and accurate. Traditional manual contact-tracing procedures are not efficient enough for the COVID-19 pandemic, and do not consider asymptomatic transmission. Contact-tracing apps, on the other hand, can be effective COVID-19 contact-tracing tools that reduce R value to less than 1, leading to sustained epidemic suppression. However, for apps to be effective, there needs to be a minimum 56-60% uptake in the population. Apps should be continually modified to reflect current knowledge on the diseases being monitored. Some argue that contact-tracing apps should be considered societal experimental trials where results and adverse effects are evaluated according to the stringent guidelines of social experiments. Analyses should be conducted by independent research bodies and published for wide dissemination. Despite the current urgency of our pandemic situation, we should still adhere to the standard rigors of scientific evaluation. Time boundedness describe the need for establishing legal and technical sunset clauses so that they are only allowed to operate as long as necessary to address the pandemic situation. Apps should be withdrawn as soon as possible after the end of the pandemic. If the end of the pandemic cannot be predicted, the use of apps should be regularly reviewed and decisions about continued use should be made at each review. Collected data should only be retained by public health authorities for research purposes with clear stipulations on how long the data will be held for and who will be responsible for security, oversight, and ownership. === Privacy, discrimination and marginalisation concerns === The American Civil Liberties Union (ACLU) has published a set of principles for technology-assisted contact tracing and Amnesty International and over 100 other organizations issued a statement calling for limits on this kind of surveillance. The organisations declared eight conditions on governmental projects: surveillance would have to be "lawful, necessary and proportionate"; extensions of monitoring and surveillance would have to have sunset clauses; the use of data would have to be limited to COVID-19 purposes; data security and anonymity would have to be protected and shown to be protected based on evidence; digital surveillance would have to address the risk of exacerbating discrimination and marginalisation; any sharing of data with third parties would have to be defined in law; there would have to be safeguards against abuse and the rights of citizens to respond to abuses; "meaningful participation" by all "relevant stakeholders" would be required, including that of public health experts and marginalised groups. The German Chaos Computer Club (CCC) and Reporters Without Borders also issued checklists. The Exposure Notification service intends to address the problem of persistent surveillance by removing the tracing mechanism from their device operating systems once it is no longer needed. On 20 April 2020, it was reported that over 300 academics had signed a statement favouring decentralised proximity tracing applications over centralised models, given the difficulty in precluding centralised options being used "to enable unwarranted discrimination and surveillance." In a centralised model, a central database records the ID codes of meetings between users. In a decentralised model, this information is recorded on individual phones, with the role of the central

    Read more →
  • Kernel-phase

    Kernel-phase

    Kernel-phases are observable quantities used in high resolution astronomical imaging used for superresolution image creation. It can be seen as a generalization of closure phases for redundant arrays. For this reason, when the wavefront quality requirement are met, it is an alternative to aperture masking interferometry that can be executed without a mask while retaining phase error rejection properties. The observables are computed through linear algebra from the Fourier transform of direct images. They can then be used for statistical testing, model fitting, or image reconstruction. == Prerequisites == In order to extract kernel-phases from an image, some requirements must be met: Images are nyquist-sampled (at least 2 pixels per resolution element ( λ D {\displaystyle {\frac {\lambda }{D}}} )) Images are taken in near monochromatic light Exposure time is shorter than the timescale of aberrations Strehl ratio is high (good adaptive optics) Linearity of the pixel response (i.e. no saturation) Deviations from these requirements are known to be acceptable, but lead to observational bias that should be corrected by the observation of calibrators. == Definition == The method relies on a discrete model of the instrument's pupil plane and the corresponding list of baselines to provide corresponding vectors φ {\displaystyle \varphi } of pupil plane errors and Φ {\displaystyle \Phi } of image plane Fourier Phases. When the wavefront error in the pupil plane is small enough (i.e. when the Strehl ratio of the imaging system is sufficiently high), the complex amplitude associated to the instrumental phase in one point of the pupil φ k {\displaystyle \varphi _{k}} , can be approximated by e i φ k ≈ 1 + i φ k {\displaystyle e^{i\varphi _{k}}\approx 1+{\mathit {i}}\varphi _{k}} . This permits the expression of the pupil-plane phase aberrations φ {\displaystyle \varphi } to the image plane Fourier phase as a linear transformation described by the matrix A {\displaystyle A} : Φ = Φ 0 + A ⋅ φ {\displaystyle \Phi =\Phi _{0}+A\cdot \varphi } Where Φ 0 {\displaystyle \Phi _{0}} is the theoretical Fourier phase vector of the object. In this formalism, singular value decomposition can be used to find a matrix K {\displaystyle K} satisfying K ⋅ A = 0 {\displaystyle K\cdot A=0} . The rows of K {\displaystyle K} constitute a basis of the kernel of A T {\displaystyle A^{T}} . K ⋅ Φ = K ⋅ Φ 0 + K ⋅ A ⋅ φ {\displaystyle K\cdot \Phi =K\cdot \Phi _{0}+{\cancel {K\cdot A\cdot \varphi }}} The vector K . Φ {\displaystyle K.\Phi } is called the kernel-phase vector of observables. This equation can be used for model-fitting as it represents the interpretation of a sub-space of the Fourier phase that is immune to the instrumental phase errors to the first order. == Applications == The technique was first used in the re-analysis of archival images from the Hubble Space Telescope where it enabled the discovery of a number of brown dwarf in close binary systems. The technique is used as an alternative to aperture masking interferometry, especially for fainter stars because it does not require the use of masks that typically block 90% of the light, and therefore allows higher throughput. It is also considered to be an alternative to coronagraphy for direct detection of exoplanets at very small separations (below 2 λ D {\displaystyle 2{\frac {\lambda }{D}}} ) where coronagraphs are limited by the wavefront errors of adaptive optics. The same framework can be used for wavefront sensing. In the case of an asymmetric aperture, a pseudo-inverse of A {\displaystyle A} can be used to reconstruct the wavefront errors directly from the image. A Python library called xara is available on GitHub and maintained by Frantz Martinache to facilitate the extraction and interpretation of kernel-phases. The KERNEL project, has received funding from the European Research Council to explore the potential of these observables for a number of use-cases, including direct detection of exoplanets, image reconstruction, and image plane wavefront sensing for adaptive optics.

    Read more →
  • Clue (mobile app)

    Clue (mobile app)

    Clue is a menstrual health app developed by the Berlin-based technology company BioWink GmbH. The app has over 15 million users from 180 countries. The startup has raised over $17 million from backers that include Union Square Ventures and Mosaic Ventures. == History == Clue was co-founded by Ida Tin, Hans Raffauf, Mike LaVigne and Moritz von Buttlar in 2012. BioWink GmbH launched the app in 2013. Ida Tin's stated goal was to take female reproductive health “out of taboo land” and to start “a reproductive health revolution.” Tin previously led motorbike tours around the world and wrote a book about her experience. By July 2017, the Clue app had more than 8 million active users on both Android and iOS. Users were representative of more than 180 countries. In 2015, BioWink GmbH closed a $7 million Series A funding round led by Union Square Ventures and Mosaic Ventures, bringing the company's total funding to $10 million. The company was listed as one of Europe's Hottest Startups in 2015 by Wired UK, with Clue being named one of the best apps in 2015 by both Apple and Google. In March 2018, the company launched an editorial site to serve as a resource for accessible and scientific menstrual health information. == Mobile app == The Clue mobile application calculates and predicts a user's period, fertile window, and premenstrual syndrome. It also informs users the most or least likely time for becoming pregnant and allows them to track more than 30 health categories, including sex, sleep, pain, exercise, hair, skin, digestion, emotions and energy. The app can also explain how pill dosages impact fertility and includes an alarm system to allow for reminders for taking pills. In 2015, the company closed a Series A funding round and announced plans to use the proceeds to expand features of the mobile app and hire more staff. Clue also partnered with universities such as Stanford University, Columbia University, University of Washington, and University of Oxford to advance female health research. Clue integrated with Apple Inc.'s HealthKit for iOS 9 in September 2015, allowing data such as body temperature, cervical mucus quality, menstruation, ovulation test results, sexual activity, and spotting directly to the app. In 2016, Clue was available in 15 languages on both iOS and Android. That same year, Clue introduced a cycle-sharing feature and in 2017 a pill-tracking option. In February 2018, Clue made its app available on the Fitbit Ionic smartwatch. In 2026, Clue partnered with UK-based digital healthcare platform Evaro, an NHS-licensed provider, to offer embedded prescription services within the app.

    Read more →
  • Situated

    Situated

    In artificial intelligence and cognitive science, the term situated refers to an agent which is embedded in an environment. The term situated is commonly used to refer to robots, but some researchers argue that software agents can also be situated if: they exist in a dynamic (rapidly changing) environment, which they can manipulate or change through their actions, and which they can sense or perceive. Examples might include web-based agents, which can alter data or trigger processes (such as purchases) over the internet, or virtual-reality bots which inhabit and change virtual worlds, such as Second Life. Being situated is generally considered to be part of being embodied, but it is useful to consider each perspective individually. The situated perspective emphasizes that intelligent behaviour derives from the environment and the agent's interactions with it. The nature of these interactions are defined by an agent's embodiment.

    Read more →
  • Breakup Notifier

    Breakup Notifier

    Breakup Notifier was a web application written by product developer and programmer Dan Loewenherz that enabled its registered users to track the relationship status of their Facebook friends. An email notification was sent to the user when one of their Facebook friends changed their relationship status. The app was one of the most viral Facebook app's at the time of its release. It was mentioned in a skit on The Jay Leno Show and news of its popularity was published in Time magazine, The New York Post, CNET, and The Globe and Mail. == Popularity and Facebook controversy == Breakup Notifier gathered 100,000 users in less than 24 hours of its launch and reached a user base of more than 3,000,000 in February 2011. Facebook then blocked the app. Loewenherz later created an app named Crush Notifier, which differs from the original app in that users can check if they have a mutual crush. Breakup Notifier was later unblocked by Facebook and monetized.

    Read more →
  • ViEWER

    ViEWER

    ViEWER, the Virtual Environment Workbench for Education and Research, is a proprietary, freeware computer program for Microsoft Windows written by researchers at the University of Idaho for the study of visual perception and complex immersive three-dimensional environments. It was created using C++ and OpenGL, and has been used by Dr. Brian Dyre, Dr. Steffen Werner, Dr. Ernesto Bustamante, Dr. Ben Barton, and their undergraduate and graduate researchers in visual perception, signal detection, and child-safety experiments.

    Read more →
  • Non-separable wavelet

    Non-separable wavelet

    Non-separable wavelets are multi-dimensional wavelets that are not directly implemented as tensor products of wavelets on some lower-dimensional space. They have been studied since 1992. They offer a few important advantages. Notably, using non-separable filters leads to more parameters in design, and consequently better filters. The main difference, when compared to the one-dimensional wavelets, is that multi-dimensional sampling requires the use of lattices (e.g., the quincunx lattice). The wavelet filters themselves can be separable or non-separable regardless of the sampling lattice. Thus, in some cases, the non-separable wavelets can be implemented in a separable fashion. Unlike separable wavelet, the non-separable wavelets are capable of detecting structures that are not only horizontal, vertical or diagonal (show less anisotropy). == Examples == Red-black wavelets Contourlets Shearlets Directionlets Steerable pyramids Non-separable schemes for tensor-product wavelets

    Read more →
  • Doubao

    Doubao

    Doubao (Chinese: 豆包) is an artificial intelligence assistant developed by ByteDance. == History == The chatbot was launched in August 2023. By November 2024, it had become China's most popular AI chatbot, with approximately 60 million monthly active users according to industry analytics. == Design == Doubao is powered by Volcano Engine (Volcengine), 120 trillion tokens consumed per day. == Variants == === Dola === The international version of Doubao is Dola which was launched in August 2023 as Cici. Dola is powered by OpenAI's GPT series of large language models and by Google's Gemini.

    Read more →
  • Arattai

    Arattai

    Arattai Messenger (or simply Arattai) is an encrypted messaging service for instant messaging, voice calls, and video calls, developed by Zoho Corporation. The name Arattai means "chat" or "conversation" in Tamil. The app was soft-launched in January 2021. The app saw a sharp surge in downloads in September 2025, partially fueled by endorsements from Indian government officials. However, the app dropped from the top rankings in October 2025. == History == Arattai was initially tested internally among Zoho employees before being released publicly in early 2021. The launch coincided with a surge in interest for privacy-focused and messaging services, triggered by concerns over WhatsApp's updated terms of service. In September 2025, Arattai experienced a major surge in adoption, with daily sign-ups reportedly increasing 100-fold, from around 3,000 to more than 350,000 in three days. The surge in downloads was attributed to Zoho products being promoted by Indian government officials as part of their Make in India push for homegrown alternatives to foreign‐owned apps, amid deteriorating India–US relations. The growth temporarily strained Zoho's infrastructure, prompting rapid scaling of servers and capacity expansion. During the same period, the app reached the top position in Apple's App Store charts for the "Social Networking" category in India. The app dropped from the top ranking in late October 2025. == Reception == At launch, Arattai was positioned as a potential domestic rival to WhatsApp in India, but analysts noted that it faced challenges with encryption, ecosystem, and network effect. Critics pointed to occasional sync delays.

    Read more →
  • Shearlet

    Shearlet

    In applied mathematical analysis, shearlets are a multiscale framework which allows efficient encoding of anisotropic features in multivariate problem classes. Originally, shearlets were introduced in 2006 for the analysis and sparse approximation of functions f ∈ L 2 ( R 2 ) {\displaystyle f\in L^{2}(\mathbb {R} ^{2})} . They are a natural extension of wavelets, to accommodate the fact that multivariate functions are typically governed by anisotropic features such as edges in images, since wavelets, as isotropic objects, are not capable of capturing such phenomena. Shearlets are constructed by parabolic scaling, shearing, and translation applied to a few generating functions. At fine scales, they are essentially supported within skinny and directional ridges following the parabolic scaling law, which reads length² ≈ width. Similar to wavelets, shearlets arise from the affine group and allow a unified treatment of the continuum and digital situation leading to faithful implementations. Although they do not constitute an orthonormal basis for L 2 ( R 2 ) {\displaystyle L^{2}(\mathbb {R} ^{2})} , they still form a frame allowing stable expansions of arbitrary functions f ∈ L 2 ( R 2 ) {\displaystyle f\in L^{2}(\mathbb {R} ^{2})} . One of the most important properties of shearlets is their ability to provide optimally sparse approximations (in the sense of optimality in ) for cartoon-like functions f {\displaystyle f} . In imaging sciences, cartoon-like functions serve as a model for anisotropic features and are compactly supported in [ 0 , 1 ] 2 {\displaystyle [0,1]^{2}} while being C 2 {\displaystyle C^{2}} apart from a closed piecewise C 2 {\displaystyle C^{2}} singularity curve with bounded curvature. The decay rate of the L 2 {\displaystyle L^{2}} -error of the N {\displaystyle N} -term shearlet approximation obtained by taking the N {\displaystyle N} largest coefficients from the shearlet expansion is in fact optimal up to a log-factor: ‖ f − f N ‖ L 2 2 ≤ C N − 2 ( log ⁡ N ) 3 , N → ∞ , {\displaystyle \|f-f_{N}\|_{L^{2}}^{2}\leq CN^{-2}(\log N)^{3},\quad N\to \infty ,} where the constant C {\displaystyle C} depends only on the maximum curvature of the singularity curve and the maximum magnitudes of f {\displaystyle f} , f ′ {\displaystyle f'} and f ″ . {\displaystyle f''.} This approximation rate significantly improves the best N {\displaystyle N} -term approximation rate of wavelets providing only O ( N − 1 ) {\displaystyle O(N^{-1})} for such class of functions. Shearlets are to date the only directional representation system that provides sparse approximation of anisotropic features while providing a unified treatment of the continuum and digital realm that allows faithful implementation. Extensions of shearlet systems to L 2 ( R d ) , d ≥ 2 {\displaystyle L^{2}(\mathbb {R} ^{d}),d\geq 2} are also available. A comprehensive presentation of the theory and applications of shearlets can be found in. == Definition == === Continuous shearlet systems === The construction of continuous shearlet systems is based on parabolic scaling matrices A a = [ a 0 0 a 1 / 2 ] , a > 0 {\displaystyle A_{a}={\begin{bmatrix}a&0\\0&a^{1/2}\end{bmatrix}},\quad a>0} as a means to change the resolution, on shear matrices S s = [ 1 s 0 1 ] , s ∈ R {\displaystyle S_{s}={\begin{bmatrix}1&s\\0&1\end{bmatrix}},\quad s\in \mathbb {R} } as a means to change the orientation, and finally on translations to change the positioning. In comparison to curvelets, shearlets use shearings instead of rotations, the advantage being that the shear operator S s {\displaystyle S_{s}} leaves the integer lattice invariant in case s ∈ Z {\displaystyle s\in \mathbb {Z} } , i.e., S s Z 2 ⊆ Z 2 . {\displaystyle S_{s}\mathbb {Z} ^{2}\subseteq \mathbb {Z} ^{2}.} This indeed allows a unified treatment of the continuum and digital realm, thereby guaranteeing a faithful digital implementation. For ψ ∈ L 2 ( R 2 ) {\displaystyle \psi \in L^{2}(\mathbb {R} ^{2})} the continuous shearlet system generated by ψ {\displaystyle \psi } is then defined as SH c o n t ⁡ ( ψ ) = { ψ a , s , t = a 3 / 4 ψ ( S s A a ( ⋅ − t ) ) ∣ a > 0 , s ∈ R , t ∈ R 2 } , {\displaystyle \operatorname {SH} _{\mathrm {cont} }(\psi )=\{\psi _{a,s,t}=a^{3/4}\psi (S_{s}A_{a}(\cdot -t))\mid a>0,s\in \mathbb {R} ,t\in \mathbb {R} ^{2}\},} and the corresponding continuous shearlet transform is given by the map f ↦ S H ψ f ( a , s , t ) = ⟨ f , ψ a , s , t ⟩ , f ∈ L 2 ( R 2 ) , ( a , s , t ) ∈ R > 0 × R × R 2 . {\displaystyle f\mapsto {\mathcal {SH}}_{\psi }f(a,s,t)=\langle f,\psi _{a,s,t}\rangle ,\quad f\in L^{2}(\mathbb {R} ^{2}),\quad (a,s,t)\in \mathbb {R} _{>0}\times \mathbb {R} \times \mathbb {R} ^{2}.} === Discrete shearlet systems === A discrete version of shearlet systems can be directly obtained from SH c o n t ⁡ ( ψ ) {\displaystyle \operatorname {SH} _{\mathrm {cont} }(\psi )} by discretizing the parameter set R > 0 × R × R 2 . {\displaystyle \mathbb {R} _{>0}\times \mathbb {R} \times \mathbb {R} ^{2}.} There are numerous approaches for this but the most popular one is given by { ( 2 j , k , A 2 j − 1 S k − 1 m ) ∣ j ∈ Z , k ∈ Z , m ∈ Z 2 } ⊆ R > 0 × R × R 2 . {\displaystyle \{(2^{j},k,A_{2^{j}}^{-1}S_{k}^{-1}m)\mid j\in \mathbb {Z} ,k\in \mathbb {Z} ,m\in \mathbb {Z} ^{2}\}\subseteq \mathbb {R} _{>0}\times \mathbb {R} \times \mathbb {R} ^{2}.} From this, the discrete shearlet system associated with the shearlet generator ψ {\displaystyle \psi } is defined by SH ⁡ ( ψ ) = { ψ j , k , m = 2 3 j / 4 ψ ( S k A 2 j ⋅ − m ) ∣ j ∈ Z , k ∈ Z , m ∈ Z 2 } , {\displaystyle \operatorname {SH} (\psi )=\{\psi _{j,k,m}=2^{3j/4}\psi (S_{k}A_{2^{j}}\cdot {}-m)\mid j\in \mathbb {Z} ,k\in \mathbb {Z} ,m\in \mathbb {Z} ^{2}\},} and the associated discrete shearlet transform is defined by f ↦ S H ψ f ( j , k , m ) = ⟨ f , ψ j , k , m ⟩ , f ∈ L 2 ( R 2 ) , ( j , k , m ) ∈ Z × Z × Z 2 . {\displaystyle f\mapsto {\mathcal {SH}}_{\psi }f(j,k,m)=\langle f,\psi _{j,k,m}\rangle ,\quad f\in L^{2}(\mathbb {R} ^{2}),\quad (j,k,m)\in \mathbb {Z} \times \mathbb {Z} \times \mathbb {Z} ^{2}.} == Examples == Let ψ 1 ∈ L 2 ( R ) {\displaystyle \psi _{1}\in L^{2}(\mathbb {R} )} be a function satisfying the discrete Calderón condition, i.e., ∑ j ∈ Z | ψ ^ 1 ( 2 − j ξ ) | 2 = 1 , for a.e. ξ ∈ R , {\displaystyle \sum _{j\in \mathbb {Z} }|{\hat {\psi }}_{1}(2^{-j}\xi )|^{2}=1,{\text{for a.e. }}\xi \in \mathbb {R} ,} with ψ ^ 1 ∈ C ∞ ( R ) {\displaystyle {\hat {\psi }}_{1}\in C^{\infty }(\mathbb {R} )} and supp ⁡ ψ ^ 1 ⊆ [ − 1 2 , − 1 16 ] ∪ [ 1 16 , 1 2 ] , {\displaystyle \operatorname {supp} {\hat {\psi }}_{1}\subseteq [-{\tfrac {1}{2}},-{\tfrac {1}{16}}]\cup [{\tfrac {1}{16}},{\tfrac {1}{2}}],} where ψ ^ 1 {\displaystyle {\hat {\psi }}_{1}} denotes the Fourier transform of ψ 1 . {\displaystyle \psi _{1}.} For instance, one can choose ψ 1 {\displaystyle \psi _{1}} to be a Meyer wavelet. Furthermore, let ψ 2 ∈ L 2 ( R ) {\displaystyle \psi _{2}\in L^{2}(\mathbb {R} )} be such that ψ ^ 2 ∈ C ∞ ( R ) , {\displaystyle {\hat {\psi }}_{2}\in C^{\infty }(\mathbb {R} ),} supp ⁡ ψ ^ 2 ⊆ [ − 1 , 1 ] {\displaystyle \operatorname {supp} {\hat {\psi }}_{2}\subseteq [-1,1]} and ∑ k = − 1 1 | ψ ^ 2 ( ξ + k ) | 2 = 1 , for a.e. ξ ∈ [ − 1 , 1 ] . {\displaystyle \sum _{k=-1}^{1}|{\hat {\psi }}_{2}(\xi +k)|^{2}=1,{\text{for a.e. }}\xi \in \left[-1,1\right].} One typically chooses ψ ^ 2 {\displaystyle {\hat {\psi }}_{2}} to be a smooth bump function. Then ψ ∈ L 2 ( R 2 ) {\displaystyle \psi \in L^{2}(\mathbb {R} ^{2})} given by ψ ^ ( ξ ) = ψ ^ 1 ( ξ 1 ) ψ ^ 2 ( ξ 2 ξ 1 ) , ξ = ( ξ 1 , ξ 2 ) ∈ R 2 , {\displaystyle {\hat {\psi }}(\xi )={\hat {\psi }}_{1}(\xi _{1}){\hat {\psi }}_{2}\left({\tfrac {\xi _{2}}{\xi _{1}}}\right),\quad \xi =(\xi _{1},\xi _{2})\in \mathbb {R} ^{2},} is called a classical shearlet. It can be shown that the corresponding discrete shearlet system SH ⁡ ( ψ ) {\displaystyle \operatorname {SH} (\psi )} constitutes a Parseval frame for L 2 ( R 2 ) {\displaystyle L^{2}(\mathbb {R} ^{2})} consisting of bandlimited functions. Another example are compactly supported shearlet systems, where a compactly supported function ψ ∈ L 2 ( R 2 ) {\displaystyle \psi \in L^{2}(\mathbb {R} ^{2})} can be chosen so that SH ⁡ ( ψ ) {\displaystyle \operatorname {SH} (\psi )} forms a frame for L 2 ( R 2 ) {\displaystyle L^{2}(\mathbb {R} ^{2})} . In this case, all shearlet elements in SH ⁡ ( ψ ) {\displaystyle \operatorname {SH} (\psi )} are compactly supported providing superior spatial localization compared to the classical shearlets, which are bandlimited. Although a compactly supported shearlet system does not generally form a Parseval frame, any function f ∈ L 2 ( R 2 ) {\displaystyle f\in L^{2}(\mathbb {R} ^{2})} can be represented by the shearlet expansion due to its frame property. == Cone-adapted shearlets == One drawback of shearlets defined as above is the directional bias of shearlet elements associated with large shearing parameters. This effect is already r

    Read more →