Skip to content

Instantly share code, notes, and snippets.

View davidklassen's full-sized avatar

David Klassen davidklassen

  • Thailand, Phuket
View GitHub Profile
@davidklassen
davidklassen / app.js
Created October 26, 2012 11:10
Express server for static files
var express = require('express')
, app = express()
, port = 3000
, staticPath = '/../sources'
app.use(express.favicon())
app.use(express.static(__dirname + staticPath))
app.listen(port, function () {
console.log('Listening on port ', port)
@davidklassen
davidklassen / maybe.js
Created June 1, 2013 14:27
Maybe monad implemented in javascript
function Maybe(value) {
this.value = value;
}
Maybe.Nothing = {};
Maybe.pull = function (value) {
return new Maybe(value);
}
// exception.js
var ObjectId = require('mongojs').ObjectId
, id = '000000000000000000000000';
for (var i = 0; i < 1000000; i++) {
try {
var _id = ObjectId(id);
} catch (e) {
//
<% layout('../layout') -%>
<h2>This is the home page</h2>
<p><b>Message from contoller:</b> <%= message %></p>
var express = require('express');
var ejs = require('ejs-locals');
var app = express();
app.engine('ejs', ejs);
app.set('views', __dirname + '/views');
app.set('view engine', 'ejs');
require(__dirname + '/router')(app);
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Node.js sample application</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width">
<link rel="stylesheet" href="/css/bootstrap.min.css">
<link rel="stylesheet" href="/css/social-buttons.css">
html {
overflow-y: scroll;
}
body {
padding-top: 60px;
font-size: 13px;
}
section {
reader = fn (source) {
// fetch data from somewhere e.g. http server and emit result
this.emit('some data')
}
parser = fn (data) {
// parse and validate data and emit result
this.emit(parsedData)
}
@davidklassen
davidklassen / gist:6d44e4f9017071421706
Last active August 29, 2015 14:15
Handle all DOM events
// chrome
Object.keys(document)
.filter(function (i) {
return i.substring(0,2) == 'on' && (document[i] == null || typeof document[i] == 'function');
})
.map(function (e) {
return e.slice(2);
})
.forEach(function (eventName) {
document.addEventListener(eventName, function (event) {

Development environment with golang and docker

Install git

https://git-scm.com/downloads

Make sure that git binary is in your PATH environment variable.

Install golang