In this post, the author takes a closer look at the top ten emerging open-source tools right now, including tools for testing, development, prototyping, and more.
eXist-db is an open source database management system built using XML technology. It stores XML data according to the XML data model and features efficient, index-based XQuery processing.
The purpose of Data.gov is to increase public access to high value, machine readable datasets generated by the executive branch of the federal government.
Dolt - a high-performance drop-in libtool replacement About Dolt Dolt provides a drop-in replacement for libtool that significantly decreases compile times on the platforms it supports. Rather than the libtool approach of running a large script for every compile that repeatedly figures out how to build libraries on the platform, dolt figures out those details at configure time and writes out a minimal doltcompile script containing only the commands needed to build a library on the current platform. If you use automake, autoconf, and libtool, then using dolt just requires two steps: 1. add DOLT after the call to LT_INIT, AC_PATH_LIBTOOL, or AM_PATH_LIBTOOL in your configure.ac or configure.in script, and 2. append dolt.m4 to your project's acinclude.m4. For any platform Dolt does not support, it will transparently fall back to libtool.
Andrew Morton originally developed a set of scripts for maintaining kernel patches outside of any SCM tool - quilt whose basic idea is to maintain patches instead of maintaining source files. Patches can be added, removed or reordered, and they can be refreshed as you fix bugs or update to a new base revision. quilt is very powerful, but it is not integrated with the underlying SCM tools. The patch queue extension Mq integrates quilt functionality into Mercurial. Changes are maintained as patches which are committed into Mercurial. Commits can be removed or reordered, and the underlying patch can be refreshed based on changes made in the working directory. The patch directory can also be placed under revision control, so you can have a separate history of changes made to your patches.
PMPU is oriented around the typical "Push / Pull" workflow of distributed SCMs; as such it is designed to make it easy to see what changes are arriving from remote repositories and what changes are due to be pushed upstream. It also has support for creating changeset bundles and for importing both bundles and patches; these are primarily useful when interacting with the development process via e-mail. Rather than re-invent the wheel, PMPU can make use of external history views and commit tools. For mercurial repositories, I recommend the 'hgk' or hgview viewers and the excellent Qct commit tool.
Nailgun is a client, protocol, and server for running Java programs from the command line without incurring the JVM startup overhead. Programs run in the server (which is implemented in Java), and are triggered by the client (written in C), which handles all I/O.
Intel® Threading Building Blocks (TBB) offers a rich and complete approach to expressing parallelism in a C++ program. It is a library that helps you take advantage of multi-core processor performance without having to be a threading expert. Threading Building Blocks is not just a threads-replacement library. It represents a higher-level, task-based parallelism that abstracts platform details and threading mechanisms for scalability and performance.
Software AG webMethods and SOPERA ASF realize service integration & provision platforms. Using both together requires application-specific code. The project solves this by introducing a webMethods adapter that standardizes the interaction among both.
SQLRunner is a simple JDBC Client which helps Java developers with various methods. You can build, test and run select, update and DML statements (also callable statements with out put parameters) and export or import data in/from csv-files or XML-fi
Upgrader is a simple Java-based tool that enables applications developers to add software upgrade capability into their applications. An upgrade process typically involves replacing the old version of the binaries with new version of the binaries and performing data upgrades. It may also need to perform changes to the directory structure. The data upgrade outlined above may involve changes to the configuration files and/or database changes if the application uses a database. This tool provides framework using which application developers can keep track of changes to the application. Every time, there is a change in the database schema or configuration files, the application developers can create a "patch" script and add it to the "patch list". The Upgrader tool may be bundled with the application and is typically invoked during the installation/upgrade. When it is invoked, it determines the current patch level of the system, determines the patch scripts that are needed to be executed, sequence the patch scripts and apply them.
Akka is the platform for the next generation event-driven, scalable and fault-tolerant architectures on the JVM
We believe that writing correct concurrent, fault-tolerant and scalable applications is too hard. Most of the time it's because we are using the wrong tools and the wrong level of abstraction.
Akka is here to change that.
Using the Actor Model together with Software Transactional Memory we raise the abstraction level and provides a better platform to build correct concurrent and scalable applications.
For fault-tolerance we adopt the "Let it crash" / "Embrace failure" model which have been used with great success in the telecom industry to build applications that self-heals, systems that never stop.
Actors also provides the abstraction for transparent distribution and the basis for truly scalable and fault-tolerant applications.
Akka is Open Source and available under the Apache 2 License.
Gerrit is a web based code review system, facilitating online code reviews for projects using the Git version control system.
Gerrit makes reviews easier by showing changes in a side-by-side display, and allowing inline comments to be added by any reviewer.
Gerrit simplifies Git based project maintainership by permitting any authorized user to submit changes to the master Git repository, rather than requiring all approved changes to be merged in by hand by the project maintainer. This functionality enables a more centralized usage of Git.
Zwiki is.. a powerful, innovative, user-friendly wiki engine based on the Zope 2 platform. This project has been developed since 1999 by Simon Michael and contributors around the world, powers many Zope and non-Zope-related wikis, and is free software released under the GNU GPL . Please explore the site, and enjoy the software. Your questions, comments, patches and donations are most welcome!
Cython is a language that makes writing C extensions for the Python language as easy as Python itself. Cython is based on the well-known Pyrex, but supports more cutting edge functionality and optimizations.
So what can you do with Rietveld? The basic workflow is:
1. Developer makes some changes in their Subversion workspace.
2. Developer uploads a patch in the form of svn diff output to Rietveld, using a small script named upload.py. This creates a new issue for them on the Rietveld website.
3. Developer goes to the issue that was just created on the Rietveld site, adds the email addresses of one or more reviewers, and causes Rietveld to send an email to the reviewer(s).
4. Reviewer navigates to the issue on the Rietveld site, browses the side-by-side diffs linked from there. A side-by-side diff shows the old and new version of the source code side by side, with deleted text on the left marked with a light red background, and inserted text on the right marked with a light green background. (Two different shades of red and green each are used, to highlight the differences at a finer-grain level than blocks of lines. This helps find one-character changes and clarifies diffs that just reflow a lot of text.)
5. Reviewer inserts inline comments directly into the side-by-side diffs, by double-clicking lines on which they want to comment. Inline comments are initially created in draft mode, which means that only the comment author can see (and edit) them.
6. Reviewer publishes comments, making them visible to everyone else, and sending an email to the developer (and to other reviewers) summarizing the inline comments with a little bit of context.
At this point, the developer can reply to inline comments directly on the Rietveld website using exactly the same mechanism as used by the reviewer. Replies simply become additional inline draft comments. The developer can also revise their code and upload a new version of the patch. The new version is attached to the same issue, and reviewers can choose to view the diffs afresh, or view the delta between the new and the old version of the patch. The latter feature is particularly helpful for large code reviews that require several iterations to reach agreement between developer and reviewer: the reviewer doesn't have to re-review stuff that didn't change between revisions and was already approved.
For too long, code reviews have been too much of a chore. This is largely due to the lack of quality tools available, leaving developers to resort to e-mail and bug tracker-based solutions.
We've seen a lot of time and energy wasted doing code reviews both in open source projects and at VMware. In both cases, code reviews were typically done over e-mail. A significant amount of time was spent in forming review requests, switching between the diff and the e-mail, and trying to understand what parts of the code the reviewer was referring to.
In an effort to keep our sanity and improve the process both in our open source projects and at companies, we wrote Review Board.
Review Board is a powerful web-based code review tool that offers developers an easy way to handle code reviews. It scales well from small projects to large companies and offers a variety of tools to take much of the stress and time out of the code review process.
Swing Explorer is a tool for Swing developers intended for visual exploring of Swing-based application internals. It finds all windows in explored Swing application and displays their component hierarchies as a tree. Each component in the tree can be displayed in the Swing Explorer's work area and visually inspected. Swing Explorer helps to determine sub-components when user moves mouse over them and provides additional information about currently selected component (layout, size, coordinates, border and other things). Additionally it allows to view basic graphical operations used to draw swing components like DebugGraphics does, but in more convenient way.
monotone is a free distributed version control system. it provides a simple, single-file transactional version store, with fully disconnected operation and an efficient peer-to-peer synchronization protocol. it understands history-sensitive merging, lightweight branches, integrated code review and 3rd party testing.
The openSUSE Build Service is an open and complete distribution development platform that provides infrastructure for a development of the future openSUSE distributions. The service provides software developers with a tool to create and release open sour
These are the 25 current must-have free tools. Each Tool activity comprises a number of short, simple tasks to help you find out more about the technology behind each tool, the tool itself and why it is so popular
Open Forum is an application providing a Wiki style collaboration platform. It comes ready to run out of the box and has an integrated web server and user authentication.
In addition to the standard Wiki functions of page editing, OpenForum allows the Wiki platform to be extended, tailored and integrated with existing systems. This is achieved by the use of server side Javascript scripts and Java plugins. The server side scripts can be edited from within the Wiki itself. In fact all the Wiki actions, such as editing pages, uploading attachments and controlling access are defined in Javascript scripts that can be edited from within the Wiki.
* OpenForum has the ability to serve real-time content mixed with static content using a number of AJAX style functions.
* OpenForum can access databases, REST applications and Xml based web services as well as being able to provide services to other applications.
* OpenForum has a rich set of templateing functions to enable the Wiki to have a consistent look and feel.
* Unlike many Wiki's, OpenForum allows pages to be organised hierarchically with hierarchical templates and access control.
M. Palmieri, I. Singh, и A. Cicchetti. Intelligence in Next Generation Networks (ICIN), 2012 16th International Conference on, стр. 179-186. (октября 2012)