Skip to content

Instantly share code, notes, and snippets.

View hayeah's full-sized avatar
🕳️
Focusing

blah blah hayeah

🕳️
Focusing
View GitHub Profile
@hayeah
hayeah / gist:9757971
Created March 25, 2014 09:22
coffeescript __extend helper for defining subclass
__extends = function(child, parent) {
for (var key in parent) {
if (__hasProp.call(parent, key)) child[key] = parent[key];
}
function ctor() {
// why set the prototype's constructor to child?
this.constructor = child;
}
ctor.prototype = parent.prototype;
child.prototype = new ctor;
@hayeah
hayeah / callback_stack.rb
Last active August 29, 2015 13:57
callback chain ordering
require "active_support/callbacks"
class Foo
include ActiveSupport::Callbacks
define_callbacks :foo
set_callback :foo, :around, :around_1
set_callback :foo, :before, :before_1
set_callback :foo, :after, :after_1
@hayeah
hayeah / gist:9358653
Created March 5, 2014 00:17
ruby method block and yield
# In Ruby, you can always pass a block to a method call.
def foo
end
# Call foo with a block, but foo just ignores the block
foo { puts "doesn't call the block" }
# foo can capture the block
@hayeah
hayeah / events.json
Created February 13, 2014 06:19
github events JSON
[
{
"id": "1978774765",
"type": "PushEvent",
"actor": {
"id": 382747,
"login": "andrepl",
"gravatar_id": "411d2b4791a8de51f98666e93e9f1fde",
"url": "https://api.github.com/users/andrepl",
"avatar_url": "https://gravatar.com/avatar/411d2b4791a8de51f98666e93e9f1fde?d=https%3A%2F%2Fa248.e.akamai.net%2Fassets.github.com%2Fimages%2Fgravatars%2Fgravatar-user-420.png&r=x"
@hayeah
hayeah / -
Created January 20, 2014 03:54
syscalls that return two values? wtf?
pkg/syscall/zsyscall_darwin_386.go:272: r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
pkg/syscall/zsyscall_darwin_386.go:983: r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(offset>>32), uintptr(whence), 0, 0)
pkg/syscall/zsyscall_darwin_386.go:1328: r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)
pkg/syscall/zsyscall_darwin_amd64.go:272: r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
pkg/syscall/zsyscall_darwin_amd64.go:1328: r0, r1, e1 := RawSyscall(SYS_GETTIMEOFDAY, uintptr(unsafe.Pointer(tp)), 0, 0)
pkg/syscall/zsyscall_dragonfly_386.go:262: r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
pkg/syscall/zsyscall_dragonfly_386.go:973: r0, r1, e1 := Syscall6(SYS_LSEEK, uintptr(fd), 0, uintptr(offset), uintptr(offset>>32), uintptr(whence), 0)
pkg/syscall/zsyscall_dragonfly_amd64.go:262: r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
pkg/syscall/zsyscall_freebsd_386.go:262: r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
pkg/syscall/zsyscall_freebsd_386.go:973: r0, r1, e1 :=
@hayeah
hayeah / gist:8204839
Created January 1, 2014 03:43
interesting snippet to get the minified key of an object. from react JS
/**
* Allows extraction of a minified key. Let's the build system minify keys
* without loosing the ability to dynamically use key strings as values
* themselves. Pass in an object with a single key/val pair and it will return
* you the string key of that single record. Suppose you want to grab the
* value for a key 'className' inside of an object. Key/val minification may
* have aliased that key to be 'xa12'. keyOf({className: null}) will return
* 'xa12' in that case. Resolve keys you want to use once at startup time, then
* reuse those resolutions.
*/
@hayeah
hayeah / -
Created November 27, 2013 14:19
What a template might look like
# Creating and Using Regexps
You're reading this because you want to use regular expressions when you code.
So this is probably a good time to tell you how to represent and use regular
expressions in your programs.
The good news is that most languages make it easy to use regular expressions.
The bad news is that each language does it differently.
{{#margin id="babel-tower"}}
{{img "images/iStock_000005187601Large-babel.png"}}
@hayeah
hayeah / gist:7638866
Created November 25, 2013 09:36
80 chars
00000000000000000000000000000000000000000000000000000000000000000000000000000000
11111111111111111111111111111111111111111111111111111111111111111111111111111111
22222222222222222222222222222222222222222222222222222222222222222222222222222222
33333333333333333333333333333333333333333333333333333333333333333333333333333333
44444444444444444444444444444444444444444444444444444444444444444444444444444444
55555555555555555555555555555555555555555555555555555555555555555555555555555555
66666666666666666666666666666666666666666666666666666666666666666666666666666666
77777777777777777777777777777777777777777777777777777777777777777777777777777777
88888888888888888888888888888888888888888888888888888888888888888888888888888888
99999999999999999999999999999999999999999999999999999999999999999999999999999999
@hayeah
hayeah / -
Created November 20, 2013 08:42
ceremony to indent output
<?xml version="1.0"?> <?xml version="1.0"?>
<!-- greeting.xsl --> <!-- greeting.xsl -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/19 | <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/19
<xsl:output method="html"/> | xmlns:redirect="http://xml.apache.org/xalan/redirect"
> extension-element-prefixes="redirect"
> xmlns:xalan="http://xml.apache.org/xslt"
> >
> <xsl:output method="html" indent="yes" xalan:indent-amount=
<xsl:template match="/"> <xsl:template match="/">
deb http://archive.ubuntu.com/ubuntu precise main
deb http://us.archive.ubuntu.com/ubuntu/ precise-updates main restricted
deb http://us.archive.ubuntu.com/ubuntu/ precise universe
deb http://us.archive.ubuntu.com/ubuntu/ precise-updates universe
deb http://security.ubuntu.com/ubuntu precise-security main restricted
deb http://security.ubuntu.com/ubuntu precise-security universe