iSQL-Viewer is an open-source JDBC 2.x compliant database front end written
in Java. It implements across multiple platforms features of the JDBC API.
It does everything through a single interface.
iSQL-Viewer works with most database platforms, including PostgreSQL, MySQL,
Oracle, and Informix. iSQL-Viewer provides a variety of tools and features
to carry out common database tasks. It includes:
* Scripting support using JPython and the IBM BSF framework
* A guided query builder for creating simple and complex SQL queries
* Enhanced object viewing for images, HTML, and other binary format files
* A friendly SQL console for executing SQL statements
* Batch processing of SQL files
* Database introspection
* "Bookmarks" to store SQL commands you commonly use
* Import and export to popular file formats such as Microsoft Excel, XML,
HTML and ASCII delimited.
* Enhanced interface support across platforms
iSQL-Viewer is designed to meet the needs of JDBC Driver developers and
database developers who work in single or multi-platform environments.
Apache HBase is an open-source, distributed, versioned, non-relational database
modeled after Google's Bigtable: A Distributed Storage System for Structured
Data by Chang et al. Just as Bigtable leverages the distributed data storage
provided by the Google File System, Apache HBase provides Bigtable-like
capabilities on top of Hadoop and HDFS.
Features:
-- Linear and modular scalability
-- Strictly consistent reads and writes
-- Automatic and configurable sharding of tables
-- Automatic failover support between RegionServers
-- Convenient base classes for backing Hadoop MapReduce jobs with
Apache HBase tables
-- Easy to use Java API for client access
-- Block cache and Bloom Filters for real-time queries
-- Query predicate push down via server side Filters
-- Thrift gateway and a REST-ful Web service that supports XML, Protobuf
and binary data encoding options
-- Extensible jruby-based (JIRB) shell
-- Support for exporting metrics via the Hadoop metrics subsystem to files
or Ganglia, or via JMX
Gitblit is an open-source, pure Java stack for managing, viewing,
and serving Git repositories. It's designed primarily as a tool for
small workgroups who want to host centralized repositories.
Gitblit WAR is what you should download if you already have a servlet
container available that you wish to use. Jetty 6/7/8 and Tomcat
6/7 are known to work. Generally, any Servlet 2.5 or Servlet 3.0
container should work.
Gitblit can be used as a dumb repository viewer with no administrative
controls or user accounts. Gitblit can be used as a complete Git
stack for cloning, pushing, and repository access control. Gitblit
can be used without any other Git tooling (including actual Git)
or it can cooperate with your established tools.
Thread::Apartment provides an apartment threading wrapper
for Perl classes. "Apartment threading" is a method for
isolating an object (or object hierarchy) in its own thread,
and providing external interfaces via lightweight client
proxy objects. This approach is especially valuable in the
Perl threads environment, which doesn't provide a direct
means of passing complex, nested structure objects between
threads, and for non-threadsafe legacy object architectures,
e.g., Perl/Tk.
By using lightweight client proxy objects that implement the
Thread::Queue::Queueable interface, with Thread::Queue::Duplex
objects as the communication channel between client proxies
and apartment threads (or between threads in general), a more
thread-friendly OO environment is provided, ala Java, i.e.,
the ability to pass arbitrary objects between arbitrary threads.
Thread::Apartment is a fundamental component of the PSiCHE
framework (http://www.presicient.com/psiche).
Envisage is a Python-based framework for building extensible applications, that
is, applications whose functionality can be extended by adding "plug-ins".
Envisage provides a standard mechanism for features to be added to an
application, whether by the original developer or by someone else. In fact,
when you build an application using Envisage, the entire application consists
primarily of plug-ins. In this respect, it is similar to the Eclipse and
Netbeans frameworks for Java applications.
Each plug-in is able to:
* Advertise where and how it can be extended (its "extension points").
* Contribute extensions to the extension points offered by other plug-ins.
* Create and share the objects that perform the real work of the application
("services").
The Envisage project provides the basic machinery of the Envisage framework.
The Py-Interface is a python-implementation of an Erlang node.
The py_interface provides the possibility to create a node that may be used
for communication with other Erlang nodes.
Some characteristics:
o The Python nodes are hidden, like the Java nodes
o The Python node supports
- registering the Python node in the epmd
- sending and receiving message
- executing remote procedure calls (the rpc:call(M,F,A) mechanism)
o The Python node does currently not do:
- linking
- tracing
o The Python node translates Erlang types to Python types as far as there is a
reasonable Python counterpart. If there is not, then a class is used.
o The Python node is a single threaded callback-driven process.
o The Python node runs on Python 2.5 and Erlang R12. It may well still work
with older version of both Python and Erlang. Development started on
Python 1.5 and Erlang R7.
Ada Utility Library
This Ada05 library contains various utility packages for building
Ada05 applications. This includes:
o A logging framework close to Java log4j framework
o Support for properties
o A serialization/deserialization framework for XML, JSON, CSV
o Ada beans framework
o Encoding/decoding framework (Base16, Base64, SHA, HMAC-SHA)
o A composing stream framework (raw, files, buffers, pipes, sockets)
o Several concurrency tools (reference counters, counters, pools,
fifos, arrays)
o Process creation and pipes
o Support for loading shared libraries (on Windows or Unix)
o HTTP client library on top of CURL or AWS
Ada Util also provides a small test utility library on top of
Ahven to help in writing unit tests.
nio4r provides an abstract, cross-platform stateful I/O selector API for Ruby.
I/O selectors are the heart of "reactor"-based event loops, and monitor multiple
I/O objects for various types of readiness, e.g. ready for reading or writing.
The most similar API provided by Ruby today is Kernel.select, however the select
API requires you to pass in arrays of all of the I/O objects you're interested
in every time. nio4r provides a more object-oriented API that lets you register
I/O objects with a selector then handle them when they're selected for various
types of events.
nio4r is modeled after the Java NIO API, but simplified for ease-of-use.
Its goals are:
- Expose high-level interfaces for stateful IO selectors
- Keep the API small to maximize both portability and performance across many
different OSes and Ruby VMs
- Provide inherently thread-safe facilities for working with IO objects
The SonarQube platform is an open source quality management platform,
dedicated to continuously analyzing and measuring the technical quality of
source code, from project portfolio down to the method level.
Features:
- Supports languages: Java, C/C++, Objective-C, C#, PHP, Flex, Groovy,
JavaScript, Python, PL/SQL, COBOL, etc.
- Can also be used in Android development.
- Offers reports on duplicated code, coding standards, unit tests, code
coverage, complex code, potential bugs, comments and design and
architecture.
- Records metrics history and provides evolution graphs ("time machine")
and differential views.
- Provides fully automated analyses: integrates with Maven, Ant, Gradle and
continuous integration tools (Atlassian Bamboo, Jenkins, Hudson, etc.).
- Integrates with the Eclipse development environment.
- Integrates with external tools: JIRA, Mantis, LDAP, Fortify, etc.
- Is expandable with the use of plugins.
- Implements the SQALE methodology to compute technical debt.
SWIG is a software development tool that connects programs written in C and C++
with a variety of high-level programming languages. SWIG is used with different
types of target languages including common scripting languages such as
Javascript, Perl, PHP, Python, Tcl and Ruby. The list of supported languages
also includes non-scripting languages such as C#, Common Lisp (CLISP, Allegro
CL, CFFI, UFFI), D, Go language, Java, Lua, Modula-3, OCAML, Octave and R. Also
several interpreted and compiled Scheme implementations (Guile, MzScheme/Racket,
Chicken) are supported. SWIG is most commonly used to create high-level
interpreted or compiled programming environments, user interfaces, and as a tool
for testing and prototyping C/C++ software. SWIG is typically used to parse
C/C++ interfaces and generate the 'glue code' required for the above target
languages to call into the C/C++ code. SWIG can also export its parse tree in
the form of XML and Lisp s-expressions.