Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View mfo's full-sized avatar
💭
part time available for intersting projects

mfo mfo

💭
part time available for intersting projects
View GitHub Profile
myapp.mymodule = do ->
privateStuff = myPrivateVarOrMethod
publicReturnedObject =
publicProperty: undefined,
publicMethod: ->
console.log 'do something'
myFunc = (param1, params2) -> console.log 'okok'; return;
//when it will be "compiled", i will look like as :
myFunc = function() { console.log('okok');
@mfo
mfo / webdiff.rb
Created April 25, 2012 22:37
simple command line utility to create diff image of two URL.
#!/usr/bin/env ruby
# usage in the real life:
# when you want to compare changes between your development version and a production version :
# webdiff http://sharypic.com http://sharypic-dev.com:3000
#
# into the wild:
# create a 'test suite' of your full website :-) [i'll parse my sitemap.xml]
require 'fileutils'
@mfo
mfo / mongo.sh
Created April 28, 2012 19:29
mongo utilities
# dropdb from console
$> mongo --eval "db.dropDatabase();" databasename
# restore a db from a backup
$> mongorestore -vvv sharypic_development
# run mongo console
$> mongo
# a few usefull command on mongo cli
@mfo
mfo / async_trackr_for_3rd_party_dev.js.coffee
Created August 18, 2012 11:52
Async GA trackr for 3rd party Analytics
# it's an IIFE (Immediately-Invoked Function Expression) expeting jQuery as argument
(($) ->
# by default, i'm expecting window.sharypic declared as a namespace to declare a new class
class window.sharypic.WidgetTrackr
# should be called one time, and inserting / creating [or not], a new GA trackr
constructor: -> @insert()
# insert the google tracking code inside the webpage
insert: ->
window._gaq = window._gaq || [];
@mfo
mfo / embedded_javascript.html
Created August 18, 2012 21:28
example of embedded JS
<div class="sharypic_widget" data-sharypic-uid='4sacwgos3b8s8w46' style='height: 240px; width: 320px;'/>
<script language='javascript'>
(function(){var a=document.createElement("script");a.type="text/javascript";a.async=true;a.src="http://js.sharypic.com/widget-loader-1.0.js";var b=document.getElementsByTagName("script")[0];b.parentNode.insertBefore(a,b)})()
</script>
@mfo
mfo / heroku-forward-with-ssl.md
Last active December 11, 2015 03:48
Example of heroku-forward with SSL support for your development environment

create SSL certificates for thin / heroku-forward

# create an SSL folder for your environment.
mkdir -p ~/.ssl/development/
cd ~/.ssl/development/

# create private key / certificate for your app 
# /!\ remember to define the expected common name for you development hostname [if your using localhost, use localhost. If you are using a custom domain, use it]
openssl genrsa -out my_app_key.pem 1024 
@mfo
mfo / coolline.rb
Last active December 14, 2015 07:19
When using pry-cooline (https://github.com/pry/pry-coolline), enable to suspend the REPL by hitting C-z. Use `fg` to bring it back to the front
# $HOME/.config/coolline/coolline.rb, see https://github.com/Mon-Ouie/coolline#configuration
Coolline.bind "\C-z" do |cool|
`kill -s TSTP #{Process.pid}`
end
@mfo
mfo / looking_for_ideas.rb
Created April 5, 2013 11:07
Looking for an idea for a graceful way to DRY repetition regarding the error rescuing...
class Api::CollectionsController < ApplicationController
def update
@collection = Collection.where(pname: params[:id], event_id: @event.id).first
@collection.assign_to(@event, params[:collection])
@status = @collection.save! ? "ok" : "ko"
render status: 200
rescue Exception => e
@status = "ArgumentError"
@error = @collection.errors.keys
@mfo
mfo / build.sh
Last active April 30, 2016 08:12
zopfli on snap-ci
# make zopfli
pushd .
git clone https://github.com/google/zopfli.git zopfli-build && cd zopfli-build && make
export PATH="$PATH:$(pwd)"
popd
# after assets precompile, zopfli all of them [nproc/sysctl -n hw.ncpu for compat btw centos & macox]
find public/assets | grep -E '.*\.(css|js)$' | xargs -P $(if [ $(which nproc) ]; then nproc; else sysctl -n hw.ncpu; fi;) zopfli