By Simon Garland
If you are a kdb+/q developer, you will find the workspace utilities created by Kx Managing Director and Senior Solution Architect Leslie Goldsmith to be a valuable resource. The “Kdb+ Utilities” series of blog posts is intended to give a quick introduction to several utilities available at Leslie Goldsmith’s GitHub. In this part of the series we look at an essential tool which contains routines for summarizing and searching the contents of a workspace, ws.
This elegant little toolkit by Leslie Goldsmith is an invaluable aid for programmers digging into large bodies of q code. It allows you to find where particular pieces of code come from. Instead of having to run through a lot of static script files you can comb through a live session to find, ‘where does this happen?,’ ‘where is this defined?,’ ‘where else has this been used’ and even ‘where does this typo come from?’
In the ‘70s and ‘80s when I worked at I.P. Sharp as an APL programmer, Leslie wrote an earlier version of these utilities for the APL programming language (library 7 WSSEARCH) which were something that every APL programmer used many times every day to search through large APL workspaces for the occurrences of particular pieces of code. In those days, the only alternative would have been to print the code out on stripy paper and go through it with a red pen.
Building on decades of experience as a vector programmer, Leslie has recreated a finely-tuned version of this essential collection of tools for kdb+ programmers called ws. I highly recommend you take these utilities for a spin and have a look at the way they are written.
Leslie Goldsmith is currently a Managing Director and Senior Solution Architect at Kx, a division of First Derivatives (FD), based in Mississauga, Canada. Prior to this position, Leslie was co-founder and Managing Director at Affinity Systems, a software consulting and products firm acquired by FD in 2015. In Leslie’s long and storied career as a technologist, he has built many large, complex enterprise software systems and has set a standard of excellence in engineering for generations of developers. He is also the author of one of the world’s first commercial email systems, Mailbox, which debuted in 1973.
Simon Garland is Chief Customer Officer for Kx. He is responsible for upholding Kx’s high standards for technical excellence and customer responsiveness. Prior to joining Kx in 2002, Simon worked at a database search engine company, before that he worked at Credit Suisse in risk management. Simon began his career working with APL, and subsequently worked with the original k and kdb, as well as q and kdb+.