Third-party Tools we rely on
Besides the development of the software, which works behind the scenes of the prometheus image archive, we also rely on third-party tools.
Development platforms
- Most of our server and development machines are running GNU/Linux, namely Debian and Red Hat Enterprise Linux
- Github – a web-based hosting service for software development projects that use the Git revision control system.
Programming Languages
- Ruby – a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. It was also influenced by Eiffel and Lisp. Ruby was first designed and developed in the mid-1990s by Yukihiro “Matz” Matsumoto in Japan.
Development tools
- Git – a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.
- Subversion – a software versioning and revision control system distributed under an open source license. Developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation.
- Redmine – a free and open source, web-based project management and bug-tracking tool. It includes a calendar and Gantt charts to aid visual representation of projects and their deadlines. It handles multiple projects. Redmine provides integrated project management features, issue tracking, and multiple version control options.
Libraries
- ImageMagick – an open source software suite for displaying, converting, and editing raster image files. It can read and write over 100 image file formats.
- LibXML Ruby – Ruby language bindings for GNOME’s Libxml2 XML toolkit.
- Ferret – a Ruby port of the Java Lucene search engine.
- Lingo – an open source software system for automatic indexing of German language documents. The development was determined by the aspects of flexibility, easy configuration, and different applications.
System administration
- Capistrano – an open source tool for running scripts on multiple servers; its main use is deploying web applications. It automates the process of making a new version of an application available on one or more web servers, including supporting tasks such as changing databases.
- Icinga – an enterprise grade open source monitoring system which keeps watch over networks and any conceivable network resource, notifies the user of errors and recoveries and generates performance data for reporting. Scalable and extensible, Icinga can monitor complex, large environments across dispersed locations.
Web Applications
- Apache – an open source HTTP server for modern operating systems including UNIX and Windows NT. The goal of this project is to provide a secure, efficient and extensible server that provides HTTP services in sync with the current HTTP standards.
- Ruby on Rails – an open source full-stack web application framework for the Ruby programming language. Rails is a full-stack framework, meaning that it gives the Web developer the full ability to gather information from the web server, talking to or querying the database, and template rendering out of the box.
- Mongrel – an open source software HTTP library and web server. It is used to run Ruby web applications and presents a standard HTTP interface. This makes layering other servers in front of it possible using a web proxy, a load balancer, or a combination of both.
- PmWiki – a wiki-based system for collaborative creation and maintenance of websites.