Skip to content

Instantly share code, notes, and snippets.

View jrydberg's full-sized avatar

Johan Rydberg jrydberg

View GitHub Profile
/*
File Setup.jsx v3
Copyright (C) 2017, 2018 Johan Rydberg. All Rights Reserved.
A Photoshop Script to automate the file setup described in
"Commercial Retouching Workflow with Sef McCullough" from RGG EDU.
It expects you to have paths set up for your parts. If one of the paths is
called "SILO" then that will be used as group mask for all other masks.
@jrydberg
jrydberg / branches.json
Last active August 29, 2015 14:01 — forked from mbostock/.block
[[(1397612319, 21), (1397621859, 23), (1397658009, 25), (1397659201, 27), (1397661879, 68), (1397665377, 70), (1397668892, 74), (1397688176, 81), (1397702320, 88), (1397772427, 95), (1397774079, 102), (1397769414, 143), (1397839220, 151), (1397855248, 177), (1397856181, 180), (1397864504, 182), (1397877663, 223), (1397946910, 225), (1397947620, 228), (1397958176, 230), (1397959410, 235), (1398018506, 237), (1398073253, 240), (1398085809, 242), (1398086110, 244), (1398090918, 246), (1398092760, 248), (1398094918, 250), (1398095011, 253), (1398095602, 258), (1398095635, 260), (1398097942, 266), (1398098907, 268), (1398098944, 270), (1398098966, 272), (1398100299, 275), (1398102287, 279), (1398102521, 283), (1398128458, 292), (1398133646, 301), (1398145646, 304), (1397926906, 306), (1398174254, 308), (1398194460, 330), (1398189786, 331), (1398251626, 333), (1398259979, 335), (1398263918, 344), (1398605864, 360), (1399434187, 362), (1400093588, 0)], [(1398887197, 1), (1398890026, 113), (1398890893, 114), (1398958
@jrydberg
jrydberg / gist:5527599
Created May 6, 2013 19:42
Introducing Gilliam

This is a short introduction post about Gilliam, a platform for micro services architecture systems.

Gilliam draws a lot of inspiration from Heroku. The idea is that Gilliam should be to your service ecosystem what Heroku is to your web apps.

@jrydberg
jrydberg / README.md
Last active March 18, 2017 14:51
Scalable Monitoring using Riemann

Riemann is a quite simple but powerful monitoring system. In its core it is an event processing framework allowing a user to handle an incoming event stream. Events are small objects that originate from a host, that has a service and metric value associated with it. Events may also have tags and a free text description. This simple data structure enables an application transmit both exception tracebacks and application metric data using the same mechanism.

Riemann has a few problems though. First, it is a single-machine application, only allowing vertical scaling. Secondly, there's no redundancy or availability solution. In this post we'll try to address the first issue.

@jrydberg
jrydberg / supervisor.py
Created November 14, 2012 17:28
simple gevent supervisor
class UnhandledExceptionError(Exception):
"""The exception could not be handled by the supervisor."""
class SupervisorKilledError(Exception):
"""The supervisor was killed."""
class SupervisorAbortedError(Exception):
"""The supervisor gave up after maximum number of failures."""
@jrydberg
jrydberg / seq.py
Created November 13, 2012 07:05
Functional-programming style sequences.
"""Functional-programming style sequences."""
import itertools
import functools
import operator as op
class Blank(object):
def __init__(self, pos=None):
self.pos = pos
@jrydberg
jrydberg / clock.py
Created April 18, 2012 08:50
clock abstraction for gevent
# Copyright 2012 Johan Rydberg.
# Copyright 2001-2008 Twisted Matrix Laboratories.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
@jrydberg
jrydberg / example.py
Created April 6, 2012 11:34
watchdog for gevent greenlets
# Small snippet that shows how to put a watchdog around a greenlet.
# When the watchdog is triggered, a stacktrace of the greenlet is
# printed.
import gevent
import traceback
import sys
def a(a=10):
@jrydberg
jrydberg / kafka.spec
Created March 16, 2012 21:26
RPM .spec for Apache Kafka
%define _noarch_libdir /usr/lib
%define rel_ver 0.7.0
Summary: A high-throughput distributed messaging system.
Name: kafka
Version: %{rel_ver}
Release: 1
License: Apache License v2.0
Group: Applications/Databases
@jrydberg
jrydberg / defer.coffee
Created May 3, 2011 18:52
Twisted-style Deferreds in CoffeeScript
exports.AlreadyCalledError = class AlreadyCalledError
exports.Failure = class Failure
constructor: (@error) ->
check: (errorType) ->
if @error instanceof errorType
@error
else
null