Skip to content

Instantly share code, notes, and snippets.

View kennystone's full-sized avatar

Kenny Stone kennystone

View GitHub Profile
require 'connamara_api'
require 'serializer/protobuf/protobuf'
require 'pub/activemq/publisher'
include Connamara
## start
config = {'connect_string'=>"tcp://localhost:61616"}
api = ConnamaraAPI.run( config, Connamara::ProtoBuf, Connamara::AMQPublisher )
@kennystone
kennystone / gist:468629
Created July 8, 2010 21:10
champ ruby
conf = {:host=>"127.0.0.1", :port=>2345, :api_info=>{:name=>:ruby_client, :vers=>"ruby-api.0.1"}, :user=>"user", :password=>"password"}
require 'connamara_api'
require 'pub/champ/publisher'
require 'serializer/erlbin/erlang_binary_term'
include Connamara
cp = ConnamaraAPI.run( conf, ErlangBinaryTerm, ChampPub )
cp.subscribe(:Position) {|pos| puts 'pos ' + pos.inspect }
@kennystone
kennystone / gist:805387
Created February 1, 2011 03:47
mongoid datetime resolution less than a second
require 'rubygems'
require "test/unit"
require 'mongoid'
class DT
include Mongoid::Document
field :birthday, :type => DateTime
end
class TestDT < Test::Unit::TestCase
@kennystone
kennystone / gist:810182
Created February 3, 2011 20:57
em/sinatra example
require 'sinatra/base'
require 'eventmachine'
require 'thin'
EventMachine.run do
class Dude < Sinatra::Base
get '/' do
'oh hai'
end
@kennystone
kennystone / gist:1058836
Created July 1, 2011 16:03
js -> comet
api_event(start_comet, _, [ComentID]) ->
wf:comet(fun() -> up_loop() end, CometID);
api_event(send_msg, _, [CometID, Msg]) ->
wf:send(CometID, {msg, Msg}).
up_loop() ->
receive
{msg, Msg} -> error_logger:info_msg("OHAI JAVASCRIPT MSG ~p",[Msg])
end,
@kennystone
kennystone / gist:1081237
Created July 13, 2011 20:23
reltool.config
{sys, [
{lib_dirs, ["../deps","../../"]},
{rel, "risk_scope", "1",
[
kernel, stdlib, sasl, syntax_tools, compiler, xmerl,ssl,inets,crypto,
jsx,
rabbit_common,
amqp_client,
conn_domain,
champ_domain_server,
require 'data_mapper'
class Post
include DataMapper::Resource
property :id, Serial
before :save, :categorize
before :update, :categorize
before :create, :categorize
foldR: function(str, acc, fun) {
var i,
len = str.length,
for(i = 0; i < len; i++) {
acc = fun(acc, str.substring(len-i-1,len-i));
}
}
isCreditCard( CC ) {
if (CC.length > 19)
for(currentCard in CreditCard.CARDS)
var localCard = currentCard;
CreditCard['is'+currentCard] = function(number){
return localCard.test(CreditCard.strip(number));
};
})(CreditCard.CARDS[currentCard]);
for(var currentCard in CreditCard.CARDS)
var card = currentCard;
CreditCard['is'+currentCard] = function(number){
return card.test(CreditCard.strip(number));
};
})(CreditCard.CARDS[currentCard]);