An implementation of Conway's Game of Life in 140 characters of Ruby.
Created by Simon Ernst (@sier).
| #!/usr/bin/env ruby | |
| # the stack | |
| $stack = [] | |
| def pop() $stack.pop || ufe end | |
| def push(f) $stack<<f end | |
| # poor man's Exception class | |
| def ufe() raise("Stack underflow") end | |
| # lambda constructor helpers |
| 80.times{|a|p (0..300).map{|b|x=y=i=0;(x,y,i=x*x-y*y+b/150.0-1.5,2*x*y+a/40.0-1,i+1)until(x*x+y*y>4||i>98);i>98?0:1}*''} |
| FIXME: | |
| WARNING: Nokogiri was built against LibXML version 2.7.3, but has dynamically loaded 2.7.8 | |
| or | |
| libxml_ruby.bundle: dlsym(0x10fde1900, Init_libxml_ruby): symbol not found | |
| gem uninstall nokogiri libxml-ruby | |
| brew update | |
| brew uninstall libxml2 |
| #!/usr/bin/env ruby | |
| # List all keys stored in memcache. | |
| # Credit to Graham King at http://www.darkcoding.net/software/memcached-list-all-keys/ for the original article on how to get the data from memcache in the first place. | |
| require 'net/telnet' | |
| headings = %w(id expires bytes cache_key) | |
| rows = [] |
An implementation of Conway's Game of Life in 140 characters of Ruby.
Created by Simon Ernst (@sier).
| /** | |
| * A proof of concept monkeypatch to make Cloud9 IDE work on a tablet. | |
| * Since i'm an extremely lazy bastard I prepended this snippet directly in package/client/js/apf_release.js | |
| * | |
| * What does it do? | |
| * - It fires a doubleclick for a 2-finger tap | |
| * - It fires a mousewheel up / down event for a 2-finger swipe up / down. | |
| * | |
| * How does it work? | |
| * Prepend the functions below to <cloud9>/package/client/js/apf_release.js, save, load in tablet. |
| ############################################################################ | |
| # A more comprehensive drop-in replacement for Rails' internal link matcher regex | |
| # which I invented from scratch... Oh yeah, Adderall is awesome. | |
| # Takes about 40% longer to run than the stock auto_link regex in our test suite unfortunately :( | |
| # but it accounts for pretty much EVERY linkable URI/URL, and is far more (in my opinion) | |
| # readable and maintainable, due to its use of named groups/tokens. | |
| # References used to build this: | |
| # http://www.faqs.org/rfcs/rfc1738.html | |
| # http://tools.ietf.org/html/rfc3986 | |
| # http://en.wikipedia.org/wiki/URI_scheme << primary ref, was awesome, great diagram |
| #!/bin/sh | |
| ### | |
| # SOME COMMANDS WILL NOT WORK ON macOS (Sierra or newer) | |
| # For Sierra or newer, see https://github.com/mathiasbynens/dotfiles/blob/master/.macos | |
| ### | |
| # Alot of these configs have been taken from the various places | |
| # on the web, most from here | |
| # https://github.com/mathiasbynens/dotfiles/blob/5b3c8418ed42d93af2e647dc9d122f25cc034871/.osx |
This article has been given a more permanent home on my blog. Also, since it was first written, the development of the Promises/A+ specification has made the original emphasis on Promises/A seem somewhat outdated.
Promises are a software abstraction that makes working with asynchronous operations much more pleasant. In the most basic definition, your code will move from continuation-passing style:
getTweetsFor("domenic", function (err, results) {
// the rest of your code goes here.