(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
# lets say this is the response we receive | |
response = { | |
"results" => { | |
"total_count" => 15, | |
"per_page" => 100, | |
"companies" => [ | |
{ | |
"company" => { | |
"name" => "Foo Bar Ltd", | |
"registered_address" => { ... }, |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
Never ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever ever eve
# Video of it in action: http://cl.ly/VSIF | |
class MyScene < SKScene | |
def scroll_action(x, duration) | |
width = (x * 2) | |
move = SKAction.moveByX(-width, y: 0, duration: duration * width) | |
reset = SKAction.moveByX(width, y: 0, duration: 0) | |
SKAction.repeatActionForever(SKAction.sequence([move, reset])) | |
end |
# There was a day where I have too many color schemes in iTerm2 and I want to remove them all. | |
# iTerm2 doesn't have "bulk remove" and it was literally painful to delete them one-by-one. | |
# iTerm2 save it's preference in ~/Library/Preferences/com.googlecode.iterm2.plist in a binary format | |
# What you need to do is basically copy that somewhere, convert to xml and remove color schemes in the xml files. | |
$ cd /tmp/ | |
$ cp ~/Library/Preferences/com.googlecode.iterm2.plist . | |
$ plutil -convert xml1 com.googlecode.iterm2.plist | |
$ vi com.googlecode.iterm2.plist |
var gulp = require('gulp'); | |
var gutil = require('gulp-util'); | |
var notify = require('gulp-notify'); | |
var sass = require('gulp-ruby-sass'); | |
var autoprefix = require('gulp-autoprefixer'); | |
var minifyCSS = require('gulp-minify-css') | |
var coffee = require('gulp-coffee'); | |
var exec = require('child_process').exec; | |
var sys = require('sys'); |
#!/bin/bash | |
# All credits for @santiycr, the original author | |
# Setup and start Sauce Connect for your TravisCI build | |
# This script requires your .travis.yml to include the following two private env variables: | |
# SAUCE_USERNAME | |
# SAUCE_ACCESS_KEY | |
# Follow the steps at https://saucelabs.com/opensource/travis to set that up. | |
# |
Teacup::Stylesheet.new :main do | |
style :my_style, | |
constraints: [ | |
constrain_left(0), | |
constrain_width(100), | |
constrain_top(0), | |
constrain(:bottom).equals(:superview, :bottom), | |
] | |
end |
class NSObject | |
def method_missing(meth, *args) | |
obj_c_meth = meth.split('_').inject([]){ |buffer,e| buffer.push(buffer.empty? ? e : e.capitalize) }.join | |
if respond_to?(obj_c_meth) | |
send obj_c_meth, *args | |
else | |
raise NoMethodError.new(meth.to_s) | |
end | |
end | |
end |