Skip to content

Instantly share code, notes, and snippets.

View m1m1s1ku's full-sized avatar
🌀

Léonard. m1m1s1ku

🌀
View GitHub Profile
@m1m1s1ku
m1m1s1ku / grid.js
Created January 26, 2019 23:19
The grid polymer3
import * as Polymer from '@polymer/polymer';
import * as Settings from '@polymer/polymer/lib/utils/settings';
import { GestureEventListeners } from '@polymer/polymer/lib/mixins/gesture-event-listeners.js';
export default class TheGrid extends GestureEventListeners(Polymer.PolymerElement) {
static get is() { return 'the-grid'; }
static get template(){
return Polymer.html`
@m1m1s1ku
m1m1s1ku / bbmedia.js
Created November 24, 2018 08:13
bbmedia
// BB [media] v1.69 [2016-05-22] (C) 2014 Evgeny Vrublevsky, http://phpbbex.com/
// Licensed under CC BY-NC-ND, http://creativecommons.org/licenses/by-nc-nd/3.0/
(function(k,m,b){var a="media";var c="audio";var r="video";if(k.bbmediajs!==b){return}bbmediajs=true;var l=function(t,e,s){if(data=t.match(new RegExp("[?&]"+e+"=([^?&#]*)",""))){return decodeURIComponent(data[1])}else{return(s===b)?null:s}};var n=function(t,v,e,s){s=jQuery.extend({frameborder:"0"},s);var u='<iframe style="vertical-align: bottom; width: '+v+"px; height: "+e+'px;" width="'+v+'" height="'+e+'" src="'+t+'" webkitallowfullscreen mozallowfullscreen allowfullscreen';jQuery.each(s,function(w,x){u+=" "+w+'="'+x+'"'});return u+"></iframe>"};var h=function(u,w,e,t){t=jQuery.extend({allowscriptaccess:"never",allowfullscreen:"true",ignorewheel:false},t);var v=' width="'+w+'" height="'+e+'"'+(t.ignorewheel?' ignorewheel="1"':"");var x='<object style="vertical-align: bottom;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"'+v+'><param name="m
@m1m1s1ku
m1m1s1ku / konami.ts
Last active June 10, 2018 22:06
Konami RXJS 6
let keyDowns$: Observable<Event | string> = fromEvent(document, 'keyup');
keyDowns$ = keyDowns$.pipe(
map((event: KeyboardEvent) => event.code),
bufferCount(10, 1),
map(codes => codes.join(',')),
filter(codes => codes === "ArrowUp,ArrowUp,ArrowDown,ArrowDown,ArrowLeft,ArrowRight,ArrowLeft,ArrowRight,KeyB,KeyQ")
)
keyDowns$.subscribe(() => {
this.setState({admin: !this.state.admin, item: null});
@m1m1s1ku
m1m1s1ku / filler.ts
Last active May 23, 2018 19:25
flatten form fields hummus (formFiller new gen)
// tslint:disable:interface-name
import * as hummus from 'hummus';
import * as fs from 'fs';
import * as path from 'path';
import logger from '../helper/logger';
import * as util from 'util';
const writeFile = util.promisify(fs.writeFile);
const unlink = util.promisify(fs.unlink);
@m1m1s1ku
m1m1s1ku / shairport-sync-rpi.md
Last active April 29, 2018 01:25
Shairport-sync on Raspberry Pi

Shairport-sync on RPI

Shairport-sync allow to use the Raspberry Pi (Model A, B) as an AirPlay Audio gateway.

It's a wonderful option to add AirPlay on an old amplifier for example !

  • Install Raspbian latest on a SD Card
  • Boot
  • sudo raspi-config
    • Next > Localisation + Wi-Fi + SSH (if needed)
@m1m1s1ku
m1m1s1ku / konamiRx.js
Created February 10, 2018 10:10
Konami code using rx
Rx.Observable.fromEvent(document.body, 'keyup')
.map((event) => event.keyCode)
.bufferCount(7)
.subscribe((buffer) => {
const keymap = [ 77,73,82,65,78,68,65 ];
const cond = buffer.every((v,i)=> v === keymap[i])
if(cond){
const dialog = this.shadowRoot.querySelector('#debug');
dialog.open();
@m1m1s1ku
m1m1s1ku / deploy.js
Last active December 26, 2017 16:59
NodeDeploy
/**
- Config sample :
{
"login": "xxx",
"password": "xxx",
"port": 22,
"host": "miaow.com",
"currentMask": "/var/www/*",
"dest": "/var/www/",
"build": "build/es5-bundled"
@m1m1s1ku
m1m1s1ku / imageproxyPhpBB.php
Last active August 26, 2017 13:07
Bulk change every (http posts) + (avatar / signature of phpbb users) by the same with https ! Thanks to https://developer.hootsuite.com/v1.0/docs/https-image-proxy
<?php
$imageProxy = "https://d1r1anxoiubeog.cloudfront.net/";
$dbname = "";
$user = "";
$pass = "";
$dsn = "mysql:host=localhost;dbname=".$dbname;
$usersToChange = getEveryUserWithHttpAvatar($pdo, $imageProxy);
$countUsers = count($usersToChange);
/**
* Get current user IP (in callback)
* @param {string} callback
*/
function getIp(callback){
var url = 'https://api.ipify.org/';
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(){
if(this.readyState === XMLHttpRequest.DONE)
if(this.status === 200)
@m1m1s1ku
m1m1s1ku / logBeauty.js
Last active July 25, 2017 01:41
Debug beautifully (log function pure js)
/**
* log(anything);
* Shorter
*/
log = function(){
return Function.prototype.bind.call(console.log, console, "🛠️");
}();
/**
* Debug beautifully