Skip to content

Instantly share code, notes, and snippets.

@msuarz
msuarz / zip.rb
Last active December 25, 2015 21:19
zip it baby
#ugly
(0..servers.count - 1).each { |i| servers[i][:ip] = ips[i] }
#pretty
servers.each_with_index { |server, i| server[:ip] = ips[i] }
#beautiful
servers.zip(ips) { |server, ip| server[:ip] = ip }
@msuarz
msuarz / before_after.rb
Created October 11, 2013 18:36
pretty code
# before
while @servers.collect { |server| server.done? }.include? false
# after
until servers.all? &:done? do
fs = require 'fs'
process.stdin.resume()
rawData = fs.readSync process.stdin.fd, 100, 0, 'utf8'
@lines = rawData[0].split '\r\n'
@msuarz
msuarz / gist:5062044
Last active December 14, 2015 08:59
wd = require('wd');
browser = wd.remote 'localhost', 9134
products = []
browser.init ->
browser.get "http://www.shopmania.es", ->
browser.elementById 'autocomplete_prod', (err, el)->
browser.clear el, (err)->
browser.type el, '3TL941C', (err)->
@msuarz
msuarz / test.coffee
Created July 11, 2012 18:30
catching exceptions in callbacks
should = require 'should'
describe 'cool', ->
it 'is', (done) -> done()
it 'is not', (done) ->
process.nextTick ->
true.should.be.false
class exports.Login
'when a user logs in': -> true
'it should be greeted': -> true
'when #{user} logs in': (user) -> true
'it should say #{msg}': (msg) -> true
exports.benchmark = (user_options) ->
start user_options
queue = async.queue run, options.workers
queue.drain = finish
queue.push i for i in [1..options.runs]
@msuarz
msuarz / async.coffee
Created April 27, 2012 15:00
async vs step
async.series [
(done) -> fs.writeFile '/tmp/test', 'yay', ->
console.log 'yay!!'
done null
(done) ->
console.log 'hello'
done null
-> console.log 'world'
]
exports.build_multiple_files_engine = (done) ->
add_file 'people_perf_multiple', 'common', files.common, ->
add_file 'people_perf_multiple', 'test', files.test_common, ->
add_file 'people_perf_multiple', 'test1', files.test1, ->
add_file 'people_perf_multiple', 'test2', files.test2, done
@msuarz
msuarz / Calculator.js
Created February 14, 2012 01:55
Calculator
exports.Calculator = (function() {
function Calculator() {}
Calculator.prototype.square = function(x) {
return x * x;
};
return Calculator;