BLAST is a set of similarity search programs designed to explore all of the available sequence databases regardless of whether the query is protein or DNA. It uses a heuristic algorithm which seeks local as opposed to global alignments, and is therefore able to detect relationships among sequences which share only isolated regions of similarity. It can be run locally as a full executable, and can be used to run BLAST searches against private, local databases, or downloaded copies of the NCBI databases. It runs on Mac OS, Win32, LINUX, Solaris, IBM AIX, SGI, Compaq OSF, and HP- UX systems.
wyoGuide is a tutorial, a collection of guidelines for building cross-platform applications with a well-designed, consistent look and feel. It gives ideas and advice on how an application and its GUI could and should be written. Development with these guidelines gives the GUI of an application a standard set of base functionality. wyoGuide also provides sample code for each guideline written in C++ using the wxWidgets (formerly wxWindows) framework. For a seasoned developer it shouldn't be difficult to adapt these guidelines to other languages or frameworks.
nexB OpenAssets is a tool for inventorying, managing, and monitoring applications, software, hardware, networks, and generally any IT asset. It is designed so that system administrators, IT, and finance can determine what they have, how it is configured, what it is used for, and how much it is being used, so that informed decisions can be made. It complements existing network management software, integrates with a growing number of protocols and tools, and features no-agent discovery and inventory, configuration management including dependencies and correlation, monitoring, and reporting. It makes extensive and innovative use of XML, Xpath, and Xquery.
cstor is a cross-reference compiler and reverse engineering tool. It compiles one text file (database) from multiple source modules (currently reads C, C++, and Perl). The tool combines reverse engineering capabilities, code validation, and an HTML documentation generator. The database can then be reused from own scripts and programs, e.g. to implement cross-compilers, validate coding conventions, build statistics etc. The builtin documentation generators are actually an application of the database.
Quality Objects (QuO) is a framework for providing quality of service (QoS) in network-centric distributed applications. These applications range from embedded applications to wide area network applications, including many military and commercial applications. QuO bridges the gap between the socket-level QoS being specified, researched, and provided by a number of organizations and the distributed object level where many distributed applications are best written. QuO adds QoS to CORBA and Java RMI in a manner which is appropriate for creating applications that can adapt to environments that are unpredictable or have strict resource constraints.
Libsmbios is a cross-platform library intended to be used to obtain common information available in a BIOS. Major features include the ability to update the BIOS on Dell systems (in conjunction with the Dell RBU Linux kernel driver), programmatic access to information in SMBIOS tables, and the ability to obtain Dell system-specific information such as the Dell System ID number, service tag, and asset tag. Future plans include APIs for $PIR and mptable mapping. There is a C API for some of the more commonly used functions, and example binaries to show off most of the facilities.
Daikon is an implementation of dynamic detection of likely invariants. An invariant is a property (such as "x=2*y+5" or "this.next.prev = this" or "myarray is sorted by <") that holds at a certain point or points in a program. Invariants are often seen in assert statements, documentation, and formal specifications. Invariants can be useful in program understanding and a host of other applications. Daikon runs a program, observes the values that the program computes, and then reports properties that were true over the observed executions. It can detect properties in Java, C, C++, Perl, and IOA programs, in spreadsheet files, and in other data sources.