Zum Hauptinhalt springen
Chris’ wirre Gedankenwelt
  1. Tags/

Blog

Monkey patch a puppet provider

I just wanted to monkey patch the puppet package provider for gentoo portage.

But why?

# puppet resource package

Only shows packages installed by puppet, but not packages installed by hand. The apt/dpkg- and yum/rpm-provider list all packages.

It was not enough to place a lib/puppet/provider/package/portage.rb. In all my tests, the original behavior was kept. I only want to replace one function.

But how?

When registering new type or providers, etc, puppet is doing a bunch of magick in the background. So first, I have to figure out the name of the automagically created class.

redis subscribe to key

Redis has a buildin pubsub mechanism, but by default it is not possible to listen on specific keys. Redis 2.8 intruduced Keyspace Notifications , to which you can subscribe.

First of all. This feature is disabled by default, so we need to enable it

$ redis-cli config set notify-keyspace-events KAE

This little python-script listens on keyspace-Events containing stash:silence/*

#!/usr/bin/env python

import redis

r = redis.StrictRedis()

pubsub = r.pubsub()
pubsub.psubscribe('__keyspace@*:stash:silence/*')
for msg in pubsub.listen():
    print(msg)

Results to:

StackStorm

… WIRES TOGETHER…

EuroPython 2014 - Tag 4

Gestartet bin ich heute mit dem Vortrag The Shogun Machine Learning Toolbox von Heiko Strathmann . Ein Framework zum finden von bekannten Strukturen in Daten. Ein Beispiel ist das Auffinden von HIV in beliebiger DNA. Die Software ist in C++ geschrieben, bietet aber mittels swig Bindings für allerhand Sprachen. Es ist also egal in welcher Sprache man entwickelt, die zugrunde liegenden Algorithmen arbeiten immer gleich schnell. Shogun ist nicht als verteiltes System ausgelegt, sondern darauf auf dem Desktop zu laufen.