Over time, I’ve noticed a design heuristic that has helped me immensely over innumerable projects. It’s actually quite simple: You can think of it as saving your side effects for last.
I’ve long been a fan of Stuart Sierra’s reloaded workflow. When I’m working on a ClojureScript project that doesn’t use Figwheel or another tool to assist with live code reloading, this is the pattern I reach for to help manage iterative and interactive development.
Having written my fair share of application data exports and imports, using CSV for tabular data has usually appeared to be an obvious choice. But lately, I’ve changed my mind on this. I’d argue you should write XLSX instead.
Like most fancy-sounding development terms, “point-free notation” actually isn’t that complicated. The “point” refers to the name of an argument for a function. Let’s say you have the following function:
I recently had my first run-in with the UIAppearance infrastructure that has been built into iOS for, admittedly, a long time. Given my experience with CSS, I brought along some assumptions of how appearance(whenContainedInInstancesOf:) would probably work. Naturally, these assumptions were very wrong.
I’ve returned to Clojure after some time using other tools, so I’m late to the party regarding learning and experimenting with Spec. The first order of business was to build some specs for data I’m receiving from an external system in JSON format. Given that it was my first real experience with Spec, and I […]
I recently found myself needing to return early from a block passed into a method in Ruby. Although the way to do this is fairly simple and obvious in hindsight, it seemed to surprise some of my Ruby-enthusiast colleagues. I decided to write this post in the hopes that it’s interesting to others.
Although I was an early adopter of client-side web applications, it’s hard to fully divorce yourself from all the tradeoffs that go into a system you’ve built when analyzing a single aspect. Recently, I’ve been noticing that some of the websites and services that I rely on in my day-to-day life have been rewritten into […]
Besides its intended focus of searching your entire computer, did you know that macOS’s Spotlight search makes it really easy to perform simple arithmetic? Over time, this has actually become one of my favorite things about Spotlight. It’s a hugely convenient handicap for my dyscalculia, always ready and only two keystrokes away. Despite this, if […]
There’s a lot of enthusiasm for typed languages these days, now that languages with good type systems are closer to the mainstream. I’ve even seen some people go so far as to suggest that the future of programming involves typed languages, and dynamic languages are on their way out.