Skip to content

Instantly share code, notes, and snippets.

View jnsprnw's full-sized avatar
🍊
Making smoothies

Jonas jnsprnw

🍊
Making smoothies
View GitHub Profile
@jnsprnw
jnsprnw / rubyScraper.rb
Last active September 15, 2015 10:37
Ruby Scraper with Nokogiri
#!/usr/bin/env ruby
Dir.chdir(File.dirname(__FILE__))
require 'nokogiri'
require 'open-uri'
require 'csv'
def spielerWerte (url)
puts url
@jnsprnw
jnsprnw / HashToURI.rb
Last active November 12, 2015 00:15
Generate URIs from Hash in Ruby
require "net/https"
# Regular URI
URI::HTTP.build(
:host => "domain.com"
)
# http://domain.com
# Secure URI
URI::HTTPS.build(
@jnsprnw
jnsprnw / resizeThrittle.js
Created December 3, 2015 13:31
Throttle window resize event
import { throttle } from 'lodash';
function addEvent(object, type, callback) {
if (object === null || object === undefined) return;
if (object.addEventListener) {
object.addEventListener(type, callback, false);
} else if (object.attachEvent) {
object.attachEvent('on' + type, callback);
} else {
object['on' + type] = callback;
@jnsprnw
jnsprnw / conditionalString.js
Last active May 2, 2016 12:26
Build a conditional String in JavaScript
var foo = 'Hello'
var bar = 'World'
function clean (str) {
return str.trim().replace(/\s\s+/g, ' ');
}
// With ES6
function buildES6 (foo, bar) {
return clean(`${foo || ''} ${bar || ''}`);
@jnsprnw
jnsprnw / MessageComponent.js
Last active August 8, 2016 15:17
Basic default ES6 React Component
import React, { PropTypes, Component } from 'react';
export default class MessageComponent extends Component {
constructor(props) {
super(props);
// Get list of all functions
// _.each(Object.getOwnPropertyNames(Object.getPrototypeOf(this)), (o) => {
// if(_.indexOf(['constructor', 'render'], o) < 0 && _.isFunction(this[o])) {
// this[o] = this[o].bind(this);
.btn {
background-color: #fad71e;
padding: 10px 40px 12px;
border-radius: 0 0 20px 20px;
font-size: 16px;
text-transform: uppercase;
font-family: Open Sans, sans-serif;
font-weight: 700;
letter-spacing: 0.1em;
position: relative;
@jnsprnw
jnsprnw / OpenRefineAdvancedCross.md
Last active August 21, 2017 18:32
Cross-reference values in OpenRefine based on multiple criteria

Cross-reference values in OpenRefine based on multiple columns

Let’s say you have these two tables:

SourceTable

name type age height
Kant Cat 2 50
Hegel Cat 2 10
Descartes Cat 5 30
Marx Dog 2 50
@jnsprnw
jnsprnw / domainMap.rb
Created November 22, 2016 10:07
map a value from a range to a different domain
class DomainMap
def setDomain(v)
@minV = v[0].to_f
@maxV = v[1].to_f
self
end
def setRange(v)
@minN = v[0].to_f
@maxN = v[1].to_f
@jnsprnw
jnsprnw / domainMap.js
Last active December 14, 2017 10:37
map a value from a range to a different domain
class Scale {
constructor () {
return this
}
domain (v) { // Set input range
this.minD = v[0]
this.maxD = v[1]
return this
}
@jnsprnw
jnsprnw / lineBreak.js
Created November 29, 2016 17:19
Insert a line break at the best postition
function calcStandardDeviation(values){
var avg = calcAverage(values);
var squareDiffs = values.map(function(value){
var diff = value - avg;
var sqrDiff = diff * diff;
return sqrDiff;
});
var avgSquareDiff = calcAverage(squareDiffs);