Kurt StephensNerd Up! | ||||||||||||||||||||
|
The only way to implement the future is to avoid having to predict it. -- Piumarta
Fighting entropy one day at a time... Postgres and Ruby: Blocking LISTENs for NOTIFY
http://devblog.famundo.com/articles/2006/12/07/improving-postgres-listen... Unfortunately this hack blocks all threads. It should use rb_thread_select(), not select(). Ruby 1.9 : postgres gem patch
I did this little hackage during a boring PGcon 2008 talk… This patch allows the postgres gem 0.7.9.2008.01.28 to be compiled under Ruby 1.9 against PostgreSQL 8.3.0 client libraries. It appears to work against a PostgreSQL 8.1 server, but I have not run any detailed testing, yet. --- ext/extconf.rb.orig 2008-05-22 09:47:06.000000000 -0500 +++ ext/extconf.rb 2008-05-22 09:52:28.000000000 -0500 @@ -1,6 +1,9 @@ +# Ruby 1.9 +PLATFORM = RUBY_PLATFORM unless defined? PLATFORM + # windows compatibility, need different library name if(PLATFORM =~ /mingw|mswin/) then <br class="clear" /> TM : The implementation of a real-time, single-threaded, type-segmented, conservative garbage collector
Introduction
Full documentation is located at: http://kurtstephens.com/pub/tredmill/current/doc/html/index.html Japanese Bug Fights
http://www.japanesebugfights.com/ Scorpion .vs. Centipede was surprising! Scheme: New release of LL 0.15
Download: http://github.com/kstephens/ll/tree/master LL is: An embeddable pure, class-based, object Lisp system C library with multiple inheritance and mix-in support based on ideas from Scheme, Oaklisp and Dylan. Clean namespace and proper tail calls in C. Version 0.15:
Ruby Internals: Why RUBY_FIXNUM_FLAG should be 0x00
Type tags in MRI Ruby VALUEInternally, values in MRI Ruby are 32-bit (at least for 32-bit processors). Some of the least-significant bits are used to store type information. See the Ruby uses a single-bit tag of Ruby : Regexp#to_proc
Helpful in IRB:
class Regexp
def to_proc
@proc ||= lambda { | x | self.match(x) }
end
end
As in: irb(main):001:0> pp Object.methods.sort.select(&/meth/) ["instance_method", "instance_methods", "method", "method_defined?", "methods", "private_class_method", "private_instance_methods", "private_method_defined?", "private_methods", "protected_instance_methods", "protected_method_defined?", "protected_methods", "public_class_method", "public_instance_methods", "public_method_defined?", "public_methods", "singleton_methods"] <br class="clear" /> RubyGems : Gem::SourceIndex does not honor GEM_PATH ordering
Gem::SourceIndex does not honor GEM_PATH ordering. See: http://rubyforge.org/tracker/index.php?func=detail&aid=14816&group_id=12... Gem::SourceIndex#load_gems_in calls #add_spec for all gems found in #spec_dirs, in the order of Gem.path, however #add_spec Ruby : Tight Code, Floppy Performance
So you’re coding some ruby, and you do the obligatory caching of a computation:
def foo(x)
666
end
$cache = nil
def cryptic_cached_foo
($cache ||= [ foo("bar") ]).first
end
def nicey_cached_foo
unless $cache
$cache = [ foo("bar") ]
end
$cache.first
end
A discussion came up at work: is |
||||||||||||||||||||
Recent comments
14 weeks 15 hours ago
26 weeks 6 days ago
29 weeks 2 days ago
29 weeks 3 days ago
29 weeks 3 days ago
29 weeks 3 days ago
29 weeks 3 days ago
31 weeks 6 days ago
31 weeks 6 days ago
34 weeks 3 days ago