This blog was started almost 11 years ago, on Octopress 2.0. It was a different world: Ruby 1.x was king of the hill, and Docker wasn’t even a thing yet. It was an amazing thing to use.| BeachApe.
Last week, I decided to take a stab at learning Scala macros. I had played around with macros when I wrote Scheme for a living (yes, believe it or not, these places exist…and existed long before Clojure made Lisp hip again), but the complexity of Scala’s macros always put me off (if you don’t believe me, check out the example given in the offical docs for a simple print macro).| BeachApe.
An introduction to the Rx model of asynchronous programming in Scala and how it is used in Schwatcher.| BeachApe.
Bringing structurally typed functions to Rust via LabelledGeneric| BeachApe.
Looking back at my year of Rust. Part reflection, part waymark.| BeachApe.
Introducing a DRY way of converting between structs with mis-matched fields by building on top of LabelledGeneric and HList.| BeachApe.
Implementing plucking from and shaping of HLists in Frunk: getting the type signature right was 99% of the work. Here's what I've learnt along the way.| BeachApe.
Introducing labelled HLists and a boilerplate-free LabelledGeneric implementation in Rust. What is it? Why? How is it implemented?| BeachApe.
A simple, boilerplate-free Generic implementation in Rust, inspired by Shapeless| BeachApe.
If you're using Rust, you care about performance. Here's how you can use Travis CI to automatically get benchmark comparisons across commits.| BeachApe.
Validated is a container that helps you accumulate multiple Results into a single result in the success case *and* allows you to access all errors that occured in each of the independent Results.| BeachApe.
A simple and efficient implementation of HList in Rust, with a focus on ease-of-use.| BeachApe.
Enumeratum 1.4.0 introduces ValueEnums that check for uniqueness at compile-time as well as Circe integration, amongst other smaller changes and upgrades| BeachApe.
Continuing from Ep 1, where we built an Akka-Stream based webcam feed, in this post, we do a bit more extra processing to detect any faces in the feed and draw rectangles around them.| BeachApe.
Getting started with OpenCV in Scala via Akka streams for an asynchronous, functional, composable way of doing computer vision.| BeachApe.
Trying out computer vision on the JVM can be somewhat annoying to set up. SBT-OpenCV makes it easy.| BeachApe.
Think Play framework is only for writing big monolithic webapps ? Find out how Play can be slimmed down easily for your slick, focused API app.| BeachApe.
Want powerful enums in Scala with compile-time in-exhaustive search warnings without reflection at runtime and no dependencies? Check out Enumeratum.| BeachApe.
A collection of findings, snippets and thoughts. My name is Lloyd, a software engineer. In another life, I was a biomedical engineer.| BeachApe.
A collection of findings, snippets and thoughts. My name is Lloyd, a software engineer. In another life, I was a biomedical engineer.| BeachApe.