Quantcast
Channel: Spootnik.org
Browsing index pages (70 articles)
↧

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


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


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

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

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


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

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

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


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


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

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

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

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. All...

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 trends...

View Article

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


In defense of immutability

I thought I’d whip together a short blog post as a reaction to Mark Burgess' (@markburgess_osl) keynote at the Cloudstack Collaboration Conference. I thoroughly enjoyed the keynote but was a bit taken...

View Article

Neat Trick: using Puppet as your internal CA

It’s a shame that so many organisations rely on HTTP basic-auth and self-signed certs to secure access to internal tools. Sure enough, it’s quick and easy to deploy, but you get stuck in a world where:...

View Article


Poor man's pattern matching in clojure

A quick tip which helped me out in a few situations. I’d be inclined to point people to core.match for any matching needs, but the fact that it doesn’t play well with clojure’s ahead-of-time (AOT)...

View Article

Using Riemann to monitor python apps

Another quick blog post today to show-case usage of riemann for in-app reporting. This small blurb will push out a metric for each wrap route with the metric name you provide. When handlers raise...

View Article

Map & Territory: A story of visibility

Many thanks to the #devops crew for hosting devops days Paris ! I loved the diversity of the talks, the ignite format is really interesting. What struck me most is how devops is now reaching its...

View Article
Browsing index pages (70 articles)


Latest Images