Skip to content

Instantly share code, notes, and snippets.

@speier
speier / rubicon.coffee
Created September 8, 2011 08:18
Simple HTTP proxy for our node.js development environment
#!/usr/bin/env ./node_modules/coffee-script/bin/coffee
sys = require 'sys'
express = require 'express'
assets = require 'connect-assets'
proxy = require 'http-proxy'
server = proxy.createServer (req, res, proxy) ->
if req.url.match /^\/?api/
backend =
@speier
speier / JS Util solution using underscore.js
Created September 8, 2011 21:14 — forked from HenrikJoreteg/JS Util solution using underscore.js
Rather than creating some other util global, just extend underscore.js with any additional methods you want.
// If you don't use underscore.js, use it (http://documentcloud.github.com/underscore/)
// Then, use underscore's mixin method to extend it with all your other utility methods
// like so:
_.mixin({
escapeHtml: function () {
return this.replace(/&/g,'&')
.replace(/>/g,'>')
.replace(/</g,'&lt;')
.replace(/"/g,'&quot;')
.replace(/'/g,'&#39;');
@speier
speier / package.json
Created April 11, 2012 14:14
Basic npm package for Meteor
{
"name": "Meteor",
"version": "0.3.2",
"description": "A new way to build apps.",
"author": "Meteor Development Group",
"homepage": "http://www.meteor.com/",
"repository": {
"url": "https://github.com/meteor/meteor"
},
"dependencies": {
@speier
speier / cssincimages
Created May 4, 2012 14:04
Replace CSS images with inline base64 data
var fs = require('fs');
var path = require('path');
function cssIncImages(cssFile) {
var imgRegex = /url\s?\(['"]?(.*?)(?=['"]?\))/gi;
var css = fs.readFileSync(cssFile, 'utf-8');
while (match = imgRegex.exec(css)) {
var imgPath = path.join(path.dirname(cssFile), match[1]);
try {
var img = fs.readFileSync(imgPath, 'base64');
@speier
speier / ReportService.cs
Created August 30, 2012 10:51
ServiceStack MQ mockup
[Auth]
public class ReportService : RestServiceBase<Report>
{
public IReportRepository Repository { get; set; }
public override object OnGet(Report request)
{
using (var producer = MessageFactory.CreateMessageProducer())
{
producer.Publish(request);
@speier
speier / api.js
Created September 14, 2012 20:07 — forked from fwielstra/api.js
An example NodeJS / Mongoose / Express application based on their respective tutorials
/* The API controller
Exports 3 methods:
* post - Creates a new thread
* list - Returns a list of threads
* show - Displays a thread and its posts
*/
var Thread = require('../models/thread.js');
var Post = require('../models/post.js');
@speier
speier / app.js
Created October 2, 2012 11:34 — forked from pixelhandler/app.js
Develop a RESTful API Using Node.js With Express and Mongoose - See: http://pixelhandler.com/blog/2012/02/09/develop-a-restful-api-using-node-js-with-express-and-mongoose/
var application_root = __dirname,
express = require("express"),
path = require("path"),
mongoose = require('mongoose');
var app = express.createServer();
// database
mongoose.connect('mongodb://localhost/ecomm_database');
@speier
speier / Program.cs
Created December 13, 2012 15:54
The first term in the Fibonacci sequence to contain 2012 digits.
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Numerics;
namespace ConsoleApplication4
{
class Program
{
@speier
speier / gist:5964332
Created July 10, 2013 08:04
List systemd symbolic links on Archlinux:
ls -la /etc/systemd/system/multi-user.target.wants/
@speier
speier / 1. on the server
Last active December 19, 2015 13:49
experimenting with git powered deployment
01. `apt-get install git`
02. `adduser git`
03. `visudo` add `git ALL=(ALL:ALL) NOPASSWD: ALL` to user privilege specification
04. `login git`
05. `ssh-keygen -t rsa`
06. `mkdir project`
07. `mkdir project.git`
08. `cd project.git`
09. `git init --bare`
10. `cd hooks`