Skip to content

Instantly share code, notes, and snippets.

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

Marc Bachmann marcbachmann

🏳️‍🌈
View GitHub Profile
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 / 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.',
@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 / 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 / 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 / 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 / .hyperterm.js
Last active January 10, 2024 06:58
hyperterm config
module.exports = {
config: {
// default font size in pixels for all tabs
fontSize: 12.5,
// font family with optional fallbacks
fontFamily: '"Meslo LG S for Powerline", Menlo, "DejaVu Sans Mono", "Lucida Console", monospace',
// terminal cursor background color (hex)
cursorColor: 'rgba(255,255,255,.4)',

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 / 0-backfill-changelog-on-github-releases.js
Last active February 4, 2016 10:20
Migrate CHANGELOG.md to github releases
var fs = require('fs')
var _ = require('lodash')
var async = require('async')
var GitHubApi = require('github')
// Token from your settings page on github
var token = 'YOURGITHUBTOKEN'
// Repository to migrate
var owner = 'upfrontIO'
@marcbachmann
marcbachmann / assert-npm-version.js
Created January 4, 2016 09:34
A npm version check that doesn't have any dependencies
#!/usr/bin/env node
// Embed semver module to make this script completely independent
// minified semver@5.1.0
// https://github.com/npm/node-semver
var semver={};!function(r){function e(r,e){if(r instanceof i)return r;if("string"!=typeof r)return null;if(r.length>L)return null;var t=e?F[pr]:F[ar];if(!t.test(r))return null;try{return new i(r,e)}catch(n){return null}}function t(r,t){var n=e(r,t);return n?n.version:null}function n(r,t){var n=e(r.trim().replace(/^[=v]+/,""),t);return n?n.version:null}function i(r,e){if(r instanceof i){if(r.loose===e)return r;r=r.version}else if("string"!=typeof r)throw new TypeError("Invalid Version: "+r);if(r.length>L)throw new TypeError("version is longer than "+L+" characters");if(!(this instanceof i))return new i(r,e);B("SemVer",r,e),this.loose=e;var t=r.trim().match(e?F[pr]:F[ar]);if(!t)throw new TypeError("Invalid Version: "+r);if(this.raw=r,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>U||this.major<0)throw new TypeError("Invalid major version");if(this.m