Blockchains are peak hype nowadays, but your Ethereum wallet can do more than Chuck-E-Cheese tokens and rampant speculation. I’m working hard on releasing a cool demo that takes advantage of these ideas.

In the meantime, I’m releasing a small library for verifying Ethereum signatures, hashes, and key recovery in native Clojure. Now you don’t need a running geth client on your server to validate signatures on payloads.

I’ll be putting it through it’s paces on my next project to deburr. Meanwhile you can checkout the code on my Github.


This morning began with frustration.

My phone recently started a reboot loop. The error specifically was about “Operating System Safety” and how my device was corrupted. Google helpfully links to this information-starved page where I’m told I need to flash my Android.

When you turn on an Android device, it checks the operating system to make sure it’s safe to use. This means the code comes from a trusted source and hasn’t been changed or corrupted.

Uh, if the device is corrupted, how can we trust the corruption detection? However I’ve got bigger problems.

In a beautiful Yak Shaving moment…


In an ongoing effort to document more of the Clojure ecosystem, I’m going to share with you a day’s headache around the Clojurescript build process. Don’t get me wrong! I adore Clojurescript. However it’s Leiningen configuration is opaque and lends to confusion. What’s worse, the mystery is papered over with calls to lein new and we hope for the best!

No more! I shall rescue you. Here’s a bucket. We’ll save the Titanic yet!

For interested parties, I wanted to build a Clojure/Clojurescript portable library. …


This is the last part of a series on Clojure in AWS.

Since last we met, AWS Lambda has matured as a product. It’s tough keeping up with new technologies these days! Luckily at Clojure/West this year, John Chapin has given a great talk about Lambdas. You should give it a watch!

New Direction

It’s this band I’m lis… Oh wait! Wrong topic!

AWS Lambdas are great for many things, especially for AWS services themselves. However it still is as server. A massive spot instance to be sure, but many of the same pitfalls persist. I’ve found I still needed many…


You’re back! That’s great. It’s time to continue our journey deep into AWS. If somebody offers you red or blue pills, just keep walking.

In the last tutorial we hooked up our Prime generator to Dynamo as a bit of a computational cache. But how can we expose our Prime service to the outside world? Lambda’s are private, so we need something to pass events to our Lambda function.

If only there was a service that handled routing, authentication, payload transformation, and could invoke services like Lambda…

As always, the code is in Github.

But first, incidental setup

Before we get started, make sure…


Welcome back! Did you miss me? No? Uh… Brushing that aside, it’s time to continue evolving our Clojure Lambda with DynamoDB! In the last tutorial we set up a basic Lambda that generated prime numbers from a test request. While generating primes is a good exercise, generating every single one per request is silly.

First though, I have to admit this will be shorter than my other introductions because Numergent has a much larger tutorial specifically on DynamoDB with Faraday. It seems silly to cover ground that is already well trod. …


This is part of a series on Clojure in AWS.

In the last part, I introduced the two big services for building Serverless services in AWS; Lambda and API Gateway. Each have their strengths and weaknesses, and they are crucial to building in Serverless services in AWS. Now we will put together a bare-bone service to get our hands dirty.

For this tutorial, I’ll be using the Boot build tool. I personally like programmatic tools. If you enjoy Leiningen, it shouldn’t be much work to port the build.boot configuration into a Lein project.clj file.

A complete version of this can…


Serverless is the hot new buzzword bouncing around the Valley. It seems all the major Cloud providers are offering something or posturing in this new space. But what is behind the curtain? Over the next couple of essays I’ll introduce what I’ve found while exploring The Dark Cloud, in particular AWS, it’s bounties and it’s limitations.

To browse the articles I’ve published, here’s the Table of Contents.

Limitations?!

Of course! You didn’t think this was all sunshine and rainbows, did you? Don’t worry, I’ll show you how to navigate around the more treacherous gotchas.

Before we get started, I’ve made a…

James Leonis

Polyglot developer. Loves Clojure. Loves all things BitTorrent, and super excited about Ethereum.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store