Skip to content

Instantly share code, notes, and snippets.

Keybase proof

I hereby claim:

  • I am stevenleeg on github.
  • I am stevenleeg (https://keybase.io/stevenleeg) on keybase.
  • I have a public key whose fingerprint is 9016 4BFA 469B 88C7 C101 31A8 63AA 05F3 A2A7 D081

To claim this, I am signing this object:

Error: Cannot find module 'websocket'
at Function.Module._resolveFilename (module.js:338:15)
at Function.Module._load (module.js:280:25)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/srv/http/grooveboat/buoy/groovebuoy.js:1:85)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
@stevenleeg
stevenleeg / natural_time.go
Last active December 29, 2015 06:58
This is pretty much a direct port of Josh Segall's natural time function (http://stackoverflow.com/a/5164027) to Golang.
package utils
import (
"time"
"fmt"
)
func TimeRelativeToNow(in time.Time) string {
diff := time.Since(in)
@stevenleeg
stevenleeg / pie.coffee
Last active March 11, 2023 09:23
A simple d3 pie chart widget for Dashing.
class Dashing.Pie extends Dashing.Widget
@accessor 'value'
onData: (data) ->
@render(data.value)
render: (data) ->
if(!data)
data = @get("value")
if(!data)
var EventEmitter = require('events').EventEmitter;
var redis = require("redis");
var StatManager = function() {
var self = this;
self._data_handlers = [];
self._listeners = {};
self.stats = {};
self.aggregate_interval = undefined;
self.redis = redis.createClient();
@stevenleeg
stevenleeg / meh.js
Last active December 20, 2015 13:39
var MongoClient = require("mongodb").MongoClient;
MongoClient.connect(process.env.MONGO_URI, function(err, db) {
var users = db.collection("users");
var places = db.collection("places");
var one_done = 0;
function checkDone() {
if(one_done == 3) {
db.close();
#!/usr/bin/env coffee
# install dependencies: npm install irc
irc = require 'irc'
server = 'hubbard.freenode.net'
nickServPassword = ''
nick = 'bongbot'
client = new irc.Client server, 'bongbot',
var WebSocketServer = require('websocket').server;
var http = require('http');
var WebsocketExporter = function(stat_manager) {
var self = this;
self.stat_manager = stat_manager;
self.connections = [];
self.server = http.createServer(self.handleServerRequest);
self.server.listen(8080);
@stevenleeg
stevenleeg / audiostreaming.wip.patch
Created July 12, 2013 04:31
WIP: Audio streaming support in Grooveboat.
diff --git a/static/application.js b/static/application.js
index b4dc334..e83086b 100644
--- a/static/application.js
+++ b/static/application.js
@@ -116,16 +116,21 @@ function RoomCtrl($scope, $routeParams, groove, localStorageService) {
$scope.tracks = groove.playlists[groove.activePlaylist];
$scope.files = [];
$scope.tempGravatarEmail = groove.me.gravatar;
-
$scope.currentTrack = null;
@stevenleeg
stevenleeg / threadtest.c
Created May 8, 2013 14:49
Playing with threads
#include <pthread.h>
#include <stdio.h>
void count() {
int i = 0;
for(i = 0; i < 10; i++) {
usleep(1);
printf("Counting: %d\n", i);
}
}