Colors! is a series of digital painting applications for handheld game consoles and mobile devices. Originally created as a homebrew application for Nintendo DS (as Colors!), which was since legitimately distributed on PlayStation Vita, iOS, and Android, the project eventually evolved into an officially licensed application for Nintendo 3DS (as Colors! 3D) and Nintendo Switch (as Colors Live). == History == === Colors! === Colors! was originally released in June 2007 as a simple homebrew painting application for the Nintendo DS. It was developed by Jens Andersson, a programmer and designer on sabbatical from the games industry who wanted to experiment with the potential of the new handheld platform. Shortly after, Rafał Piasek created an online gallery where users could upload paintings made with the program. Colors! quickly became one of the best-known homebrew applications on the Nintendo DS, and in September 2008, it was also released for the iPhone and iPod Touch. As of August 2010, it had been downloaded almost half a million times. It was voted the most popular homebrew application on the Nintendo DS by readers of the R4 for DS blog. Development of Colors! DS homebrew officially ended in December 2010 although the official gallery still accepted submissions from DS users until 2020 when Colors! Gallery was discontinued. === Colors! 3D === Colors! 3D is a successor to the application Colors! for the Nintendo 3DS. It was released as an officially licensed application for the Nintendo eShop in North America on April 5, 2012, and in the PAL region on April 19, 2012. It was later released in Japan on August 21, 2013, published by Arc System Works. Colors! 3D allows users to draw on five layers, each on their own stereoscopic 3D plane. Drawing is done on the bottom screen, while the top screen displays the painting in 3D. While drawing, players can use the various controls on the Nintendo 3DS to change layers, zoom and pan, and alter the pressure of their brush. Pressing the L button allows users to access a menu to change brush type, size, and opacity, modify the layers, use the camera to provide references, and more. When the user finishes their painting, they can export it to the SD card for viewing in the Nintendo 3DS Camera application. Users can also upload their finished creations to an online gallery, viewed on the 3DS or the official website. Gallery features include hashtags and the ability to follow artists and post comments. Each painting also features a replay feature that allows viewers to see how it was drawn. The application also features local multiplayer, allowing several people to work cooperatively on a painting. In April 2024, the developers of Colors! 3D collaborated with the Pretendo Network project to officially add support for the application, meaning Colors! 3D will continue to operate as normal when using Pretendo Network. ==== Reception ==== IGN gave the application a score of 9.0 and an Editor's Choice award, praising its simple interface and tutorials. Destructoid gave the app a 9.0, calling it "a simple and incredibly fun tool with an amazing community of artists proudly displaying their beautiful and funny 3D images." Nintendo Life gave the app a 9/10, stating, "Though lacking in any structured play, Colors! 3D’s robust free drawing system and unique ability to let anyone create their own three-dimensional artwork more than make up for this." === Colors Live === A Nintendo Switch successor called Colors Live (stylised as Colors L!ve) was released in 2020 after being funded via a Kickstarter campaign. This expanded upon the features of previous installments by adding new brushes, increasing the maximum number of layers to ten, and introducing blend modes. A new game mode called Colors Quest was also included. A pressure-sensitive pen called the Colors SonarPen was developed in collaboration with GreenBulb to facilitate drawing on the Nintendo Switch, and comes pre-bundled with physical copies of the game. ==== Colors Quest ==== This new mode acts as a story-driven adventure wherein players are given a daily drawing challenge with a specific theme and certain stipulations that must be fulfilled. Once the drawing is complete, players must anonymously score other players' submissions, these scores are then aggregated to produce a personal ranking that measures the improvement in the player's art skills over time.
IRows
iRows was a web-based spreadsheet in beta with a GUI similar to the traditional desktop-based spreadsheet applications, such as Microsoft Excel and OpenOffice.org. It was shut down on December 31, 2006, after it was announced that its two founders had been hired by Google. iRows used Ajax and XML. It was described as an example of a Web 2.0 system. iRows supported conventional spreadsheet features functions, value formatting and charts and added web oriented spreadsheet capabilities like collaboration (multiple people using a shared spreadsheet, sending a spreadsheet as a link instead of an attachment and ability to publish spreadsheets on other web pages (e.g. blogs).
Anaconda (Python distribution)
Anaconda is an open source data science and artificial intelligence distribution platform for the Python programming language. Developed by Anaconda, Inc., an American company founded in 2012, the platform is used to develop and manage data science and AI projects. In 2024, Anaconda Inc. has about 300 employees and 45 million users. == History == Co-founded in Austin, Texas in 2012 as Continuum Analytics by Peter Wang and Travis Oliphant, Anaconda Inc. operates from the United States and Europe. Anaconda Inc. developed Conda, a cross-platform, language-agnostic binary package manager. It also launched PyData community workshops and the Jupyter Cloud Notebook service (Wakari.io). In 2013, it received funding from DARPA. In 2015, the company had two million users including 200 of the Fortune 500 companies and raised $24 million in a Series A funding round led by General Catalyst and BuildGroup. Anaconda secured an additional $30 million in funding in 2021. Continuum Analytics rebranded as Anaconda in 2017. That year, it announced the release of Anaconda Enterprise 5, an integration with Microsoft Azure, and had over 13 million users by year's end. In 2022, it released Anaconda Business; new integrations with Snowflake and others; and the open-source PyScript. It also acquired PythonAnywhere, while Anaconda's user base exceeded 30 million in 2022. In 2023, Anaconda released Python in Excel, a new integration with Microsoft Excel, and launched PyScript.com. The company made a series of investments in AI during 2024. That February, Anaconda partnered with IBM to import its repository of Python packages into Watsonx, IBM's generative AI platform. The same year, Anaconda joined IBM's AI Alliance and released an integration with Teradata and Lenovo. In 2024, Anaconda's user base reached 45 million users and Barry Libert was named company CEO, after serving on Anaconda's board of directors. He was succeeded as CEO in October 2025 by David DeSanto, who also became a company director. In May 2025, the company introduced the first unified AI platform for Open Source, Anaconda AI Platform, a central control for AI workflows that enables customization in Python-based enterprise AI development. That July, after reaching over $150 million in a Series C funding round, Anaconda was evaluated at about $1.5 billion. == Overview == Anaconda distribution comes with over 300 packages automatically installed, and over 7,500 additional open-source packages can be installed from the Anaconda repository as well as the Conda package and virtual environment manager. It also includes a GUI, Anaconda Navigator, as a graphical alternative to the command-line interface (CLI). Conda was developed to address dependency conflicts native to the pip package manager, which would automatically install any dependent Python packages without checking for conflicts with previously installed packages (until its version 20.3, which later implemented consistent dependency resolution). The Conda package manager's historical differentiation analyzed and resolved these installation conflicts. Anaconda is a distribution of the Python programming language (and previously also R) for scientific computing (data science, machine learning applications, large-scale data processing, predictive analytics, etc.), that aims to simplify package management and deployment. Anaconda distribution includes data-science packages suitable for Windows, Linux, and macOS. Other company products include Anaconda Free, and subscription-based Starter, Business and Enterprise. Anaconda's business tier offers Package Security Manager. Package versions in Anaconda are managed by the package management system Conda, which was spun out as a separate open-source package as useful both independently and for applications other than Python. There is also a small, bootstrap version of Anaconda called Miniconda, which includes only Conda, Python, the packages they depend on, and a small number of other packages. Open source packages can be individually installed from the Anaconda repository, Anaconda Cloud (anaconda.org), or the user's own private repository or mirror, using the conda install command. Anaconda, Inc. compiles and builds the packages available in the Anaconda repository itself, and provides binaries for Windows 32/64 bit, Linux 64 bit and MacOS 64-bit (Intel, Apple Silicon). Anything available on PyPI may be installed into a Conda environment using pip, and Conda will keep track of what it has installed and what pip has installed. Custom packages can be made using the conda build command, and can be shared with others by uploading them to Anaconda Cloud, PyPI or other repositories. The default installation of Anaconda2 includes Python 2.7 and Anaconda3 includes Python 3.7. However, it is possible to create new environments that include any version of Python packaged with Conda. === Anaconda Navigator === Anaconda Navigator is a desktop graphical user interface (GUI) included in Anaconda distribution that allows users to launch applications and manage Conda packages, environments and channels without using command-line commands. Navigator can search for packages on Anaconda Cloud or in a local Anaconda Repository, install them in an environment, run the packages and update them. It is available for Windows, macOS and Linux. The following applications are available by default in Navigator: JupyterLab Jupyter Notebook QtConsole Spyder Glue Orange RStudio Visual Studio Code === Conda === Conda is an open source, cross-platform, language-agnostic package manager and environment management system that installs, runs, and updates packages and their dependencies. It was created for Python programs, but it can package and distribute software for any language, including multi-language projects. The Conda package and environment manager is included in all versions of Anaconda, Miniconda, and Anaconda Repository. == Anaconda.org == Anaconda Cloud is a package management service by Anaconda where users can find, access, store and share public and private notebooks, environments, and Conda and PyPI packages. Cloud hosts useful Python packages, notebooks and environments for a wide variety of applications. Users do not need to log in or to have a Cloud account, to search for public packages, download and install them. Users can build new Conda packages using Conda-build and then use the Anaconda Client CLI to upload packages to Anaconda.org. Notebooks users can be aided with writing and debugging code with Anaconda's AI Assistant.
Scripped
Scripped was an online screenplay services company offering three services: script writing, script registration, and script coverage. Scripped did not facilitate collaboration among screenwriters. It combined with Zhura in 2010. According to Techcrunch, Scripped had more than 60,000 writers as of March 2010. Scripped was administered by Sunil Rajaraman, Ryan Buckley and Zak Freer. Actor, writer, and director Edward Burns and screenwriter Steven E. de Souza joined Scripped's Board of Advisers in May 2008. In 2008, the company formed a partnership with Write Brothers, makers of Movie Magic Screenwriter software. On March 29, 2010, Scripped announced that it closed $250,000 in private investment and merged with competitor Zhura. Scripped's CEO, Sunil Rajaraman, remains the merged company's Chief Executive Officer. On April 1, 2015, citing a serious technical failure, Scripped shuttered its service. As part of the announcement, it was disclosed that their backup servers had failed as well, losing all of its users' stored scripts. The website URL currently redirects to WriterDuet's website, another online scriptwriting service; Scripped had advertised WriterDuet in Scripped's shutdown open letter. == Features == The Scripped Writer provided a built-in screenplay template which formatted the document to a standard for scripts as recommended by the AMPAS. The screenplay document was composed of seven elements: scene, action, character, dialog, parenthetical, transition and general. Each element had a specific style to which the Scripped Writer conformed as text was entered. Like other client-side screenplay software, Scripped offered Tab-Enter toggling between screenplay elements, making the writing process much faster. Text files could be imported into the Scripped Writer and automatically conformed to the screenplay template. Completed scripts could be exported as PDF files. In May 2011 the administrators of Scripped launched Scripted.com - a sister site focused on freelance writing jobs. Subsequent to the service's launch, the company was renamed to Scripted, Inc.
Morphobank
MorphoBank is a web application for collaborative evolutionary research, specifically phylogenetic systematics or cladistics, on the phenotype. Historically, scientists conducting research on phylogenetic systematics have worked individually or in small groups employing traditional single-user software applications such as MacClade, Mesquite and Nexus Data Editor. As the hypotheses under study have grown more complex, large research teams have assembled to tackle the problem of discovering the Tree of Life for the estimated 4-100 million living species(Wilson 2003, pp. 77–80) and the many thousands more extinct species known from fossils. Because the phenotype is fundamentally visual, and as phenotype-based phylogenetic studies have continued to increase in size, it becomes important that observations be backed up by labeled images. Traditional desktop software applications currently in wide use do not provide robust support for team-based research or for image manipulation and storage. MorphoBank is a particularly important tool for the growing scientific field of phenomics. The development of MorphoBank, which began in 2001, has been funded by the National Science Foundation's Directorates for Geosciences, Biological Sciences and Computer and Information Science and Engineering. The significance of the scientific work on MorphoBank has been featured in the New York Times(here and here), among other publications. == Advantages == Teams of scientists studying phylogenetics to build the Tree of Life assemble large spreadsheets of observations about species (referred to as "matrices"). These teams require simultaneous access by each team member to a single and secure copy of the team's data during a scientific research project. This single copy of the data also changes with great frequency during the data collection phase. Images that can be very helpful for documenting homology statements must be displayed, labeled and shared as homology statements develop. This cannot be accomplished elegantly with a desktop software package alone because in a desktop environment each collaborator is working on his own private copy of project data. Changes made by one participant cannot automatically propagate to others, preventing collaborators from seeing each other's data edits until they are manually (and due to the effort involved, often only periodically) merged into a single "true" dataset. In all but the smallest and most disciplined of teams, file version control and the reconciliation of changes made on multiple copies of the data emerge quickly as significant drags on productivity. MorphoBank is an attempt to address these issues by leveraging the ubiquity of the web and modern web-based application techniques, including Ajax, web service layers, and rich web applications to provide a full-featured, net-accessible collaborative workspace for phylogenetic research. In particular, MorphoBank makes it easy to: Share all kinds of data with geographically separated team members, including taxonomy, character and specimen data, media (including images, video and audio), phylogenetic matrices (including data in the widely used NEXUS and TNT format) and other data such as documents and genetic sequences. Label high-resolution images using a web-based image annotation application. Collaboratively edit project data such as phylogenetic matrices using a built-in web-based matrix editor. The editor allows the linking of labeled images to individual cells of a matrix. Manage access to project data. Access ranges from full-access for team members to anonymous read-only access for potential reviewers. Publish completed project data on the web in support of a published paper with a persistent URL. Search The Encyclopedia of Life for taxon exemplar images. Store high resolution CT data Create ontologies for updating and populating matrix cells. These tasks are difficult or impossible in most existing software applications. == History == In 2001 the National Science Foundation (NSF) sponsored a workshop, at the American Museum of Natural History in New York to develop the outlines of a web-based system for a collaborative, media-rich research tool for morphological phylogenetics. An application prototype presented at the workshop was later refined with feedback from the workshop and became MorphoBank version 1.0. A grant from the US National Oceanic and Atmospheric Administration funded further revisions resulting in version 2.0, released in 2005. Current support from the NSF is funding current feature enhancements to MorphoBank. MorphoBank was hosted by Stony Brook University until late October 2021 and received back up support from the American Museum of Natural History. The current version is 3.0. Rationale for the software was described in the journal Cladistics. MorphoBank has also received support from NESCENT and the San Diego Supercomputer Center. Since 2018, MorphoBank has been supported in part by Phoenix Bioinformatics, a non-profit company founded to sustain databases for the basic sciences. A permanent move of MorphoBank from Stony Brook University to Phoenix Bioinformatics was complete in late October 2021. The San Diego Supercomputer Center has previously provided technical and hosting resources to the MorphoBank project. == Usage == MorphoBank hosts the products of peer-reviewed scientific research on phenotypes. An increasing volume of systematics data is "born digital" and MorphoBank is well suited to handle this type of material. On August 24, 2007, 62 active research projects were hosted by MorphoBank, as well as 6 completed (and published) projects. By 2017 over 2000 scientists and their students were registered content builders (users are not required to register and are even more numerous) and has more than 500 publicly available projects with approximately 80,000 images that are the products of scientific research. Over 1,500 active research projects are hosted by MorphoBank. The software has been used to assemble phylogenetic research on such groups as mammals, from bats to whales, bivalve molluscs, arachnids, fossil plants and living and extinct amniotes. It has also been used more broadly in evolutionary and paleontological research to host curated images associated with published research on lacewing insects geckos, raptor birds, dinosaurs, frogs and nematodes. MorphoBank is increasingly used in conjunction with the Paleobiology Database. Example published projects: Project 1097: Blank CE, 2013 Origin and early evolution of photosynthetic eukaryotes in freshwater environments – reinterpreting proterozoic paleobiology and biogeochemical processes in light of trait evolution Project 2520: Carvalho, T. P., R. E. Reis, and J. P. Friel, 2017 A new species of Hoplomyzon (Siluriformes: Aspredinidae) from Maracaibo Basin, Venezuela: osteological description using high-resolution Project 2651: Baron, M. G., Norman, D. B., Barrett, P. M., 2017 A new hypothesis of dinosaur relationships and early dinosaur evolution MorphoBank has been particularly important to the Assembling the Tree of Life initiative sponsored by the National Science Foundation. MorphoBank is well-suited to such projects because of its tools for merging taxonomic, character and matrix-based data, as well as its collaborative features. Highlights of this research include a collaborative matrix on mammal evolution published in Science that included over 4,000 phenomic characters scored for over 80 species, a matrix on extant baleen whales featuring nearly 600 images, and more.
List of performance analysis tools
This is a list of performance analysis tools for use in software development. == General purpose, language independent == The following tools work based on log files that can be generated from various systems. time (Unix) - can be used to determine the run time of a program, separately counting user time vs. system time, and CPU time vs. clock time. timem (Unix) - can be used to determine the wall-clock time, CPU time, and CPU utilization similar to time (Unix) but supports numerous extensions. Supports reporting peak resident set size, major and minor page faults, priority and voluntary context switches via getrusage. Supports sampling procfs on supporting systems to report metrics such as page-based resident set size, virtual memory size, read-bytes, and write-bytes, etc. Supports collecting hardware counters when built with PAPI support. == Multiple languages == The following tools work for multiple languages or binaries. == C and C++ == Arm MAP, a performance profiler supporting Linux platforms. AppDynamics, an application performance management service for C/C++ applications via SDK. AQtime Pro, a performance profiler and memory allocation debugger that can be integrated into Microsoft Visual Studio, and Embarcadero RAD Studio, or can run as a stand-alone application. IBM Rational Purify was a memory debugger allowing performance analysis. Instruments (bundled with Xcode) is used to profile an executable's memory allocations, time usage, filesystem activity, GPU activity etc. Intel Parallel Studio contains Intel VTune Amplifier, which tunes both serial and parallel programs. It also includes Intel Advisor and Intel Inspector. Intel Advisor optimizes vectorization (use of SIMD instructions) and prototypes threading implementations. Intel Inspector detects and debugs races, deadlocks and memory errors. Parasoft Insure++ provides a graphical tool that displays and animates memory allocations in real time to expose memory blowout, fragmentation, overuse, bottlenecks and leaks. Visual Studio Team System Profiler, commercial profiler by Microsoft. == Java == inspectIT is an open-source application performance management (APM) service for monitoring and analyzing software applications, available under the Apache License, Version 2.0 (ALv2). JConsole is the profiler which comes with the Java Development Kit JProfiler JRockit Mission Control, a profiler with low overhead. Netbeans Profiler, a profiler integrated into the NetBeans IDE (internally uses jvisualvm profiler) Plumbr, Java application performance monitoring with automated root cause detection. Links memory leaks, GC inefficiency, slow database and external web service calls, locked threads, and other performance problems to the line in source code that causes them. OverOps, Continuous reliability for the modern software supply chain, automatically detect and deliver root cause automation for all errors. VisualVM is a visual tool integrating several commandline JDK tools and lightweight profiling capabilities. It is bundled with the Java Development Kit since version 6, update 7. == JavaScript == The Firefox web browser's developer tools contain a Performance tool, which gives insight into JavaScript performance of a website. Microsoft Visual Studio AJAX Profiling Extensions is a free profiling tool for JavaScript by Microsoft Research. == .NET == CLR Profiler is a free memory profiler provided by Microsoft for CLR applications. GlowCode is a performance and memory profiler for .NET applications using C# and other .NET languages. It identifies time-intensive functions and detects memory leaks and errors in native, managed and mixed Windows x64 and x86 applications. Visual Studio == PHP == BlackFire.io Dbg Xdebug is a PHP extension which provides debugging and profiling capabilities.
Round-trip engineering
Round-trip engineering (RTE) in the context of model-driven architecture is a functionality of software development tools that synchronizes two or more related software artifacts, such as, source code, models, configuration files, documentation, etc. between each other. The need for round-trip engineering arises when the same information is present in multiple artifacts and when an inconsistency may arise in case some artifacts are updated. For example, some piece of information was added to/changed in only one artifact (source code) and, as a result, it became missing in/inconsistent with the other artifacts (in models). == Overview == Round-trip engineering is closely related to traditional software engineering disciplines: forward engineering (creating software from specifications), reverse engineering (creating specifications from existing software), and reengineering (understanding existing software and modifying it). Round-trip engineering is often wrongly defined as simply supporting both forward and reverse engineering. In fact, the key characteristic of round-trip engineering that distinguishes it from forward and reverse engineering is the ability to synchronize existing artifacts that evolved concurrently by incrementally updating each artifact to reflect changes made to the other artifacts. Furthermore, forward engineering can be seen as a special instance of RTE in which only the specification is present and reverse engineering can be seen as a special instance of RTE in which only the software is present. Many reengineering activities can also be understood as RTE when the software is updated to reflect changes made to the previously reverse engineered specification. === Types === Various books describe two types of RTE: partial or uni-directional RTE: changes made to a higher level representation of a code and model are reflected in lower level, but not otherwise; the latter might be allowed, but with limitations that may not affect higher-level abstractions full or bi-directional RTE: regardless of changes, both higher and lower-level code and model representations are synchronized if any of them altered === Auto synchronization === Another characteristic of round-trip engineering is automatic update of the artifacts in response to automatically detected inconsistencies. In that sense, it is different from forward- and reverse engineering which can be both manual (traditionally) and automatic (via automatic generation or analysis of the artifacts). The automatic update can be either instantaneous or on-demand. In instantaneous RTE, all related artifacts are immediately updated after each change made to one of them. In on-demand RTE, authors of the artifacts may concurrently update the artifacts (even in a distributed setting) and at some point choose to execute matching to identify inconsistencies and choose to propagate some of them and reconcile potential conflicts. === Iterative approach === Round trip engineering may involve an iterative development process. After you have synchronized your model with revised code, you are still free to choose the best way to work – make further modifications to the code or make changes to your model. You can synchronize in either direction at any time and you can repeat the cycle as many times as necessary. == Software == Many commercial tools and research prototypes support this form of RTE; a 2007 book lists Rational Rose, Together, ESS-Model, BlueJ, and Fujaba among those capable, with Fujaba said to be capable to also identify design patterns. == Limitations == A 2005 book on Visual Studio notes for instance that a common problem in RTE tools is that the model reversed is not the same as the original one, unless the tools are aided by leaving laborious annotations in the source code. The behavioral parts of UML impose even more challenges for RTE. Usually, UML class diagrams are supported to some degree; however, certain UML concepts, such as associations and containment do not have straightforward representations in many programming languages which limits the usability of the created code and accuracy of code analysis/reverse engineering (e.g., containment is hard to recognize in the code). A more tractable form of round-trip engineering is implemented in the context of framework application programming interfaces (APIs), whereby a model describing the usage of a framework API by an application is synchronized with that application's code. In this setting, the API prescribes all correct ways the framework can be used in applications, which allows precise and complete detection of API usages in the code as well as creation of useful code implementing correct API usages. Two prominent RTE implementations in this category are framework-specific modeling languages and Spring Roo (Java). Round-trip engineering is critical for maintaining consistency among multiple models and between the models and the code in Object Management Group's (OMG) Model-driven architecture. OMG proposed the QVT (query/view/transformation) standard to handle model transformations required for MDA. To date, a few implementations of the standard have been created. (Need to present practical experiences with MDA in relation to RTE). == Controversies == === Code generation controversy === Code generation (forward-engineering) from models means that the user abstractly models solutions, which are connoted by some model data, and then an automated tool derives from the models parts or all of the source code for the software system. In some tools, the user can provide a skeleton of the program source code, in the form of a source code template where predefined tokens are then replaced with program source code parts during the code generation process. UML (if used for MDA) diagrams specification was criticized for lack the detail which is needed to contain the same information as is covered with the program source. Some developers even claim that "the Code is the design". == Disadvantages == There is a serious risk that the generated code will rapidly differ from the model or that the reverse-engineered model will lose its reflection on the code or a mix of these two problems as result of cycled reengineering efforts. Regarding behavioral/dynamic part of UML for features like statechart diagram there is no equivalents in programming languages. Their translation during code-generation will result in common programming statement (.e.g if,switch,enum) being either missing or misinterpreted. If edited and imported back may result in different or incomplete model. The same goes for code snippets used for code generation stage for the pattern-implementation and user-specific logic: intermixed they may not be easily reverse-engineered back. There is also general lack of advanced tooling for modelling that are comparable to that of modern IDEs (for testing, debugging, navigation, etc.) for general-purpose programming languages and domain-specific languages. == Examples in software engineering == Perhaps the most common form of round-trip engineering is synchronization between UML (Unified Modeling Language) models and the corresponding source code and entity–relationship diagrams in data modelling and database modelling. Round-trip engineering based on Unified Modeling Language (UML) needs three basic tools for software development: Source Code Editor; UML Editor for the Attributes and Methods; Visualisation of UML structure