Tag: computer science

Lifelong Evolution of Concurrent Programming Patterns

Serial Processing

The type of development I grew up learning in the 80′s was serial. Data entered into a program through files or standard input. Functions then transformed data through a series of discrete intermediate steps, generating outputs as they ran, or directly funneling generated data into other functions. Final outputs were stored in human readable files, formats for other programs, or a combination of both.

(more…)

Circuits, Shortest Paths, and Capitalism

Shortest Paths

A few weeks back I mentioned a well known resource minimization problem called the Traveling Salesman, and a far out “solution” to an analogous problem (scavenging) leveraging life. Graph theory is an area rich in algorithms which are designed to yield optimal, or more often good enough answers to problems which can’t be computed exhaustively1. In this morning’s riff I’ll explore similarities between shortest paths, current flow and capitalism and hopefully learn a little in the process.

(more…)

Diametrically opposed to demolition derbies, Hash Functions

With little doubt each and every one of you arose this fine spring morning just as excited about hashing as myself. Like all interesting algorithms, the proud tradition of identifying effective hashing functions requires a mathematician’s razor mind and an artist’s subtle touch. If you know of anyone who has either of these attributes don’t hesitate to hold an image of them in your mind as you scan the rest of this article.

(more…)