Skip to content

Instantly share code, notes, and snippets.

View marcbachmann's full-sized avatar
🏳️‍🌈

Marc Bachmann marcbachmann

🏳️‍🌈
View GitHub Profile
@marcbachmann
marcbachmann / delete-multiple-github-tags.sh
Last active March 4, 2016 17:22
Delete all semver remote tags
T=$(git tag -l | grep -v '^[0-9\.]*$') \
&& git tag -d $(echo $T) \
&& for i in $(echo $T); do git push origin :refs/tags/$i; done

Keybase proof

I hereby claim:

  • I am marcbachmann on github.
  • I am marcbachmann (https://keybase.io/marcbachmann) on keybase.
  • I have a public key whose fingerprint is C88E A2F7 009D 8512 AB43 F0E6 0018 84E1 4410 67E1

To claim this, I am signing this object:

@marcbachmann
marcbachmann / pino-as-json-benchmark.js
Last active August 16, 2016 09:39
Pino.prototype.asJson benchmarks
'use strict'
var bench = require('fastbench')
var fs = require('fs')
var dest = fs.createWriteStream('/dev/null')
var plog = require('../pino')(dest)
var plogMaster = require('../pino-master')(dest)
var twoKeyObject = {foo: 'bar', bar: 'foo'}
var threeKeyObject = {foo: 'bar', bar: 'foo', qux: 'quz'}
@marcbachmann
marcbachmann / knex-update-stream.js
Created September 13, 2016 16:47
Knex update stream
var stream = require('stream')
var util = require('util')
module.exports = UpdateStream
util.inherits(UpdateStream, stream.Writable)
function UpdateStream (trx, tableName, transformMethod) {
stream.Writable.call(this, {objectMode: true})
this.trx = trx
this.tableName = tableName
@marcbachmann
marcbachmann / in_memory_repository.js
Last active December 5, 2016 18:47
In memory eventsourcing repository
var util = require('util')
var EventEmitter = require('events').EventEmitter
var _ = require('lodash')
var Aggregate = require('eventsourced-object')
function InMemoryRepository (Model) {
this.eventCount = 0
this._Model = Model
}
@marcbachmann
marcbachmann / README.md
Last active December 10, 2016 11:30
Bench function vs bind vs new Object

Node 6.9.1

NANOBENCH version 1

# benchFunction
  end ~220 ms (0 s + 219586469 ns)
# benchBind
  end ~3.19 s (3 s + 186017098 ns)
# benchObject
 end ~90 ms (0 s + 89620728 ns)
@marcbachmann
marcbachmann / change-semantic-release-props.js
Created December 15, 2016 11:11
Semantic release - change release & publishConfig in package.json
var fs = require('fs')
var jp = require('jsonpointer')
var tag = process.env.TAG
var branch = process.env.BRANCH
if (!tag || !branch) {
console.error([
'Error: BRANCH and TAG environment variables are required.',
var async = require('async')
var ms = require('ms')
var _ = require('lodash')
var config = require('./config')
var Docker = require('dockerode')
var docker = new Docker(config.docker)
var api
api =
module.exports = {
@marcbachmann
marcbachmann / syslog-ng.conf
Created November 21, 2017 00:39
syslog-ng
@version: 3.12
options {
chain_hostnames(0);
time_reopen(10);
time_reap(360);
log_fifo_size(2048);
create_dirs(yes);
group(adm);
perm(0640);
@marcbachmann
marcbachmann / Dockerfile
Created November 21, 2017 01:03
syslog-ng Dockerfile
FROM multiarch/alpine:x86_64-v3.6 as syslog-ng
ENV VERSION=3.12.1
RUN apk --no-cache add ca-certificates glib pcre eventlog libressl json-c && \
apk add --no-cache --virtual .build-deps alpine-sdk wget build-base glib-static glib-dev eventlog-dev pcre-dev libressl-dev python2-dev json-c-dev && \
wget -O "/tmp/syslog-ng-$VERSION.tar.gz" "https://github.com/balabit/syslog-ng/releases/download/syslog-ng-$VERSION/syslog-ng-$VERSION.tar.gz" && \
cd /tmp && \
tar zxfv "syslog-ng-$VERSION.tar.gz" && \
cd "syslog-ng-$VERSION"