Quantcast
Channel: Spootnik.org
Browsing all 35 articles
Browse latest View live

Solving Nginx logging in 60 lines of Haskell

Nginx is well-known for only logging to files and being unable to log to syslog out of the box. There are a few ways around this, one that is often proposed is creating named pipes (or FIFOs) before...

View Article


Real-time Twitter trending on a budget with riemann

I recently stumbled upon this article http://www.michael-noll.com/blog/2013/01/18/implementing-real-time-trending-topics-in-storm/ by Michael Noll which explains a strategy for computing twitter...

View Article


Poor man's dependency injection in Clojure

When writing daemons in clojure which need configuration, you often find yourself in a situation where you want to provide users with a way of overriding or extending some parts of the application....

View Article

Beyond SSL client cert authentication: authorization

In a previous article, I tried to make the case for using a private certificate authority to authenticate access to internal tools with SSL client certificates. This approach is perfect to secure...

View Article

Why were there gotos in apple software in the first place?

A recent vulnerability in iOS and Mac OS can boils down to a double goto resulting in making critical ssl verification code unreachable. hashOut.data = hashes + SSL_MD5_DIGEST_LEN; hashOut.length =...

View Article


Diving into the Python Pickle formatt

pickle is python’s serialization format, able to freeze data, as long as all leaves in class hierarchies are storeable. pickle falls into the category of formats that I’m not a huge fan of. Like all...

View Article

Easy clojure logging set-up with logconfig

*TL;DR*: I love clojure.tools.logging, but setting JVM logging up can be a bit frustrating, I wrote logconfig to help. When I started clojure development (about 5 years ago now), I was new to the JVM...

View Article

From Angular.JS to Om: A walk-through

A while back we did a small introductory talk on angular.js with @brutasse. Our talk was aimed at backend developers looking for a solution to build simple interfaces for REST services. The app used...

View Article


Heads up for Clojure library writers

Clojure 1.7 is around the corner, we’re already at version 1.7.0-alpha3. Fortunately, the iterative approach of clojure taken since 1.3 means that upgrading from one version to the next usually only...

View Article


Playing with Clojure core interfaces

One of Alan Perlis’ famous quote is It is better to have 100 functions operate on one data structure than 10 functions on 10 data structures. In a recent talk about reducers (available here), Rich...

View Article

PID tracking in modern init systems

Wherever your init daemon preference may go to, if you’re involved in writing daemons you’re currently faced with the following options: Start your software in the foreground and let something handle...

View Article

Image may be NSFW.
Clik here to view.

Simple materialized views in Kafka and Clojure

A hands-on dive into Apache Kafka to build a scalable and fault-tolerant persistence layer. With its most recent release, Apache Kafka introduced a couple of interesting changes, not least of which is...

View Article

Image may be NSFW.
Clik here to view.

Hands on Kafka: Dynamic DNS

I recently wrote about kafka log compaction and the use cases it allows. The article focused on simple key-value storage and did not address going beyond this. In practice, values associated with keys...

View Article


Building an atomic database with clojure

Atoms provide a way to hold onto a value in clojure and perform thread-safe transitions on that value. In a world of immutability, they are the closest equivalent to other languages’ notion of...

View Article

An adventure with clocks, component, and clojure.spec

I have long parted with my initial, lacking approach to component handling in Clojure. I now rely on Stuart Sierra’s component library for this. In this short post, I want to showcase how this library...

View Article

Browsing all 35 articles
Browse latest View live