AI Coding Interview Questions

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

  • Sentence embedding

    Sentence embedding

    In natural language processing, a sentence embedding is a representation of a sentence as a vector of numbers which encodes meaningful semantic information. State of the art embeddings are based on the learned hidden layer representation of dedicated sentence transformer models. BERT pioneered an approach involving the use of a dedicated [CLS] token prepended to the beginning of each sentence inputted into the model; the final hidden state vector of this token encodes information about the sentence and can be fine-tuned for use in sentence classification tasks. In practice however, BERT's sentence embedding with the [CLS] token achieves poor performance, often worse than simply averaging non-contextual word embeddings. SBERT later achieved superior sentence embedding performance by fine tuning BERT's [CLS] token embeddings through the usage of a siamese neural network architecture on the SNLI dataset. Other approaches are loosely based on the idea of distributional semantics applied to sentences. Skip-Thought trains an encoder-decoder structure for the task of neighboring sentences predictions; this has been shown to achieve worse performance than approaches such as InferSent or SBERT. An alternative direction is to aggregate word embeddings, such as those returned by Word2vec, into sentence embeddings. The most straightforward approach is to simply compute the average of word vectors, known as continuous bag-of-words (CBOW). However, more elaborate solutions based on word vector quantization have also been proposed. One such approach is the vector of locally aggregated word embeddings (VLAWE), which demonstrated performance improvements in downstream text classification tasks. == Applications == In recent years, sentence embedding has seen a growing level of interest due to its applications in natural language queryable knowledge bases through the usage of vector indexing for semantic search. LangChain for instance utilizes sentence transformers for purposes of indexing documents. In particular, an indexing is generated by generating embeddings for chunks of documents and storing (document chunk, embedding) tuples. Then given a query in natural language, the embedding for the query can be generated. A top k similarity search algorithm is then used between the query embedding and the document chunk embeddings to retrieve the most relevant document chunks as context information for question answering tasks. This approach is also known formally as retrieval-augmented generation. Though not as predominant as BERTScore, sentence embeddings are commonly used for sentence similarity evaluation which sees common use for the task of optimizing a Large language model's generation parameters is often performed via comparing candidate sentences against reference sentences. By using the cosine-similarity of the sentence embeddings of candidate and reference sentences as the evaluation function, a grid-search algorithm can be utilized to automate hyperparameter optimization. == Evaluation == A way of testing sentence encodings is to apply them on Sentences Involving Compositional Knowledge (SICK) corpus for both entailment (SICK-E) and relatedness (SICK-R). In the best results are obtained using a BiLSTM network trained on the Stanford Natural Language Inference (SNLI) Corpus. The Pearson correlation coefficient for SICK-R is 0.885 and the result for SICK-E is 86.3. A slight improvement over previous scores is presented in: SICK-R: 0.888 and SICK-E: 87.8 using a concatenation of bidirectional Gated recurrent unit.

    Read more →
  • Software-defined mobile network

    Software-defined mobile network

    Software-defined mobile networking (SDMN) is an approach to the design of mobile networks where all protocol-specific features are implemented in software, maximizing the use of generic and commodity hardware and software in both the core network and radio access network (RAN). == History == Through the 20th century, telecommunications technology was driven by hardware development, with most functions implemented in special-purpose equipment. In the early 2000s, generally available CPUs became cheap enough to enable commercial software-defined radio (SDR) technology and softswitches. SDMN extends these trends into the design of mobile networks, moving nearly all network functions into software. The term "software-defined mobile network" first appeared in public literature in early 2014, used independently by Lime Microsystems and researchers from University of Oulu, Finland. == Limitations of hardware-based mobile networks == Mobile networks based on special-purpose hardware suffer from the following limitations: They have limited provisions for upgrades and usually must be replaced entirely when new standards are introduced. The individual components are not scalable in terms of performance and capacity, because the capacity of a component is fixed by the hardware implementation. Specialized equipment and its associated specialized software require vendor-specific training for the mobile operator's staff. Specialized hardware systems are usually supported and serviced by a single vendor, resulting in vendor lock-in. == Characteristics of SDMN designs == === Use of software-defined radio === SDR is an important element of SDMN, because it replaces protocol-specific radio hardware with protocol-agnostic digital transceivers. While many earlier digital radio systems used field-programmable gate arrays (FPGAs) or special-purposed digital signal processors (DSPs) for calculations on baseband radio waveforms, the SDMN approach moves all of the baseband processing into general-purpose CPUs. SDMN radio systems also use hardware with publicly-documented interfaces that is designed to be readily reproducible by multiple manufacturers. === Commodity components === SDMN designs avoid the use of components that are specialized as to their functions or that are available from only a single vendor. This is true of both the hardware and software elements of the network. === Software switching and transcoding === The telephony switches of SDMN networks are software-based, including software transcoding for speech codecs. === Centralized, distributed, or hybrid? === A new SDN architecture for wireless distribution systems (WDSs) is explored that eliminates the need for multi-hop flooding of route information and therefore enables WDNs to easily expand. The key idea is to split network control and data forwarding by using two separate frequency bands. The forwarding nodes and the SDN controller exchange link-state information and other network control signaling in one of the bands, while actual data forwarding takes place in the other band. == Advantages of SDMN == The SDMN approach has many advantages over hardware-based mobile network designs. Because SDMN hardware is protocol-agnostic, upgrades are software-only, even across technology generations. In the radio network, these changes can even be made on a site-by-site basis. Because SDMN hardware is designed to be easily sourced and reproduced: SDMN equipment can be serviced by a wider range of vendors, lowering maintenance costs. SDMN equipment can be manufactured anywhere in the world, lowering production costs. Because SDMN software is based on commodity operating systems and development tools: Support staff can be trained more quickly because they are already familiar with the underlying software systems. Many aspects of the SDMN can be monitored and managed with pre-existing tools, because they are already available in the commodity operating systems. Because SDMN network components run on general purpose computers, the network components can be scaled up in capacity by adding more computing power.

    Read more →
  • Fingerprint scanner

    Fingerprint scanner

    Fingerprint scanners are a type of biometric security device that identify an individual by identifying the structure of their fingerprints. They are used in police stations, security industries, smartphones, and other mobile devices. == Fingerprints == People have patterns of friction ridges on their fingers, these patterns are called the fingerprints. Fingerprints are uniquely detailed, durable over an individual's lifetime, and difficult to alter. Due to the unique combinations, fingerprints have become an ideal means of identification. == Types of fingerprint scanners == There are four types of fingerprint scanners: Optical scanners take a visual image of the fingerprint using a digital camera. Capacitive or CMOS scanners use capacitors and thus electric current to form an image of the fingerprint. This type of scanner tends to excel in terms of precision. Ultrasonic fingerprint scanners use high frequency sound waves to penetrate the epidermal (outer) layer of the skin. Thermal scanners sense the temperature differences on the contact surface, in between fingerprint ridges and valleys. All fingerprint scanners are susceptible to spoofing through fingerprints replicated using photographs and 3D printing. == Construction forms == Each type of fingerprint sensor can take two basic forms: the stagnant and the moving fingerprint scanner. Stagnant: The scanning module is mounted statically, and the user is required to swipe their fingers across it. This is cheaper but also less reliable than the moving form. Imaging can be less than ideal if the finger is not dragged over the scanning area at constant speed. Moving: The scanning module is mounted on a movable surface, while the user's finger can remain static. Because this layout allows the scanning module to pass the fingerprint at a constant speed, this method is generally more reliable. == Form factors == === Peripherals === Add-on fingerprint readers for PCs initially appeared in the late 1990's in the form of PCMCIA modules. Microsoft released a model in its IntelliMouse line with an integrated fingerprint reader in 2005. === Integrated readers === Laptops with built-in readers emerged around the same time as peripheral readers with devices such as NECs MC/R730F. IBM produced laptops with integrated readers starting in 2004. Apple introduced fingerprint scanners to their devices under the name Touch ID in 2013. These were initially released on the iPhone 5S, with the technology remaining exclusive to iPhones until the release of the 2016 MacBook Pro. On both laptops and smartphones, the fingerprint sensor usually uses a USB or I2C interface internally.

    Read more →
  • Zero-overhead looping

    Zero-overhead looping

    In computer architecture, zero-overhead looping is a hardware feature found in some processors that enables loops to execute without the performance cost of traditional loop control instructions. Instead of software managing loop iterations, the processor's hardware handles repetition automatically, saving clock cycles and improving efficiency. This technique is commonly employed in digital signal processors (DSPs) and certain complex instruction set computer (CISC) architectures. == Background == In many instruction sets, a loop must be implemented by using instructions to increment or decrement a counter, check whether the end of the loop has been reached, and if not jump to the beginning of the loop so it can be repeated. Although this typically only represents around 3–16 bytes of space for each loop, even that small amount could be significant depending on the size of the CPU caches. More significant is that those instructions each take time to execute, time which is not spent doing useful work. The overhead of such a loop is apparent compared to a completely unrolled loop, in which the body of the loop is duplicated exactly as many times as it will execute. In that case, no space or execution time is wasted on instructions to repeat the body of the loop. However, the duplication caused by loop unrolling can significantly increase code size, and the larger size can even impact execution time due to cache misses. (For this reason, it's common to only partially unroll loops, such as transforming it into a loop which performs the work of four iterations in one step before repeating. This balances the advantages of unrolling with the overhead of repeating the loop.) Moreover, completely unrolling a loop is only possible for a limited number of loops: those whose number of iterations is known at compile time. For example, the following C code could be compiled and optimized into the following x86 assembly code: == Implementation == Processors with zero-overhead looping have machine instructions and registers to automatically repeat one or more instructions. Depending on the instructions available, these may only be suitable for count-controlled loops ("for loops") in which the number of iterations can be calculated in advance, or only for condition-controlled loops ("while loops") such as operations on null-terminated strings. === Examples === ==== PIC ==== In the PIC instruction set, the REPEAT and DO instructions implement zero-overhead loops. REPEAT only repeats a single instruction, while DO repeats a specified number of following instructions. ==== Blackfin ==== Blackfin offers two zero-overhead loops. The loops can be nested; if both hardware loops are configured with the same "loop end" address, loop 1 will behave as the inner loop and repeat, and loop 0 will behave as the outer loop and repeat only if loop 1 would not repeat. Loops are controlled using the LTx and LBx registers (x either 0 to 1) to set the top and bottom of the loop — that is, the first and last instructions to be executed, which can be the same for a loop with only one instruction — and LCx for the loop count. The loop repeats if LCx is nonzero at the end of the loop, in which case LCx is decremented. The loop registers can be set manually, but this would typically consume 6 bytes to load the registers, and 8–16 bytes to set up the values to be loaded. More common is to use the loop setup instruction (represented in assembly as either LOOP with pseudo-instruction LOOP_BEGIN and LOOP_END, or in a single line as LSETUP), which optionally initializes LCx and sets LTx and LBx to the desired values. This only requires 4–6 bytes, but can only set LTx and LBx within a limited range relative to where the loop setup instruction is located. ==== x86 ==== The x86 assembly language REP prefixes implement zero-overhead loops for a few instructions (namely MOVS/STOS/CMPS/LODS/SCAS). Depending on the prefix and the instruction, the instruction will be repeated a number of times with (E)CX holding the repeat count, or until a match (or non-match) is found with AL/AX/EAX or with DS:[(E)SI]. This can be used to implement some types of searches and operations on null-terminated strings.

    Read more →
  • Anna Becker

    Anna Becker

    Anna Becker is an Israeli researcher known in the field of artificial intelligence and computer science within the financial field. == Early life and education == Becker was born in Russia and immigrated to Israel at 16 after graduating from a school in Moscow. At 17, she began her studies at Technion – Israel Institute of Technology. During her master's degree in computer science, she taught first-year students of the same course, and at 27, Becker completed her PhD in Computer Science and Artificial Intelligence. == Career == While pursuing her PhD, Becker resolved an NP-complete approximation algorithm that had been unresolved for over twenty years. This made her a recognized scholar in the field. After completing her PhD, she developed an approximation technique by a factor of two. This technique is widely used today in operating systems, database systems, and VLSI chip designs. She then founded and sold Strategy Runner, a fintech software. After this, she founded EndoTech, an algorithmic trading platform based on artificial intelligence and machine learning. EndoTech's trading strategies have been operating in live cryptocurrency markets since 2017. The platform's BTC Alpha strategy has reported an average annual return of 163% on fixed capital over eight years of live operation, with a maximum drawdown of 14% and a trade accuracy rate of approximately 83%. In 2026, EndoTech entered a partnership with Bit1 Exchange to make its BTC Alpha and ETH Alpha copy trading strategies accessible to retail investors with no minimum deposit requirement, through a full-custody model in which user funds remain in their own exchange wallets at all times.As of 2023, Becker is working on Fianchetto Fund, an AI-based investing analysis platform. Becker has also co-authored a book on Bayesian networks, which has been published widely in the field of computer science and artificial intelligence.

    Read more →
  • The Holocaust and social media

    The Holocaust and social media

    The representation of the Holocaust on social media has been a subject of scholarly inquiry and media attention. == Selfies at Holocaust memorial sites == Some visitors take selfies at Holocaust memorials, which has been the subject of controversy. In 2018, Rhian Sugden, a British model, received criticism after posting a selfie at the Memorial to the Murdered Jews of Europe in Berlin with the caption "ET phone home". She later removed the caption, but defended taking the photograph. Other celebrities have also been criticised for photographs at the Berlin memorial, including Indian actress Priyanka Chopra and US politician Pete Buttigieg, whose husband posted a photograph of him at the memorial on a personal social media account. The Israeli artist and satirist Shahak Shapira set up the website yolocaust.de in 2017 to expose people who take inappropriate selfies at the Holocaust memorial in Berlin. Shapira went through thousands of selfies posted to social media sites such as Facebook, Instagram, Tinder, and Grindr, choosing the twelve that he found most offensive. When the images were moused over, the website replaces the memorial backdrop with black and white images of Nazi victims. "Yolocaust" is a portmanteau of "Holocaust" and YOLO, an acronym for "you only live once". The website went viral, receiving 1.2 million views in the first 24 hours after its launch. Shapira honored requests to take down all of the photographs, which he had used without permission, and the website remains with only a textual documentation of the project. In an analysis of comments by Internet users on the project, Christoph Bareither estimated that 75% were positive. However, the memorial's architect, Peter Eisenman, criticized the website. In his 2018 book Postcards from Auschwitz, Grinnell professor Daniel P. Reynolds defends the practice of selfie-taking at Holocaust sites. In 2019, the Auschwitz-Birkenau State Museum requested that visitors not take inappropriate selfies, although the museum's staff acknowledged that other visitors take selfies in a thoughtful and respectful manner, which they did not criticize. In an academic paper, Gemma Commane and Rebekah Potton analyze the use of Instagram to share tourist photographs at Holocaust sites and conclude that "Instagram encourages conversation and empathy, keeping the Holocaust visible in youth discourses". According to their analysis, most images are tagged with respectful hashtags such as #tragic, #remembrance, and #sadness. The Auschwitz museum has an official Instagram account, auschwitzmemorial, which it uses to share selected appropriate Instagram posts. However, the image feed for the hashtag "Auschwitz" includes potentially offensive images such as an image of "Nazi Vs. Jews #beerpong". This image, according to the authors, expresses "mockery and contempt" for Holocaust victims. They also document offensive memes using images of Holocaust atrocities and shared on Instagram. Some social media users post in order to criticize what they see as inappropriate behavior at Holocaust sites, with one commenting, "Taking photos posing next to razor wire, selfies with victim's hair in the background, and even group shots in front of the crematoria had to be seen to be believed." == Assessment of tourism == Social media posts have been used by researchers to analyze the phenomenon of Holocaust-related tourism. == Social media groups == People have created groups on Facebook to discuss issues related to the Holocaust. One paper analyses two such groups, "The Holocaust and My Family" and "The Descendants of the Victims and Survivors of the Holocaust" in which people engage in collective trauma processing. == Eva.stories == In 2019, Israeli high-tech entrepreneur Mati Kochavi created a fictitious Instagram account for Eva Heyman, a Hungarian-Jewish girl who was murdered in Auschwitz concentration camp. The project met with mixed reception. Israeli prime minister Benjamin Netanyahu praised the project, saying that it "exposes the immense tragedy of our people through the story of one girl". == Holocaust denial == The issue of Holocaust denial on social media has also attracted attention. In October 2020, Facebook reversed its policy and banned Holocaust denial from the platform. Founder Mark Zuckerberg had previously argued that such content should not be banned on freedom of speech grounds.

    Read more →
  • Comparison of JavaScript-based web frameworks

    Comparison of JavaScript-based web frameworks

    This is a comparison of web frameworks for front-end web development that are reliant on JavaScript code for their behavior. == General information == == High-level framework comparison == JavaScript-based web application frameworks, such as React and Vue, provide extensive capabilities but come with associated trade-offs. These frameworks often extend or enhance features available through native web technologies, such as routing, component-based development, and state management. While native web standards, including Web Components, modern JavaScript APIs like Fetch and ES Modules, and browser capabilities like Shadow DOM, have advanced significantly, frameworks remain widely used for their ability to enhance developer productivity, offer structured patterns for large-scale applications, simplify handling edge cases, and provide tools for performance optimization. Frameworks can introduce abstraction layers that may contribute to performance overhead, larger bundle sizes, and increased complexity. Modern frameworks, such as React 18 and Vue 3, address these challenges with features like concurrent rendering, tree-shaking, and selective hydration. While these advancements improve rendering efficiency and resource management, their benefits depend on the specific application and implementation context. Lightweight frameworks, such as Svelte and Preact, take different architectural approaches, with Svelte eliminating the virtual DOM entirely in favor of compiling components to efficient JavaScript code, and Preact offering a minimal, compatible alternative to React. Framework choice depends on an application’s requirements, including the team’s expertise, performance goals, and development priorities. A newer category of web frameworks, including enhance.dev, Astro, and Fresh, leverages native web standards while minimizing abstractions and development tooling. These solutions emphasize progressive enhancement, server-side rendering, and optimizing performance. Astro renders static HTML by default while hydrating only interactive parts. Fresh focuses on server-side rendering with zero runtime overhead. Enhance.dev prioritizes progressive enhancement patterns using Web Components. While these tools reduce reliance on client-side JavaScript by shifting logic to build-time or server-side execution, they still use JavaScript where necessary for interactivity. This approach makes them particularly suitable for performance-critical and content-focused applications. == Features == == Browser support ==

    Read more →
  • Digital goods

    Digital goods

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

    Read more →
  • Convolutional layer

    Convolutional layer

    In artificial neural networks, a convolutional layer is a type of network layer that applies a convolution operation to the input. Convolutional layers are some of the primary building blocks of convolutional neural networks (CNNs), a class of neural network most commonly applied to images, video, audio, and other data that have the property of uniform translational symmetry. The convolution operation in a convolutional layer involves sliding a small window (called a kernel or filter) across the input data and computing the dot product between the values in the kernel and the input at each position. This process creates a feature map that represents detected features in the input. == Concepts == === Kernel === Kernels, also known as filters, are small matrices of weights that are learned during the training process. Each kernel is responsible for detecting a specific feature in the input data. The size of the kernel is a hyperparameter that affects the network's behavior. === Convolution === For a 2D input x {\displaystyle x} and a 2D kernel w {\displaystyle w} , the 2D convolution operation can be expressed as: y [ i , j ] = ∑ m = 0 k h − 1 ∑ n = 0 k w − 1 x [ i + m , j + n ] ⋅ w [ m , n ] {\displaystyle y[i,j]=\sum _{m=0}^{k_{h}-1}\sum _{n=0}^{k_{w}-1}x[i+m,j+n]\cdot w[m,n]} where k h {\displaystyle k_{h}} and k w {\displaystyle k_{w}} are the height and width of the kernel, respectively. This generalizes immediately to nD convolutions. Commonly used convolutions are 1D (for audio and text), 2D (for images), and 3D (for spatial objects, and videos). === Stride === Stride determines how the kernel moves across the input data. A stride of 1 means the kernel shifts by one pixel at a time, while a larger stride (e.g., 2 or 3) results in less overlap between convolutions and produces smaller output feature maps. === Padding === Padding involves adding extra pixels around the edges of the input data. It serves two main purposes: Preserving spatial dimensions: Without padding, each convolution reduces the size of the feature map. Handling border pixels: Padding ensures that border pixels are given equal importance in the convolution process. Common padding strategies include: No padding/valid padding. This strategy typically causes the output to shrink. Same padding: Any method that ensures the output size same as input size is a same padding strategy. Full padding: Any method that ensures each input entry is convolved over for the same number of times is a full padding strategy. Common padding algorithms include: Zero padding: Add zero entries to the borders of input. Mirror/reflect/symmetric padding: Reflect the input array on the border. Circular padding: Cycle the input array back to the opposite border, like a torus. The exact numbers used in convolutions is complicated, for which we refer to (Dumoulin and Visin, 2018) for details. == Variants == === Standard === The basic form of convolution as described above, where each kernel is applied to the entire input volume. === Depthwise separable === Depthwise separable convolution separates the standard convolution into two steps: depthwise convolution and pointwise convolution. The depthwise separable convolution decomposes a single standard convolution into two convolutions: a depthwise convolution that filters each input channel independently and a pointwise convolution ( 1 × 1 {\displaystyle 1\times 1} convolution) that combines the outputs of the depthwise convolution. This factorization significantly reduces computational cost. It was first developed by Laurent Sifre during an internship at Google Brain in 2013 as an architectural variation on AlexNet to improve convergence speed and model size. === Dilated === Dilated convolution, or atrous convolution, introduces gaps between kernel elements, allowing the network to capture a larger receptive field without increasing the kernel size. === Transposed === Transposed convolution, also known as deconvolution, fractionally strided convolution, and upsampling convolution, is a convolution where the output tensor is larger than its input tensor. It's often used in encoder-decoder architectures for upsampling. It's used in image generation, semantic segmentation, and super-resolution tasks. == History == The concept of convolution in neural networks was inspired by the visual cortex in biological brains. Early work by Hubel and Wiesel in the 1960s on the cat's visual system laid the groundwork for artificial convolution networks. An early convolution neural network was developed by Kunihiko Fukushima in 1969. It had mostly hand-designed kernels inspired by convolutions in mammalian vision. In 1979 he improved it to the Neocognitron, which learns all convolutional kernels by unsupervised learning (in his terminology, "self-organized by 'learning without a teacher'"). During the 1988 to 1998 period, a series of CNN were introduced by Yann LeCun et al., ending with LeNet-5 in 1998. It was an early influential CNN architecture for handwritten digit recognition, trained on the MNIST dataset, and was used in ATM. (Olshausen & Field, 1996) discovered that simple cells in the mammalian primary visual cortex implement localized, oriented, bandpass receptive fields, which could be recreated by fitting sparse linear codes for natural scenes. This was later found to also occur in the lowest-level kernels of trained CNNs. The field saw a resurgence in the 2010s with the development of deeper architectures and the availability of large datasets and powerful GPUs. AlexNet, developed by Alex Krizhevsky et al. in 2012, was a catalytic event in modern deep learning. In that year’s ImageNet competition, the AlexNet model achieved a 16% top-five error rate, significantly outperforming the next best entry, which had a 26% error rate. The network used eight trainable layers, approximately 650,000 neurons, and around 60 million parameters, highlighting the impact of deeper architectures and GPU acceleration on image recognition performance. From the 2013 ImageNet competition, most entries adopted deep convolutional neural networks, building on the success of AlexNet. Over the following years, performance steadily improved, with the top-five error rate falling from 16% in 2012 and 12% in 2013 to below 3% by 2017, as networks grew increasingly deep.

    Read more →
  • Robert Abel and Associates

    Robert Abel and Associates

    Robert Abel and Associates (RA&A) was an American pioneering animation production company specializing in television commercials made with computer graphics. Founded by Robert Abel and Con Pederson in 1971, RA&A was especially known for their art direction and won many Clio Awards. Abel and his team created some of the most advanced and impressive computer-animated works of their time, including full ray-traced renders and fluid character animation at a time when such things were largely unknown. A variety of high-profile television advertisements, graphics sequences for motion pictures (including The Andromeda Strain and Tron), and work on laserdisc video games such as Cube Quest, put Abel and his team on the map in the early 1980s. The company was also originally commissioned to create the visual effects for Star Trek: The Motion Picture, but were subsequently taken off the project for mishandling funds. The company was also notable on its work for The Jacksons' 1981 music video "Can You Feel It." RA&A was on the southwest corner of Highland Avenue and Romaine in the heart of Hollywood, California. RA&A closed in 1987 following an ill-fated merger with now-defunct Omnibus Computer Graphics, Inc., a company which had been based in Toronto. Many people who worked at RA&A went on to other ground-breaking projects, including the founding of Wavefront Technologies, Rhythm & Hues and other studios. Many RA&A people went on to win Academy Awards.

    Read more →
  • PureWow

    PureWow

    PureWow is an American digital media company that publishes women's lifestyle content. Acquired by Gary Vaynerchuk in 2017 as part of Gallery Media Group, PureWow tailors lifestyle topics for Millennials and Generation X, including fashion, beauty, home decor, recipes, entertainment, travel, technology, literature, wellness and money. == History == PureWow was founded by Ryan Harwood in September 2010, along with Bob Pittman's Pilot Group and the women of wowOwow Joni Evans, Mary Wells Lawrence, Whoopi Goldberg, Liz Smith, Candice Bergen, and Lesley Stahl, among others. In January 2013, PureWow hired former Real Simple editor Mary Kate McGrath as its first editor-in-chief. In August 2014, PureWow was listed as no. 352 on Inc. Magazine's 2014 list of the top 500 fastest-growing privately owned companies. In May 2015, PureWow raised $2.5 million. In 2017, serial entrepreneur Gary Vaynerchuk and Miami Dolphins' owner Stephen Ross' venture firm, RSE Ventures, acquired PureWow to form Gallery Media Group as a creative agency and media firm. PureWow's CEO, Ryan Harwood serves as the chief executive of Gallery Media Group. == Editions == PureWow publishes national content as well as local content for New York City, Los Angeles, Chicago, San Francisco, Dallas, and the Hamptons. The company publishes content across fashion, beauty, homecare topics, technology, entertainment, books, wellness and finances. PureWow articles are distributed via its website PureWow.com, email, and over social media channels.

    Read more →
  • Remote scripting

    Remote scripting

    Remote scripting is a technology which allows scripts and programs that are running inside a browser to exchange information with a server. The local scripts can invoke scripts on the remote side and process the returned information. The earliest form of asynchronous remote scripting was developed before XMLHttpRequest existed, and made use of very simple process: a static web page opens a dynamic web page (e.g. at other target frame) that is reloaded with new JavaScript content, generated remotely on the server side. The XMLHttpRequest and similar "client-side script remote procedure call" functions, open the possibility of use and triggering web services from the web page interface. The web development community subsequently developed a range of techniques for remote scripting in order to enable consistent results across different browsers. Early examples include JSRS library from 2000, the introduction of the Image/Cookie technique in 2000. == JavaScript Remote Scripting == JavaScript Remote Scripting (JSRS) is a web development technique for creating interactive web applications using a combination of: HTML (or XHTML) The Document Object Model manipulated through JavaScript to dynamically display and interact with the information presented A transport layer. Different technologies may be used, though using a script tag or an iframe is used the most because it has better browser support than XMLHttpRequest A data format. XML with WDDX can be used as well as JSON or any other text format. Schematic A similar approach is Ajax, though it depends on the XmlHttpRequest in newer web browsers. === Libraries === Brent Ashley's original JSRS library released in 2000 BlueShoes JSRS with added encoding and OO RPC abstractions Simple Tutorials: Javascript Remote Scripting with PHP at the Wayback Machine (archived 2006-04-14) MSDN article

    Read more →
  • Image tracing

    Image tracing

    In computer graphics, image tracing, raster-to-vector conversion or raster vectorization is the conversion of raster graphics into vector graphics. == Background == An image does not have any structure: it is just a collection of marks on paper, grains in film, or pixels in a bitmap. While such an image is useful, it has some limits. If the image is magnified enough, its artifacts appear. The halftone dots, film grains, and pixels become apparent. Images of sharp edges become fuzzy or jagged. See, for example, pixelation. Ideally, a vector image does not have the same problem. Edges and filled areas are represented as mathematical curves or gradients, and they can be magnified arbitrarily (though of course the final image must also be rasterized in to be rendered, and its quality depends on the quality of the rasterization algorithm for the given inputs). The task in vectorization is to convert a two-dimensional image into a two-dimensional vector representation of the image. It is not examining the image and attempting to recognize or extract a three-dimensional model that may be depicted; i.e. it is not a vision system. For most applications, vectorization also does not involve optical character recognition; characters are treated as lines, curves, or filled objects without attaching any significance to them. In vectorization, the shape of the character is preserved, so artistic embellishments remain. Vectorization is the inverse operation corresponding to rasterization, as integration is to differentiation. And, just as with these other operations, while rasterization is fairly straightforward and algorithmic, vectorization involves the reconstruction of lost information and therefore requires heuristic methods. Synthetic images such as maps, cartoons, logos, clip art, and technical drawings are suitable for vectorization. Those images could have been originally made as vector images because they are based on geometric shapes or drawn with simple curves. Continuous tone photographs (such as live portraits) are not good candidates for vectorization. The input to vectorization is an image, but an image may come in many forms such as a photograph, a drawing on paper, or one of several raster file formats. Programs that do raster-to-vector conversion may accept bitmap formats such as TIFF, BMP and PNG. The output is a vector file format. Common vector formats are SVG, DXF, EPS, EMF and AI. Vectorization can be used to update images or recover work. Personal computers often come with a simple paint program that produces a bitmap output file. These programs allow users to make simple illustrations by adding text, drawing outlines, and filling outlines with a specific color. Only the results of these operations (the pixels) are saved in the resulting bitmap; the drawing and filling operations are discarded. Vectorization can be used to recapture some of the information that was lost. Vectorization is also used to recover information that was originally in a vector format but has been lost or has become unavailable. A company may have commissioned a logo from a graphic arts firm. Although the graphics firm used a vector format, the client company may not have received a copy of that format. The company may then acquire a vector format by scanning and vectorizing a paper copy of the logo. == Process == Vectorization starts with an image. === Manual === The image can be vectorized manually. A person could look at the image, make some measurements, and then write the output file by hand. That was the case for the vectorization of a technical illustration about neutrinos. The illustration has a few geometric shapes and a lot of text; it was relatively easy to convert the shapes, and the SVG vector format allows the text (even subscripts and superscripts) to be entered easily. The original image did not have any curves (except for the text), so the conversion is straightforward. Curves make the conversion more complicated. Manual vectorization of complicated shapes can be facilitated by the tracing function built into some vector graphics editing programs. If the image is not yet in machine readable form, then it has to be scanned into a usable file format. Once there is a machine-readable bitmap, the image can be imported into a graphics editing program (such as Adobe Illustrator, CorelDRAW, or Inkscape). Then a person can manually trace the elements of the image using the program's editing features. Curves in the original image can be approximated with lines, arcs, and Bézier curves. An illustration program allows spline knots to be adjusted for a close fit. Manual vectorization is possible, but it can be tedious. Although graphics drawing programs have been around for a long time, artists may find the freehand drawing facilities awkward even when a drawing tablet is used. Instead of using a program, Pepper recommends making an initial sketch on paper. Instead of scanning the sketch and tracing it freehand in the computer, Pepper states: "Those proficient with a graphic tablet and stylus could make the following changes directly in CorelDRAW by using a scan of the sketch as an underlay and drawing over it. I prefer to use pen and ink, and a light table"; most of the final image was traced by hand in ink. Later the line-drawing image was scanned at 600 dpi, cleaned up in a paint program, and then automatically traced with a program. Once the black and white image was in the graphics program, some other elements were added and the figure was colored. Similarly, Ploch recreated a design from a digital photograph. The JPEG was imported and some "basic shapes" were traced by hand and colored in the graphics drawing program; more complex shapes were handled differently. Ploch used a bitmap editor to remove the background and crop the more complex image components. He then printed the image and traced it by hand onto tracing paper to get a clean black and white line drawing. That drawing was scanned and then vectorized with a program. === Automatic === Some programs automate the vectorization process. Example programs are Adobe Illustrator, Inkscape, Corel's PowerTRACE, and Potrace. Some of these programs have a command line interface while others are interactive that allow the user to adjust the conversion settings and view the result. Adobe Streamline is not only an interactive program, but it also allows a user to manually edit the input bitmap and the output curves. Corel's PowerTRACE is accessed through CorelDRAW; CorelDRAW can be used to modify the input bitmap and edit the output curves. Adobe Illustrator has a facility to trace individual curves. Automated programs can have mixed results. A program (PowerTRACE) was used to convert a PNG map to SVG. The program did a good job on the map boundaries (the most tedious task in the tracing) and the settings dropped out all the text (small objects). The text was manually re-inserted. Other conversions may not go as well. The results depend on having high-quality scans, reasonable settings, and good algorithms. Scanned images often have a lot of noise, which can require additional work to clean up. == Options == There are many different image styles and possibilities, and no single vectorization method works well on all images. Consequently, vectorization programs have many options that influence the result. One issue is what the predominant shapes are. If the image is of a fill-in form, then it will probably have just vertical and horizontal lines of a constant width. The program's vectorization should take that into account. On the other hand, a CAD drawing may have lines at any angle, there may be curved lines, and there may be several line weights (thick for objects and thin for dimension lines). Instead of (or in addition to) curves, the image may contain outlines filled with the same color. Adobe Streamline allows users to select a combination of line recognition (horizontal and vertical lines), centerline recognition, or outline recognition. Streamline also allows small outline shapes to be thrown out; the notion is such small shapes are noise. The user may set the noise level between 0 and 1000; an outline that has fewer pixels than that setting is discarded. Another issue is the number of colors in the image. Even images that were created as black on white drawings may end up with many shades of gray. Some line-drawing routines employ anti-aliasing; a pixel completely covered by the line will be black, but a pixel that is only partially covered will be gray. If the original image is on paper and is scanned, there is a similar result: edge pixels will be gray. Sometimes images are compressed (e.g., JPEG images), and the compression will introduce gray levels. Many of the vectorization programs will group same-color pixels into lines, curves, or outlined shapes. If each possible color is grouped into its object, there can be an enormous number of objects. Instead, the user is asked to s

    Read more →
  • Open Rights Group

    Open Rights Group

    The Open Rights Group (ORG) is a UK-based organisation that works to preserve digital rights and freedoms by campaigning on digital rights issues and by fostering a community of grassroots activists. It campaigns on numerous issues including mass surveillance, internet filtering and censorship, and intellectual property rights. == History == The organisation was started by Danny O'Brien, Cory Doctorow, Ian Brown, Rufus Pollock, James Cronin, Stefan Magdalinski, Louise Ferguson and Suw Charman after a panel discussion at Open Tech 2005. O'Brien created a pledge on PledgeBank, placed on 23 July 2005, with a deadline of 25 December 2005: "I will create a standing order of 5 pounds per month to support an organisation that will campaign for digital rights in the UK but only if 1,000 other people will too." The pledge reached 1000 people on 29 November 2005. The Open Rights Group was launched at a "sell-out" meeting in Soho, London. == Work == The group has made submissions to the All Party Internet Group (APIG) inquiry into digital rights management and the Gowers Review of Intellectual Property. The group was honoured in the 2008 Privacy International Big Brother Awards alongside No2ID, Liberty, Genewatch UK and others, as a recognition of their efforts to keep state and corporate mass surveillance at bay. In 2010 the group worked with 38 Degrees to oppose the introduction of the Digital Economy Act, which was passed in April 2010. The group opposes measures in the draft Online Safety Bill introduced in 2021, that it sees as infringing free speech rights and online anonymity. The group campaigns against the Department for Digital, Culture, Media and Sport's plan to switch to an opt-out model for cookies. The group spokesperson stated that "[t]he UK government propose to make online spying the default option" in response to the proposed switch. == Areas of interest == The organisation, though focused on the impact of digital technology on the liberty of UK citizens, operates with an apparently wide range of interests within that category. Its interests include: === Access to knowledge === Copyright Creative Commons Free and open source software The public domain Crown copyright Digital Restrictions Management Software patents === Free speech and censorship === Internet filtering Right to parody s. 127 Communications Act 2003 === Government and democracy === Electronic voting Freedom of information legislation === Privacy, surveillance and censorship === Automatic Vehicle Tracking Communications data retention Identity management Net Neutrality NHS patients' medical database Police DNA Records RFID == Structure == ORG has a paid staff, whose members include: Jim Killock (executive director) Former staff include Suw Charman-Anderson and Becky Hogge, both executive directors, e-voting coordinator Jason Kitcat, campaigner Peter Bradwell, grassroots campaigner Katie Sutton and administrator Katerina Maniadaki. Neil Gaiman was previously the group's patron. As of October 2022, the group had over 43,000 supporters. == ORGCON == ORGCON was the first ever conference dedicated to digital rights in the UK, marketed as "a crash course in digital rights". It was held for the first time in 2010 at City University in London and included keynote talks from Cory Doctorow, politicians and similar pressure groups including Liberty, NO2ID and Big Brother Watch. ORGCON has since been held in 2012, 2013, 2014, 2017, and 2019 where the keynote was given by Edward Snowden.

    Read more →
  • Redshift (theory)

    Redshift (theory)

    Redshift is a techno-economic theory suggesting hypersegmentation of information technology markets based on whether individual computing needs are over or under-served by Moore's law, which predicts the doubling of computing transistors (and therefore roughly computing power) every two years. The theory, proposed and named by New Enterprise Associates partner and former Sun Microsystems CTO Greg Papadopoulos, categorized a series of high growth markets (redshifting) while predicting slower GDP-driven growth in traditional computing markets (blueshifting). Papadopoulos predicted the result will be a fundamental redesign of components comprising computing systems. == Hypergrowth market segments (redshifting) == According to the Redshift theory, applications "redshift" when they grow dramatically faster than Moore's Law allows, growing quickly in their absolute number of systems. In these markets, customers are running out of datacenter real-estate, power and cooling infrastructure. According to Dell Senior Vice President Brad Anderson, “Businesses requiring hyperscale computing environments – where infrastructure deployments are measured by up to millions of servers, storage and networking equipment – are changing the way they approach IT.” While various Redshift proponents offer minor alterations on the original presentation, “Redshifting” generally includes: === ΣBW (Sum-of-Bandwidth) === These are companies that drive heavy Internet traffic. This includes popular web-portals like Google, Yahoo, AOL and MSN. It also includes telecoms, multimedia, television over IP, online games like World of Warcraft and others. This segment has been enabled by widespread availability of high-bandwidth Internet connections to consumers through a DSL or cable modem. A simple way to understand this market is that for every byte of content served to a PC, mobile phone or other device over a network, there must exist computing systems to send it over the network. === High performance computing (HPC) === These are companies that do complex simulations that involve (for example) weather, stock markets or drug-design simulations. This is a generally elastic market because businesses frequently spend every "available" dollar budgeted for IT. A common anecdote claims that cutting the cost of computing by half causes customers in this segment to buy at least twice as much, because each marginal IT dollar spent contributes to business advantage. === prise (or "Star-prise") === These are companies that aggregate traditional computing applications and offer them as services, typically in the form of Software as a Service (SaaS). For example, companies that deploy CRM are over-served by Moore's Law, but companies that aggregate CRM functions and offer them as a service, such as Salesforce.com, grow faster than Moore's Law. === The eBay crisis === A prime example of redshift was a crisis at eBay. In 1999 eBay suffered a database crisis when a single Oracle Database running on the fastest Sun machine available (these tracking Moore's law in this period) was not enough to cope with eBay's growth. The solution was to massively parallelise their system architecture. == Traditional computing markets (blueshifting) == Redshift theory suggests that traditional computing markets, such as those serving enterprise resource planning or customer relationship management applications, have reached relative saturation in industrialized nations. Thereafter, proponents argued further market growth will closely follow gross domestic product growth, which typically remains under 10% for most countries annually. Given that Moore's Law continues to predict accurately the rate of computing transistor growth, which roughly translates into computing power doubling every two years, the Redshift theory suggests that traditional computing markets will ultimately contract as a percentage of computing expenditures over time. Functionally, this means “Blueshifting” customers can satisfy computing requirement growth by swapping in faster processors without increasing the absolute number of computing systems. == Consequences and industry commentary == Papadopoulos argued that while traditional computing markets remain the dominant source of revenue through the late 2000s, a shift to hypergrowth markets will inevitably occur. When that shift occurs, he argued computing (but not computers) will become a utility, and differentiation in the IT market will be based upon a company's ability to deliver computing at massive scale, efficiently and with predictable service levels, much like electricity at that time. If computing is to be delivered as a utility, Nicholas Carr suggested Papadopoulos' vision compares with Microsoft researcher Jim Hamilton, who both agree that computing is most efficiently generated in shipping containers. Industry analysts are also beginning to quantify Redshifting and Blueshifting markets. According to International Data Corporation vice president Matthew Eastwood, "IDC believes that the IT market is in a period of hyper segmentation... This a class of customers that is Moore's law driven and as price performance gains continue, IDC believes that these organizations will accelerate their consumption of IT infrastructure.” == History and nomenclature == Key portions of Papadopoulos' theory were first presented by Sun Microsystems CEO Jonathan Schwartz in late 2006. Papadopoulos later gave a full presentation on Redshift to Sun's annual Analyst Summit in February 2007. The term Redshift refers to what happens when electromagnetic radiation, usually visible light, moves away from an observer. Papadopoulos chose this term to reflect growth markets because redshift helped cosmologists explain the expansion of the universe. Papadopoulos originally depicted traditional IT markets as green to represent their revenue base, but later changed them to “blueshift,” which occurs when a light source moves toward an observer, similar to what would happen during a contraction of the universe.

    Read more →