Skip to content

Instantly share code, notes, and snippets.

View Gattermeier's full-sized avatar
🪲
developing bugs

Matthias Gattermeier Gattermeier

🪲
developing bugs
  • New York Times @nytimes
  • Planet Earth
View GitHub Profile
@Gattermeier
Gattermeier / Gruntfile.js
Created August 7, 2015 20:54
If you use grunt, you can use the grunt-contrib-watch plugin to watch for file changes and run your tests automagically. Your Gruntfile.js should look something like this.
module.exports = function(grunt) {
grunt.initConfig({
jshint: {
files: [],
},
watch: {
files: ['src/**/*.js'],
tasks: ['jshint']
}
});
@Gattermeier
Gattermeier / config.js
Last active October 3, 2017 11:07
NODE ENV config
// var config = require('./config.js').get(process.env.NODE_ENV);
var config = {
production: {
session: {
key: 'the.express.session.id',
secret: 'something.super.secret'
},
database: 'mongodb://<user>:<pwd>@apollo.modulusmongo.net:27017/db',
twitter: {
@Gattermeier
Gattermeier / 2nodeEvents.js
Created August 24, 2015 02:23
Execute after 2 node events fired.
var listenForBothEventsHandler = (function(){
// save fired events in closure
var firstEventFired = false;
var secondEventFired = false;
// return function - the actual event handler function
return function(event){
if(event === 'first'){
firstEventFired = true;
}
@Gattermeier
Gattermeier / reactiveEventLoop.js
Created October 1, 2015 23:46
Using Node.js EventEmitter and Reactive Programming for a Perpetual Eventloop
var Rx = require('rx'),
EventEmitter = require('events').EventEmitter,
i = 0;
var eventEmitter = new EventEmitter();
var source = Rx.Observable.fromEvent(eventEmitter, 'data')
var subscription = source.subscribe(function(data) {
process.nextTick(function() {
'use strict';
var Rx = require('rx');
var EventEmitter = require('events').EventEmitter;
var inputs = { // defaults
x: -2,
y: 5,
z: -4,
h: 0.001
@Gattermeier
Gattermeier / perka.js
Last active October 8, 2015 16:03
Apply via API
var request = require('request');
var fs = require('fs');
var data = {
first_name: "Matthias",
last_name: "Gattermeier",
email: "matthias.gattermeier@gmail.com",
position_id: "JS",
explanation: "I'm using the npm request module to send the request. Code here in the gist: https://gist.github.com/Gattermeier/c0bcac33df6994813be2",
projects: ["https://github.com/Gattermeier/nodejs-virus", "https://gist.github.com/Gattermeier/8c3f99ddeb75aa995c27", "https://chrome.google.com/webstore/detail/oxidizer/mjfdkgkfbceiiakhblgkcofjfoninggj", "http://www.gattermeier.net"],
@Gattermeier
Gattermeier / node-install-rp2b.sh
Created November 22, 2015 22:52
Install Node.js v5 on Raspberry Pi 2, Model B
wget https://nodejs.org/dist/v5.1.0/node-v5.1.0-linux-armv7l.tar.gz
tar xvf node-v5.1.0-linux-armv7l.tar.gz
echo 'export PATH=$PATH:/$HOME/node-v5.1.0-linux-armv7l/bin' >> ~/.profile
// Cluster
import cluster from 'cluster';
const numCPUs = require('os').cpus().length;
// Hapi
import Hapi from 'hapi';
import hapiReactViews from 'hapi-react-views';
// Load our module configuration
import hapiModuleConfig from './hapi.modules';
class ExternalClass {
constructor(someClassInstance, variable) {
this.someClassInstance = someClassInstance;
this.variable = variable;
}
}
class SomeClass {
constructor() {
@Gattermeier
Gattermeier / tape-react.js
Last active September 15, 2016 08:55
Unit Testing for React with Tape
import React from 'react';
import { createRenderer } from 'react-addons-test-utils';
import createComponent from 'react-unit';
import tape from 'tape';
import addAssertions from 'extend-tape';
import jsxEquals from 'tape-jsx-equals';
const test = addAssertions(tape, {jsxEquals});
// Component to test
import Button from '../components/Button';