Skip to content

Instantly share code, notes, and snippets.

View eloytoro's full-sized avatar

Eloy Toro eloytoro

  • Datadog
  • Barcelona
View GitHub Profile

Para lograr ejecute pruebas funcionales hay que configurar el server de selenium, xvfb, librerias necesarias para el headless browser y los reporters de jasmine que trabajan sin X11.

##Instalacion

  • node 0.10+ y protractor en tu server. sudo npm install protractor -g
  • xvfb sudo apt-get install xvfb
  • Librerias de x11 para los browsers sudo apt-get install x11-xkb-utils xfonts-100dpi xfonts-75dpi
  • sudo apt-get install xfonts-scalable xserver-xorg-core
  • sudo apt-get install dbus-x11
  • sudo apt-get install libfontconfig1-dev
var router = require(/* definir un nombre unico */ 'koa-router'),
mongoose = require('mongoose'),
User = mongoose.model('User'),
Report = mongoose.model('Report'),
// home seria el router que parte desde el url '/'
home = router(),
users = home.route('/users'),
reports = home.route(
// no se si sea buena idea incluir el '/' al comienzo del regex
/\/(reports|users\/:user\/reports)/
.service('Modal', function (ModalTemplate, $timeout, $q) {
this.confirm = new ModalTemplate({
templateUrl: 'views/modals/confirm.html',
});
var self = this;
this.newPoll = new ModalTemplate({
templateUrl: 'views/modals/new-poll.html',
containerUrl: 'views/directives/modal-template.html',
var gulp = require('gulp'),
browserSync = require('browser-sync'),
sass = require('gulp-sass'),
reload = browserSync.reload,
bower = require('gulp-bower'),
naturalsort = require('gulp-natural-sort'),
filesort = require('gulp-angular-filesort'),
inject = require('gulp-inject'),
merge = require('merge-stream'),
watch = require('gulp-watch'),
/**
* WordCounter.js
* a command-line tool by eloytoro
*
* How to use:
*
* $ node word-counter.js <dir>
* - Count the word occurrences among all the files within the given directory directory.
* - It will split the task between 3 workers, each of which could run completely standalone
* by communicating to the main server using TCP sockets if it exposes its address publicly
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6+FotqdBGdky4u3pTAtFWPiQZlMb+hi3b7/ZlvMhugPHD0aLymu2JCZdznS9KaW6I6JtjG2YQ/s/Nhg88BlXwMBUb4iUvdpe3XvY5eHxkoHCTquwcLvX+3JLZg4+Mnqd4spa9ley3npScKEnUuIhPb+E7IxP9RfaCXJ+2VbdDktnXl8Y0PMeP5aPMXGR5kETaPIjdYGuCvMNliWLV+Oj4UmdRfmByD0zKEAraCMMcEt8mX3W5VFj+UC9yboLIp7/qvpr6A9KTpGehBrzXrfeL0nVpXEUv43gU071FKlikvZbE8WQE6lqMjtDZLsUerGORvXkGJnhcCczdozppUz01 etf@samantha
@eloytoro
eloytoro / webpack.config.js
Created December 18, 2016 23:24
Compile HTML so everything's inlined
const fs = require('fs');
const HtmlPlugin = require('html-webpack-plugin');
const path = require('path')
// webpack.config.js
module.exports = {
output: {
path: './build', // This is where images AND js will go
publicPath: '/',
filename: '[name].html'
import React, { Component, PropTypes } from 'react';
import { findDOMNode } from 'react-dom';
import { Layout } from 'app/components/base/Layout';
import classnames from 'classnames';
import style from './style.css';
const nextFrame = window.requestAnimationFrame || (cb => setTimeout(cb, 0));
class Drawer extends Component {
state = {
let s:closed_tag_regexp = '<\/\(\w\|\.\)\+>'
let s:tag_name_regexp = '<\(\w\|\.\|:\)\+'
let s:tag_regexp = s:tag_name_regexp.'\(\s\+[^>]\+\s*\)*'
function! ExpandSnippetOrCarriageReturn()
let snippet = UltiSnips#ExpandSnippetOrJump()
if g:ulti_expand_or_jump_res > 0
return snippet
else
let col = col('.') - 1
if col && strpart(getline('.'), col) =~ '^'.s:closed_tag_regexp
@eloytoro
eloytoro / quicksort.rs
Created July 8, 2017 14:23
most trivial implementation of quick_sort I could come up with
fn main() {
let mut arr = vec![
8,
4,
1,
10,
0,
3,
4,
3,