HackersCorner – JPEG_Comments
About a year ago, my daughter scanned nearly 600 old family photographs, adding captions to them as she went. This was fine as a start but then I was asked for photos of my grandparents’ weddings there was nothing for it but to look through 600 thumbnails. Unless I...
A Vendor-Agnostic Logo for APL
Something special has happened. It is now 55 years since APL as we know it first became available. Though various vendors and implementations had logos, APL as a whole never had one. But finally, APL joined the club of programming languages with a logo. (Fortran...
Book review—Fun Q: A Functional Introduction to Machine Learning in Q
Tale of twelve algorithms An adventure from the plains of distance and similarity; on the rivers of probability; through the random forests of decision trees; gently sliding the slopes of gradient descent; into the seas of matrices and sandy tensor dunes. Strikingly...
Powerful CSV processing with kdb+
Comma-separated text files (CSV) are the most fundamental format for data processing. All programming languages and software that support working with relational data, also provide some level of CSV handling.
The doctor and the doc
Ken Iverson spent his life writing and talking about q’s ancestor language APL.
Q has been all about implementation and performance. Now the documentation is catching up.
Larger than life automata
Larger than life automata have been known for some decades. Recent examples in [1] triggered the author's interest into investigating them with J. These automata use rules that are a straightforward generalization of the rules for the Conway's Game of Life that was...
J-ottings 59 Love Actuarily…
In my experience of demonstrating APL and later J to potential customers, the one group for which it was always guaranteed to generate excitement was actuaries. I was therefore intrigued to read Jeremy Smith’s article “Using J for Actuarial Applications – Part 1: The...
Taming statistics with limited-domain operators
Most students of statistics are overwhelmed by the sheer number of functions and procedures necessary to model and analyze data. To make matters worse, there are many inconsistencies in statistical tables and notation. Many statistical software packages have a...
Conquering recursion
This article presents a set of combinator patterns which can be used to decompose recursive procedures into smaller, more reusable components. Examples of the resulting programming style are contrasted with their more conventional equivalents. We additionally show...
Writing a Utility function
This is an article on writing a piece of code in APL that will be reused often. It is aimed at people relatively new to APL. It depends on what you are trying to achieve. Is it supposed to be a blazingly fast specialized utility or will it be a...