Skip to content

Instantly share code, notes, and snippets.

View clemlatz's full-sized avatar

Clément Latzarus clemlatz

View GitHub Profile
Moved to: https://github.com/iwazaru/cheatsheets/blob/master/git.md
function parse_git_dirty {
[[ $(git status 2> /dev/null | tail -n1) != "nothing to commit, working tree clean" ]] && echo "*"
}
function parse_git_stash {
[[ $(git stash list 2> /dev/null | tail -n1) != "" ]] && echo "^"
}
function parse_git_branch {
git branch --no-color 2> /dev/null | sed -e '/^[^*]/d' -e "s/* \(.*\)/\1$(parse_git_dirty)$(parse_git_stash)/"
}
PS1='\[\e[0;33m\]${HOSTNAME}\[\e[m\] \W \[\e[0;36m\]$(parse_git_branch)\[\e[m\] $ '
@clemlatz
clemlatz / install.sh
Last active February 16, 2016 14:39
Installing capybara-webkit on Debian wheezy
# Add capybara-webkit to Gemfile in :test group
# https://github.com/thoughtbot/capybara-webkit#usage
bundle install
# If bundle install fails, manual install
sudo apt-get update
sudo apt-get upgrade
# Install liborc (version required by Qt)
# http://forums.debian.net/viewtopic.php?f=6&t=117769
@clemlatz
clemlatz / setup.sh
Last active August 9, 2019 00:00
Set up nginx + letsencrypt ssl on Mac OSX El Capitan
# Install nginx with brew
brew install nginx
# Install PIP
wget https://bootstrap.pypa.io/get-pip.py
python get-pip.py
# Get letsencrypt
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt
@clemlatz
clemlatz / nginx-config.conf
Last active December 23, 2022 10:43
Set up ssl proxy with nginx and letsencrypt (https://secure.example.com => http://example.com)
# SSL server config
server {
listen 443 ssl;
server_name secure.example.com;
ssl_certificate /etc/letsencrypt/live/secure.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/secure.example.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
@clemlatz
clemlatz / self-signed-ssl-certificate.md
Last active April 22, 2024 12:30
Setup a self-signed SSL certificate with Nginx (server and browser)

1. Configure server: Nginx

Create the certificate:

$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt

Create a strong Diffie-Hellman group:

$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
@clemlatz
clemlatz / smooth-scroll.js
Created September 6, 2017 08:56
Simple smooth-scroll animation in pure/vanilla javascript
/**
* Smooth scroll animation
* @param {int} endX: destination x coordinate
* @param {int) endY: destination y coordinate
* @param {int} duration: animation duration in ms
*/
window.smoothScrollTo = function(endX, endY, duration) {
var startX = window.scrollX || window.pageXOffset,
startY = window.scrollY || window.pageYOffset,
distanceX = endX - startX,
@clemlatz
clemlatz / README.md
Last active December 6, 2017 13:59
puma daemon management

Puma daemon management

Install

  1. Save puma.rb file locally (eg. to ~/bin/puma.rb)
  2. Create alias alias p='~/bin/puma.rb in bash.rc

Usage

Start server

@clemlatz
clemlatz / pre-commit-eslint
Last active January 11, 2018 11:20 — forked from linhmtran168/pre-commit-eslint
Pre-commit hook to check for Javascript using ESLint
#!/bin/bash
STAGED_FILES=$(git diff --cached --name-only --diff-filter=ACM | grep ".jsx\{0,1\}$")
if [ "$STAGED_FILES" = "" ]; then
exit 0
fi
PASS=true