Skip to content

Instantly share code, notes, and snippets.

@jstejada
jstejada / fragments.js
Last active February 11, 2019 06:45 — forked from bcherny/fragments.js
/*
Nice things about this approach:
- No need to expose $refs to users. Just use regular IDs instead.
- No need for double-composition (just compose React components, not queries).
- Composition becomes less magical (since we're passing regular IDs around).
- Collapse Query and Fragment concepts into Query.
- Take advantage of existing template strings to pass in query variables.
@jstejada
jstejada / itp.clj
Created March 13, 2016 21:42
Interpolate macro in clojure
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; (itp "Fooo #{x} #{bar}")
; (str "Foooo" x " " bar)
(require '[clojure.string :as str])
(defn make-result
[re string]
(let
@jstejada
jstejada / lisper.js
Last active October 13, 2015 21:12
tiny lisp interpreter
let env = {
'+': (...args)=> args.reduce((mem, cur)=> mem + cur),
'*': (...args)=> args.reduce((mem, cur)=> mem * cur),
'-': (...args)=> args.reduce((mem, cur)=> mem - cur),
'/': (...args)=> args.reduce((mem, cur)=> mem / cur),
};
function tokenize(expr) {
return expr.replace(/\(|\)/g, ' $& ').trim().split(/\s+/);
@jstejada
jstejada / ColorPicker.coffee
Last active October 7, 2015 00:08
ColorPicker react component
React = require 'React'
R = React.DOM
ColorPicker = React.createClass(
render: ->
R.a
className: "pla-color-picker collapsed"
href: "##{@props.colorPaletteId}"
@jstejada
jstejada / HashTable.js
Created March 19, 2015 01:07
Hash Table in javascript
function _hash(key, size) {
key = key.toString();
var hash = 5381;
for(var i in key){
var c = key[i];
hash = ((hash << 5) + hash) + c.charCodeAt(0); /* hash * 33 + c */
}
return hash % size;
}
@jstejada
jstejada / charmap.coffee
Created November 30, 2014 06:20
char map for accented chars
charMap:
'á': normal: 'a', regexp: new RegExp('[á]', 'gi')
'é': normal: 'e', regexp: new RegExp('[é]', 'gi')
'í': normal: 'i', regexp: new RegExp('[í]', 'gi')
'ó': normal: 'o', regexp: new RegExp('[ó]', 'gi')
'ú': normal: 'u', regexp: new RegExp('[ú]', 'gi')
'Á': normal: 'A', regexp: new RegExp('[Á]', 'gi')
'É': normal: 'E', regexp: new RegExp('[É]', 'gi')
'Í': normal: 'I', regexp: new RegExp('[Í]', 'gi')
'Ó': normal: 'O', regexp: new RegExp('[Ó]', 'gi')
@jstejada
jstejada / fails.spec.coffee
Last active August 29, 2015 14:10
Testing handlers for events with TestUtils.Simulate failing
React = require 'react/addons'
TestUtils = React.addons.TestUtils
# Component
Comp = React.createClass(
handleSubmit: (e)->
@props.handleSubmit()
handleInputChange: (e)->
@jstejada
jstejada / Gruntfile.coffee
Created October 16, 2014 03:25
Example Gruntfile with coffee, mocha, browserify
serverRootUri = "http://127.0.0.1:8000"
mochaPhantomJsTestRunner = serverRootUri + "/browser/test/index.html"
module.exports = (grunt) ->
grunt.initConfig
pkg: grunt.file.readJSON("package.json")
coffeelint:
gruntfile:
src: '<%= watch.gruntfile.files %>'
@jstejada
jstejada / mongoid_initializer.rb
Created September 11, 2014 18:33
I did this with Mongoid
# Monkeypatching BSON::Object
module BSON
class ObjectId
# These aliases override default JSON representation of an ObjectId
# Spits a string id '540f51de6d61632c74020000', instead of
# { "$oid": '540f51de6d61632c74020000' }
alias :to_json :to_s
alias :as_json :to_s
end
end
@jstejada
jstejada / keybase.md
Created May 7, 2014 17:09
keybase proof

Keybase proof

I hereby claim:

  • I am jstejada on github.
  • I am jstejada (https://keybase.io/jstejada) on keybase.
  • I have a public key whose fingerprint is 7CEC C04A BE26 D6FE 5603 6D8A 1639 4B5A F841 1902

To claim this, I am signing this object: