• Composition at a Distance

    I’ve been thinking recently about where design thinking happens in software engineering.

  • Three Paradoxes of AI-assisted Engineering

    I’ve written about three ideas that explain AI’s impact on software engineering better than the Jevons’ Paradox framing that dominates the discourse.

  • Allium v1

    We’ve released v1 of Allium: an LLM-native specification language that sits between prose (where contradictions hide), and code (where intent and accident are indistinguishable).

  • From Specification to Stress Test

    Over the weekend I described the behaviour I wanted from a distributed system and let Claude Code build it.

  • The Gradient of Interesting

    At JUXT, any in-person get-together is an excuse for a tech conference, and our Christmas party is no exception. This year’s venue was the Quantum Untangled exhibition at the Science Gallery London, and it inspired me to share some of the unconventional route that brought me into software engineering: filing cabinets, lightbulbs and an arts degree.

  • The Wrong Question

    There are two grand goals of AI research, and we’re fixated on the wrong one. It’s not whether AI can think, but whether it helps us think better.

  • JUXTCast: Mapping the AI Landscape

    I did a podcast! I recently joined my JUXT colleagues Malcolm Sparks, Joe Littlejohn and Denis Lobanov on JUXTCast to discuss a project I’ve been working on over the past several months: the JUXT AI Radar.

  • Data Science with kixi.stats on Lambda Island

    kixi.stats is the subject of the latest Lambda Island screencast.

  • LDA and Word Clouds in R

    Extracting R’s learned LDA model parameters into word cloud visualisations.

  • Data Science Up and Down the Ladder of Abstraction

    I wrote an article for InfoQ as part of their Getting a Handle on Data Science series.

  • Clojure for Machine Learning

    I gave a talk at London’s Clojure eXchange 2016 on the subject of machine learning in Clojure.

  • Expressive Parallel Analytics with Clojure

    I gave a talk at London’s Clojure eXchange 2015 on the subject of parallel folds using Clojure’s transducers.

  • Published!

    It’s been over a year since I began writing Clojure for Data Science and I’m thrilled to say that the book is finally published. You can pick up a copy from the publisher’s website or from Amazon.

  • Node.js Bowling Scorecard

    Here is an implementation of a linearly recursive bowling scorer following the rules from Wikipedia.

  • Blockbuster: Minecraft Movies

    Taking the current obsession for 3D film to its illogical conclusion. I demonstrate the Redstone Clojure interface to Minecraft via pixels, voxels, obsolete image formats and coloured wool.

  • Turtle Rosettes

    An introduction to Python for new programmers.

  • Redstone

    Redstone is a Clojure interface to Minecraft: Pi Edition.

  • Clojure School

    My company Likely hosted a Clojure School for four weeks from 12th November 2013. Targeted at professional software developers, it aimed to teach the fundamentals of the Clojure programming language in a practical way.

  • ClojureScript and Three.js

    I gave a talk at the London Clojurians Skills Matter meetup November 2013 on combining ClojureScript and Three.js to create a multiplayer game of Snake over WebSockets.

  • Biscuit

    Biscuit is a Clojure library for creating message digest(ive)s. The digest algorithms implemented in biscuit are all variations of CRCs and are designed to verify the integrity of messages sent over noisy channels.

  • Likely Awarded a Dreamy

    I’m thrilled to report that Likely has been awarded a Dreamy (Technology) for our contribution to Big Data analytics. Last night I was proud to represent the team as I collected the award on stage with my co-founder Daniel Shore. Since the awards are pan-industry I was asked to say a few words about contemporary data analytics that would contextualise our work. I’ve included them below for posterity.

  • SSH Agent Forwarding on Snow Leopard

    This post fairly accurately describes the frustration I had authenticating myself with remote services once I had shelled into another machine. For example, trying to connect to a Github private repo from within a Vagrant virtual machine would yield Permission denied (publickey).

  • Chef service resource status

    I use Chef to manage my server configuration. Chef defines abstractions which allow you to be declarative about your setup at a high level (e.g. recipes, nodes, resources…) without getting caught up in precise implementation details.

  • Chef cookbook for Java on Ubuntu

    When Oracle revoked Ubuntu’s partner licence last year, installing Oracle Java on Ubuntu became a hassle. Instead of simply running apt-get or aptitude to grab the packages from Ubuntu’s partner repository, sysadmins either had to migrate to OpenJDK or set up their own private repositories from Oracle’s website. Neither alternative was particularly attractive to me.

  • Cupcake

    Script the Makerbot 3D printer

  • Ducklink

    Ducklink is a ruby gem I created to manipulate URLs according to a set of rules.

henry@henrygarner.com
http://clojuredatascience.com
GitHub, Bluesky, LinkedIn