MinDispatch: Event-Driven Framework In Java Part 2
From the last post in this series, we developed a fixed, event-driven chat simulation. In this post, we will extend this example by refactoring. The objective of this tutorial is to teach effective...
View ArticleDesigning a Linux Resource Manager in C++
By the fervor of Linus Torvalds, there does not exist any immediate C++ or OOP interfaces to operating system services. Consequently, it is sometimes necessary to wrap a logical set of Linux system...
View ArticleConcise Implementation of Minimax through Higher-Order Functions
The Minimax algorithm is the core of several game-playing AI for making decisions on the best move. This algorithm finds the best move for an AI on a two-player, combinatorial game state on games such...
View ArticleIllustrated Decomposition of Combinatorial Game Move Enumeration with Basis...
Partisan, combinatorial games such as Checkers, Chess and Othello are easily implemented on a matrix implemented as a square array; however, the enumeration of feasible game moves on the game board is...
View ArticleExploring Functional Programming in Scala through HackerRank
Practice is one of the best methods of learning a new language and its idioms. Since HackerRank recently released a new category problems, Functional Programming, I decided to learn Scala by first...
View ArticleHow to Choose a Good AR Drone API
Every now and then, I find myself in a regrettable foray into a deeply technical project for a ridiculous cause. Fortunately, I wasn't alone in this adventure.My ACM student organization and I have...
View ArticlePlanning a Dual Boot Partition Scheme with OS and Data Separation
Operating System and data separation on a drive is important for failure isolation.We will begin by motivating the need for OS and data separation. Consider the following situation: Bob has a single...
View ArticleOperational Costs of Printers and Running Times of Arrays with Amortized...
The running time of data structures is not obvious without making assumptions on the current state of the data structure under speculation.As a programmer and an algorist, I find myself computing the...
View ArticleBeing 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 ArticlePlanning a Dual Boot Partition Scheme with OS and Data Separation
Operating System and data separation on a drive is important for failure isolation.We will begin by motivating the need for OS and data separation. Consider the following situation: Bob has a single...
View ArticleOperational Costs of Printers and Running Times of Arrays with Amortized...
The running time of data structures is not obvious without making assumptions on the current state of the data structure under speculation.As a programmer and an algorist, I find myself computing the...
View ArticleBeing 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 Article