Being Productive in C with GNU Make
Any such tool for taming the complexity of software helps developers become more productive.Build systems are an example of such a tool; however, they are frequently neglected due to the false...
View ArticleHarnessing The Grid AI with Support Vector Machines
There are few skeptics of the claim that Artificial Intelligence is used behind The Grid, a tool for generating designs dictated by content.In order to dispel some of the skepticism against The Grid's...
View ArticleModeling Extensible and Type Safe Vector Spaces in Java 8
Vector spaces are one of the most common mathematical abstractions. In classical physics, vectors can describe linear motion in space. In operations research, vectors can describe linear constraints to...
View ArticleExploring the Hailstone Sequence with Julia
The hailstone sequence is a sequence of positive integers from an initial value that is popular through the Collatz conjecture, an unsolved problem in mathematics. We are interested in simulating the...
View ArticleWhy not use Bash for Algorithmic Interviews?
During an interview, I asked, in jest, whether I could use Whitespace to solve the problem. The interviewer chuckled and said that if I implemented the algorithm in Bash, I would receive an offer on...
View ArticleZero-Truncated Poisson Sampling Algorithm
The Zero-Truncated Poisson distribution is a sample variant of the Poisson distribution that has no zero value. A simple example of this is a the distribution of items a customer has in their shopping...
View ArticleSearching for the Most Flexible Grid System
Every so often, monitor resolutions increase. In tandem, new grid systems are created to support upcoming resolutions. During the era of 1024x960 monitors, we used the 960 grid system for its...
View ArticleImplementing the Dense Array Interface in Julia
A DenseArray describes a multidimensional array that has regular offets in memory. Implementing multidimensional arrays with the API flexibility of MATLAB (range indexing, colon indexing, etc.) is...
View ArticleExpress all Avro types with a context-free grammar
One of the first techniques taught in a programming languages course is how to inductively express a language using context-free grammars. Although this technique is familiar to many of us with a...
View ArticleTrack active terminal buffers with Vimscript
To support custom workflows, we need Vim plugins. But learning Vimscript is hard. One reason is because the Vim runtime has several unique concepts that we need to learn to interact with, e.g. buffers,...
View Article