Skip to content

Instantly share code, notes, and snippets.

View bdelespierre's full-sized avatar
🚩
Working from home

Benjamin Delespierre bdelespierre

🚩
Working from home
View GitHub Profile
#!/bin/bash
mkdir /tmp/adodefont
cd /tmp/adodefont
wget https://github.com/adobe-fonts/source-code-pro/archive/2.010R-ro/1.030R-it.zip
unzip 1.030R-it.zip
mkdir -p ~/.fonts
cp source-code-pro-2.010R-ro-1.030R-it/OTF/*.otf ~/.fonts/
fc-cache -f -v
@bdelespierre
bdelespierre / konami.js
Created September 30, 2016 14:24
just for fun
(function(w) {
var konami = [38,38,40,40,37,39,37,39,66,65], n = -1;
w.addEventListener('keyup', function(event){
(n = event.keyCode == konami[n+1] ? n+1 : -1) == konami.length-1 && w.dispatchEvent(new Event('konami'));
});
w.konami = function(callback) {
w.addEventListener('konami', callback);
}
@bdelespierre
bdelespierre / hatchshow.js
Last active August 4, 2017 19:47 — forked from charliepark/hatchshow.js
A jquery typography plugin.
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript" charset="utf-8">
$(function(){
$('.hsjs').hatchShow();
});
(function($){
jQuery.fn.hatchShow = function(){
return $(this).css({
display: 'inline-block',
@bdelespierre
bdelespierre / PHP New Features CheatSheet.md
Last active July 5, 2017 14:26
A brief history of PHP features

PHP New Features CheatSheet

The neatest PHP cheatsheet around. Trust me, I'm a random Gist from GitHub :octocat:

Auteur original: Christine Morlet, CSP
Traduit de l'anglais par: Benjamin Delespierre
Article original: 6 conseils pour une communication assertive

Qu'est ce que la communication assertive ?

La communication assertive est la capacité d'exprimer des idées et des sentiments tant négatifs que positifs de façon ouverte, honnête et directe. Elle reconnait nos droits tout en respectant les droits des autres.

Elle nous permet de nous responsabiliser nous-même ainsi que nos actions sans juger ou blamer d'autres personnes. Et elle nous permet de nous confronter constructivement et de trouver une solution mutuellement satisfaisante là ou les les conflits existent.

https://www.toptal.com/javascript/interview-questions


Q: Quel est le piège potentiel d'utiliser typeof bar === "object" pour déterminer si bar est un objet ? Comment ce piège peut être évité ?

A: En JavaScript tout est objet y compris NULL ce qui peut poser problème si on teste de cette façon. Pour contourner le problème on peut faire

(bar !== null) && (typeof bar === "object") && (toString.call(bar) !== "[object Array]")
<?php
namespace Addworking\JobOffers;
class LaravelDeveloper extends JobOffer
{
use Concerns\IsAwesome, Concerns\IsStartup, Concerns\IsDisruptive;
protected $fillable = [
'firstname', 'lastname', 'email',
@bdelespierre
bdelespierre / array_cartesian_product.php
Created February 8, 2018 13:22
Array cartesian product
<?php
function array_cartesian_product(...$items): array
{
if (empty($items)) {
return [];
}
if (count($items) == 1) {
foreach ((array) $items[0] as $value) {
// ==UserScript==
// @name WorkflowyStylableTags
// @description Gives each tag it's own css style, so you can style them with Stylish. I use Blank Canvas to manage my userscripts in Chrome.
// @author Nigel Thorne and LukeMT and bdelespierre
// @include http*://*workflowy.com/*
// @version 1.2
// ==/UserScript==
var customClasses = function(index, old){
return old.split(" ").filter(str => str.match(/-proj$/)).join(" ");
<?php
// ----------------------------------------------------------------------------
// $argc: nombre d'argument de la commande
// ----------------------------------------------------------------------------
// e.g. pour la commande 'php file.php foo bar baz',
// $argc vaut 3
// car il y a 3 arguments: "foo", "bar", et "baz"
var_dump($argc);