Simplifying Objective-C Value Objects with Mantle and the Builder Pattern

I’ve come to the conclusion that regardless of how “functional” a programming language is, the best way to handle state is with immutable value objects. Wikipedia defines a value object as follows: “In computer science, a value object is a small object that represents a simple entity whose equality is not based on identity: i.e. […]

Experimenting with Clojure’s PersistentHashMap in JRuby

Over the last few months, I have written two blog posts that mention using Hamster (Efficient, Immutable, Thread-Safe Collection) classes in JRuby: Preventing JRuby Concurrency Errors with Hamster and Making Refs in Ruby Using Celluloid Actors. The latter post was commented on by Mike Busch he mentioned his evaluation of Hamster and comparing it to […]

Making Refs in Ruby Using Celluloid Actors

I am currently working on a project developing a JRuby server process. The server is in constant communication with multiple front-end clients and back-end processes. The development team decided to make use of the Celluloid Actor library so we could use concurrent objects as a way to deal with the complexity that comes with developing […]

Preventing JRuby Concurrency Errors with Hamster

I was recently working on a small proof-of-concept application with a back-end server written in JRuby. In this proof-of-concept, multiple clients connect to the server to poll for status changes and to request actions be performed as the result of user interactions. The quickest way to keep the server responsive was to just fire up […]