Skip to content

Instantly share code, notes, and snippets.

View salimane's full-sized avatar

Salimane Adjao Moustapha salimane

  • Agbara Mimo, Ajili Africa, Meltwater
  • Africa, Benin, Rwanda, Ghana, Kenya, China
View GitHub Profile
@salimane
salimane / Equity.md
Created July 7, 2012 09:23 — forked from isaacsanders/Equity.md
Joel Spolsky on Equity for Startups

This is a post by Joel Spolsky. The original post is linked at the bottom.

This is such a common question here and elsewhere that I will attempt to write the world's most canonical answer to this question. Hopefully in the future when someone on answers.onstartups asks how to split up the ownership of their new company, you can simply point to this answer.

The most important principle: Fairness, and the perception of fairness, is much more valuable than owning a large stake. Almost everything that can go wrong in a startup will go wrong, and one of the biggest things that can go wrong is huge, angry, shouting matches between the founders as to who worked harder, who owns more, whose idea was it anyway, etc. That is why I would always rather split a new company 50-50 with a friend than insist on owning 60% because "it was my idea," or because "I was more experienced" or anything else. Why? Because if I split the company 60-40, the company is going to fail when we argue ourselves to death. And if you ju

#!/usr/bin/env ruby
#------------------------------------------------------------------------------
# Aggregate Print useful information from /proc/[pid]/smaps
#
# pss - Roughly the amount of memory that is "really" being used by the pid
# swap - Amount of swap this process is currently using
#
# Reference:
# http://www.mjmwired.net/kernel/Documentation/filesystems/proc.txt#361

Unicorn memory usage improvement with Ruby 2.0.0

Here's a preliminary experiment to see how much memory is saved with the new copy-on-write friendly (bitmap marking) GC.

Calculated by memstats.rb https://gist.github.com/kenn/5105061 on Debian x86_64.

Master process:

# ./memstats.rb 20547
@salimane
salimane / gist:8958411
Last active August 29, 2015 13:56
ruby slow regex match
salimane at Salimanes-MacBook-Pro in ~
⚛ ruby --version
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin13.0]
salimane at Salimanes-MacBook-Pro in ~
⚛ cat regex.rb
regex = %r{^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$}
link = "https://www.facebook.com/DUSA.ve?ref=stream"
puts link =~ regex
#!/usr/bin/ruby
# Create display override file to force Mac OS X to use RGB mode for Display
# see http://embdev.net/topic/284710
require 'base64'
data=`ioreg -l -d0 -w 0 -r -c AppleDisplay`
edids=data.scan(/IODisplayEDID.*?<([a-z0-9]+)>/i).flatten
vendorids=data.scan(/DisplayVendorID.*?([0-9]+)/i).flatten
@salimane
salimane / hack.sh
Last active August 29, 2015 14:10 — forked from erikh/hack.sh
#!/usr/bin/env sh
##
# This is script with usefull tips taken from:
# https://github.com/mathiasbynens/dotfiles/blob/master/.osx
#
# install it:
# curl -sL https://raw.github.com/gist/2108403/hack.sh | sh
#
@salimane
salimane / db_convert_to_utf8mb4.rake
Last active August 29, 2015 14:12
Convert any MySQL 5.5.3+ database into real utf8 (utf8mb4) in Rails - RUN=1 rake db:convert_to_utf8mb4
# The tables that should be ignored
IGNORED_TABLES = %w()
# The tables should have their charset changed,
# but with no asociated AR model, thus columns will not be modified
TABLES_WITHOUT_MODELS = %w(
oauth_access_grants
oauth_access_tokens
oauth_applications
schema_migrations
)
sudo wget http://repos.fedorapeople.org/repos/dchen/apache-maven/epel-apache-maven.repo -O /etc/yum.repos.d/epel-apache-maven.repo
sudo sed -i s/\$releasever/6/g /etc/yum.repos.d/epel-apache-maven.repo
sudo yum install -y apache-maven
mvn --version
#!/bin/bash
# installs to /opt/gradle
# existing versions are not overwritten/deleted
# seamless upgrades/downgrades
# $GRADLE_HOME points to latest *installed* (not released)
gradle_version=2.2.1
mkdir /opt/gradle
wget -N http://services.gradle.org/distributions/gradle-${gradle_version}-all.zip
unzip -oq ./gradle-${gradle_version}-all.zip -d /opt/gradle
ln -sfnv gradle-${gradle_version} /opt/gradle/latest

Keybase proof

I hereby claim:

  • I am salimane on github.
  • I am salimane (https://keybase.io/salimane) on keybase.
  • I have a public key whose fingerprint is 3101 567D 7E8C 85AC 0A9A B1AC 83FE 3620 0A5E EE80

To claim this, I am signing this object: