Open Source is Awesome

At Knowm, we’re a big fan of open source. Like everyone else these days, we rely on it extensively from our operating systems to our applications. Even this website leverages open source! In July 2015, Knowm Inc. acquired Xeiam. Knowm is committed to maintaining and investing in the further development of XChange, XChart, Sundial, Yank and others and will keep the projects open source under the Apache 2 or MIT license. Knowm Inc. is financially supporting these projects with Bitcoin bounties as found below. Announcements for all projects will now appear on Knowm’s Twitter feed.

Xeiam to Knowm

Welcome PLOS One readers! Here’s the companion open-source code to the paper AHaH Computing – From Metastable Switches to Attractors to Machine Learning.

Open source software managed through distributed revision control systems like Git are a tremendously powerful way to develop software. Multiple eyes on code insures quality. Bugs are found and fixed. Code becomes modular and clear. Developers around the world keep the torch of innovation burning 24-hours a day, passing the project from one time-zone to another as dawn sweeps across the earth. Modern decentralized open-source software development is one of the most spectacular innovations in human history. At Knowm, we maintain several open source projects and regularly contribute to others as well. Check out our repos on github.com: Knowm. Below is a list of some of our most popular open source projects.

Open Source Java Projects

XChange

XChange is a Java library providing a simple and consistent API for interacting with 30+ Bitcoin exchanges providing a consistent interface for trading and accessing market data.

XChart

XChart is a light-weight and convenient library for plotting data. Its focus is on simplicity and ease-of-use, requiring only two lines of code to save or display a basic default chart. Usage is very simple: Create a Chart instance, add a series of data to it, and either save it or display it.

Sundial

Sundial is a lightweight job scheduling framework for Java.. Sundial makes adding scheduled jobs to your Java application a walk in the park. Simply define jobs, define triggers, and start the Sundial scheduler.

XDropWizard

XDropWizard is a jump-start DropWizard Web Application integrating and demonstrating several useful open source projects such as Yank, Sundial (a Quartz fork), Flot, Bootstrap, AngularJS, HSQLDB, XChart, JUnit, etc. Demonstrates how to serve static content, dynamic content loaded into Freemarker templates, using AJAX and more…

Yank

Yank is an ultra-Light JDBC persistance layer for Java apps. Never deal with the monotony and pitfalls of handling JDBC ResultSets and Connections again. Yank deals with connection pooling and table row to Java object mapping for you so you don’t have to worry about it.

AHaH!

AHaH! is a set of tools that can be used to solve a wide range of artificial intelligence and machine learning problems. All key functionality is based on operations that can be attained through use of an Anti-Hebbian and Hebbian (AHaH) Node. This is the companion open-source code to the paper AHaH Computing—From Metastable Switches to Attractors to Machine Learning, published on Feb. 10th, 2014 at PLOS One. All source code referenced in the paper can be found here.

Datasets

Datasets is a a Java library for conveniently working with machine learning datasets. The philosophy of this open source project is simple – take several diverse datasets, which all have their own custom formats, and convert them all into a unified format with a unified API for accessing the data. Each module has a RawData2DB class, which parses the raw data and puts each data object into a file-based HSQLDB database. No separate database installation is necessary.

Memristor-Discovery

Memristor-Discovery is a Java application for automated memristor experiments and data collection based on Digilent’s Analog Discovery 2 USB Oscilloscope and Knowm’s Memristor Discovery Board.

JSpice

JSpice is a SPICE-inspired analog circuit simulator made in Java with an emphasis on simulating memristors and analog circuits containing memristors..