Skip to content

Instantly share code, notes, and snippets.

View tibotiber's full-sized avatar

Thibaut Tiberghien tibotiber

View GitHub Profile
@tibotiber
tibotiber / n3regex.md
Created August 20, 2014 05:04
Useful N3 regex
qname:          /^([^:\/"']*):([^:\/"']+)$/

exec(...)[0]:   ns:example
exec(...)[1]:   ns
exec(...)[2]:   example
uri:            /^(.*)#(.*)$/
@tibotiber
tibotiber / log2csv.sh
Last active August 29, 2015 14:05
log2csv
#!/bin/sh
echo 'date,fsr1,fsr2,fsr3,fsr4,fsr5,fsr6,fsr7,fsr8,event' > 2014080${1}.csv
grep 'Preparing to post message: {' zigbee-gw2014080${1}.log | sed 's/[^{]*\({.*}\), to.*/\1/' | sed "s/'/\"/g" | sed 's/u"/"/g' | jq '"\(.date),\(.sample.R1),\(.sample.R2),\(.sample.R3),\(.sample.R4),\(\
.sample.R5),\(.sample.R6),\(.sample.R7),\(.sample.R8),\(.value)"' | sed 's/null//g' | sed 's/"//g' >> 2014080${1}.csv
@tibotiber
tibotiber / curriculum.yml
Last active May 4, 2017 16:25
tmuxinator projects
# ~/.tmuxinator/curriculum.yml
name: curriculum
root: ~/Planecq/learnreact/curriculum
# Optional tmux socket
# socket_name: foo
# Runs before everything. Use it to start daemons etc.
# pre: sudo /etc/rc.d/mysqld start
@tibotiber
tibotiber / .travis.yml
Last active October 5, 2016 15:29
Medium post content (8/8/2016)
language: node_js
node_js:
- 4.3.1
env:
global:
- NOKOGIRI_USE_SYSTEM_LIBRARIES=true # speeds up installation of html-proofer
addons:
ssh_known_hosts: webhost.planecq.xyz
branches:
only:
@tibotiber
tibotiber / gulpfile.js
Created October 5, 2016 15:27
Medium post content (8/8/2016)
var exec = require('child_process').exec;
var gulp = require('gulp');
var runSequence = require('run-sequence');
var bootlint = require('gulp-bootlint');
// Validate html, links, etc.
gulp.task('html-proofer', function(done) {
execute('htmlproofer ./index.min.html --check-html --check-favicon --check-external-hash', {}, done);
});
@tibotiber
tibotiber / deploy.sh
Created October 5, 2016 15:28
Medium post content (8/8/2016)
#!/bin/bash
# print outputs and exit on first failure
set -xe
if [ $TRAVIS_BRANCH == "master" ] ; then
# setup ssh agent, git config and remote
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/travis_rsa
@tibotiber
tibotiber / gulpfile.js
Last active October 5, 2016 15:37
Medium post content (5/10/2016)
var path = require('path');
var gulp = require('gulp');
var sass = require('gulp-sass');
var concat = require('gulp-concat');
var sourcemaps = require('gulp-sourcemaps');
var cleanCSS = require('gulp-clean-css');
var uglify = require('gulp-uglify');
var gulpif = require('gulp-if');
var rename = require('gulp-rename');
var htmlmin = require('gulp-htmlmin');
@tibotiber
tibotiber / tooltips-example.js
Last active March 10, 2018 12:24
RD3 medium post content
class Chart extends React.Component {
// ...
componentDidUpdate (prevProps, prevState) {
const stripState = p => _.omit(p, ['hover'])
if (!shallowEqual(stripState(this.state), stripState(prevState))) {
this.renderD3()
}
}
// ...
setHover (hX) {
interface Character {
id: ID!
name: String!
friends: [Character]
appearsIn: [Episode]!
}
type Human implements Character {
id: ID!
name: String!
type DbCharacter {
# interface
id: ID!
name: String!
friends: [Character]
appearsIn: [Episode]!
# custom fields: Human
human_starships: [Starship]
human_totalCredits: Int
#custom fields: Droid