Mauricio Fernandez

Standalone web applications using OCaml Ocsigen, benchmarked against Rails


over 9 years ago by Mauricio Fernandez on Eigenclass.
I finally bit the bullet and rewrote eigenclass using the Ocsigen web server + framework for OCaml. It is simpler, faster, more reliable, and easier to...

Introducing extprot: extensible binary protocols for cross-language communication and long-term serialization


over 9 years ago by Mauricio Fernandez on Eigenclass.
I have been working for a while on extprot, a tool that allows you to create compact, efficient and extensible binary protocols that can be used for cross-language...

Backward and forward compatible protocol evolution with extprot: the case of Grafffer


over 9 years ago by Mauricio Fernandez on Eigenclass.
This is the year 2011, and the latest fad successful Web 2.0 platform is Grafffer, a free social networking and messaging service that allows its users...

The problems with Ruby's serialization (Marshal), and how extprot addresses them


over 9 years ago by Mauricio Fernandez on Eigenclass.
Chuck Vose's comment made me realize that the universal extprot message decoder can be simplified considerably if I simply deserialize the data and let...

Surprisingly efficient deserialization (vs. Marshal) in pure Ruby


over 9 years ago by Mauricio Fernandez on Eigenclass.
Even though extprot supports arbitrarily complex data types (with structures, lists, arrays, tuples and disjoint unions), the encoding is reasonably simple...

Faster deserialization in Ruby, beating Marshal


over 9 years ago by Mauricio Fernandez on Eigenclass.
I have optimized a bit the universal pure-Ruby extprot deserializer, and written a new one as a C extension. The former now approaches the speed of Marshal...

Heterogeneous containers in OCaml


over 9 years ago by Mauricio Fernandez on Eigenclass.
There's a not that well known trick to implement heterogeneous, type-safe containers in OCaml (and friends: MLton uses them to decorate ASTs in different...

Type-safe prototype-based programming with first-class selectors and namespaces in OCaml


over 9 years ago by Mauricio Fernandez on Eigenclass.
Adrien Friggeri presented a very simple way to do prototype-based programming in OCaml. He defines objects as a hash table (with one slot per instance variable...

Memory footprint of objects in Ruby 1.8. 1.9 and OCaml


~9 years ago by Mauricio Fernandez on Eigenclass.
With Ruby 1.9.1 being out for a while now, it's time to review my calculations regarding the memory footprint of objects, since 1.9 incorporates some optimizations...

MiniLight renderer cleanup, simpler (safer) code is faster


~9 years ago by Mauricio Fernandez on Eigenclass.
MiniLight is a minimal global illumination renderer that has been translated to 7 languages and takes on average 570 lines of code. Neat! It's of course...