Skip to content

Instantly share code, notes, and snippets.

Avatar
:octocat:
open sourcing when not too busy

Adrien Gibrat adriengibrat

:octocat:
open sourcing when not too busy
View GitHub Profile
@sergey-shpak
sergey-shpak / lens.js
Last active May 25, 2019
Hyperapp V2 actions state lens
View lens.js
/*
This is variation of `squirrel` and `namespace` approaches
https://gist.github.com/zaceno/0d7c62be81a845857e755c1378b7dbff
https://gist.github.com/sergey-shpak/5817bf146cb970bc4e259aef71b89ef4
Simplifies Hyperapp#v2 actions work with deeply nested state
(updated to support returned actions, parameterized actions)
Usage examples:
@branneman
branneman / fp-lenses.js
Last active Feb 25, 2020
JavaScript: Lenses (Functional Programming)
View fp-lenses.js
// FP Lenses
const lens = get => set => ({ get, set });
const view = lens => obj => lens.get(obj);
const set = lens => val => obj => lens.set(val)(obj);
const over = lens => fn => obj => set(lens)(fn(view(lens)(obj)))(obj);
const lensProp = key => lens(prop(key))(assoc(key));
@adriengibrat
adriengibrat / messageformat.js
Last active Jul 20, 2016
messageformat with format & debug
View messageformat.js
var mf = (function () {
'use strict';
function warn () {
/* eslint no-console: off, prefer-spread: off */
console.warn.apply(console, arguments)
}
function error (message) {
/* eslint no-var: off */
@adriengibrat
adriengibrat / uuid.js
Created Jul 5, 2016
simple uuid generator for evergreen browsers
View uuid.js
// see https://tools.ietf.org/html/rfc4122#section-4.4
function uuid () {
var seeds = random(12)
// inspired by https://github.com/broofa/node-uuid/blob/v2.0.0/uuid.js#L362
seeds[5] = (seeds[5] & 0x0fff) | 0x4000 // version bits
seeds[7] = (seeds[7] & 0x3fff) | 0x8000 // clock_seq_hi_and_reserved bits
return 'xx-x-x-x-xxx'.replace(/x/g, function (x, index) { return hex(seeds[index]) })
function random (n) { // get n random 16-bit unsigned integers
@adriengibrat
adriengibrat / plural.js
Last active May 30, 2017
simple CLDR plural rules parser
View plural.js
#!/usr/bin/env node
/**
* plural.js simple CLDR plural rules parser
* https://gist.github.com/adriengibrat/817140a89cfd4893b4155a2ac913904d
*
* This program is free software. It comes without any warranty.
* Released under the WTFPL license http://www.wtfpl.net
*
* Usage:
@ericclemmons
ericclemmons / example.md
Last active Nov 19, 2020
HTML5 <details> in GitHub
View example.md

Using <details> in GitHub

Suppose you're opening an issue and there's a lot noisey logs that may be useful.

Rather than wrecking readability, wrap it in a <details> tag!

<details>
 <summary>Summary Goes Here</summary>
@robwormald
robwormald / app.ts
Last active May 29, 2016
angular2 + rx + ts
View app.ts
import {Component, View, bootstrap, CORE_DIRECTIVES, ON_PUSH, LifecycleEvent, ElementRef} from 'angular2/angular2';
import {NgFormModel, NgControl,FormBuilder, FORM_BINDINGS, FORM_DIRECTIVES} from 'angular2/forms'
import {RxPipe} from './rxPipe'
import {Observable} from 'rx.all'
@Component({
selector: 'hello',
lifecycle: ON_PUSH
})
@padraic
padraic / checksslcontext.php
Last active Oct 29, 2020
Correct SSL/TLS Context Settings for file_get_contents() and other PHP stream calls under PHP 5.5 (or earlier)
View checksslcontext.php
<?php
ini_set('display_errors', 1);
/**
* This script check how PHP makes HTTPS (SSL/TLS) requests using PHP Streams
* or cURL. Configuration options are passed as GET parameters, for example:
* http://localhost/checksslcontext.php?reconfigure=1
*
* Configuration:
* http://localhost/checksslcontext.php
* Basic PHP Streams using file_get_contents(). Default settings.
View performance.js
/**
* User Timing polyfill (http://www.w3.org/TR/user-timing/)
* @author RubaXa <trash@rubaxa.org>
*/
(function (window){
var
startOffset = Date.now ? Date.now() : +(new Date)
, performance = window.performance || {}
, _entries = []
@joakimbeng
joakimbeng / router.html
Last active Oct 27, 2020
A really simple Javascript router
View router.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Building a router</title>
<script>
// Put John's template engine code here...
(function () {
// A hash to store our routes:
You can’t perform that action at this time.