GitHub: Ready, Set, Go!

31 Aug 2016 | , , ,
Share on:

By Fintan Quill

 

 

Looking through the newly enhanced Kx GitHub index recently my attention was caught by the kdbgo project.

Released in 2009, the Go programming language created by Google has been increasing in popularity year on year. The compiled language, which has many of its roots in C, recently jumped from 95 to 20 in the TIOBE programming language index in 2016.

Google has several secretive internal projects developed in Go. There are also many large scale projects being implemented outside of Google, with the most notable being the container software Docker.

Created by Kx tech team member Sergey Vidyuk, the kdbgo project allows bi-directional communication between kdb+ & Go, allowing Kx technology to be accessed more easily by thousands of programmers in different geographies & industries.

To get started, ensure Go is installed and correctly configured. For kdbgo first install the glog & gouuid dependent libraries as follows:

go get github.com/golang/glog

go get github.com/nu7hatch/gouuid

Then finally install the kdbgo package itself:

go get github.com/sv/kdbgo

There you have it, you’re ready to Go.

There are sample test files within the kdbgo project. I have also created a separate sample test file.

This test file shows how to:

  • create a connection
  • return different kdb+ data types
  • async call
  • single insert
  • bulk insert
  • primitive prettyprint functions for dictionaries, tables and keyed tables

To try this, simply run the following command:

go run test.go

I have also created a listener script at GitHub for subscribing to a ticker plant in kdb+tick.

This can be run using the command:

go run listener.go

© 2017 Kx Systems
Kx® and kdb+ are registered trademarks of Kx Systems, Inc., a subsidiary of First Derivatives plc.

SUGGESTED ARTICLES

Kx collaborating with Fintech startup chartiq

Collaboration: The Dominant Trend in Finance

13 Dec 2017 | , , , ,

In December we are re-blogging some of our favorite content from Kx partners and affiliated companies, starting with this article on the ChartIQ blog. ChartIQ is an agile FinTech company that sells an advanced HTML5 charting library used in technical data analysis, trading configurations and for charting in the capital markets industry. Kx offers a ChartIQ integration as an addition to our Dashboards. In Collaboration: The Dominant Trend in Finance, ChartIQ’s Hanni Chehak writes about the rise of FinTech companies, and the role collaboration plays as FinTech companies are increasingly disrupting the traditional banking sector.

Water system workers with kdb+ historical database

Kdb+ Use Case: Machine Learning Water System Maintenance Application

6 Dec 2017 | , , , ,

Kdb+ is being used much more widely in machine learning applications today. Its ability to quickly ingest and process data, particularly large, fragmented datasets, is one way that developers are adding kdb+ to their technology stack of artificial intelligence and machine learning tools.
For Australian kdb+ developer Sherief Khorshid, who also develops machine learning systems, incorporating kdb+ into a predictive maintenance application gave him the edge in a hackathon win that landed him a cash prize and a contract with the Water Corporation of Western Australia.

kdb+ FFI

Kdb+ FFI: Access external libraries more easily from q

22 Nov 2017 | , , ,

Following on from the hugely popular Python library and interface embedPy and PyQ, Kx has released an FFI as part of the Fusion for kdb+ interfaces. As with embedPy and PyQ, this FFI is open-sourced under the Apache 2 license.
The kdb+ FFI is a foreign function interface library for loading and calling dynamic libraries from q code. It has been adapted and expanded upon from a library originally written by Alex Belopolsky of Enlightenment Research. With the kdb+ FFI you can now call your favorite C/C++ libraries directly from q without the overhead of having to compile shared objects and load into q using the 2: command.