AI App Jesus

AI App Jesus — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Backend as a service

    Backend as a service

    Backend as a service (BaaS), sometimes also referred to as mobile backend as a service (MBaaS), is a service for providing web app and mobile app developers with a way to easily build a backend to their frontend applications. Features available include user management, push notifications, and integration with social networking services. These services are provided via the use of custom software development kits (SDKs) and application programming interfaces (APIs). BaaS is a relatively recent development in cloud computing, with most BaaS startups dating from 2011 or later. Some of the most popular service providers are AWS Amplify and Firebase. == Purpose == Web and mobile apps require a similar set of features on the backend, including notification service, integration with social networks, and cloud storage. Each of these services has its own API that must be individually incorporated into an app, a process that can be time-consuming and complicated for app developers. BaaS providers form a bridge between the frontend of an application and various cloud-based backends via a unified API and SDK. Providing a consistent way to manage backend data means that developers do not need to redevelop their own backend for each of the services that their apps need to access, potentially saving both time and money. Although similar to other cloud-computing business models, such as serverless computing, software as a service (SaaS), infrastructure as a service (IaaS), and platform as a service (PaaS), BaaS is distinct from these other services in that it specifically addresses the cloud-computing needs of web and mobile app developers by providing a unified means of connecting their apps to cloud services. == Features == BaaS providers offer different set of features and backend tools. Some of the most common features include: Database management. Most BaaS solutions provide SQL and/or NoSQL database management services for applications. Developers can store their app data without deploying and managing databases themselves. BaaS usually provides client SDKs, REST and GraphQL APIs for the frontend to interact with databases. File storage. BaaS providers often offer storage solutions for media files, user uploads, and other binary data. Applications can upload, download, and delete files through provided SDKs and APIs. Authentication and authorization. Some BaaS offer authentication and authorization services that allow developers to easily manage app users. This includes user sign-up, login, password reset, social media login integration through OAuth, user group and permission management etc. Notification service. Some BaaS providers such as Firebase and AWS Amplify have notification services that can send custom emails to users and push native notifications on mobile platforms. This is especially useful for applications that need to send messages, alerts, and reminders. Cloud functions. Some BaaS allow developers to deploy and run serverless functions. The functions are usually stateless and can be triggered by various ways including HTTP requests, SDK invocation, background server events, and cloud scheduled executions. Different providers offer runtime support for different languages, some of the popular languages are JavaScript/TypeScript (Node.js, Deno), Python, Java/Kotlin. Cloud functions extend the potential and flexibility of BaaS by allowing developers to write custom functionalities for their apps, working in a way similar to a traditional REST API backend framework. Usage analytics. Analytics data about application usage is often included in BaaS. This allows developers to monitor user behaviors and make decisions correspondingly in marketing strategies and performance optimizations. UI design. Some BaaS providers, such as AWS Amplify and Backendless, offer user interface designing tools that help developers design the frontend UI of web and mobile apps. While this may be useful for small teams and individual developers, UI design assistance may not be conventional in BaaS as it goes beyond the scope of backend infrastructure. Real-Time. Real-time features in a BaaS platform ensure that data updates and synchronizations occur instantly across all clients, making changes immediately visible to users. This is crucial for applications like live chat and collaborative tools, using technologies like WebSockets to maintain continuous server-client connections. == Service providers == BaaS providers have a broad focus, providing SDKs and APIs that work for app development on multiple platforms with different technology stacks, such as JavaScript (for Web apps), Flutter, Java/Kotlin (for Android apps), Swift/Objective-C (for iOS/MacOS/WatchOS/TvOS apps), .NET (for Windows) and others. BaaS providers also come in different types, suiting developers of different needs. === Cloud-based BaaS === Most BaaS providers host backend platforms on their cloud servers. They also manage the infrastructure, security, and scalability of the platforms. Developers can access the backend services via a web interface or the provided APIs. Some examples of cloud-based BaaS include Firebase (hosted on Google Cloud Platform), AWS Amplify (hosted on Amazon Web Services), and Microsoft Azure Mobile Apps (hosted on Microsoft Azure). === Self-hosted BaaS === Self-hosted BaaS allow developers to host backend on their own servers, providing more flexibility and potential to customization compared to cloud-based BaaS, which often is more difficult to migrate from. However, developers are also in charge of managing the infrastructure, security, and scalability of their servers. === Mobile BaaS === Mobile backend as a service (MBaaS) is a type of BaaS specifically for applications deployed in mobile systems. While some references use MBaaS interchangeably for BaaS, BaaS can have a wider variety of support such as for web apps and desktop apps. == Business model == BaaS providers generate revenue from their services in various ways, often using a freemium model. Under this model, a client receives a certain number of free active users or API calls per month, and pays a fee for each user or call over this limit. Alternatively, clients can pay a set fee for a package which allows for a greater number of calls or active users per month. There are also flat fee plans that make the pricing more predictable. Some of the providers offer the unlimited API calls inside their free plan offerings. Another business model that has been used by a lot of BaaS providers is PAYG (pay as you go), which has a flexible cost based on developers' usage of database, storage, bandwidth, function calls, user numbers etc.

    Read more →
  • Raseef22

    Raseef22

    Raseef22 (Arabic: رصيف22) is a liberal Arabic media network founded in 2013 based in Beirut, Lebanon. It publishes content in Arabic and English from different Arab states and describes itself as an independent media platform. International Media Support mentions Raseef22 along with HuffPost Arabic and Al Jazeera as one of the biggest Pan-Arab online platforms. == Name == The Arabic word raseef (رَصِيف) means platform or pavement, and the number 22 refers to the number of states in the Arab League. == History == Kareem Sakka co-founded Raseef22 in the aftermath of the Arab Spring, which he cites as a source of inspiration. In an article in The Washington Post, he wrote that Raseef22 was created as a "digital space for those eager to know what was going on around them." Raseef22 was one of the 500 websites censored in Egypt in late 2017 after it published an article on Egyptian security agencies' vies to influence the media. After the site was blocked in Egypt, it was targeted in a cyber attack that took it offline in locations around the world. Jamal Khashoggi wrote for Raseef22 regularly. One of his notable articles was "Notes on the Freedom of the Arabs from Oslo, Norway," published June 5, 2018. The site was blocked in Saudi Arabia December 2018 when the Saudi Ministry of Communications and Information Technology ordered its censorship due to its "unprecedented response to the assassination of Jamal Khashoggi in Istanbul." This decision might have also been related to Raseef22's coverage of Saudi-Israeli relations and interviews with activists later imprisoned or placed under house arrest coverage In 2019 the Association of LGBT Journalists (AJL) in Paris gave Raseef22 a golden foreign press award for its six-month series of articles on gender and sexuality issues. == Readership == According to its publisher in 2019, the news agency counted 12 million readers annually from 22 Arab nations. Of the readership, he wrote that it "believes in the talent and promise of the Arab mind and sees the ugliness of tyranny, patriarchy, misogyny and the futility of proxy rulers and wars." Al-Quds Al-Arabi described Raseef22 as "oriented to the youth."

    Read more →
  • Fifth Estate

    Fifth Estate

    The Fifth Estate is a socio-cultural reference to groupings of outlier viewpoints in contemporary society, and is most associated with bloggers, journalists publishing in non-mainstream media outlets, and online social networks. The "Fifth" Estate extends the sequence of the three classical estates (clergy (first), nobility (second), commoners (third)) and the preceding Fourth Estate, essentially the common press. The use of "fifth estate" dates to the 1960s counterculture, and in particular the influential Fifth Estate, an underground newspaper first published in Detroit in 1965. Web-based technologies have enhanced the scope and power of the Fifth Estate far beyond the modest and boutique conditions of its beginnings. Nimmo and Combs asserted in 1992 that political pundits constitute a Fifth Estate. Media researcher Stephen D. Cooper argued in 2006 that bloggers are the Fifth Estate. In 2009, William Dutton argued that the Fifth Estate is not just the blogging community, nor an extension of the media, but "networked individuals" enabled by the Internet, e.g. social media, in ways that can hold the other estates accountable.

    Read more →
  • Glossary of operating systems terms

    Glossary of operating systems terms

    This page is a glossary of Operating systems terminology. == A == access token: In Microsoft Windows operating systems, an access token contains the security credentials for a login session and identifies the user, the user's groups, the user's privileges, and, in some cases, a particular application. == B == binary semaphore: See semaphore. booting: In computing, booting (also known as booting up) is the initial set of operations that a computer performs after electrical power is switched on or when the computer is reset. This can take tens of seconds and typically involves performing a power-on self-test, locating and initializing peripheral devices, and then finding, loading and starting the operating system. == C == cache: In computer science, a cache is a component that transparently stores data so that future requests for that data can be served faster. The data that is stored within a cache might be values that have been computed earlier or duplicates of original values that are stored elsewhere. cloud: Cloud computing operating systems are recent, and were not mentioned in Gagne's 8th Edition (2009). In contrast, by Gagne's 9th (2012), cloud o/s received 3 pages of coverage (41, 42, 716). Doeppner (2011) mentions them (p. 3), but only to prove that operating systems "are not a solved problem" and that even if the day of the dedicated PC is waning, cloud computing has created an entirely new opportunity for o/s development ala sharing, networks, memory, parallelism, etc. Gagne (2012) adds that in addition to numerous traditional o/s's at cloud warehouses, Virtual machine o/s (VMMs), Eucalyptus, Vware, vCloud Director and others are being developed specifically for cloud management with numerous traditional o/s features (security, threads, file and memory management, guis, etc.) (p. 42). Microsoft's investment in cloud aspects of o/s tend to support that argument. concurrency == D == daemon: Operating systems often start daemons at boot time and serve the function of responding to network requests, hardware activity, or other programs by performing some task. Daemons can also configure hardware (like udevd on some Linux systems), run scheduled tasks (like cron), and perform a variety of other tasks. == E == == F == == G == == H == == I == == J == == K == kernel: In computing, the kernel is a computer program that manages input/output requests from software and translates them into data processing instructions for the central processing unit and other electronic components of a computer. The kernel is a fundamental part of a modern computer's operating system. == L == lock: In computer science, a lock or mutex (from mutual exclusion) is a synchronization mechanism for enforcing limits on access to a resource in an environment where there are many threads of execution. A lock is designed to enforce a mutual exclusion concurrency control policy. == M == mutual exclusion: Mutual exclusion is to allow only one process at a time to access the same critical section (a part of code which accesses the critical resource). This helps prevent race conditions. mutex: See lock. == N == == O == == P == paging daemon: See daemon. process == Q == == R == == S == semaphore: In computer science, particularly in operating systems, a semaphore is a variable or abstract data type that is used for controlling access, by multiple processes, to a common resource in a parallel programming or a multi user environment. == T == thread: In computer science, a thread of execution is the smallest sequence of programmed instructions that can be managed independently by an operating system scheduler. The scheduler itself is a light-weight process. The implementation of threads and processes differs from one operating system to another, but in most cases, a thread is contained inside a process. templating: In an o/s context, templating refers to creating a single virtual machine image as a guest operating system, then saving it as a tool for multiple running virtual machines (Gagne, 2012, p. 716). The technique is used both in virtualization and cloud computing management, and is common in large server warehouses. == U == == V == == W == == Z ==

    Read more →
  • Model compression

    Model compression

    Model compression is a machine learning technique for reducing the size of trained models. Large models can achieve high accuracy, but often at the cost of significant resource requirements. Compression techniques aim to compress models without significant performance reduction. Smaller models require less storage space, and consume less memory and compute during inference. Compressed models enable deployment on resource-constrained devices such as smartphones, embedded systems, edge computing devices, and consumer electronics computers. Efficient inference is also valuable for large corporations that serve large model inference over an API, allowing them to reduce computational costs and improve response times for users. Model compression is not to be confused with knowledge distillation, in which a smaller "student" model is trained to imitate the input-output behavior of a larger "teacher" model (as opposed to using the "teacher"'s trained parameters or the "teacher"'s training targets). == Techniques == Several techniques are employed for model compression. === Pruning === Pruning sparsifies a large model by setting some parameters to exactly zero. This effectively reduces the number of parameters. This allows the use of sparse matrix operations, which are faster than dense matrix operations. Pruning criteria can be based on magnitudes of parameters, the statistical pattern of neural activations, Hessian values, etc. === Quantization === Quantization reduces the numerical precision of weights and activations. For example, instead of storing weights as 32-bit floating-point numbers, they can be represented using 8-bit integers. Low-precision parameters take up less space, and takes less compute to perform arithmetic with. It is also possible to quantize some parameters more aggressively than others, so for example, a less important parameter can have 8-bit precision while another, more important parameter, can have 16-bit precision. Inference with such models requires mixed-precision arithmetic. Quantized models can also be used during training (rather than after training). PyTorch implements automatic mixed-precision (AMP), which performs autocasting, gradient scaling, and loss scaling. === Low-rank factorization === Weight matrices can be approximated by low-rank matrices. Let W {\displaystyle W} be a weight matrix of shape m × n {\displaystyle m\times n} . A low-rank approximation is W ≈ U V T {\displaystyle W\approx UV^{T}} , where U {\displaystyle U} and V {\displaystyle V} are matrices of shapes m × k , n × k {\displaystyle m\times k,n\times k} . When k {\displaystyle k} is small, this both reduces the number of parameters needed to represent W {\displaystyle W} approximately, and accelerates matrix multiplication by W {\displaystyle W} . Low-rank approximations can be found by singular value decomposition (SVD). The choice of rank for each weight matrix is a hyperparameter, and jointly optimized as a mixed discrete-continuous optimization problem. The rank of weight matrices may also be pruned after training, taking into account the effect of activation functions like ReLU on the implicit rank of the weight matrices. == Training == Model compression may be decoupled from training, that is, a model is first trained without regard for how it might be compressed, then it is compressed. However, it may also be combined with training. The "train big, then compress" method trains a large model for a small number of training steps (less than it would be if it were trained to convergence), then heavily compress the model. It is found that at the same compute budget, this method results in a better model than lightly compressed, small models. In Deep Compression, the compression has three steps. First loop (pruning): prune all weights lower than a threshold, then finetune the network, then prune again, etc. Second loop (quantization): cluster weights, then enforce weight sharing among all weights in each cluster, then finetune the network, then cluster again, etc. Third step: Use Huffman coding to losslessly compress the model. The SqueezeNet paper reported that Deep Compression achieved a compression ratio of 35 on AlexNet, and a ratio of ~10 on SqueezeNets.

    Read more →
  • Key & See

    Key & See

    Key & See is a variation of the TV Key service that forms part of the open, standards-based interactive TV services platform provided by Miniweb Interactive. Key & See allows viewers to access the interactive TV content made available by broadcasters and channel owners while leaving quarter of their screen tuned to the programme they are already watching Like TV Key, Key & See can be used with interactive TV services on UK satellite TV provider Sky Digital (BSkyB) Key & See works in the same way as a TV Key but the numeric shortcut code is associated with a broadcaster and a particular TV channel or programme. Miniweb Interactive offers commercial brands and broadcasters the chance to utilise TV Key and Key & See technology as part of its interactive TV services platform

    Read more →
  • Macroelectronics

    Macroelectronics

    Macroelectronics are flexible electronics that cover a large area. The most visible example of macroelectronics is flat-panel displays. Other emerging applications include rollable display, printable thin film solar cell and electronic skin. Flat-panel displays fabricated on glass substrates are fragile so fabricating directly on flexible substrates, such as polymers is being explored. Displays made on thin polymer substrates can be more rugged than glass. In September 2005, Philips Polymer Vision revealed the world's first prototype of a rollable electronic reader, which can unfold to a 5-inch display and roll back into a pocket-size (100×60×20 mm) device. Thin-film devices on flexible polymer substrates can lend themselves to low-cost fabrication processes (i.e., roll-to-roll printing), resulting in lightweight, rugged and flexible macroelectronic products.

    Read more →
  • Mass media use by the Islamic State

    Mass media use by the Islamic State

    The Islamic State (IS) is known for its extensive and effective use of propaganda. It uses a version of the Muslim Black Standard flag and developed an emblem which has clear symbolic meaning in the Muslim world. The Islamic State targets younger audiences, such as teenagers and young adults, since they are more vulnerable to propaganda. It is known to exploit the internet to spread its propaganda by establishing websites, such as the Al Fustat domain. Videos by the Islamic State are commonly accompanied by nasheeds (chants), notable examples being the chant Dawlat al-Islam Qamat, which came to be viewed as an unofficial anthem of the Islamic State, and Salil al-Sawarim. Academic research has emphasized the scale and volume of Islamic State media production beyond its flagship magazines. A quantitative study cited in R. Malash’s academic work documented 1,373 distinct Islamic State media products released over a six-month period between 1 August 2017 and 28 February 2018, including magazines, newsletters, reports, photographic releases, audio recordings, and other media formats. Scholars have used such datasets to illustrate the breadth and intensity of the group’s media output, particularly during periods of territorial decline, when propaganda activity remained high despite military pressure. == Traditional media == === Al-Furqan Foundation for Media Production === In January 2006, shortly after the group's rebranding as the "Islamic State of Iraq", it established the Al-Furqan Foundation for Media Production (Arabic: مؤسسة الفرقان للإنتاج الإعلامي, romanized: Muasasat al-Furqān lil'īntāj al'ilāmī), which produces CDs, DVDs, posters, pamphlets, and web-related propaganda products and official statements. It is the primary media production house of the Islamic State and responsible for production of major media releases, including the statements of the spokesmen and leaders of the group. On January 10, 2006, Al-Furqan released its very first video, titled (Arabic: زحف الأنوار, romanized: Zahf al-Anwār) It was founded by the Iraqi man Dr Wa'il al-Fayad, known as Abu Muhammad al-Furqan. He got his name "Al-Furqan" from his role in founding this media house, which was named after the 25th surah of the Quran Al-Furqan. It is the oldest media production house for the Islamic State, being founded in November 2006 to release media for the Islamic State of Iraq. The earliest release indexed by the SITE Intelligence Group is on 21 November 2006, documenting the storming of a police station in the Iraqi town of Miqdadiyah. Al-Furqan is considered to be a considerable innovation in jihadist media, with Kavkaz Center describing it as "a milestone on the path of jihad, a distinguished media that takes the great care in the management of the conflict with the crusaders and their tails and to expose the lies in the crusader's media." In October 2007, the Long War Journal reported on United States Army raids targeting Al-Furqan media cell members across Iraq, including in Mosul and Samarra. Between August 2013 and March 2014 they released the 22 part series Messages from the Land of Epic Battles. On 2 September 2014 SITE Intelligence Group discovered the beheading video called A Second Message to America, about the death of Steven Sotloff. Since then, Al-Furqan has released videos of their operations across Iraq and Syria, as well as execution videos directed to governments around the world. In April 2019, Al-Furqan released a video Interviewing Abu Bakr al-Baghdadi. Al-Furqan also produces media in the form of audio, which consists mostly of recordings of IS leaders and spokesmen giving speeches, as well as producing a single nasheed under their name called "Ya Allah Al-Jannah" (O Allah, (we ask you for) Paradise), sung by now-dead member of IS, Uqab Al-Marzuqi. === Al-I'tisam Foundation for Media Production === The Islamic State of Iraq founded a second media foundation - Al-I'tisam Media Foundation - around 2011, marked by their first video release, titled "The Conqueror of the Murtaddin: Abu Ahmad Al-Ansari". The foundation has since released a few series of videos, 50 parts of "Windows on the Land of Battles", 9 parts of "Pictures from the Land of Battles", a 9-part series quoting leaders about the establishment of the Islamic State, and other series before their last release, "Deterring the Safavids in Salah ad-Din" in 2015. Since then, there were no further releases from their behalf. === Al-Hayat Media Center === In mid-2014, IS established the Al-Hayat Media Center, which targets Western audiences and produces material in English, German, Russian, Urdu, Indonesian, Turkish, Bengali, Chinese, Bosnian, Kurdish, Uyghur, and French. When IS announced its expansion to other countries in November 2014 it established media departments for the new branches, and its media apparatus ensured that the new branches follow the same models it uses in Iraq and Syria. Then FBI Director James Comey said that IS's "propaganda is unusually slick," noting that, "They are broadcasting... in something like 23 languages". In July 2014, Al-Hayat began publishing a digital magazine called Dabiq, in a number of different languages including English. According to the magazine, its name is taken from the town of Dabiq in northern Syria, which is mentioned in a hadith about Armageddon. Al-Hayat also began publishing other digital magazines, including the Turkish language Konstantiniyye, the Ottoman word for Istanbul, the French language Dar al-Islam, and the Russian language Istok (Russian: Исток). By late 2016, these magazines had apparently all been discontinued, with Al-Hayat's material being consolidated into a new magazine called Rumiyah (Arabic for Rome). === Al-Naba === While the group's glossy, foreign-language magazines like Dabiq and Rumiyah ceased publication as the group lost territory, the weekly Arabic newsletter Al-Naba (The News) has continued to publish regularly, becoming the central pillar of the group's "media jihad" in the post-territorial phase. Recent scholarship, including studies published in 2025, suggests that Al-Naba serves a dual purpose: maintaining internal cohesion among dispersed fighters and projecting a narrative of endurance to enemies. Unlike the earlier magazines which were designed for recruitment, Al-Naba focuses on bureaucratic reporting, military statistics, and religious instruction. These are then translated and disseminated by decentralized supporter networks ("media mujahideen") to reach non-Arabic speakers. === Furat Media Center === The Al-Furat Media Center is another media center established in around 2015 to cater towards non-Arab speaking audiences. However, unlike the other organizations, the production wasn't as professional as ones made by the other media centers. Instead, they partially relied on local media departments and foreign communities of the Mujahideen to produce short-form videos. However, some professional long-form videos were also made under their behalf. As of now, the media center is the only known active branch of all the media centers of the Islamic State, after heavy losses from past campaigns against them. Their last release was "The Resolve of Muwahhidin in Russia", where videos from the Surovikino penal colony hostage crisis were edited and released. === Ajnad Foundation for Media Production === Ajnad Foundation is one of the official media wings of Islamic State which produces nasheeds and Quran recitations. It was established in January 2014 and has released more than 150 nasheeds. === Asdaa Foundation === Like the Ajnad Foundation, the Asdaa Foundation (Arabic: مؤسسة أصداء) or Asedaa Foundation produces Anasheed (Islamic chants). The foundation is the closest counterpart to Ajnad in producing Islamic State nasheeds, only difference being Ajnad is directly linked to the Islamic State while Asdaa is only classified as a "supporter organization" (munaser/munasera). The foundation had humble beginnings possibly in Yemen, where low-quality nasheeds were produced at first by 2 munshids, Abu Layth Al-Iraqi and Abu Ya'qub Al-Yamani. After that, the quality had improved a bit (possibly with new equipment and increased recognition) and eventually had its nasheeds included in the Islamic State's official media releases. One of its munshids, Abu Hafs is a renowned munshid who sings around 70 nasheeds, who as well works with Ajnad Foundation in some instances. He is currently alive, and working under Ansar Production Center (مركز إنتاج الأنصار), another Munasir foundation and Asedaa. Another Yemeni munshid, Abu Musab al-Adani, worked temporarily with Asdaa Foundation before defecting back to AQAP, from which he previously defected from. Some of their anasheed is used in IS's execution videos, a popular one is their human slaughterhouse execution video released during the time of Eid Al-Adha in 2016. The background nasheed they used was "We Came To Fill The Horizons With Terror", produced by the Asd

    Read more →
  • StyleGAN

    StyleGAN

    The Style Generative Adversarial Network, or StyleGAN for short, is an extension to the GAN architecture introduced by Nvidia researchers in December 2018, and made source available in February 2019. StyleGAN depends on Nvidia's CUDA software, GPUs, and Google's TensorFlow, or Meta AI's PyTorch, which supersedes TensorFlow as the official implementation library in later StyleGAN versions. The second version of StyleGAN, called StyleGAN2, was published on February 5, 2020. It removes some of the characteristic artifacts and improves the image quality. Nvidia introduced StyleGAN3, described as an "alias-free" version, on June 23, 2021, and made source available on October 12, 2021. == History == A direct predecessor of the StyleGAN series is the Progressive GAN, published in 2017. In December 2018, Nvidia researchers distributed a preprint with accompanying software introducing StyleGAN, a GAN for producing an unlimited number of (often convincing) portraits of fake human faces. StyleGAN was able to run on Nvidia's commodity GPU processors. In February 2019, Uber engineer Phillip Wang used the software to create the website This Person Does Not Exist, which displayed a new face on each web page reload. Wang himself has expressed amazement, given that humans are evolved to specifically understand human faces, that nevertheless StyleGAN can competitively "pick apart all the relevant features (of human faces) and recompose them in a way that's coherent." In September 2019, a website called Generated Photos published 100,000 images as a collection of stock photos. The collection was made using a private dataset shot in a controlled environment with similar light and angles. Similarly, two faculty at the University of Washington's Information School used StyleGAN to create Which Face is Real?, which challenged visitors to differentiate between a fake and a real face side by side. The faculty stated the intention was to "educate the public" about the existence of this technology so they could be wary of it, "just like eventually most people were made aware that you can Photoshop an image". The second version of StyleGAN, called StyleGAN2, was published on February 5, 2020. It removes some of the characteristic artifacts and improves the image quality. In 2021, a third version was released, improving consistency between fine and coarse details in the generator. Dubbed "alias-free", this version was implemented with PyTorch. === Illicit use === In December 2019, Facebook took down a network of accounts with false identities, and mentioned that some of them had used profile pictures created with machine learning techniques. == Architecture == === Progressive GAN === Progressive GAN is a method for training GAN for large-scale image generation stably, by growing a GAN generator from small to large scale in a pyramidal fashion. Like SinGAN, it decomposes the generator as G = G 1 ∘ G 2 ∘ ⋯ ∘ G N {\displaystyle G=G_{1}\circ G_{2}\circ \cdots \circ G_{N}} , and the discriminator as D = D N ∘ D N − 1 ∘ ⋯ ∘ D 1 {\displaystyle D=D_{N}\circ D_{N-1}\circ \cdots \circ D_{1}} . During training, at first only G N , D N {\displaystyle G_{N},D_{N}} are used in a GAN game to generate 4x4 images. Then G N − 1 , D N − 1 {\displaystyle G_{N-1},D_{N-1}} are added to reach the second stage of GAN game, to generate 8x8 images, and so on, until we reach a GAN game to generate 1024x1024 images. To avoid discontinuity between stages of the GAN game, each new layer is "blended in" (Figure 2 of the paper). For example, this is how the second stage GAN game starts: Just before, the GAN game consists of the pair G N , D N {\displaystyle G_{N},D_{N}} generating and discriminating 4x4 images. Just after, the GAN game consists of the pair ( ( 1 − α ) + α ⋅ G N − 1 ) ∘ u ∘ G N , D N ∘ d ∘ ( ( 1 − α ) + α ⋅ D N − 1 ) {\displaystyle ((1-\alpha )+\alpha \cdot G_{N-1})\circ u\circ G_{N},D_{N}\circ d\circ ((1-\alpha )+\alpha \cdot D_{N-1})} generating and discriminating 8x8 images. Here, the functions u , d {\displaystyle u,d} are image up- and down-sampling functions, and α {\displaystyle \alpha } is a blend-in factor (much like an alpha in image composing) that smoothly glides from 0 to 1. === StyleGAN === StyleGAN is designed as a combination of Progressive GAN with neural style transfer. The key architectural choice of StyleGAN-1 is a progressive growth mechanism, similar to Progressive GAN. Each generated image starts as a constant 4 × 4 × 512 {\displaystyle 4\times 4\times 512} array, and repeatedly passed through style blocks. Each style block applies a "style latent vector" via affine transform ("adaptive instance normalization"), similar to how neural style transfer uses Gramian matrix. It then adds noise, and normalize (subtract the mean, then divide by the variance). At training time, usually only one style latent vector is used per image generated, but sometimes two ("mixing regularization") in order to encourage each style block to independently perform its stylization without expecting help from other style blocks (since they might receive an entirely different style latent vector). After training, multiple style latent vectors can be fed into each style block. Those fed to the lower layers control the large-scale styles, and those fed to the higher layers control the fine-detail styles. Style-mixing between two images x , x ′ {\displaystyle x,x'} can be performed as well. First, run a gradient descent to find z , z ′ {\displaystyle z,z'} such that G ( z ) ≈ x , G ( z ′ ) ≈ x ′ {\displaystyle G(z)\approx x,G(z')\approx x'} . This is called "projecting an image back to style latent space". Then, z {\displaystyle z} can be fed to the lower style blocks, and z ′ {\displaystyle z'} to the higher style blocks, to generate a composite image that has the large-scale style of x {\displaystyle x} , and the fine-detail style of x ′ {\displaystyle x'} . Multiple images can also be composed this way. === StyleGAN2 === StyleGAN2 improves upon StyleGAN in two ways. One, it applies the style latent vector to transform the convolution layer's weights instead, thus solving the "blob" problem. The "blob" problem roughly speaking is because using the style latent vector to normalize the generated image destroys useful information. Consequently, the generator learned to create a "distraction" by a large blob, which absorbs most of the effect of normalization (somewhat similar to using flares to distract a heat-seeking missile). Two, it uses residual connections, which helps it avoid the phenomenon where certain features are stuck at intervals of pixels. For example, the seam between two teeth may be stuck at pixels divisible by 32, because the generator learned to generate teeth during stage N-5, and consequently could only generate primitive teeth at that stage, before scaling up 5 times (thus intervals of 32). This was updated by the StyleGAN2-ADA ("ADA" stands for "adaptive"), which uses invertible data augmentation. It also tunes the amount of data augmentation applied by starting at zero, and gradually increasing it until an "overfitting heuristic" reaches a target level, thus the name "adaptive". === StyleGAN3 === StyleGAN3 improves upon StyleGAN2 by solving the "texture sticking" problem, which can be seen in the official videos. They analyzed the problem by the Nyquist–Shannon sampling theorem, and argued that the layers in the generator learned to exploit the high-frequency signal in the pixels they operate upon. To solve this, they proposed imposing strict lowpass filters between each generator's layers, so that the generator is forced to operate on the pixels in a way faithful to the continuous signals they represent, rather than operate on them as merely discrete signals. They further imposed rotational and translational invariance by using more signal filters. The resulting StyleGAN-3 is able to generate images that rotate and translate smoothly, and without texture sticking.

    Read more →
  • Line splice

    Line splice

    In electrical engineering and telecommunications, a line splice is a joint directly connecting lengths of electrical cables (electrical splice) or optical fibers (optical splice). The splices are often protected by sleeves. == Splicing of copper wires == The splicing of copper wires happens in the following steps: The cores are laid one above the other at the junction. The core insulation is removed. The wires are wrapped two to three times around each other (twisting). The bare veins on a length of about 3 cm "strangle" or "twist". In some cases, the strangulation is soldered. To isolate the splice, an insulating sleeve made of paper or plastic is pushed over it. The splicing of copper wires is mainly used on paper insulated wires. LSA techniques (LSA: soldering, screwing and stripping free) are used to connect copper wires, making the copper wires faster and easier to connect. LSA techniques include: Wire connection sleeves (AVH = Adernverbindungshülsen) and other crimp connectors. The two wires to be connected are inserted into the AVH without being stripped, which is then compressed with special pliers. The about 2 cm long AVH consist of contact, pressure and insulation. For wire connection strips (AVL = Adernverbindungsleisten) several pairs of wires (10 = AVL10 or 20 = AVL20) are inserted, the strip is then closed with a lid and pressed together with a hydraulic press, which ensures the connection. == Splicing of glass fibers == Fiber-optic cables are spliced using a special arc-splicer, with installation cables connected at their ends to respective "pigtails" - short individual fibers with fiber-optic connectors at one end. The splicer precisely adjusts the light-guiding cores of the two ends of the glass fibers to be spliced. The adjustment is done fully automatically in modern devices, whereas in older models this is carried out manually by means of micrometer screws and microscope. An experienced splicer can precisely position the fiber ends within a few seconds. Subsequently, the fibers are fused together (welded) with an electric arc. Since no additional material is added, such as gas welding or soldering, this is called a "fusion splice". Depending on the quality of the splicing process, attenuation values at the splice points are achieved by 0.3 dB, with good splices also below 0.02 dB. For newer generation devices, alignment is done automatically by motors. Here one differentiates core and jacket centering. At core centering (usually single-mode fibers), the fiber cores are aligned. A possible core offset with respect to the jacket is corrected. In the jacket centering (usually in multimode fibers), the fibers are adjusted to each other by means of electronic image processing in front of the splice. When working with good equipment, the damping value is according to experience at max. 0.1 dB. Measurements are made by means of special measuring devices including optical time-domain reflectometry (OTDR). A good splice should have an attenuation of less than 0.3 dB over the entire distance. Finished fiber optic splices are housed in splice boxes. One differentiates: Fusion splice Adhesive splicing Crimp splice or NENP (no-epoxy no-polish), mechanical splice

    Read more →
  • Digital media service

    Digital media service

    A digital media service (DMS) is an online service provider that sells access to digital library of content such as films, software, games, images, literature, etc. While no transfer of property is made, a nearly perfect duplicate of the data (song movie, etc.) is made on a customer's computer. Content is either primarily hosted on a dedicated server, which is owned by the service provider, or it is hosted primarily on the hard drives of its customers using a P2P protocol with, perhaps, a dedicated server to supplement. == History == One example of the older business model is the iTunes Store, which still markets and prices data as individual retail products. There are no examples of the latter business model in operation yet, but one is currently in development by Global Gaming Factory X and expected to begin operation some time after they acquire The Pirate Bay domain on August 27, 2009. A key difference between the two models is that the model which relies on its customer base for offering their bandwidth for other customers to access customer hosted data can operate at significantly lower costs than a company that seeks to limit data access to a per-download fee in order to supplement the cost of using its own hosting and bandwidth. The P2P model holds the potential for companies to offer unlimited access to the largest data library in the history of the internet to its customers for a reasonably low membership rate that is relevant to the cost of operation. While the market is virtually untouched, the P2P supplemented model will need entrepreneurs who are able to overcome a series of challenges in order to compete with the older business model as well as that which is offered for free (and often against the wishes of copyright holders) by hundreds of P2P communities on the internet. These challenges include, but are not limited to: Offering better data quality, speed, convenience and ease of use, protocol, sense of security, indexing and search organization, site up time, data library size, customer support, advertising, artist/copyright holder incentives and compensation, incentives and compensation for customers hosting data and providing bandwidth, guaranteed seeding (available access to indexed data at all times), than competitors.

    Read more →
  • 1tik

    1tik

    1tik, pronounced Antik (Arabic: أنتيك; lit. "Everything is going well") is a fully Algerian instant messaging, social media and mobile payment app. designed, developed and built locally by the Algerian start-up, INTAJ Digital, with backing from the state-owned company ATM Mobilis (who's the company's main sponsor). It is described as Algeria's first super-app that is entirely designed and built by local developers. == Etymology == The name "1tik" (Arabic: أنتيك) is drawn from the popular Algerian vernacular (Antik), the neologism, which appeared several years ago, means "everything is going well" or "it's all good". == History == 1tik was officially launched and announced the 20th December 2025 by INTAJ Digital's founder Youcef Toulaib and a team of 50 employees, making it the first ever Algerian instant messaging, social media and mobile payment app, rivaling with the growing influence of Yassir in Algeria. it grew in popularity after the presidency of Algeria and several other state-owned companies, medias, and ministries opened official accounts on the app.

    Read more →
  • Radek Maneuver

    Radek Maneuver

    The Radek Maneuver is a scale-up-then-scale-down tactic used in the administration of web services, specifically those deployed under a cloud computing paradigm (by a provider e.g. Amazon Elastic Compute Cloud or Microsoft Azure). == History == Developed by Olivier "Radek" Dabrowski in the mid-2010s, the Radek Maneuver was originally conceived of in using and maintaining applications running on a PaaS system. == Execution == The Radek Maneuver consists of a series of steps, usually executed via the PaaS or web portal interface. The tactic should be used when a service is misbehaving or otherwise experiencing errors, and the suspected cause is the underlying cloud layer, rather than the application layer. This includes networking issues and other "bad box" problems. The steps are as follows: Identify the application or service which is misbehaving. Increase the compute resource (number of CPU cores, amount of ram) for the instance on which the application is running. This is also known as scaling up. Wait for the application to re-deploy and stabilize. Scale back down to the original instance size. == Principle of action == This scale-up-scale-down method is understood to shift the application to a different physical machine underlying the PaaS service or application virtual machine. While this layer of the cloud computing stack is generally out of the access of an application developer (instead in the hands of the cloud provider), the maneuver allows troubleshooting and dodging errors in that layer.

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

    ISO/IEC JTC 1/SC 6

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

    Read more →
  • Universal Plug and Play

    Universal Plug and Play

    UPnP (originally Universal Plug and Play) is a set of Internet Protocol-based networking protocols that permits networked devices, such as personal computers, printers, Internet gateways, Wi-Fi access points and mobile devices, to seamlessly discover each other's presence on the network and establish functional network services. UPnP is intended primarily for residential networks without enterprise-class devices. Officially, only the abbreviations UPnP and UPnP+ are trademarked. UPnP assumes the network runs IP, and then uses HTTP on top of IP to provide device/service description, actions, data transfer and event notification. Device search requests and advertisements are supported by running HTTP on top of UDP (port 1900) using multicast (known as HTTPMU). Responses to search requests are also sent over UDP, but are instead sent using unicast (known as HTTPU). Conceptually, UPnP extends plug and play—a technology for dynamically attaching devices directly to a computer—to zero-configuration networking for residential and SOHO wireless networks. UPnP devices are plug-and-play in that, when connected to a network, they automatically establish working configurations with other devices, removing the need for users to manually configure and add devices through IP addresses. UPnP is generally regarded as unsuitable for deployment in business settings for reasons of economy, complexity, and consistency: the multicast foundation makes it chatty, consuming too many network resources on networks with a large population of devices; the simplified access controls do not map well to complex environments. == Overview == The UPnP architecture allows device-to-device networking of consumer electronics, mobile devices, personal computers, and networked home appliances. It is a distributed, open architecture protocol based on established standards such as the Internet Protocol Suite (TCP/IP), HTTP, XML, and SOAP. UPnP control points (CPs) are devices which use UPnP protocols to control UPnP controlled devices (CDs). The UPnP architecture supports zero-configuration networking. A UPnP-compatible device from any vendor can dynamically join a network, obtain an IP address, announce its name, advertise or convey its capabilities upon request, and learn about the presence and capabilities of other devices. Dynamic Host Configuration Protocol (DHCP) and Domain Name System (DNS) servers are optional and are only used if they are available on the network. Devices can disconnect from the network automatically without leaving state information. UPnP was published as a 73-part international standard ISO/IEC 29341 in December 2008. Other UPnP features include: Media and device independence UPnP technology can run on many media that support IP, including Ethernet, FireWire, Infrared (IrDA), home wiring (G.hn) and Radiofrequency (Bluetooth, Wi-Fi). No special device driver support is necessary; common network protocols are used instead. User interface (UI) control Optionally, the UPnP architecture enables devices to present a user interface through a web browser (see Presentation below). Operating system and programming language independence Any operating system and any programming language can be used to build UPnP products. UPnP stacks are available for most platforms and operating systems in both closed- and open-source forms. Programmatic control UPnP architecture also enables conventional application programmatic control. Extensibility Each UPnP product can have device-specific services layered on top of the basic architecture. In addition to combining services defined by the UPnP Forum in various ways, vendors can define their own device and service types. They can extend standard devices and services with vendor-defined actions, state variables, data structure elements, and variable values. == Protocol == UPnP uses common Internet technologies. It assumes the network must run Internet Protocol (IP) and then uses HTTP, SOAP and XML on top of IP, to provide device/service description, actions, data transfer and eventing. Device search requests and advertisements are supported by running HTTP on top of UDP using multicast (known as HTTPMU). Responses to search requests are also sent over UDP, but are instead sent using unicast (known as HTTPU). UPnP uses UDP due to its lower overhead, as it does not require confirmation of received data and retransmission of corrupt packets. HTTPU and HTTPMU specifications were initially submitted as an Internet Draft, but it expired in 2001; These specifications have since been integrated into the actual UPnP specifications. UPnP uses UDP port 1900, and all used TCP ports are derived from the SSDP alive and response messages. === Addressing === The foundation for UPnP networking is IP addressing. Each device must implement a DHCP client and search for a DHCP server when the device is first connected to the network. If no DHCP server is available, the device must assign itself an address. The process by which a UPnP device assigns itself an address is known within the UPnP Device Architecture as AutoIP. In UPnP Device Architecture Version 1.0, AutoIP is defined within the specification itself; in UPnP Device Architecture Version 1.1, AutoIP references IETF RFC 3927. If during the DHCP transaction, the device obtains a domain name, for example, through a DNS server or via DNS forwarding, the device should use that name in subsequent network operations; otherwise, the device should use its IP address. === Discovery === Once a device has established an IP address, the next step in UPnP networking is discovery. The UPnP discovery protocol is known as the Simple Service Discovery Protocol (SSDP). When a device is added to the network, SSDP allows that device to advertise its services to control points on the network. This is achieved by sending SSDP alive messages. When a control point is added to the network, SSDP enables that control point to actively search for devices of interest on the network or listen passively to SSDP alive messages from devices. The fundamental exchange is a discovery message containing a few essential details about the device or one of its services, such as its type, identifier, and a pointer (network location) to more detailed information. === Description === After a control point has discovered a device, it still knows very little about the device. For the control point to learn more about the device and its capabilities, or to interact with the device, it must retrieve the device's description from the location (URL) provided by the device in the discovery message. The UPnP Device Description is expressed in XML. It includes vendor-specific manufacturer information like the model name and number, serial number, manufacturer name, (presentation) URLs to vendor-specific websites, etc. The description also includes a list of any embedded services. For each service, the Device Description document lists the URLs for control, eventing and service description. Each service description includes a list of the commands, or actions, to which the service responds, and parameters, or arguments, for each action; the description for a service also includes a list of variables; these variables model the state of the service at run time and are described in terms of their data type, range, and event characteristics. === Control === Having retrieved a description of the device, the control point can send actions to a device's service. To do this, a control point sends a suitable control message to the control URL for the service (provided in the device description). Control messages are also expressed in XML using the Simple Object Access Protocol (SOAP). Much like function calls, the service returns any action-specific values in response to the control message. The effects of the action, if any, are modeled by changes in the variables that describe the run-time state of the service. === Event notification === Another capability of UPnP networking is event notification, or eventing. The event notification protocol defined in the UPnP Device Architecture is known as General Event Notification Architecture (GENA). A UPnP description for a service includes a list of actions the service responds to and a list of variables that model the state of the service at runtime. The service publishes updates when these variables change, and a control point may subscribe to receive this information. The service publishes updates by sending event messages. Event messages contain the names of one or more state variables and their current values. These messages are also expressed in XML. A special initial event message is sent when a control point first subscribes; this event message contains the names and values for all evented variables and allows the subscriber to initialize its model of the state of the service. To support scenarios with multiple control points, eventing is designed to keep all control points equally informed

    Read more →