AI Analytics Usf

AI Analytics Usf — independent reviews, comparisons, pricing and step-by-step guides on Aizhi.

  • Hamilton C shell

    Hamilton C shell

    Hamilton C shell is a clone of the Unix C shell and utilities for Microsoft Windows created by Nicole Hamilton at Hamilton Laboratories as a completely original work, not based on any prior code. It was first released on OS/2 on December 12, 1988 and on Windows NT in July 1992. The OS/2 version was discontinued in 2003 but the Windows version continues to be actively supported. == Design == Hamilton C shell differs from the Unix C shell in several respects. These include its compiler architecture, its use of threads, and the decision to follow Windows rather than Unix conventions. === Parser === The original C shell uses an ad hoc parser. This has led to complaints about its limitations. It works well enough for the kinds of things users type interactively but not very well for the more complex commands a user might take time to write in a script. It is not possible, for example, to pipe the output of a foreach statement into grep. There was a limit to how complex a command it could handle. By contrast, Hamilton uses a top-down recursive descent parser that allows it to compile statements to an internal form before running them. As a result, statements can be nested or piped arbitrarily. The language has also been extended with built-in and user-defined procedures, local variables, floating point and additional expression, editing and wildcarding operators, including an "indefinite directory" wildcard construct written as "..." that matches zero or more directory levels as required to make the rest of the pattern match. === Threads === Lacking fork or a high performance way to recreate that functionality, Hamilton uses the Windows threads facilities instead. When a new thread is created, it runs within the same process space and it shares all of the process state. If one thread changes the current directory or the contents of memory, it's changed for all the threads. It's much cheaper to create a thread than a process but there's no isolation between them. To recreate the missing isolation of separate processes, the threads cooperate to share resources using locks. === Windows conventions === Hamilton differs from other Unix shells in that it also directly supports Windows conventions for drive letters, filename slashes, escape characters, etc.

    Read more →
  • Variable-message sign

    Variable-message sign

    A variable- (also changeable-, electronic-, or dynamic-) message sign or message board, often abbreviated VMS, VMB, CMS, or DMS, and in the UK known as a matrix sign, is an electronic traffic sign often used on roadways to give travelers information about special events. Such signs warn of traffic congestion, accidents, incidents such as terrorist attacks, Amber/Silver/Blue Alerts, roadwork zones, or speed limits on a specific highway segment. In urban areas, VMS are used within parking guidance and information systems to guide drivers to available car parking spaces. They may also ask vehicles to take alternative routes, limit travel speed, warn of duration and location of the incidents, inform of the traffic conditions, or display general public safety messages. == History == VMS systems were deployed at least as early as the 1950s on the New Jersey Turnpike. The road's signs of that period, and up to around 2012, were capable of displaying a few messages in neon, all oriented around warning drivers to slow down: "REDUCE SPEED", followed by a warning of either construction, accident, congestion, ice, snow, or fog at a certain distance ahead. The New Jersey Turnpike Authority replaced those signs (along with 1990s-vintage dot-matrix VMS systems along the Garden State Parkway) with more flexible electronic signs between 2010 and 2016. The current VMS systems are largely deployed on freeways, trunk highways, or in work zones. On the interchange of I-5 and SR 120 in San Joaquin County, California, an automated visibility and speed warning system was installed in 1996 to warn traffic of reduced visibility due to fog (where tule fog is a common problem in the winter), and of slow or stopped traffic. Message Signs were deployed in Ontario during the 1990s and are now being upgraded on 400-series highways as well as two pilot secondary highways in northeastern Ontario. == Technologies and types == Early variable message signs included static signs with words that would illuminate (often using neon tubing) indicating the type of incident that occurred, or signs that used rotating prisms (trilons) to change the message being displayed. These were later replaced by dot matrix displays typically using eggcrate, fiber optic, or flip-disc technology, which were capable of displaying a much wider range of messages than earlier static variable message signs. Since the late 1990s, the most common technology used in new installations for variable message signs are LED displays. In recent years, some newer LED variable message signs have the ability to display colored text and graphics. Dot-matrix variable message signs are divided into three subgroups: character matrix, row matrix, and full matrix. In a character matrix VMS, each character is given its own matrix with equal horizontal spacing between them, typically with two or three rows of characters. In a full matrix VMS, the entire sign is a single large dot matrix display, allowing the display of different fonts and graphics. A row matrix VMS is a hybrid of the two types, divided into two or three rows like a character matrix display, except each row is a single long dot matrix display instead of being split per character horizontally. Overhead variable message signs are today available in three form factors: front access, rear access, and walk-in. In a front access variable message sign, maintenance is performed by lifting the sign open from the front. Most smaller VMS are of the front access form factor, and are typically installed today on major arterials. The rear access form factor is similar to the front access form factor, except that maintenance is performed from the rear of the sign, and are commonly used for medium-sized dynamic message signs installed along the roadside of freeways (instead of overhead). The walk-in form factor is a more recent introduction, where maintenance on the sign is performed from the inside of the sign. A key advantage of the walk-in form factor is that lane closures are generally not required to perform maintenance on the sign. Most of the largest VMS units installed today are walk-in units, and are typically installed overhead on freeways. The NJ Turnpike Authority counts five unique types of variable message signs under its jurisdiction, at least one of which has been replaced by newer signs. They are: "REDUCE SPEED" neon signs (1950s-2010, obsolete, have now been replaced). "Changeable message signs" (trilon/ rotating-drum signs that can be used for closing roads or moving traffic to other roadways). Electronic VMS: signs with remotely controlled messages displayed on them; the messages are sent from the State Traffic Management Center, updating the signs automatically. Variable speed limit signs - used for varying the posted speed limits within work zones and in emergencies. Portable VMS: movable "electronic VMS". A portable VMS has much the same characteristics as a fixed electronic VMS, but can be moved from location to location as the need dictates. == Usage == Early models required an operator to be physically present when programming a message, whereas newer models may be reprogrammed remotely via a wired or wireless network or cellphone connection. A complete message on a panel generally includes a problem statement indicating incident, roadwork, stalled vehicle etc.; a location statement indicating where the incident is located; an effect statement indicating lane closure, delay, etc. and an action statement giving suggestion what to do traffic conditions ahead. These signs are also used for Amber alert messages, and in some states, Silver and Blue Alert messages. In some places, VMSes are set up with permanent, semi-static displays indicating predicted travel times to important traffic destinations such as major cities or interchanges along the route of a highway. Typical messages provide the following information: Promotional messages about services provided by a road authority during non-critical hours, such as carpooling efforts, travelers' information stations and 5-1-1 lines Crashes, including vehicle spin-out or rollover Road Works Incidents affecting normal traffic flow in a lane or on shoulders Non-recurring congestion, often a residual effect of cleared crash Closures of an entire road, e.g. over a mountain pass in winter. Exit ramp closures Debris on roadway Vehicle fires Wildfires Short-term maintenance or construction lasting less than three days Pavement failure alerts AMBER, Silver, and Blue Alerts, as well as weather warnings via the warning infrastructure of NOAA Weather Radio's SAME system Travel times Variable speed limits Car park occupancy levels speed sign, for recommending a speed to approach the next traffic light in its green phase. The information comes from a variety of traffic monitoring and surveillance systems. It is expected that by providing real-time information on special events on the oncoming road, VMS can improve motorists' route selection, reduce travel time, mitigate the severity and duration of incidents and improve the performance of the transportation network. === United Kingdom === Do not enter the motorway when the red lamps are flashing in pairs from side to side. On 27 March 1972, the first motorway computer-controlled warning lights in the UK, with 59 miles on the M6 from Broughton, Lancashire to Barthomley, on the Cheshire boundary, and 26 miles on the M62 east of Whitefield, was switched on by Michael Heseltine and Charles Legh Shuldham Cornwall-Legh, 5th Baron Grey of Codnor at the headquarters of Cheshire Constabulary on Nuns Road. It was centred at a police computer centre at Westhoughton, that connected to police stations in Preston and Chester. The Chester site was soon be connected to the M53 and M57. Four other regional computer centres would be opened at Perry Barr near the M6, Scratchwood near the M1, at Hook near the M3, and at Almondsbury near the M4. Most British motorways would be covered by 1975. The system was designed by GEC and had taken five years to design. == Safety messages for drivers == Increasingly, signs have been used to remind drivers to buckle seat belts ("Click It or Ticket"), obey the speed limit, and stay off the road if impaired ("Drive sober or get pulled over"). In a federal study, a slight majority of drivers reported that public safety messages on dynamic message signs impacted their driving behaviors. The Ohio Department of Transportation began using humorous dynamic message signs in 2015, perplexing some drivers. Examples of humorous signs seen in New Jersey, Arizona, Texas, Pennsylvania, Delaware, Iowa, New York, Minnesota and Ohio include: "Hold on to your butts. Help prevent forest fires." "We'll be blunt. Don't drive high." "Visiting in-laws? Slow down, get there late." "Only sparklers should be lit." and “Don’t drive Star Spangled hammered." (for Fourth of July) "Hocus pocus – drive with focus." and "Slow down in work zones - my mummy works here." (f

    Read more →
  • GPU switching

    GPU switching

    GPU switching is a mechanism used on computers with multiple graphic controllers. This mechanism allows the user to either maximize the graphic performance or prolong battery life by switching between the graphic cards. It is mostly used on gaming laptops which usually have an integrated graphic device and a discrete video card. == Basic components == Most computers using this feature contain integrated graphics processors and dedicated graphics cards that applies to the following categories. === Integrated graphics === Also known as: Integrated graphics, shared graphics solutions, integrated graphics processors (IGP) or unified memory architecture (UMA). This kind of graphics processors usually have much fewer processing units and share the same memory with the CPU. Sometimes the graphics processors are integrated onto a motherboard. It is commonly known as: on-board graphics. A motherboard with on-board graphics processors doesn't require a discrete graphics card or a CPU with graphics processors to operate. === Dedicated graphics cards === Also known as: discrete graphics cards. Unlike integrated graphics, dedicated graphics cards have much more processing units and have its own RAM with much higher memory bandwidth. In some cases, a dedicated graphics chip can be integrated onto the motherboards, B150-GP104 for example. Regardless of the fact that the graphics chip is integrated, it is still counted as a dedicated graphics cards system because the graphics chip is integrated with its own memory. == Theory == Most Personal Computers have a motherboard that uses a Southbridge and Northbridge structure. === Northbridge control === The Northbridge is one of the core logic chipset that handles communications between the CPU, GPU, RAM and the Southbridge. The discrete graphics card is usually installed onto the graphics card slot such as PCI-Express and the integrated graphics is integrated onto the CPU itself or occasionally onto the Northbridge. The Northbridge is the most responsible for switching between GPUs. The way how it works usually has the following process (refer to the Figure 1. on the right): The Northbridge receives input from Southbridge through the internal bus. The Northbridge signals to CPU through the Front-side bus. The CPU runs the task assignment application (usually the graphics card driver) to determine which GPU core to use. The CPU passes down the command to the Northbridge. The Northbridge passes down the command to the according GPU core. The GPU core processes the command and returns the rendered data back to the Northbridge. The Northbridge sends the rendered data back to Southbridge. === Southbridge control === The Southbridge is a set of integrated circuits such Intel's I/O Controller Hub (ICH). It handles all of a computer's I/O functions, such as receiving the keyboard input and outputting the data onto the screen. The way how it usually works usually has two steps: Take in the user input and pass it down to the Northbridge. (Optional) Receive the rendered data from the Northbridge and output it. The reason why the second step can be optional is that sometimes the rendered the data is outputted directly from the discrete graphics card which is located on the graphics card slot so there is no need to output the data through the Southbridge. == Main purpose == GPU switching is mostly used for saving energy by switching between graphic cards. The dedicated graphics cards consume much more power than integrated graphics but also provides higher 3D performances, which is needed for a better gaming and CAD experience. Following is a list of the TDPs of the most popular CPU with integrated graphics and dedicated graphics cards. The dedicated graphics cards exhibit much higher power consumption than the integrated graphics on both platforms. Disabling them when no heavy graphics processing is needed can significantly lower the power consumption. == Technologies == === Nvidia Optimus === Nvidia Optimus™ is a computer GPU switching technology created by Nvidia that can dynamically and seamlessly switch between two graphic cards based on running programs. === AMD Enduro === AMD Enduro™ is a collective brand developed by AMD that features many new technologies that can significantly save power. It was previously named as: PowerXpress and Dynamic Switchable Graphics (DSG). This technology implements a sophisticated system to predict the potential usage need for graphics cards and switch between graphics cards based on predicted need. This technology also introduces a new power control plan that allows the discrete graphics cards consume no energy when idling. == Manufacturers == === Integrated graphics === In personal computers, the IGP (integrated graphics processors) are mostly manufactured by Intel and AMD and are integrated onto their CPUs. They are commonly known as: Intel HD and Iris Graphics - also called HD series and Iris series AMD Accelerated Processing Unit (APU) - also formerly known as: fusion === Dedicated graphics cards === The most popular dedicated graphics cards are manufactured by AMD and Nvidia. They are commonly known as: AMD Radeon Nvidia GeForce == Drivers and OS support == Most common operating systems have built-in support for this feature. However, the users may download the updated drivers from Nvidia or AMD for better experience. === Windows support === Windows 7 has built-in support for this feature. The system automatically switches between GPUs depending on the program that's running. However, the user may switch the GPUs manually through device manager or power manager. === Linux === Modern Linux systems handle hybrid graphics in two parts: power/control for the inactive GPU, and optional render offloading for individual applications. vga_switcheroo (in the kernel since 2.6.34) coordinates power and mux control on systems with multiple GPUs. It was designed primarily for muxed designs (hardware display switch), and on muxless laptops it is typically used only for power control. A display server restart is no longer required for offloading on muxless systems. DRI PRIME (Mesa) enables per-process render offload on muxless systems: an app renders on the discrete GPU and the integrated GPU presents the result. Users can opt in via the DRI_PRIME environment variable (e.g., DRI_PRIME=1) or desktop integration. On GNOME, the switcheroo-control service exposes the discrete GPU to the shell, adding a “Launch using Discrete Graphics Card” entry to app menus on supported systems (Wayland or Xorg), which invokes render offload under the hood. With the proprietary Nvidia driver, render offload is provided as PRIME Render Offload (supported since driver 435.xx). Distributions commonly ship a helper like prime-run or desktop menu entries that set the required environment for offloading. ==== Notes and limitations (Linux) ==== On muxless systems the internal display is hard-wired to the integrated GPU; the discrete GPU cannot directly drive that panel and instead renders offscreen for composition by the iGPU. External displays connected to the dGPU may allow direct output depending on the laptop’s wiring. Power-saving behavior varies by driver and distro defaults. Some setups need explicit configuration to power down the inactive GPU when idle. Desktop integrations (e.g., GNOME's menu item) simply opt an app into offload; they do not "auto-switch" the whole session. Users can still launch apps on either GPU as needed.

    Read more →
  • Server-sent events

    Server-sent events

    Server-Sent Events (SSE) is a server push technology enabling a client to receive automatic updates from a server via an HTTP connection, and describes how servers can initiate data transmission towards clients once an initial client connection has been established. They are commonly used to send message updates or continuous data streams to a browser client and designed to enhance native, cross-browser streaming through a JavaScript API called EventSource, through which a client requests a particular URL in order to receive an event stream. The EventSource API is standardized as part of HTML Living Standard by the WHATWG. The media type for SSE is text/event-stream. All modern browsers support server-sent events: Firefox 6+, Google Chrome 6+, Opera 11.5+, Safari 5+, Microsoft Edge 79+, Brave. Since SSE does not use either persistent connections nor chunked transfer encoding, HTTP/1.1 is not a technical requirement. == History == The SSE mechanism was first specified by Ian Hickson as part of the "WHATWG Web Applications 1.0" proposal starting in 2004. In September 2006, the Opera web browser implemented the experimental technology in a feature called "Server-Sent Events". The W3C published Server-Sent Events as a Recommendation on February 3, 2015, after years of development through Working Drafts and Candidate Recommendations. == Example == == Technology == When sending high-frequency data , the server must manage backpressure to prevent saturating clients. This is mitigated in the following ways: Client-side buffering: Browsers have limited buffer space for incoming server-sent events Adaptive rate limiting: Servers can adjust event frequency and monitor connection health Event batching: Combining multiple events into larger and less frequent transmissions

    Read more →
  • Machine unlearning

    Machine unlearning

    Machine unlearning is a branch of machine learning focused on removing specific undesired element, such as private data, wrong or manipulated training data, outdated information, copyrighted material, harmful content, dangerous abilities, or misinformation, without needing to rebuild models from the ground up. Large language models, like the ones powering ChatGPT, may be asked not just to remove specific elements but also to unlearn a "concept," "fact," or "knowledge," which aren't easily linked to specific examples. New terms such as "model editing," "concept editing," and "knowledge unlearning" have emerged to describe this process. == History == Early research efforts were largely motivated by Article 17 of the GDPR, the European Union's privacy regulation commonly known as the "right to be forgotten" (RTBF), introduced in 2014. The GDPR did not anticipate that the development of large language models would make data erasure a complex task. This issue has since led to research on "machine unlearning," with a growing focus on removing copyrighted material, harmful content, dangerous capabilities, and misinformation. Just as early experiences in humans shape later ones, some concepts are more fundamental and harder to unlearn. A piece of knowledge may be so deeply embedded in the model's knowledge graph that unlearning it could cause internal contradictions, requiring adjustments to other parts of the graph to resolve them. Researchers have now also started studying unlearning in the context of removing incorrect or adversarially manipulated training data such as systematically biased labels or poisoning attacks. == Motivations == At present, machine unlearning is motivated by a growing range of concerns that extend well beyond the field's original focus on data privacy. A widely used taxonomy in the literature distinguishes two high-level categories of motivation. Access revocation covers cases where a data subject or rights holder requests the removal of data they own or control. This is most commonly associated with RTBF established by the European Union's General Data Protection Regulation (GDPR) and analogous legislation such as the California Consumer Privacy Act (CCPA). These regulations grant individuals the legal right to request erasure of their personal data from any system that has processed it, including models that were trained on it. Access revocation also encompasses the removal of copyrighted or pay-walled content that was incorporated into training corpora without the necessary licenses, a concern that has become prominent with the widespread use of largely web-scraped pre-training datasets. Model correction covers cases where the model exhibits undesirable behavior arising from the training data, regardless of any individual's request. This includes: Removal of toxic, biased, or unsafe outputs introduced by harmful content in the training set Correction of stale or factually incorrect associations, such as outdated knowledge encoded in a deployed model Removal of dangerous capabilities, such as detailed knowledge of the synthesis of chemical or biological agents Correction of the influence of data poisoning or adversarial attacks that have corrupted model behavior This second category has been formalized as corrective machine unlearning, which frames unlearning as a post-training mechanism for repairing the effects of bad or harmful training data. It is closely related to the AI safety literature, where data filtering alone has been found insufficient to prevent hazardous knowledge from being encoded in model weights, motivating unlearning as a complementary risk mitigation strategy. A further distinction has been drawn in the literature between removal {eliminating the influence of specific training data on model parameters) and suppression (preventing the model from generating specific outputs regardless of how that knowledge is encoded). These two goals are not equivalent: removing training data does not guarantee meaningful output suppression, and suppressing outputs does not constitute removal of the underlying training data's influence. == SISA Training == SISA is a training strategy consisting of four mechanisms designed to make machine unlearning more efficient by structuring how models are trained and updated. Its goal is to allow a system to remove the influence of specific data points without retraining an entire model from scratch. By reorganizing training data and workflows, SISA reduces the computational burden of unlearning requests. Sharding divides the training dataset into multiple disjoint subsets, or shards. Each shard is used to train a separate model instance. This ensures that a single data point affects only one shard, so unlearning it requires updating only the corresponding shard rather than the full model. Isolation refers to training each shard independently, with nothing shared across shards during the training process. This separation prevents cross-contamination between shards, ensuring that forgetting data in one shard does not require adjustments to any others. Slicing breaks the data within each shard into sequential slices and stores model states after each slice is trained on. When an unlearning request targets a piece of data, the system can roll back to the checkpoint before the point was seen and retrain only from that slice forward. This reduces retraining time even within a shard. Aggregation occurs at inference, when the model is queried. It combines the outputs of each shard to determine the output of the overall model. This is often through majority voting or averaging. This allows SISA-trained systems to behave like a single model despite being composed of multiple shard-level models. Together, these mechanisms enable machine learning systems to forget specific data points with far lower computational cost than full retraining. The trade-off is that sharding and slicing can lead to reduced model accuracy, worse generalization, and increased storage requirements for the intermediate checkpoints. This can be tolerable based on the needs of the individual or organization to comply with "right to be forgotten" or efficiently recover from backdoor attacks. == Algorithms == Machine unlearning algorithms are broadly categorized into exact and approximate methods, reflecting a fundamental trade-off between formal guarantees and computational tractability. === Exact Unlearning === Exact unlearning methods produce a model that is statistically indistinguishable from one retrained from scratch on the dataset with the forget data removed. The canonical framework for exact unlearning is SISA Training (Sharded, Isolated, Sliced, and Aggregated), introduced by Bourtoule et al. (2021). SISA partitions the training dataset into disjoint shards and trains a separate sub-model on each. At inference time, predictions are aggregated across sub-models. When an unlearning request is received, only the sub-model corresponding to the shard containing the target data requires retraining, reducing computational overhead proportionally to the number of shards. Exact methods provide the strongest guarantees but become prohibitively expensive for large pre-trained neural networks and are generally limited to settings where training can be structured in advance. === Approximate Unlearning === Approximate unlearning methods seek to produce a model whose behavior is sufficiently close to an exactly unlearned model without the cost of full retraining. These methods dominate practical applications. Common approaches include: Gradient Ascent: The model is fine-tuned by maximizing the loss on the forget set, directly degrading its performance on targeted data. This is the most direct approach but risks destabilizing performance on retained data. Random Labelling: The model is fine-tuned on the forget set using randomly shuffled labels, confusing its associations with the targeted data while producing a less aggressive weight shift than pure gradient ascent. Gradient Difference: Combines gradient ascent on the forget set with simultaneous gradient descent on the retain set, using the retain objective as a regularizer to preserve general model utility. KL Divergence Regularization: Minimizes the KL divergence between the outputs of the unlearned model and the original model on the retain set, anchoring behavior on data the model should remember. Weight Pruning and Fine-tuning: Parameters with the smallest L1-norm are pruned — targeting weights most weakly associated with general knowledge and potentially most associated with the forget set — followed by fine-tuning on the retain set to restore utility. Layer Reset and Fine-tuning: The first or last k layers are re-initialized to random weights and the model is subsequently fine-tuned on the retain set. This is a coarse but computationally simple approach. Selective Synaptic Dampening: Uses influence functions to estimate the effect of individual trainin

    Read more →
  • Content adaptation

    Content adaptation

    Content adaptation is the action of transforming content to adapt to device capabilities. Content adaptation is usually related to mobile devices, which require special handling because of their limited computational power, small screen size, and constrained keyboard functionality. Content adaptation could roughly be divided to two fields: Media content adaptation that adapts media files. Browsing content adaptation that adapts a website to mobile devices. == Browsing content adaptation == Advances in the capabilities of small, mobile devices such as mobile phones (cell phones) and Personal Digital Assistants have led to an explosion in the number of types of device that can now access the Web. Some commentators refer to the Web that can be accessed from mobile devices as the Mobile Web. The sheer number and variety of Web-enabled devices poses significant challenges for authors of websites who want to support access from mobile devices. The W3C Device Independence Working Group described many of the issues in its report Authoring Challenges for Device Independence. Content adaptation is one approach to a solution. Rather than requiring authors to create pages explicitly for each type of device that might request them, content adaptation transforms an author's materials automatically. For example, content might be converted from a device-independent markup language, such as XDIME, an implementation of the W3C's DIAL specification, into a form suitable for the device, such as XHTML Basic, C-HTML, or WML. Similarly, a suitable device-specific CSS style sheet or a set of in-line styles might be generated from abstract style definitions. Likewise, a device specific layout might be generated from abstract layout definitions. Once created, the device-specific materials form the response returned to the device from which the request was made. Another way is to use the latest trend responsive design based on CSS, covered in this article (RWD). Content adaptation requires a processor that performs the selection, modification, and generation of materials to form the device-specific result. IBM's Websphere Everyplace Mobile Portal (WEMP), BEA Systems' WebLogic Mobility Server, Morfeo's MyMobileWeb, and Apache Cocoon are examples of such processors. Wurfl and WALL are popular open source tools for content adaptation. WURFL is an XML-based Device Description Repository with APIs to access the data in Java and PHP (and other popular programming languages). WALL (Wireless Abstraction Library) lets a developer author mobile pages which look like plain HTML, but converts them to WML, C-HTML, or XHTML Mobile Profile, depending on the capabilities of the device from which the HTTP request originates. GreasySpoon lets the developer build plugins for content editing, in JavaScript, Ruby (programming language), and more, just like the Firefox application GreaseMonkey. Alembik (Media Transcoding Server) is a Java (J2EE) application providing transcoding services for variety of clients and for different media types (image, audio, video, etc.). It is fully compliant with OMA's Standard Transcoder Interface specification and is distributed under the LGPL open source license. In 2007, the first large scale carrier-grade deployments of content transformation, on existing mass-market handsets, with no software download required, were deployed by Vodafone in the UK and globally for Yahoo! oneSearch, using the Novarra Vision solution. Novarra's content adaptation solution had been used in enterprise intranet deployments as early as 2003 (at that time, the platform was named "Engines for Wireless Data"). InfoGin, the 9-year-old content-adaptation company with customers like Vodafone, Orange, Telefónica and PCCW. The patented "Web to Mobile adaptation", Mobile Matrix Transcoder, Multimedia and Documents transcoders, Video adaptation supporte. Launched in 2007, Bytemobile's Web Fidelity Service was another carrier-grade, commercial infrastructure solution, which provided wireless content adaptation to mobile subscribers on their existing mass-market handsets, with no client download required.

    Read more →
  • Directed-energy weapon wildfire conspiracy theories

    Directed-energy weapon wildfire conspiracy theories

    The directed-energy weapon wildfire conspiracy theories are claims circulating on social media and in fringe commentary that 2020s wildfires in places such as California, Hawaii and Texas were started or steered by directed-energy weapons or other lasers or directed-energy systems rather than by the documented ignition sources identified by investigators. Fact-checking organisations and newsrooms have repeatedly shown that widely shared images and clips said to depict “beams from the sky” are unrelated, miscaptioned or fabricated, and that official inquiries point to causes such as damaged or re-energised power lines, vegetation and extreme wind conditions. Coverage of the January 2025 Los Angeles fires described a resurgence of familiar hoaxes while local and federal agencies coordinated public rebuttals. == Background == Rumours linking directed-energy weapons to wildfire outbreaks appeared during earlier disaster seasons, then re-emerged at scale during the 2018 Camp Fire and again with the 2023 Maui wildfires and the 2025 Los Angeles fires. Journalists documented how large disasters reliably attract miscaptioned imagery and speculative narratives that portray official explanations as cover stories, while researchers and emergency managers noted that such claims tend to flourish during the information vacuum that accompanies fast-moving events. == Narratives and debunks == Recurring claims include assertions that videos show lasers igniting neighbourhoods, that “green” or “blue” items or roofs were spared because lasers cannot burn those colours, that trees remaining upright indicate precision targeting of houses, and that beams recorded over Hawaii or Texas came from secret platforms. Investigations show that a purported laser-strike video was actually an explosion at a Russian gas station recorded years earlier, that a photograph said to capture an “attack” was an Ohio gas flare from 2018, and that a separate video of green lights over Hawaii was captured months before the Maui fires by an astronomical camera and is unrelated. Fact-checks addressing colour myths have further explained that images of intact blue roofs were either misinterpreted or in at least one widely shared instance artificially generated, and that laser interaction with materials is not governed by such simplistic rules. == Investigations and identified causes == Authorities who examined specific incidents have published findings that contradict DEW narratives. A multi-agency investigation into the Maui disaster concluded that downed and later re-energised lines ignited an initial morning fire that re-kindled under extreme winds in the afternoon, with reports detailing the timeline and infrastructure context; summaries by national outlets echoed those conclusions. Investigators of the February 2024 Smokehouse Creek Fire in the Texas Panhandle reported that power lines ignited both the state’s largest wildfire and another major blaze, and the regional utility acknowledged its facilities appeared to have been involved; subsequent media coverage outlined the findings and regulatory follow-up. For the 2018 Camp Fire in Northern California, public reports from Butte County and subsequent proceedings identified PG&E transmission equipment as the source of ignition, with documentation of maintenance issues on the Caribou–Palermo line preceding the event. == Platform and agency responses == As major fires burned in and around Los Angeles in January 2025, officials from city agencies and national partners pursued a coordinated strategy to counter falsehoods by issuing timely updates, flagging fake imagery and directing residents to verified resources. Reporters described how federal emergency managers and local departments used social channels and briefings to rebut specific rumours, including claims about lasers and targeted ignition, and to clarify that early imagery often misleads during fast-moving disasters.

    Read more →
  • Common-mode signal

    Common-mode signal

    In electrical engineering, a common-mode signal is the identical component of voltage present at both input terminals of an electrical device. In telecommunication, the common-mode signal on a transmission line is also known as longitudinal voltage. Common-mode interference (CMI) is a type of common-mode signal. Common-mode interference is interference that appears on both signal leads, or coherent interference that affects two or more elements of a network. In most electrical circuits, desired signals are transferred by a differential voltage between two conductors. If the voltages on these conductors are U1 and U2, the common-mode signal is the average of the voltages: U cm = U 1 + U 2 2 {\displaystyle U_{\text{cm}}={\frac {U_{1}+U_{2}}{2}}} When referenced to the local common or ground, a common-mode signal appears on both lines of a two-wire cable, in phase and with equal amplitudes. Technically, a common-mode voltage is one-half the vector sum of the voltages from each conductor of a balanced circuit to local ground or common. Such signals can arise from one or more of the following sources: Radiated signals coupled equally to both lines, An offset from signal common created in the driver circuit, or A ground differential between the transmitting and receiving locations. Noise induced into a cable, or transmitted from a cable, usually occurs in the common mode, as the same signal tends to be picked up by both conductors in a two-wire cable. Likewise, RF noise transmitted from a cable tends to emanate from both conductors. Elimination of common-mode signals on cables entering or leaving electronic equipment is important to ensure electromagnetic compatibility. Unless the intention is to transmit or receive radio signals, an electronic designer generally designs electronic circuits to minimise or eliminate common-mode effects. == Methods of eliminating common-mode signals == Differential amplifiers or receivers that respond only to voltage differences, e.g. those between the wires that constitute a pair. This method is particularly suited for instrumentation where signals are transmitted through DC bias. For sensors with very high output impedance that require very high common-mode rejection ratio, a differential amplifier is combined with input buffers to form an instrumentation amplifier. An inductor where a pair of signaling wires follow the same path through the inductor, e.g. in a bifilar winding configuration such as used in Ethernet magnetics. Useful for AC and DC signals, but will filter only higher frequency common-mode signals. A transformer, which is useful for AC signals only, and will filter any form of common-mode noise, but may be used in combination with a bifilar wound coil to eliminate capacitive coupling of higher frequency common-mode signals across the transformer. Used in twisted pair Ethernet. Common-mode filtering may also be used to prevent egress of noise for electromagnetic compatibility purposes: High frequency common-mode signals (e.g., RF noise from a computing circuit) may be blocked using a ferrite bead clamped to the outside of a cable. These are often observable on laptop computer power supplies near the jack socket, and good quality mouse or printer USB cables and HDMI cables. Switch mode power supplies include common and differential mode filtering inductors to block the switching signal noise returning into mains wiring. Common-mode rejection ratio is a measure of how well a circuit eliminates common-mode interference.

    Read more →
  • Polynomial texture mapping

    Polynomial texture mapping

    Polynomial texture mapping (PTM), also known as Reflectance Transformation Imaging (RTI), is a technique of imaging and interactively displaying objects under varying lighting conditions to reveal surface phenomena. The data acquisition method is single camera multi light (SCML). == Origins == The method was originally developed by Tom Malzbender of HP Labs in order to generate enhanced 3D computer graphics and it has since been adopted for cultural heritage applications. == Methodology == A series of images is captured in a darkened environment with the camera in a fixed position and the object lit from different angles (Single Camera Multi Light). Interactive software processes and combines the set of images to enable the user inspecting the object to control a virtual light source. The virtual light source may be manipulated to simulate light from different angles and of different intensity or wavelengths to illuminate the surface of artefacts and reveal details. Open-source tools for processing the captured images and publishing the resulting relightable images on the web are freely available. == Applications == Polynomial texture mapping may be used for detailed recording and documentation, 3D modeling, edge detection, and to aid the study of inscriptions, rock art and other artefacts. It has been applied to hundreds of the Vindolanda tablets by the Centre for the Study of Ancient Documents at the University of Oxford in conjunction with the British Museum. It has also been deployed, by Ben Altshuler of the Institute for Digital Archaeology, to scan the Philae obelisk at Kingston Lacy and the Parian Chronicle at the Ashmolean Museum; in both cases scans revealed significant, previously illegible text. Method was also used for identifying microscopic worked antler from Star Carr and recording ancient rock art in Armenia. A 'dome' supporting twenty-four lights has been used to image paintings in the National Gallery and produce polynomial texture maps, providing information on condition phenomena for conservation purposes. Studies of the technique at the National Gallery and Tate concluded that it is an effective tool for documenting changes in the condition of paintings, more easily repeatable than raking light photography, and therefore could be used to assess paintings during structural treatment and before and after loan. Twelve dome-based systems built by the University of Southampton have been used to capture thousands of cuneiform tablets at various museums. The technique is now also finding uses in the field of forensic science, for example in imaging footprints, tyre marks, and indented writing.

    Read more →
  • Digital cinematography

    Digital cinematography

    Digital cinematography is the process of capturing (recording) a motion picture using digital image sensors rather than through film stock. As digital technology has improved in recent years, this practice has become dominant. Since the 2000s, most movies across the world have been captured as well as distributed digitally. Many vendors have brought products to market, including traditional film camera vendors like Arri and Panavision, as well as new vendors like Red, Blackmagic, Silicon Imaging, Vision Research and companies which have traditionally focused on consumer and broadcast video equipment, like Sony, GoPro, and Panasonic. As of 2023, professional 4K digital cameras were approximately equal to 35mm film in their resolution and dynamic range capacity. Some filmmakers still prefer to use film picture formats to achieve the desired results. == History == The basis for digital cameras are metal–oxide–semiconductor (MOS) image sensors. The first practical semiconductor image sensor was the charge-coupled device (CCD), based on MOS capacitor technology. Following the commercialization of CCD sensors during the late 1970s to early 1980s, the entertainment industry slowly began transitioning to digital imaging and digital video over the next two decades. The CCD was followed by the CMOS active-pixel sensor (CMOS sensor), developed in the 1990s. Beginning in the late 1980s, Sony began marketing the concept of "electronic cinematography," utilizing its analog Sony HDVS professional video cameras. The effort met with very little success. However, this led to one of the earliest high definition video shot feature movies, Julia and Julia (1987). Rainbow (1996) was the world's first film to utilize extensive digital post production techniques. Shot entirely with Sony's first Solid State Electronic Cinematography cameras and featuring over 35 minutes of digital image processing and visual effects, all post production, sound effects, editing and scoring were completed digitally. The Digital High Definition image was transferred to a 35mm negative via an electron beam recorder for theatrical release. The first digitally videoed and post produced feature was Windhorse, shot in Tibet and Nepal in 1996 on the Sony DVW-700WS Digital Betacam and the prosumer Sony DCR-VX1000. The offline editing (Avid) and the online post and color work (Roland House / da Vinci) were also all digital. The film, transferred to 35mm negative for theatrical release, won Best U.S. Feature at the Santa Barbara Film Festival in 1998. In 1997, with the introduction of HDCAM recorders and 1920 × 1080 pixel digital professional video cameras based on CCD technology, the idea, now re-branded as "digital cinematography," began to gain traction in the market. Shot and released in 1998, The Last Broadcast is believed by some to be the first feature-length video shot and edited entirely on consumer-level digital equipment. In May 1999, George Lucas challenged the supremacy of the movie-making medium of film for the first time by including footage filmed with high-definition digital cameras in Star Wars: Episode I – The Phantom Menace. The digital footage blended seamlessly with the footage shot on film and he announced later that year he would film its sequels entirely on hi-def digital video. Also in 1999, digital projectors were installed in four theaters for the showing of The Phantom Menace. In May 2000, Vidocq, which was directed by Pitof, began principal photography shot entirely using a Sony HDW-F900 camera, with the video being released in September the next year. According to the Guinness World Records, Vidocq is the first full length feature filmed in digital high resolution. In June 2000, Star Wars: Episode II – Attack of the Clones began principal photography shot entirely using a Sony HDW-F900 camera as Lucas had previously stated. The film was released in May 2002. In May 2001 Once Upon a Time in Mexico was also shot in 24 frame-per-second high-definition digital video, partially developed by George Lucas using a Sony HDW-F900 camera, following Robert Rodriguez's introduction to the camera at Lucas' Skywalker Ranch facility whilst editing the sound for Spy Kids. A lesser-known movie, Russian Ark (2002), was also shot with the same camera and was the first tapeless digital movie, recorded on HDD instead of tape. In 2009, Slumdog Millionaire became the first movie shot mainly in digital to be awarded the Academy Award for Best Cinematography. The highest-grossing movie in the history of cinema, Avatar (2009), not only was shot on digital cameras as well, but also made the main revenues at the box office no longer by film, but digital projection. Major movies shot on digital video overtook those shot on film in 2013. Since 2016 over 90% of major films were shot on digital video. As of 2017, 92% of films are shot on digital. Only 24 major films released in 2018 were shot on 35mm. Since the 2000s, most movies across the world have been captured as well as distributed digitally. Today, cameras from companies like Sony, Panasonic, JVC and Canon offer a variety of choices for shooting high-definition video. At the high-end of the market, there has been an emergence of cameras aimed specifically at the digital cinema market. These cameras from Sony, Vision Research, Arri, Blackmagic Design, Panavision, Grass Valley and Red offer resolution and dynamic range that exceeds that of traditional video cameras, which are designed for the limited needs of broadcast television. == Technology == Digital cinematography captures motion pictures digitally in a process analogous to digital photography. While there is a clear technical distinction that separates the images captured in digital cinematography from video, the term "digital cinematography" is usually applied only in cases where digital acquisition is substituted for film acquisition, such as when shooting a feature film. The term is seldom applied when digital acquisition is substituted for video acquisition, as with live broadcast television programs. === Recording === ==== Cameras ==== Professional cameras include the Sony CineAlta (F) Series, Blackmagic Cinema Camera, Red One, Arri D-20, D-21 and Alexa, Panavision Genesis, Silicon Imaging SI-2K, Thomson Viper, Vision Research Phantom, IMAX 3D camera based on two Vision Research Phantom cores, Weisscam HS-1 and HS-2, GS Vitec noX, and the Fusion Camera System. Independent micro-budget filmmakers have also pressed low-cost consumer and prosumer cameras into service for digital filmmaking. Flagship smartphones like the Apple iPhone have been used to shoot movies like Unsane (shot on the iPhone 7 Plus) and Tangerine (shot on three iPhone 5S phones) and in January 2018, Unsane's director and Oscar winner Steven Soderbergh expressed an interest in filming other productions solely with iPhones going forward. ==== Sensors ==== Digital cinematography cameras capture digital images using image sensors, either charge-coupled device (CCD) sensors or CMOS active-pixel sensors, usually in one of two arrangements. Single chip cameras designed specifically for the digital cinematography market often use a single sensor (much like digital photo cameras), with dimensions similar in size to a 16 or 35 mm film frame or even (as with the Vision 65) a 65 mm film frame. An image can be projected onto a single large sensor exactly the same way it can be projected onto a film frame, so cameras with this design can be made with PL, PV and similar mounts, in order to use the wide range of existing high-end cinematography lenses available. Their large sensors also let these cameras achieve the same shallow depth of field as 35 or 65 mm motion picture film cameras, which many cinematographers consider an essential visual tool. Codecs Professional raw video recording codecs include Blackmagic Raw, Red Raw, Arri Raw and Canon Raw. ==== Video formats ==== Unlike other video formats, which are specified in terms of vertical resolution (for example, 1080p, which is 1920×1080 pixels), digital cinema formats are usually specified in terms of horizontal resolution. As a shorthand, these resolutions are often given in "nK" notation, where n is the multiplier of 1024 such that the horizontal resolution of a corresponding full-aperture, digitized film frame is exactly 1024 n {\displaystyle 1024n} pixels. Here the "K" has a customary meaning corresponding to the binary prefix "kibi" (ki). For instance, a 2K image is 2048 pixels wide, and a 4K image is 4096 pixels wide. Vertical resolutions vary with aspect ratios though; so a 2K image with an HDTV (16:9) aspect ratio is 2048×1152 pixels, while a 2K image with a SDTV or Academy ratio (4:3) is 2048×1536 pixels, and one with a Panavision ratio (2.39:1) would be 2048×856 pixels, and so on. Due to the "nK" notation not corresponding to specific horizontal resolutions per format a 2K image lacking, for example, the typical 35mm film soundtrack space, is only 182

    Read more →
  • Affordable affluence

    Affordable affluence

    Affordable affluence refers to a cultural phenomenon where consumers use accessible luxury goods and lifestyles to project status and align themselves with a higher social class, without requiring substantial wealth. This concept is embodied by brands such as Aritzia and Erewhon, which position themselves as offering high-end, trendy, or health-conscious products that are relatively accessible to the average consumer. A related concept is quiet luxury, where the ultra-wealthy signal wealth through subtle means. Quiet luxury emphasizes the widening gap between the ultra-wealthy and the general public, whereas accessible affluence provides a way for the general public to indulge in the lifestyle of the ultra-wealthy. == Origin of the term == An early use of the phrase in this context in a 2023 article in The Cut called "Meet the People Working 3 Jobs to Afford Erewhon." One of the interviewees used Erewhon as an archetype of affordable affluence. It was described as “a way for regular people to position themselves adjacent to the upper class.” == Background and description == The phenomenon arises due to an individual's desire to showcase status. For years, companies have strategized how to target the average consumers by providing a product that signals an elevated social status. For instance, Aritzia partnered with celebrities and micro-influencers to make it an aspirational brand at an affordable cost. Erewhon similarly has allowed middle class consumers to subtly signal a higher degree of perceived wealth by purchasing higher priced, but still attainable items. It has allowed middle-class individuals to feel as though they are part of an exclusive culture. This phenomenon has been seen particularly with Gen Z and Millennials in the setting of financial hardships in the 2020s. Affordable affluence is an example of the lipstick effect. Because traditional status symbols such as expensive cars became relatively more unattainable, posting clips on social media that showcase affordable affluence become an alternative status symbol. Particularly with food, the perception has evolved from a necessity to a luxury. A McKinsey & Company report demonstrated that these generations place a higher importance on groceries than restaurants, travel, and beauty/fashion.

    Read more →
  • History of RISC OS

    History of RISC OS

    RISC OS, the computer operating system developed by Acorn Computers for their ARM-based Acorn Archimedes range, was originally released in 1987 as Arthur 0.20, and soon followed by Arthur 0.30, and Arthur 1.20. The next version, Arthur 2, became RISC OS 2 and was completed in September 1988 and made available in April 1989. RISC OS 3 was released with the very earliest version of the A5000 in 1991 and contained a series of new features. By 1996 RISC OS had been shipped on over 500,000 systems. RISC OS 4 was released by RISCOS Ltd (ROL) in July 1999, based on the continued development of OS 3.8. ROL had in March 1999 licensed the rights to RISC OS from Element 14 (the renamed Acorn) and eventually from the new owner, Pace Micro Technology. According to the company, over 6,400 copies of OS 4.02 on ROM were sold up until production was ceased in mid-2005. RISC OS Select was launched in May 2001 by ROL. This is a subscription scheme allowing users access to the latest OS updates. These upgrades are released as soft-loadable ROM images, separate to the ROM where the boot OS is stored, and are loaded at boot time. Select 1 was shipped in May 2002, with Select 2 following in November 2002 and the final release of Select 3 in June 2004. ROL released the ROM based OS 4.39 the same month, dubbed RISC OS Adjust as a play on the RISC OS GUI convention of calling the three mouse buttons 'Select', 'Menu' and 'Adjust'. ROL sold its 500th Adjust ROM in early 2006. RISC OS 5 was released in October 2002 on Castle Technology's Acorn clone Iyonix PC. OS 5 is a separate evolution based upon the NCOS work done by Pace for set-top boxes. In October 2006, Castle announced a source sharing license plan for elements of OS 5. This Shared Source Initiative (SSI) is managed by RISC OS Open Ltd (ROOL). RISC OS 5 has since been released under a fully free and open source Apache 2.0 license, while the older no longer maintained RISC OS 6 has not. RISC OS Six was also announced in October 2006 by ROL. This is the next generation of their stream of the operating system. The first product to be launched under the name was the continuation of the Select scheme, Select 4. A beta-version of OS 6, Preview 1 (Select 4i1), was available in 2007 as a free download to all subscribers to the Select scheme, while in April 2009 the final release of Select 5 was shipped. The latest release of RISC OS from ROL is Select 6i1, shipped in December 2009. == Arthur == The OS was designed in the United Kingdom by Acorn for the 32-bit ARM based Acorn Archimedes, and released in its first version in 1987, as the Arthur operating system. The first public release of the OS was Arthur 1.20 in June 1987. It was bundled with a desktop graphical user interface (GUI), which mostly comprises assembly language software modules, and the Desktop module itself being written in BBC BASIC. It features a colour-scheme typically described as "technicolor". The graphical desktop runs on top of a command-line driven operating system which owes much to Acorn's earlier MOS operating system for its BBC Micro range of 8-bit microcomputers. Arthur, as originally conceived, was intended to deliver similar functionality to the operating system for the BBC Master series of computers, MOS, as a reaction to the fact that a more advanced operating system research project (ARX) would not be ready in time for the Archimedes. The Arthur project team, led by Paul Fellows, was given just five months to develop it entirely from the ground up—with the directive "just make it like the BBC micro". It was intended as a stop-gap until the operating system which Acorn had under development (ARX) could be completed. However, the latter was delayed time and again, and was eventually dropped when it became apparent that the Arthur development could be extended to have a window manager and full desktop environment. Also, it was small enough to run on the first 512K machines with only a floppy disc, whereas ARX required 4 megabytes and a hard drive. The OS development was carried out using a prototype ARM-based system connected to a BBC computer, before moving onto the prototype Acorn Archimedes the A500. Arthur was not a multitasking operating system, but offered support for adding application-level cooperative multitasking. No other version of the operating system was released externally, but internally the development of the desktop and window management continued, with the addition of a cooperative multitasking system, implemented by Neil Raine, which used the memory management hardware to swap-out one task, and bring in another between call-and-return from the Wimp_Poll call that applications were obliged to make to get messages under the desktop. Reminiscent of a similar technique employed by MultiFinder on the Apple Macintosh, this transformed a single-application-at-a-time system into one that could operate a full multi-tasking desktop. This transformation took place at version 1.6 though it was not made public until released, with the name change from Arthur to RISC OS, as version 2.0. Most software made for Arthur 1.2 can be run under RISC OS 2 and later because, underneath the desktop, the original Arthur OS core, API interfaces and modular structures remain as the heart of all versions. (A few titles will not work, however, because they used undocumented features, side effects or in a few cases APIs that became deprecated). In 2011, Business Insider listed Arthur as one of ten "operating systems that time forgot". == RISC OS 2 == RISC OS was a rapid development of Arthur 1.2 after the failure of the ARX project. Given growing dissatisfaction with various bugs and limitations with Arthur, testing of what was then known as Arthur 2 was apparently ongoing during 1988 with selected software houses. At this stage, Computer Concepts, who had been prolific developers for the BBC Micro and who had begun software development for the Archimedes, had already initiated a rival operating system project, Impulse, to support their own applications (including the desktop publishing application that would eventually become Impression), stating that Arthur did not meet the "hundreds of requirements" involved including "true multi-tasking". Such an operating system was to be offered free of charge with the planned application packages, but with the release of RISC OS and Computer Concepts acknowledging that RISC OS "overcomes the old problems with Arthur", the applications were to be able to run under either RISC OS or Impulse. Impression was eventually released as a RISC OS application. Ultimately, Arthur 2 was renamed to RISC OS, and was first sold as RISC OS 2.00 in April 1989. The operating system implements co-operative multitasking with some limitations but is not multi-threaded. It uses the ADFS file system for both floppy and hard disc access. It ran from a 512 KB set of ROMs. The WIMP interface offers all the standard features and fixes many of the bugs that had hindered Arthur. It lacks virtual memory and extensive memory protection (applications are protected from each other, but many functions have to be implemented as 'modules' which have full access to the memory). At the time of release, the main advantage of the OS was its ROM; it booted very quickly and while it was easy to crash, it was impossible to permanently break the OS from software. Its high performance was due to much of the system being written in ARM assembly language. The OS was designed with users in mind, rather than OS designers. It is organised as a relatively small kernel which defines a standard software interface to which extension modules are required to conform. Much of the system's functionality is implemented in modules coded in the ROM, though these can be supplanted by more evolved versions loaded into RAM. Among the kernel facilities are a general mechanism, named the callback handler, which allows a supervisor module to perform process multiplexing. This facility is used by a module forming part of the standard editor program to provide a terminal emulator window for console applications. The same approach made it possible for advanced users to implement modules giving RISC OS the ability to do pre-emptive multitasking. A slightly updated version, RISC OS 2.01, was released later to support the ARM3 processor, larger memory capacities, and the VGA and SVGA modes provided by the Acorn Archimedes 540 and Acorn R225/R260. == RISC OS 3 == RISC OS 3 introduced a number of new features, including multitasking Filer operations, applications and fonts in ROM, no limit on number of open windows, ability to move windows off screen, safe shutdown, the Pinboard, grouping of icon bar icons, up to 128 tasks, native ability to read MS-DOS format discs and use named hard discs. Improved configuration was also included, by way of multiple windows to change the settings. RISC OS 3.00 was released with the very earliest version of the A5000 in 1991; it is almo

    Read more →
  • Tiki Wiki CMS Groupware

    Tiki Wiki CMS Groupware

    Tiki Wiki CMS Groupware or simply Tiki, originally known as TikiWiki, is a free and open source Wiki-based content management system and online office suite written primarily in PHP and distributed under the GNU Lesser General Public License (LGPL-2.1-only) license. In addition to enabling websites and portals on the internet and on intranets and extranets, Tiki contains a number of collaboration features allowing it to operate as a Geospatial Content Management System (GeoCMS) and Groupware web application. Tiki includes all the basic features common to most CMSs such as the ability to register and maintain individual user accounts within a flexible and rich permission / privilege system, create and manage menus, RSS-feeds, customize page layout, perform logging, and administer the system. All administration tasks are accomplished through a browser-based user interface. Tiki features an all-in-one design, as opposed to a core+extensions model followed by other CMSs. This allows for future-proof upgrades (since all features are released together), but has the drawback of an extremely large codebase (more than 1,000,000 lines). Tiki can run on any computing platform that supports both a web server capable of running PHP 5 (including Apache HTTP Server, IIS, Lighttpd, Hiawatha, Cherokee, and nginx) and a MySQL/MariaDB database to store content and settings. == Major components == Tiki has four major categories of components: content creation and management tools, content organization tools and navigation aids, communication tools, and configuration and administration tools. These components enable administrators and users to create and manage content, as well as letting them communicate to others and configure sites. In addition, Tiki allows each user to choose from various visual themes. These themes are implemented using CSS and the open source Smarty template engine. Additional themes can be created by a Tiki administrator for branding or customization as well. == Internationalization == Tiki is an international project, supporting many languages. The default interface language in Tiki is English, but any language that can be encoded and displayed using the UTF-8 encoding can be supported. Translated strings can be included via an external language file, or by translating interface strings directly, through the database. As of 29 September 2005, Tiki had been fully translated into eight languages and reportedly 90% or more translated into another five languages, as well as partial translations for nine additional languages. Tiki also supports interactive translation of actual wiki pages and was the initial wiki engine used in the Cross Lingual Wiki Engine Project. This allows Tiki-based web sites to have translated content — not just the user interface. == Implementation == Tiki is developed primarily in PHP with some JavaScript code. It uses MySQL/MariaDB as a database. It will run on any server that provides PHP 5, including Apache and Microsoft's IIS. Tiki components make extensive use of other open source projects, including Zend Framework, Smarty, jQuery, HTML Purifier, FCKeditor, Raphaël, phpCAS, and Morcego. When used with Mapserver Tiki can become a Geospatial Content Management System. == Project team == Tiki is under active development by a large international community of over 300 developers and translators, and is one of the largest open-source teams in the world. Project members have donated the resources and bandwidth required to host the tiki.org website and various subdomains. The project members refer to this dependence on their own product as "eating their own dogfood", which they have been doing since the early days of the project. Tiki community members also participate in various related events such as WikiSym and the Libre Software Meeting. == History == Tiki has been hosted on SourceForge.net since its initial release (Release 0.9, named Spica) in October 2002. It was primarily the development of Luis Argerich (Buenos Aires, Argentina), Eduardo Polidor (São Paulo, Brazil), and Garland Foster (Green Bay, WI, United States). In July 2003, Tiki was named the SourceForge.net July 2003 Project of the Month. In late 2003, a fork of Tiki was used to create Bitweaver. In 2006, Tiki was named to CMS Report's Top 30 Web Applications. In 2008, Tiki was named to EContent magazine's Top 100 In 2009, Tiki adopted a six-month release cycle and announced the selection of a Long Term Support (LTS) version and the Tiki Software Community Association was formed as the legal steward for Tiki. The Tiki Software Association is a not-for-profit entity established in Canada. Previously, the entire project was run entirely by volunteers. In 2010, Tiki received Best of Open Source Software Applications Award (BOSSIE) from InfoWorld, in the Applications category. In 2011, Tiki was named to CMS Report's Top 30 Web Applications. In 2012, Tiki was named "Best Web Tool" by WebHostingSearch.com, and "People's Choice: Best Free CMS" by CMS Critic. In 2016, Tiki was named as one of the "10 Best Open Source Collaboration Software Tools" by Small Business Computing. == Name == The name TikiWiki is written in CamelCase, a common Wiki syntax indicating a hyperlink within the Wiki. It is most likely a compound word combining two Polynesian terms, Tiki and Wiki, to create a self-rhyming name similar to wikiwiki, a common variant of wiki. A backronym has also been formed for Tiki: Tightly Integrated Knowledge Infrastructure. == Release Information and History == In general, the Tiki Software Community Association releases a new major version of Tiki Wiki every 8 months where prior, non-LTS, major versions are supported until the first minor version release of the next major version (i.e., 16.0 ⇒ 17.1). Starting with version 12.x, Tiki Wiki LTS is supported for 5 years where it enters a security/maintenance release cycle upon the release of the next LTS version. Tiki Wiki's release history is outlined below.

    Read more →
  • History of operating systems

    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

    Read more →
  • Digital signal

    Digital signal

    A digital signal is a signal that represents data as a sequence of discrete values; at any given time it can only take on, at most, one of a finite number of values. This contrasts with an analog signal, which represents continuous values; at any given time it represents a real number within an infinite set of values. Simple digital signals represent information in discrete bands of levels. All levels within a band of values represent the same information state. In most digital circuits, the signal can have two possible valid values; this is called a binary signal or logic signal. They are represented by two voltage bands: one near a reference value (typically termed as ground or zero volts), and the other a value near the supply voltage. These correspond to the two values zero and one (or false and true) of the Boolean domain, so at any given time a binary signal represents one binary digit (bit). Because of this discretization, relatively small changes to the signal levels do not leave the discrete envelope, and as a result are ignored by signal state sensing circuitry. As a result, digital signals have noise immunity; electronic noise, provided it is not too great, will not affect digital circuits, whereas noise always degrades the operation of analog signals to some degree. Digital signals having more than two states are occasionally used; circuitry using such signals is called multivalued logic. For example, signals that can assume three possible states are called three-valued logic. In a digital signal, the physical quantity representing the information may be a variable electric current or voltage, the intensity, phase or polarization of an optical or other electromagnetic field, acoustic pressure, the magnetization of a magnetic storage media, etcetera. Digital signals are used in all digital electronics, notably computing equipment and data transmission. == Definitions == The term digital signal has related definitions in different contexts. === In digital electronics === In digital electronics, a digital signal is a pulse amplitude modulated signal, i.e., a sequence of fixed-width electrical pulses or light pulses, each occupying one of a discrete number of levels of amplitude. A special case is a logic signal or a binary signal, which varies between a low and a high signal level. The pulse trains in digital circuits are typically generated by metal–oxide–semiconductor field-effect transistor (MOSFET) devices, due to their rapid on–off electronic switching speed and large-scale integration (LSI) capability. In contrast, bipolar junction transistors more slowly generate signals resembling sine waves. === In signal processing === In digital signal processing, a digital signal is a representation of a physical signal that is sampled and quantized. A digital signal is an abstraction that is discrete in time and amplitude. The signal's value only exists at regular time intervals, since only the values of the corresponding physical signal at those sampled moments are significant for further digital processing. The digital signal is a sequence of codes drawn from a finite set of values. The digital signal may be stored, processed or transmitted physically as a pulse-code modulation (PCM) signal. === In communications === In digital communications, a digital signal is a continuous-time physical signal, alternating between a discrete number of waveforms, representing a bitstream. The shape of the waveform depends on the transmission scheme, which may be either a line coding scheme allowing baseband transmission; or a digital modulation scheme, allowing passband transmission over long wires or over a limited radio frequency band. Such a carrier-modulated sine wave is considered a digital signal in literature on digital communications and data transmission, but considered as a bit stream converted to an analog signal in specific cases where the signal will be carried over a system meant for analog communication, such as an analog telephone line. In communications, sources of interference are usually present, and noise is frequently a significant problem. The effects of interference are typically minimized by filtering off interfering signals as much as possible and by using data redundancy. The main advantages of digital signals for communications are often considered to be noise immunity, and the ability, in many cases such as with audio and video data, to use data compression to greatly decrease the bandwidth that is required on the communication media. == Logic voltage levels == A waveform that switches representing the two states of a Boolean value (0 and 1, or low and high, or false and true) is referred to as a digital signal or logic signal or binary signal when it is interpreted in terms of only two possible digits. The two states are usually represented by some measurement of an electrical property: Voltage is the most common, but current is used in some logic families. Two ranges of voltages are typically defined for each logic family, which are frequently not directly adjacent. The signal is low when in the low range and high when in the high range, and in between the two ranges the behavior can vary between different types of gates. The clock signal is a special digital signal that is used to synchronize many digital circuits. The image shown can be considered the waveform of a clock signal. Logic changes are triggered either by the rising edge or the falling edge. The rising edge is the transition from a low voltage (level 1 in the diagram) to a high voltage (level 2). The falling edge is the transition from a high voltage to a low one. Although in a highly simplified and idealized model of a digital circuit, we may wish for these transitions to occur instantaneously, no real-world circuit is purely resistive, and therefore no circuit can instantly change voltage levels. This means that during a short, finite transition time, the output may not properly reflect the input, and will not correspond to either a logically high or low voltage. == Modulation == To create a digital signal, a signal must be modulated with a control signal to produce it. The simplest modulation, a type of unipolar encoding, is simply to switch on and off a DC signal so that high voltages represent a '1' and low voltages are '0'. In digital radio schemes, one or more carrier waves are amplitude, frequency or phase modulated by the control signal to produce a digital signal suitable for transmission. Asymmetric Digital Subscriber Line (ADSL) over telephone wires, does not primarily use binary logic; the digital signals for individual carriers are modulated with different-valued logics, depending on the Shannon capacity of the individual channel. == Clocking == Digital signals may be sampled by a clock signal at regular intervals by passing the signal through a flip-flop. When this is done, the input is measured at the clock edge and the signal from that time. The signal is then held steady until the next clock. This process is the basis of synchronous logic. Asynchronous logic also exists, which uses no single clock, and generally operates more quickly, and may use less power, but is significantly harder to design.

    Read more →