In the previous installment of our introduction to functional programming we looked at reading values from nested data structures.nIn this final post we look at the flip side of working with nested data structures, updating them. If you have not read the previous post yet and are not familiar Elixir, you might want to read…
In the previous installment of our introduction to functional programming we looked at reading values from nested data structures.nIn this final post we look at the flip side of working with nested data structures, updating them. If you have not read the previous post yet and are not familiar Elixir, you might want to read…
If you are using VCR to record/playback HTTP requests for your Rails tests, you may run into problems if your cassettes use tokens to authenticate with those services. VCR uses a RequestMatcher to determine if an outgoing request (and response) already exist in a cassette. Upon finding a match, the test will use the response…
In the last post we looked at functional approaches to solving problems typically solved using loops in imperative languages. These problems centered around list-like data structures such as arrays or vectors. In this post we will look at more complicated nested data structures.
Iโd like to introduce a new Clojure REPL, Proto REPL, that I created as a plugin to the Atom editor. Proto REPL lets you develop Clojure applications in Atom using an interactive REPL driven development experience. nn nn Proto REPL Features nn n Send blocks of code or selections from an editor tab to the…
This is the first post in a series dedicated to presenting solutions to common challenges that developers encounter when moving from an imperative programming approach to functional programming (FP). I will present a series of problems and provide solutions in both Java and Elixir, a functional language running on the Erlang VM.
By now you have probably heard all the hype about functional programming (FP) and may have even dipped your toe in the water by trying out one of the other Lisp dialects. Maybe you have experimented with some of the functional elements of Scala, Ruby, Python, or one of the newer languages.
In this blog post, we detail our experience converting Mapbox Studio Vector Tiles to Rasters.

Jafama is a Java library that provides fast numeric operations that are replacements for the methods on java.lang.Math. Jafama (Java Fast Math) consists of fast – but not sloppy – counterparts of java.lang.Math treatments, plus additional ones. They are usually about 2-4 (up to 15) times faster, with about 1e-15 accuracy, and handle special cases…
We describe a group research project in which we worked to evaluate and port existing machine learning and modeling functionality in HunchLab from R to Spark.

When working with spatial data one often needs to work with polygons to demarcate bounding areas. One important concept related to this is winding, which defines the relative order in which the vertex points of a polygon are listed. Winding can be either clockwise (CW) or counter-clockwise (anti-clockwise) (CCW), referring to the direction in which…