Skip to content.

Manageability

Sections
Personal tools
You are here: Home » news

Xohm WiMax Speed Test

  • Posted by cperez
  • Published: 2009-04-16

Finally got Xohm WiMax for the office in Columbia, Maryland. Here's a random sample Speakeasy speed test to demonstrate how well it works:



For contrast, my earlier tests ( back in 2007) for Comcast Cable and Verizon FiOS Fiber reveals that WiMax has equal the download speed of Comcast cable and equal the upload speed of FiOS fiber. For $25/month and being that it's over the air, that's definitely quite impressive!

Open Source Constraint Programming Solvers Written in Java

  • Posted by cperez
  • Published: 2009-02-25

In a past life I wrote a language that would serve as a DSL to a variety of solvers. These solvers would include the Simplex based solvers, Quadratic solvers and in the most generalized form Constraint solvers. So I've had more than a passing interest in Constraint Programming (CP). Recently my interest in CP was rekindled. I was studying Javafx and found it's binding mechanism to be eerily familiar. So, I looked back at my archives and to my surprise discovered a boat load of open source projects in existence that catered to Constraint Programming. Here is the list I compiled over the years.

  • Choco Solver - Choco Solver is a library for constraint satisfaction problems (CSP), constraint programming (CP) and explanation-based constraint solving (e-CP). Choco is built on a event-based propagation mechanism with backtrackable structures.
  • Cream - Cream is library helping for developing intelligent programs requiring constraint satisfaction or optimization on finite domains. Cream provides a natural description of constraints. It allows extensions of constraint and satisfaction algorithms. It includes simulated Annealing and Taboo Search. It provides an interface to OpenOffice Calc (Spreadsheet).
  • JSL - Java Search Library (JSL) is a framework for general searching on graphs. The standard search algorithms depth-first, breadth-first and A* are provided. JSL also allows the plug in of other search algorithms.
  • JHCR - The K.U.Leuven JCHR System is an integration of Java and Constraint Handling Rules (CHR) designed with three aims in mind: user-friendliness, flexibility and efficiency. User-friendliness is achieved by providing a high-level rule-based syntax that feels familiar to both Java programmers and users of other CHR embeddings, and by full compliance to the refined operational semantics. Flexibility is the result of a well thought-out design, allowing e.g. an easy integration of built-in constraint solvers and variable types. An optimized compilation to Java code and the use of a very efficient constraint store make the performance of the K.U.Leuven JCHR System competitive with that of state of the art CHR implementations in e.g. Prolog and HAL.
  • jOpt jOpt is an open source implementation of the Optimization Programming Language (OPL). OPL is a modeling language for combinatorial optimization problems that combines mathematical programming and constraint programming into a single language. Job Scheduling (JS), is the first add-on to have been released. Typically, JS problems involve assigning a set of activities to a limited number of resources with consideration given to time and ordering limitations.
  • Drools Solver - Drools Solver is library to help you solve planning problems using heuristic algorithms. Examples of planning problems include: employee shifts, freight routing, supply sorting, class scheduling and the traveling salesman problem. The Drools-solver combines a search algorithm with the power of the drools rule engine. Drools Solver uses the Drools rule engine for score calculation, which greatly reduces the complexity and effort to write very scalable constraints in a declarative manner. Drools-solver supports several search algorithms to efficiently wade through the incredbly large number of possible solutions. Drools-solver implements local search, including tabu search and simulated annealing.
  • JCL - Java Constraints Library (JCL) was one of the first libraries to bring constraints satisfaction problem solving to Java. JCL deals with discrete, fine domains as well as with continuous domains. Constraints can be crisp (as in the classic CSP problems) or soft.
  • SAT4J - The SAT4J library provides a SATisfiability problem solver. Compared to the OpenSAT project, the SAT4J library targets first users of SAT "black boxes", willing to embed SAT technologies into their application without worrying about the details. SAT4J is an implementation in of Een and Sorenson's MiniSAT specification: An extensible SAT solver. The original implementation was in C++.
  • Kodkod - Kodkod is an efficient SAT-based constraint solver for first order logic with relations, transitive closure, and partial models. Unlike traditional model finders, Kodkod is designed to take advantage of partial models, by allowing the user to specify a partial solution that the model finder then completes. Kodkod has been applied to code checking, network configuration and course scheduling.
  • JaCoP - JaCoP has been developed for past 8 years. JaCoP provides a large library of examples. JaCoP aims to be easy to use, easy to maintain and efficient. JaCoP facilitates constraint additions during search. JaCoP also supports and extends XCSP format for saving CSP's in XML format. From the authors own experiments, JaCoP is a very good Java solver, but it is slower than a good C++ based solver.
  • Cassowary - Cassowary is an incremental constraint solving toolkit that efficiently solves systems of linear equalities and inequalities. The library appears to be designed to support support UI applications.

If you know of other projects in this area, please free to let me know.

Open Source Structured Graphics Libraries Written in Java

  • Posted by cperez
  • Published: 2009-02-15

Here's a new list inspired by a post by a reader (i.e. Hemant). The list covers libraries for developing 2 dimensional structured graphics. Just like the previous lists, everything is open source and written in Java.

  • Piccolo - Piccolo is a Java 2 toolkit that supports the development of 2D structured graphics programs in general, and Zoomable User Interfaces (ZUIs) in particular. It makes it easy for Java programmers to build their own animated graphical applications with zooming, multiple cameras, layers, images, etc. Jazz was the original toolkit, and Piccolo is Jazz's successor. Other interesting visualization kits from the same group (i.e. UMD HCIL) include TreeMap and SpaceTree for hierarchies and TimeSearcher for time series.
  • JGraph - JGraph is a powerful, lightweight, feature-rich, and thoroughly documented open-source graph component available for Java. It is accompanied by JGraphpad, the first free diagram editor for Java that offers XML, Drag and Drop and more. With the JGraph zoomable component, you can display objects and relations (networks) in any Swing UI. JGraph can also be used on the server-side, for example to read a GXL graph, apply a custom layout algorithm, and return the result as a HTML image map.
  • ArakhnĂȘ - A network editing environment. A Swing framework that permits to edit and show networks. It is domain-independant but it proposes a useful user interface that includes a dictionary of model's objects, a manager of critic on model, a graphic user interface for model-object's properies
  • Mica - Mica has complete support for advanced features such as infinite undo/redo, zoom and pan, network graph layouts and interactive graph templates, connections and connection points, annotations and annotation points, event handling and action percolation, layers and layer tabs, arrows, shadows, cut/copy/paste to/from clipboard, multiple printable pages, postscript, jpeg, and pdf output, rulers, toolhints, status bars, tool bars, default save/load to/from ASCII files, complete working network and diagramming editors, and more.
  • Diva - Diva is an architecture for visualizing and interacting with dynamic information spaces. In Diva, visualizations are built by hooking together software components which generate, supply, filter, and display information. The current release focuses on Diva's canvas and graph visualization infrastructure.
  • Satin - Software support for making effective pen-based applications is currently rudimentary. To facilitate the creation of such applications, we have developed SATIN, a Java-based toolkit designed to support the creation of applications that leverage the informal nature of pens.
  • Batik - With Batik, you can manipulate SVG documents anywhere Java is available. You can also use the various Batik modules to generate, manipulate, transcode and search SVG images in your applications or applets.
  • GEF - The goal of the GEF project is to build a graph editing library that can be used to construct many, high-quality graph editing applications. A simple, concrete design that makes the framework easy to understand and extend. Node-Port-Edge graph model that is powerful enough for the vast majority of connected graph applications. Model-View-Controller design based on the Swing Java UI library makes GEF able to act as a UI to existing data structures, and also minimizing learning time for developers familiar with Swing. High-quality user interactions for moving, resizing, reshaping, etc. GEF also supports several novel interactions such as the broom alignment tool and selection-action-buttons. Generic properties sheet based on JavaBeans introspection. XML-based file formats based on the PGML standard.
  • Eclipse GEF - The Graphical Editing Framework (GEF) allows developers to take an existing application model and easily create a rich graphical editor. GEF allows a developer to quickly map any existing model to a graphical editing environment. The graphical environment is the SWT-based drawing plugin "Draw2d". The developer can take advantage of the many common operations provided in GEF and/or extend them for the specific domain. GEF is suitable for creating a wide variety of applications, including: flow builders, GUI builders, UML diagram editors (such as work-flow and class modeling diagrams), and even WYSIWYG text editors like HTML. GEF does not assume that you must build one of these applications and is application domain neutral.
  • JHotDraw - JHotDraw is a Java GUI framework for technical and structured Graphics. It has been developed as a "design exercise" but is already quite powerful. Its design relies heavily on some well-known design patterns. JHotDraw's original authors have been Erich Gamma and Thomas Eggenschwiler.
  • OpenJGraph - OpenJGraph is a Java library to create and manipulate graphs. Its features include directed, undirected, directed-acylic, and weighted graphs, and simple graph algorithms such as graph traversal, minimum spanning tree, and shortest path spanning trees for weighted graphs. The library also has some support for graph drawing, including straight line and orthogonal graph drawing, and for user interaction such as creating and removing a vertex, creating and removing an edge, dragging a vertex, and changing some of the vertex and edge properties.
  • Grappa - Grappa is a Java graph drawing package that simplifies the inclusion of graph display and manipulation capabilities. Methods for building, manipulating, traversing and displaying graphs of nodes, edges and subgraphs. Grappa includes methods for reading in and writing out graphs using the dot text format.
  • Grace - Grace is a generator for direct manipulation graph editors in Java. It can be used for any graph-like datastructure of your application.
  • Vector Visuals - Vector Visuals provides an easy-to-use, object-based API for creating and manipulating Java2D-rendered shapes and images. It features object embedding, dynamic connectors, and multithreaded task support. Vector Visuals is in use in a variety of applications. A few that we know of are a business ontology viewer, a particle simulator, and a children's e-book builder.
  • GeoVISTA Studio - Studio is a programming-free environment that allows users to quickly build applications for geocomputation and geographic visualization.
  • NetBeans Graph Library - Graph Library has been designed to support visualization and editing of node-edge structures using drag'n'drop style of work. The library has been used in the Visual Designer in NetBeans Mobility Pack 4.1.
  • Graph Modeling Framework - The Eclipse Graphical Modeling Framework (GMF) provides a generative component and runtime infrastructure for developing graphical editors based on EMF and GEF.
  • Mascopt - Mascopt (Mascotte Optimization) project provides a set of tools for network optimization problems. Examples of such problems are routing, grooming, survivability, or virtual network design. Mascopt implements graph data structures, basic algorithms for graphs and import/export functionality. Mascopt provides graphical tools to display graph results.

If you happen to know of an active project that I should include, please let me know!

Navigation
visitors
reading
 
 

Powered by Plone

This site conforms to the following standards: