Skip to content

Instantly share code, notes, and snippets.

View bermi's full-sized avatar

Bermi Ferrer bermi

View GitHub Profile
@bermi
bermi / os-detection.sh
Created November 21, 2012 16:29
Bash simple operating system detection
#!/bin/bash
os=${OSTYPE//[0-9.-]*/}
case "$os" in
darwin)
echo "I'm a Mac"
;;
msys)
@bermi
bermi / routes.js
Created October 15, 2011 02:20 — forked from tj/routes.js
Express routes
var app = require('../app');
console.log();
app.routes.all().forEach(function(route){
console.log(' \033[90m%s \033[36m%s\033[0m', route.method.toUpperCase(), route.path);
});
console.log();
process.exit();
@bermi
bermi / events.js
Created August 31, 2011 16:16 — forked from noonat/events.js
Rhino event loop
function EventEmitter() {
this._listeners = {};
}
exports.EventEmitter = EventEmitter;
EventEmitter.prototype.listeners = function(event) {
if (!this._listeners[event]) {
this._listeners[event] = [];
}
return this._listeners[event];
@bermi
bermi / MetaObject.php
Created August 31, 2011 12:16 — forked from CHH/MetaObject.php
PHP does Meta Programming too! (Requires PHP 5.4)
<?php
namespace CHH;
trait MetaObject
{
protected static $metaClass;
static function setMetaClass(MetaClass $metaClass)
{
@bermi
bermi / equivalent.js
Created August 24, 2011 01:51 — forked from tj/equivalent.js
example of backbone-style routing with Express
app.get('/help', function(req, res){
res.send('some help');
});
app.search('/search/:query/p:page', function(req, res){
var query = req.params.query
, page = req.params.page;
res.send('search "' + query + '", page ' + (page || 1));
});
@bermi
bermi / AppLogger.class.php
Created January 25, 2011 19:18
symfony app logger for creating name-spaced logs with ease
<?php
class AppLogger
{
protected $fp = null;
public static function log($message, $priority = 'info', $namespace = 'app')
{
if(sfConfig::get('app_loggers_'.$namespace) !== false)
{
@bermi
bermi / gist:776751
Created January 12, 2011 19:47
Show your git or hg branch name on your MacOS prompt by adding this to your ~/.profile
parse_git_branch (){
[`pwd | grep "work|Sites|Projects"` != ""] && git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(git:\1)/'
}
parse_hg_branch() {
[`pwd | grep "work|Sites|Projects"` != ""] && hg branch 2> /dev/null | sed -e 's/\(.*\)/(hg:\1)/'
}
PS1='\[\033[0;33m\]\w\[\033[00m\]\[\033[01;00m\]$(parse_git_branch)$(parse_hg_branch): '
@bermi
bermi / gist:764204
Created January 3, 2011 23:59
dispatchAppServer
public function dispatchAppServer($context) {
$_ENV = $_SERVER = $context['env'];
@parse_str($_ENV['QUERY_STRING'], $_GET);
$_GET['ak'] = $_ENV['PATH_INFO'];
Ak::unsetStaticVar('AkRequestSingleton');
<?php
// Input files to be included in the zip. Should perform sanity check on this
$files_to_package = array('catalog.pdf', '3dview.dwg');
bring_files_locally_from_cloud_files_if_we_dont_have_a_local_cache_of_the_file($files_to_package); // nodoc :), @todo implement
// This file will be deleted once the PHP process ends
$zip_path = tmpfile();
#!/usr/bin/python
import smtplib
import sys
from email.MIMEMultipart import MIMEMultipart
from email.MIMEBase import MIMEBase
from email.MIMEText import MIMEText
from email import Encoders
import os