Exercism is an online, open-source, free coding platform that offers code practice and mentorship on 77 different programming languages. == History == Software developer Katrina Owen created Exercism while she was teaching programming at Jumpstart Labs. The platform was developed as an internal tool to solve the problem of her own students not receiving feedback on the coding problems they were practicing. Katrina put the site publicly online and found that people were sharing it with their friends, practicing together and giving each other feedback. Within 12 months, the site had organically grown to see over 6,000 users had submitted code or feedback, and hundreds of volunteers contribute to the languages or tooling on the platform. In 2016, Jeremy Walker joined as co-founder and CEO. In July 2018, the site was relaunched with a new design and centered around a formal mentoring mode, at which point Katrina stepped back from day-to-day involvement. == Product == In the past, the website differed from other coding platforms by requiring students to download exercises through a command line client, solve the code on their own computers then submit the solution for feedback, at which point they can also view other's solutions to the same problem. Since its second relaunch in 2021, solutions can be edited and submitted through a web editor, though the command line client remains available. Exercism has tracks for 74 programming languages. Among the notable languages taught: ABAP, C, C#, C++, CoffeeScript, Delphi, Elm, Erlang, F#, Gleam, Go, Java, JavaScript, Julia, Kotlin, Objective-C, PHP, Python, Raku, Red, Ruby, Rust, Scala, Swift, and V (Vlang). In 2023, the site launched a "12 in 23" challenge for users to learn the basics of 12 different languages - one per month in 2023. == Open source == The Exercism codebase is open source. In April 2016, it consisted of 50 repositories including website code, API code, command-line code and, most of all, over 40 stand-alone repositories for different language tracks. As of February 2024 Exercism has 14,344 contributors, maintains 366 repositories, and 19,603 mentors.
Avizo (software)
Avizo (pronounce: 'a-VEE-zo') is a general-purpose commercial software application for scientific and industrial data visualization and analysis. Avizo is developed by Thermo Fisher Scientific and was originally designed and developed by the Visualization and Data Analysis Group at Zuse Institute Berlin (ZIB) under the name Amira. Avizo was commercially released in November 2007. For the history of its development, see the Wikipedia article about Amira. == Overview == Avizo is a software application which enables users to perform interactive visualization and computation on 3D data sets. The Avizo interface is modelled on the visual programming. Users manipulate data and module components, organized in an interactive graph representation (called Pool), or in a Tree view. Data and modules can be interactively connected together, and controlled with several parameters, creating a visual processing network whose output is displayed in a 3D viewer. With this interface, complex data can be interactively explored and analyzed by applying a controlled sequence of computation and display processes resulting in a meaningful visual representation and associated derived data. == Application areas == Avizo has been designed to support different types of applications and workflows from 2D and 3D image data processing to simulations. It is a versatile and customizable visualization tool used in many fields: Scientific visualization Materials Research Tomography, Microscopy, etc. Nondestructive testing, Industrial Inspection, and Visual Inspection Computer-aided Engineering and simulation data post-processing Porous medium analysis Civil Engineering Seismic Exploration, Reservoir Engineering, Microseismic Monitoring, Borehole Imaging Geology, Digital Rock Physics (DRP), Earth Sciences Archaeology Food technology and agricultural science Physics, Chemistry Climatology, Oceanography, Environmental Studies Astrophysics == Features == Data import: 2D and 3D image stack and volume data: from microscopes (electron, optical), X-ray tomography (CT, micro-/nano-CT, synchrotron), neutron tomography and other acquisition devices (MRI, radiography, GPR) Geometric models (such as point sets, line sets, surfaces, grids) Numerical simulation data (such as Computational fluid dynamics or Finite element analysis data) Molecular data Time series and animations Seismic data Well logs 4D Multivariate Climate Models 2D/3D data visualization: Volume rendering Digital Volume Correlation Visualization of sections, through various slicing and clipping methods Isosurface rendering Polygonal meshes Scalar fields, Vector fields, Tensor representations, Flow visualization (Illuminated Streamlines, Stream Ribbons) Image processing: 2D/3D Alignment of image slices, Image registration Image filtering Mathematical Morphology (erode, dilate, open, close, tophat) Watershed Transform, Distance Transform Image segmentation 3D models reconstruction: Polygonal surface generation from segmented objects Generation of tetrahedral grids Surface reconstruction from point clouds Skeletonization (reconstruction of dendritic, porous or fracture network) Surface model simplification Quantification and analysis: Measurements and statistics Analysis spreadsheet and charting Material properties computation, based on 3D images: Absolute permeability Thermal conductivity Molecular diffusivity Electrical resistivity/formation factor 3D image-based meshing for CFD and FEA: From 3D imaging modalities (CT, micro-CT, MRI, etc.) Surface and volume meshes generation Export to FEA and CFD solvers for simulation Post-processing for simulation analysis Presentation, automation: MovieMaker, Multiscreen, Video wall, collaboration, and VR support TCL Scripting, C++ extension API Avizo is based on Open Inventor 3D graphics toolkits (FEI Visualization Sciences Group).
Atomtronics
Atomtronics is an emerging field concerning the quantum technology of matter-wave circuits which coherently guide propagating ultra-cold atoms. The systems typically include components analogous to those found in electronics, quantum electronics or optical systems, such as beam splitters, transistors, and atomic counterparts of superconducting quantum interference devices (SQUIDs). Applications range from studies of fundamental physics to the development of practical devices such as quantum superfluids for the computation of large models for artificial general intelligence. == Etymology == Atomtronics is a portmanteau of "atom" and "electronics", in reference to the creation of atomic analogues of electronic components, such as transistors and diodes, and also electronic materials such as semiconductors. The field itself has considerable overlap with atom optics and quantum simulation, and is not strictly limited to the development of electronic-like components. However, this field develops into the research of ultra-cold atoms for the applied research implications of computations in quantum science. == Methodology == Three major elements are required for an atomtronic circuit. The first is a Bose-Einstein condensate, which is needed for its coherent and superfluid properties, although an ultracold Fermi gas may also be used for certain applications. The second is a tailored trapping potential, which can be generated optically, magnetically, or using a combination of both. The final element is a method to induce the movement of atoms within the potential, which can be achieved in several ways, for various research advancements around fields not limited to distributed computing, supercomputing, and quantum computing. For example, a transistor-like atomtronic circuit may be realized by a ring-shaped trap divided into two by two moveable weak barriers, with the two separate parts of the ring acting as the drain and the source and the barriers acting as the gate. As the barriers move, atoms flow from the source to the drain. It is now possible to coherently guide matterwaves over distances of up to 40 cm in ring-shaped atomtronic matterwave guide measurement. == Applications == The field of atomtronics is still very nascent and any schemes realized thus far are proof-of-concept. Applications include: gravimetry rotational sensing via the Sagnac effect quantum computing Obstacles to the development of practical sensing devices are largely due to the technical challenges of creating Bose-Einstein condensates. They require bulky lab-based setups not easily suitable for transportation. However, creating portable experimental setups is an active area of research.
Nanonetwork
A nanonetwork or nanoscale network is a set of interconnected nanomachines (devices a few hundred nanometers or a few micrometers at most in size) which are able to perform only very simple tasks such as computing, data storing, sensing and actuation. Nanonetworks are expected to expand the capabilities of single nanomachines both in terms of complexity and range of operation by allowing them to coordinate, share and fuse information. Nanonetworks enable new applications of nanotechnology in the biomedical field, environmental research, military technology and industrial and consumer goods applications. Nanoscale communication is defined in IEEE P1906.1. == Communication approaches == Classical communication paradigms need to be revised for the nanoscale. The two main alternatives for communication in the nanoscale are based either on electromagnetic communication or on molecular communication. === Electromagnetic === This is defined as the transmission and reception of electromagnetic radiation from components based on novel nanomaterials. Recent advancements in carbon and molecular electronics have opened the door to a new generation of electronic nanoscale components such as nanobatteries, nanoscale energy harvesting systems, nano-memories, logical circuitry in the nanoscale and even nano-antennas. From a communication perspective, the unique properties observed in nanomaterials will decide on the specific bandwidths for emission of electromagnetic radiation, the time lag of the emission, or the magnitude of the emitted power for a given input energy, amongst others. For the time being, two main alternatives for electromagnetic communication in the nanoscale have been envisioned. First, it has been experimentally demonstrated that is possible to receive and demodulate an electromagnetic wave by means of a nanoradio, i.e., an electromechanically resonating carbon nanotube which is able to decode an amplitude or frequency modulated wave. Second, graphene-based nano-antennas have been analyzed as potential electromagnetic radiators in the terahertz band. === Molecular === Molecular communication is defined as the transmission and reception of information by means of molecules. The different molecular communication techniques can be classified according to the type of molecule propagation in walkaway-based, flow-based or diffusion-based communication. In walkway-based molecular communication, the molecules propagate through pre-defined pathways by using carrier substances, such as molecular motors. This type of molecular communication can also be achieved by using E. coli bacteria as chemotaxis. In flow-based molecular communication, the molecules propagate through diffusion in a fluidic medium whose flow and turbulence are guided and predictable. The hormonal communication through blood streams inside the human body is an example of this type of propagation. The flow-based propagation can also be realized by using carrier entities whose motion can be constrained on the average along specific paths, despite showing a random component. A good example of this case is given by pheromonal long range molecular communications. In diffusion-based molecular communication, the molecules propagate through spontaneous diffusion in a fluidic medium. In this case, the molecules can be subject solely to the laws of diffusion or can also be affected by non-predictable turbulence present in the fluidic medium. Pheromonal communication, when pheromones are released into a fluidic medium, such as air or water, is an example of diffusion-based architecture. Other examples of this kind of transport include calcium signaling among cells, as well as quorum sensing among bacteria. Based on the macroscopic theory of ideal (free) diffusion the impulse response of a unicast molecular communication channel was reported in a paper that identified that the impulse response of the ideal diffusion based molecular communication channel experiences temporal spreading. Such temporal spreading has a deep impact in the performance of the system, for example in creating the intersymbol interference (ISI) at the receiving nanomachine. In order to detect the concentration-encoded molecular signal two detection methods named sampling-based detection (SD) and energy-based detection (ED) have been proposed. While the SD approach is based on the concentration amplitude of only one sample taken at a suitable time instant during the symbol duration, the ED approach is based on the total accumulated number of molecules received during the entire symbol duration. In order to reduce the impact of ISI a controlled pulse-width based molecular communication scheme has been analysed. The work presented in showed that it is possible to realize multilevel amplitude modulation based on ideal diffusion. A comprehensive study of pulse-based binary and sinus-based, concentration-encoded molecular communication system have also been investigated.
History of operating systems
Computer operating systems (OSes) provide a set of functions needed and used by most application programs on a computer, and the links needed to control and synchronize computer hardware. On the first computers, with no operating system, every program needed the full hardware specification to run correctly and perform standard tasks, and its own drivers for peripheral devices like printers and punched paper card readers. The growing complexity of hardware and application programs eventually made operating systems a necessity for everyday use. == Background == Early computers lacked any form of operating system. Instead, the user (rarely also the computer operator), had sole use of the machine for a scheduled period of time. The user would deliver his program to a computer operator who would be responsible for loading the computer with the program and data needed for its 'run'. Eventually, the end of a user's program could be detected and a control program automatically loaded which would load the next user's program, relieving the operator of having to load in each user's program individually and introducing the era of 'batched' programming. That is, a number of user programs could all be loaded together in a batch. Loading of program and data was accomplished in various ways including toggle switches (only used by a user on the earliest of computers, but later used by the computer operator to control the computer, e.g., to start it up, to shut it down, to 'pause', to 'dump' its RAM contents, and/or to control its input and/or its output), punched paper cards and magnetic or paper tape. Once loaded, the machine would be set to execute each program singly until that program completed, crashed, exceeded its time limit or went into a(n infinite) loop. In those early days, there were only 'Control Program' units for providing the software necessary to control the computers and ancillary hardware, e.g., for such semi hardware functions as I/O . None of the early 'Control Programs' were sufficiently sophisticated to recognize a looping user program or initiate a recovery action. Detection and recovery from a looping program was another critical operator function and was usually detected by the sound of the looping computer, whereupon the operator would simply initiate a complete dump of the executing program (for later debugging by the programmer) and then load in (or instruct the computer to go on to) the next user's program. Programs could sometimes be debugged via a control panel using dials, toggle switches and panel lights, making it a very manual and error-prone process. But, this was quite rare, since the high cost of even the simplest of the early computers prohibited such exclusive use of a computer by an individual programmer. Almost all program debugging was done away from any computer by the original programmer perusing the program and the dump of its execution obtained, e.g., by the computer operator or automatically by some computer hardware exception detection (such as a timeout, an attempt to divide by zero, or an over or underflow). Programmers then could only very rarely have more than one computer 'run' per day! Symbolic languages, e.g., assemblers and compilers were developed for programmers to translate symbolic program code into machine code that previously would have been hand-encoded. Later machines came with libraries of support code on punched cards or magnetic tape, which would be linked to the user's program to assist in operations such as input and output. This was the genesis of the modern-day operating system; however, machines still ran a single program or job at a time. At Cambridge University in England the job queue was at one time a string from which tapes attached to corresponding job tickets were hung with stationery pegs. == Mainframes == The first operating system used for real work was GM-NAA I/O, produced in 1956 by General Motors' Research division for its IBM 704. Most other early operating systems for IBM mainframes were also produced by customers. Early operating systems were very diverse, with each vendor or customer producing one or more operating systems specific to their particular mainframe computer. Every operating system, even from the same vendor, could have radically different models of commands, operating procedures, and such facilities as debugging aids. Typically, each time the manufacturer brought out a new machine, there would be a new operating system, and most applications would have to be manually adjusted, recompiled, and retested. === Systems on IBM hardware === Building on customer experience and requirements, IBM took on a more active role in developing operating systems for the 709, 1410, 7010, 7040, 7044, 7090 and 7094. IBM also collaborated with universities. The state of affairs continued until the mid 1960s when IBM, already a leading hardware vendor, stopped work on existing systems and put all its effort into developing the System/360 series of machines, all of which used the same instruction and input/output architecture. IBM intended to develop a single operating system for the new hardware, the OS/360. The problems encountered in the development of the OS/360 are legendary, and are described by Fred Brooks in The Mythical Man-Month—a book that has become a classic of software engineering. Because of performance differences across the hardware range and delays with software development, a whole family of operating systems was introduced instead of a single OS/360. IBM wound up releasing a series of stop-gaps followed by two longer-lived operating systems: OS/360 for mid-range and large systems. This was available in three system generation options: PCP for early users and for those without the resources for multiprogramming. MFT for mid-range systems, replaced by MFT-II in OS/360 Release 15/16. This had one successor, OS/VS1, which was discontinued in the 1980s. MVT for large systems. This was similar in most ways to PCP and MFT (most programs could be ported among the three without being re-compiled), but has more sophisticated memory management and a time-sharing facility, TSO. MVT had several successors including the current z/OS. DOS/360 for small System/360 models had several successors including the current z/VSE. It was significantly different from OS/360. IBM maintained full compatibility with the past, so that programs developed in the sixties can still run under z/VSE (if developed for DOS/360) or z/OS (if developed for MFT or MVT) with no change. IBM also developed TSS/360, a time-sharing system for the System/360 Model 67. Overcompensating for their perceived importance of developing a timeshare system, they set hundreds of developers to work on the project. Early releases of TSS were slow and unreliable; by the time TSS had acceptable performance and reliability, IBM wanted its TSS users to migrate to OS/360 and OS/VS2; while IBM offered a TSS/370 PRPQ, they dropped it after 3 releases. Several operating systems for the IBM S/360 and S/370 architectures were developed by third parties, including the Michigan Terminal System (MTS) and MUSIC/SP. === Other mainframe operating systems === Control Data Corporation developed the SCOPE operating systems in the 1960s, for batch processing and later developed the MACE operating system for time sharing, which was the basis for the later Kronos. In cooperation with the University of Minnesota, the Kronos and later the NOS operating systems were developed during the 1970s, which supported simultaneous batch and time sharing use. Like many commercial time sharing systems, its interface was an extension of the DTSS time sharing system, one of the pioneering efforts in timesharing and programming languages. In the late 1970s, Control Data and the University of Illinois developed the PLATO system, which used plasma panel displays and long-distance time sharing networks. PLATO was remarkably innovative for its time; the shared memory model of PLATO's TUTOR programming language allowed applications such as real-time chat and multi-user graphical games. For the UNIVAC 1107, UNIVAC, the first commercial computer manufacturer, produced the EXEC I operating system, and Computer Sciences Corporation developed the EXEC II operating system and delivered it to UNIVAC. EXEC II was ported to the UNIVAC 1108. Later, UNIVAC developed the EXEC 8 operating system for the 1108; it was the basis for operating systems for later members of the family. Like all early mainframe systems, EXEC I and EXEC II were a batch-oriented system that managed magnetic drums, disks, card readers and line printers; EXEC 8 supported both batch processing and on-line transaction processing. In the 1970s, UNIVAC produced the Real-Time Basic (RTB) system to support large-scale time sharing, also patterned after the Dartmouth BASIC system. Burroughs Corporation introduced the B5000 in 1961 with the MCP (Master Control Program) operating system. The B5000
Computer vision dazzle
Computer vision dazzle, also known as CV dazzle, dazzle makeup, or anti-surveillance makeup, is a type of camouflage used to hamper facial recognition software, inspired by dazzle camouflage used by vehicles such as ships and planes. == Methods == CV dazzle combines stylized makeup, asymmetric hair, and sometimes infrared lights built in to glasses or clothing to break up detectable facial patterns recognized by computer vision algorithms in much the same way that warships contrasted color and used sloping lines and curves to distort the structure of a vessel. It has been shown to be somewhat successful at defeating face detection software in common use, including that employed by Facebook. CV dazzle attempts to block detection by facial recognition technologies such as DeepFace "by creating an 'anti-face'". It uses occlusion, covering certain facial features; transformation, altering the shape or colour of parts of the face; and a combination of the two. Prominent artists employing this technique include Adam Harvey and Jillian Mayer. == Use in protests == Computer vision dazzle makeup has been used by protestors in several different protest movements. Its use as a protesting aid has often been found ineffective. It may be effective to thwart computer technology, but draws human attention, is easy for human monitors to spot on security cameras, and makes it hard for protestors to blend in within a crowd. Advances in facial recognition technology make dazzle makeup increasingly ineffective.
Hoopla (digital media service)
Hoopla Digital is a web and mobile streaming platform launched in 2013 that provides access to a wide range of digital media, including audiobooks, eBooks, comics, manga, music, movies, and TV shows. The service is available to users through participating public libraries, allowing library cardholders to borrow and stream digital media. Hoopla is a division of Midwest Tape. == History == Hoopla was launched in 2013. Its goal was for libraries to provide patrons with access to digital content such as audiobooks, music, movies, and TV shows, without the need for holds or waiting lists. Hoopla's model is a pay-per-use system, which means patrons can borrow items instantly. Since its inception, the service has expanded its offerings to include eBooks and comics. The app was built exclusively for public libraries and their patrons. Hoopla Digital is the only platform that combines all formats and all license models into one convenient app with no platform fees. In 2017, Hoopla became available on Apple TV, Amazon Fire TV, Android TV, and Roku, allowing users to stream content on larger screens. In 2020, Hoopla Flex and Bonus Borrows programs are introduced, enabling libraries to move their one copy/one user titles. At that time, there were 6.5 million library card holders and 2,700+ library partners. In 2021, the BingePass was introduced, offering patrons seven days to access entire collections with just one borrow. In 2022, Apple CarPlay and Android Auto become available, giving users safe and easy access while driving. In 2023, manga joins Hoopla's comic collection, adding 1.5 million titles to Hoopla's offerings. In January 2025, Hoopla introduced a new streaming feature called SeasonPass. Building on the existing BingePass model, SeasonPass allows users to borrow an entire season of a television series with a single borrow. == Business model == Hoopla is free-of-charge for patrons of participating libraries. The content is paid for by library systems, using a "per circulation transaction model". == Content == Hoopla claims to have over 500,000 content titles across six formats, including over 25,000 comic books. As of November 2016, Hoopla's content comprised 35% audiobooks (for which Hoopla has contracts with publishers such as Blackstone Audio, HarperCollins, Simon & Schuster Audio, Tantor Audio, and others), followed by 22% movies (for which Hoopla has motion picture contracts with publishers such as Disney, Lionsgate, Starz, Warner Bros., and others), 19% music, 12% ebooks, 6% comics, and 6% television. One drawback is that Hoopla has few new bestsellers. In February 2025, 404 Media reported that Hoopla's collection includes books created by generative AI with fictional authors and dubious quality. Often not labeled as AI-produced or fact-checked, this AI slop can cost libraries money when checked out by unsuspecting patrons. Libraries like Sacramento Public library have questioned the sustainability of Hoopla's pay-per-use model and have considered transitioning to other digital platforms. === Areas served === Hoopla expanded to serve Australia and New Zealand in June 2021. == Technology == Hoopla content can be borrowed and consumed on the web, or via the native Android or iOS apps. Hoopla broadcasts only in Standard definition unlike most of its competitors such as Kanopy. == Parent company == John Eldred and Jeff Jankowski founded Hoopla's parent company, Midwest Tape, in 1989. Midwest Tape is a library vendor of physical media such as audiobooks, CDs, and DVD/Blu-ray. == Controversy == Hoopla and Midwest Tapes were censured by the Library Freedom Project and Library Futures in a joint statement for hosting what it described as "fascist propaganda", including a recent English translation of A New Nobility of Blood and Soil by Richard Walther Darré of the SS and books related to Holocaust denial, in public library collections without the input from the staff. Criticism was also directed at the inclusion of books on homosexuality, abortion, and vaccines claimed by the Library Freedom Project and Library Futures to be misinformation. On February 17, 2022, Hoopla removed a number of titles after public outcry about Holocaust denial books available on the app under non-fiction. The advocacy groups expressed appreciation for the response, however state that it is "insufficient," as they maintain concerns about the company's practices in selecting materials and lack of transparency.