14 pages tagged with "clojure"
Clojure Performace and the Billion Row Challenge
January 21, 2024 - 1228 words - 7 mins
I recently discovered The One Billion Row Challenge and thought i'd give it a shot using Clojure. TLDR: the solution I ended up with is ~41% faster than the Java baseline provided by the challenge.
The problem is described as:
Write a Java program for retrieving temperature measurement values from …
read more
Pong in ClojureScript
April 23, 2022 - 125 words - 1 mins
Click to start!
I'm working predominantly with Clojure at work these days, but I wanted to spend some time with ClojureScript, so I figured making a pong clone would be a fun weekend project.
Every time the ball hits a paddle it increases in speed and it's direction is set to a randomized unit v…
read more
Create a Clojure AWS Lambda function in Docker and deployed via AWS SAM
October 17, 2021 - 626 words - 4 mins
In this post I will cover using Clojure to write an AWS Lambda function that will run on a schedule of once per minute. It will be deployed via the AMS SAM CLI tool and use the Docker runtime. The complete code is available at this GitHub repo.
I'll start with a simple Lambda function that just writ…
read more
Creating an Apache Commons Daemon using Component with Clojure
October 29, 2015 - 556 words - 3 mins
Introduction
One way to write a long running server application that runs on the JVM with proper start/stop semantics is to the the Apache Commons Daemon. In this post we'll see how we can do so in Clojure and also use the Component framework to structure our application.
The full source for this po…
read more
Exploring Stack Exchange data with Clojure using Apache Spark and Flambo
July 07, 2015 - 1061 words - 6 mins
Introduction
Apache Spark is a is a fast and general engine for large-scale data processing (as in terabytes or larger data sets), and Flambo is a Clojure DSL for working with Spark. Stack Exchange is a network of question and answer websites with a variety of topics (the most popular one being Stac…
read more
Adventures in Clojure with core.async - Part 2 - Timeouts and Working with Multiple Channels via Parking and alts!
May 27, 2015 - 600 words - 3 mins
Introduction
In part 1 of this series we looked at the basics of core.async via channels and messages.
In part 2 we will explore timeouts and working with multiple channels using examples of calling out to web APIs.
We will be using the example of a web site that wants to display weather informati…
read more
Adventures in Clojure with core.async - Part 1 - Channels and Messages
April 15, 2015 - 877 words - 5 mins
Introduction
In part 1 of this series we will look at the basics of core.async via channels and messages.
In part 2 we explore timeouts and working with multiple channels using examples of calling out to web APIs.
core.async is a Clojure/ClojureScript library to facilitate asynchronous programming…
read more
Writing a Kafka Producer and High Level Consumer in Clojure
January 14, 2015 - 438 words - 3 mins
Introduction
Kafka is a platform for handling real-time data feeds. In some ways it is like a database that exposes semantics of a messaging system.
The Kafka documentation provides an excellent overview which I have provided an extract from:
Kafka is a distributed, partitioned, replicated commit lo…
read more
Running a Dockerized Clojure Web App on CoreOS
December 06, 2014 - 1233 words - 7 mins
Introduction
In the previous post we created a Clojure web service and ran it in a Docker container. Here we will deploy that container on a 3 node CoreOS cluster running in Vagrant on a local development machine.
CoreOS
CoreOS is a minimal version of Linux meant for large scale server deployments.
…
read more
Dockerizing a Clojure, Compojure, and HTTP Kit Web Application
November 29, 2014 - 400 words - 2 mins
Docker is "an open platform for developers and sysadmins to build, ship, and run distributed applications. With Docker, developers can build any app in any language using any toolchain. Dockerized apps are completely portable and can run anywhere - colleagues’ OS X and Windows laptops, QA servers ru…
read more
Clojure on the BeagleBone part 4 - Digital Input with ClojureScript
October 23, 2014 - 619 words - 4 mins
Intro
In part 1 of this series we saw how to install Java and Leiningen on a BeagleBone.
In part 2 we used the BeagleBone to blink an LED on a breadboard using Clojure.
In part 3 we blinked an LED using ClojureScript.
In part 4 we read digital inputs via polling and interrupts.
The BeagleBone is a…
read more
Clojure on the BeagleBone part 3 - Blinking an LED with ClojureScript
July 14, 2014 - 476 words - 3 mins
Intro
In part 1 of this series we saw how to install Java and Leiningen on a BeagleBone.
In part 2 we used the BeagleBone to blink an LED on a breadboard using Clojure.
In part 3 we will blink an LED using ClojureScript.
In part 4 we will read digital inputs via polling and interrupts.
The BeagleB…
read more
Clojure on the BeagleBone part 2 - Blinking an LED with Clojure
May 25, 2014 - 329 words - 2 mins
Intro
In part 1 of this series we saw how to install Java and Leiningen on a BeagleBone.
In part 2 we use the BeagleBone to blink an LED on a breadboard using Clojure.
In part 3 we will blink an LED using ClojureScript.
In part 4 we will read digital inputs via polling and interrupts.
This is insp…
read more
Clojure on the BeagleBone part 1 - Installing Java, Leiningen, and Emacs 24
May 24, 2014 - 353 words - 2 mins
Intro
In part 1 of this series we see how to install Java and Leiningen on a BeagleBone.
In part 2 we use the BeagleBone to blink an LED on a breadboard using Clojure.
In part 3 we will blink an LED using ClojureScript.
In part 4 we will read digital inputs via polling and interrupts.
The BeagleBo…
read more