Skip to content

Instantly share code, notes, and snippets.

💚
love

stagas stagas

💚
love
Block or report user

Report or block stagas

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@stagas
stagas / urlscrape.js
Created Dec 2, 2010
urls from text to array
View urlscrape.js
var str = 'mvo ienroisjer http://bit.ly/sCraPeD apowi oiuo http://foo.com/bar/zoo fapowiep oit'
var regex = new RegExp('(?:(?:(?:https?|ftp|file)://|www\.|ftp\.)[-A-Z0-9+&@#/%?=~_|$!:,.;]*[-A-Z0-9+&@#/%=~_|$]\|((?:mailto:)?[A-Z0-9._%+-]+@[A-Z0-9._%-]+\.[A-Z]{2,4})\\b)|"(?:(?:https?|ftp|file)://|www\.|ftp\.)[^"\r\n]+"?|\'(?:(?:https?|ftp|file)://|www\.|ftp\.)[^\'\r\n]+\'?', 'gi')
, arr = str.match(regex)
console.log(arr)
@stagas
stagas / how-to-run-apache-and-node.js-together-the-right-way.markdown
Created Dec 24, 2010
How to run Apache and Node.js together (the right way)
View how-to-run-apache-and-node.js-together-the-right-way.markdown

Step 1

Get a VPS that offers 2 or more IP addresses.

Step 2

From the WHM cPanel, find the menu item Service Configuration, select Apache Configuration and then click on Reserved IPs Editor.

Step 3

@stagas
stagas / LICENSE.txt
Created May 26, 2011 — forked from 140bytes/LICENSE.txt
Padding for Strings and Numbers
View LICENSE.txt
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2011 George Stagas https://github.com/stagas
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
@stagas
stagas / reexport.js
Created Jan 13, 2013
example passing deps around with exports.
View reexport.js
// common.js
exports.app = require('./app')
exports.db = require('./db')
// app.js
var common = require('./common')
var db = common.db
var app = module.exports = express()
View fork.js
var n = +(process.argv[2] || 10000)
var cp = require('child_process')
var child = cp.fork(__dirname + '/worker.js')
console.log('trying', n, 'messages')
var total = n
child.on('message', function () {
if (!--total) console.log('completed %d roundtrips', n - total)
@stagas
stagas / a.js
Created Mar 17, 2012
test for global leak
View a.js
module.exports = foo = 'hello'
@stagas
stagas / protocol.js
Created Dec 31, 2011 — forked from jfhbrook/protocol.js
Thinking about a human-readable multi-line pubsub api for irc bots...
View protocol.js
var EventEmitter = require('events').EventEmitter,
util = require('util');
// TODO:
// * tags (BEGIN somehashhere\nsomehashhere data)
// * line numbers (begin somehash\nsomehash:12 data)
var Buffer = exports.Buffer = function (o) {
o = o || {};
@stagas
stagas / nextTick-for-browser.js
Created Sep 18, 2011
nextTick implementation for the browser
View nextTick-for-browser.js
// nextTick - by stagas / public domain
var nextTick = (function () {
var queue = [];
var dirty = false;
var fn;
var hasPostMessage = !!window.postMessage;
var messageName = 'nexttick';
var trigger = (function () {
return hasPostMessage
? function trigger () {
@stagas
stagas / memoizenchaos.js
Created Aug 23, 2011
recursive memoize
View memoizenchaos.js
var express = require('express')
, memoize = require('memoize')
, cache = require('chaos')('cache')
, Beatport = require('beatport')
memoize.set('debug', true)
var bp = memoize('beatport-mem', memoize('beatport', Beatport({ perPage: 10, sortBy: 'releaseDate desc' }), {
expire: 1000 * 60 * 60 * 24
, store: cache
View prompt.js
var readline = require('readline')
, rl = readline.createInterface(process.stdin, process.stdout)
function prompt (str, cb) {
rl.setPrompt(str)
rl.prompt()
rl.once('line', cb)
}
prompt('> ', function (str) {
You can’t perform that action at this time.