Skip to content

Instantly share code, notes, and snippets.

View simonjodet's full-sized avatar

Simon Jodet simonjodet

View GitHub Profile
@simonjodet
simonjodet / packager.php
Created June 18, 2011 06:46
Build a PHAR without hidden files
<?php
//Cleaning up any existing phar
if(file_exists('package.phar'))
{
unlink('package.phar');
}
//Where are my application sources
$dir = '../app/';
//Quickly get a recursive folder list
@simonjodet
simonjodet / gist:1471967
Created December 13, 2011 12:28
Check file path doesn't go up too much
path = ".."
rootpath = File.expand_path(".")
realpath = File.expand_path(rootpath + "/" + path)
if realpath == rootpath or realpath.index(rootpath).nil?
puts "You went too far up"
end
@simonjodet
simonjodet / gist:1472043
Created December 13, 2011 12:56
Ruby - Execute a shell command
cmd = 'ls'
stdin, stdout, stderr = Open3.popen3(cmd)
stdout = stdout.readlines.to_s
stderr = stderr.readlines.to_s
@simonjodet
simonjodet / usb_eject.rb
Created December 18, 2011 08:35
Mac OS external drives eject tool
#!/usr/bin/env ruby
# External USB drives eject tool.
# You should install growlnotify to get notifications from http://growl.info/extras.php#growlnotify
# It will eject all USB disks and all mounted images. It will warn you with a red icon if something goes wrong
# It starts from the bottom to the top to tentavily eject the mounted images before the drive they could be on.
#
# Advices:
# - Use Automator to make this script an app
# - Install Better Touch Tool (http://www.boastr.de/) to give it a global shortcut
@simonjodet
simonjodet / .bashrc
Created January 2, 2012 13:52
My Mac .bashrc file
#Colors
export CLICOLOR=1
export LSCOLORS=ExFxCxDxBxegedabagacad
#General aliases
alias la='ls -la'
#Git branch indicator for bash prompt
parse_git_branch ()
{
@simonjodet
simonjodet / gist:1570469
Created January 6, 2012 12:48
Extend TextMate
# Install Project+: http://ciaranwal.sh/projectplus
mkdir -p ~/Library/Application\ Support/TextMate/Bundles
cd !$
svn co http://svn.textmate.org/trunk/Review/Bundles/GetBundles.tmbundle/
osascript -e 'tell app "TextMate" to reload bundles'
@simonjodet
simonjodet / gist:2713959
Created May 16, 2012 21:07
Nginx configuration for pretty URLs in Silex
server
{
listen 80;
server_name website.loc www.website.loc;
access_log /var/log/nginx/website.access_log;
error_log /var/log/nginx/website.error_log;
root /var/www/website.loc/web/;
index index.php;
@simonjodet
simonjodet / Anonymous.php
Created June 4, 2012 08:18
PHP anonymous class
<?php
/**
* This is an helper class to quickly create anonymous classes
* Usage:
* $shellWrapper = new Anonymous();
* $shellWrapper->exec = function($command) use($shellWrapper)
* {
* return exec($command);
* };
* $shellWrapper->exec('ls -la .');
@simonjodet
simonjodet / gist:2988870
Created June 25, 2012 14:10
Blog post-receive hook
git push github master # I have setup a "github" remote on my /var/www/blog_repo/ repository in order to push my commits to github automatically with this line
cd /var/www/blog/ # Change directory to hosted sources
env -i git pull origin master # Pull commits from "origin" remote (/var/www/blog_repo/) into /var/www/blog/
export PATH="/var/lib/gems/1.8/bin/:$PATH" # Make sure gems are available for jekyll
jekyll --no-auto # Generage blog
php search_indexer/search_indexer.php # Update search index
@simonjodet
simonjodet / blog.domain.com
Created June 25, 2012 14:14
Blog Nginx configuration
server
{
listen 80;
server_name blog.domain.com;
location = /50x.html
{
root /var/www/nginx-default;
}
index index.html;