Skip to content

Instantly share code, notes, and snippets.

View etiennemarais's full-sized avatar
🇿🇦
...

Etienne Marais etiennemarais

🇿🇦
...
View GitHub Profile
@etiennemarais
etiennemarais / regex.md
Created April 11, 2016 13:49
Regular expression for handlebars variables, includes, if/else blocks and unescaped variables

Regex

{{[{]?(.*?)[}]?}}

Captures the value of the variable name in a handlebars template

{{> components/templates/email/includes/email-tr-spacer }}
{{# deliveryAddress }}
[alias]
# Git Commit, Add all and Push — in one step.
cap = "!f() { git add .; git commit -m \"$@\"; }; f"
# NEW.
new = "!f() { git cap \"📦 NEW: $@\"; }; f"
# IMPROVE.
imp = "!f() { git cap \"👌 IMPROVE: $@\"; }; f"
# FIX.
fix = "!f() { git cap \"🐛 FIX: $@\"; }; f"
@etiennemarais
etiennemarais / logslaravel.sh
Last active September 17, 2018 11:24 — forked from jakebathman/logslaravel.sh
Tail Laravel logs and filter out the stack traces
tail -f -n 450 laravel*.log \
| grep -i -E \
"^\[\d{4}\-\d{2}\-\d{2} \d{2}:\d{2}:\d{2}\]|Next [\w\W]+?\:" \
--color
@etiennemarais
etiennemarais / .zshrc
Last active July 18, 2018 14:15
Quick alias to remove and clean untagged docker images and stopped containers.
#
# Credit to http://jimhoskins.com/2013/07/27/remove-untagged-docker-images.html
#
# Add this to your bash profile.
#
clean_docker () {
# Remove stopped containers
docker rm $(docker ps -a -q);
# Remove untagged images
@etiennemarais
etiennemarais / gist.sh
Last active October 26, 2017 10:33
Compressing a big folder and wanting progress
sudo su
tar cf - <folder> -P | pv -s $(du -sb <folder> | awk '{print $1}') | gzip > data.tar.gz
# Outputs something like this
# 3.06GiB 0:03:01 [15.8MiB/s] [========> ] 5% ETA 0:57:05
#
# I recently needed to perform a data recovery on a bad migration where I deleted the wrong stuff. I tried to recover data
# from a mysql 5.5 dump to a mysql 5.7 ubuntu 16.04 google cloud box and even though I could edit the data and fix the deleted
# rows in the tables, I coulnd't export it well enough since incompatibilities between 5.5 and 5.7 :(
@etiennemarais
etiennemarais / adding better timeout for composer
Last active September 27, 2017 11:09
Notes about advanced composer
COMPOSER_TIMEOUT=600 php -d memory_limit=2G path/to/composer.phar $@
@etiennemarais
etiennemarais / example.php
Last active October 27, 2016 12:16
Gets the rows from a csv file in laravel
<?php
/*
* Gets the rows from a csv file in laravel. via https://github.com/johnmarkmassey :+1:
*/
$rows = array_map('str_getcsv', file(app_path('database/migrations/test_data.csv')));
var_dump($rows);
{
"status": 200,
"data": {
"km_per_liter": 10.79,
"liters_per_hundred_km": 9.27,
"total_trip_km": 355
}
}
@etiennemarais
etiennemarais / example.php
Last active April 11, 2016 14:12
Collapses a multidimensional array into a simpler array that has the key as the nested dot notation along with it's value.
<?php
/**
* Link to original answer http://stackoverflow.com/a/10424516/461712 by http://stackoverflow.com/users/249538/goat
*/
class ArrUtils {
/**
* @param $array
* @return array
@etiennemarais
etiennemarais / templateExample.php
Created April 11, 2016 14:06
Gets all the variables from a .mustache template file with it's nested includes variables.
<?php
class Helper
{
/**
* Finds all mustache template tokens ex:
* {{> components/templates/email/includes/email-tr-spacer-thin }}
* {{# deliveryAddress }}
* {{^ deliveryAddress }}
* {{{ deliveryAddressReadable }}}
* {{ deliveryAddressReadable }}