May 12th, 2009 admin
I was getting this error, and it turns out it’s just that builder isn’t installed. sudo gem install builder, and you’re fixed.
/Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- blankslate (MissingSourceFile)
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
from ./vendor/rails/activerecord/lib/../../activesupport/lib/active_support/basic_object.rb:21
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
from ./vendor/rails/activerecord/lib/../../activesupport/lib/active_support/duration.rb:1
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `gem_original_require'
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
from ./vendor/rails/activerecord/lib/../../activesupport/lib/active_support/core_ext/time/calculations.rb:1
... 18 levels...
from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in `require'
Posted in Programming | 2 Comments »
May 8th, 2009 cschneid
I’m writing this post as a brain dump and for future reference. I was doing research on Tokyo Cabinet and Tyrant today for an upcoming project.
Tokyo Cabinet - A Key Value database that’s stupidly fast
Tokyo Tyrant - A network layer on top of Tokyo Cabinet
Tokyo Dystopia - A full text search (inverted index) on top of Tokyo Cabinet
Official Docs:
These include mostly the official C API docs. They are useful if you skim through them, not for the C definitions, but to get an idea of what is possible. You will get lots of sparse explanations, but it’s a start.
Ruby Libraries:
More About Rufus Library:
OSX Installation:
Macports version of Tokyo Cabinet and Tokyo Tyrant are broken. The current state is that there are incompatible versions of cabinet & tyrant, and that there are Portfile problems as well, where the checksum doesn’t match the downloaded file. I eventually gave up, and just used the instructions at http://openwferu.rubyforge.org/tokyo.html to install it manually (the version numbers in that post are old, but otherwise accurate). Those instructions install it to /usr/local/bin, so you may need to add it to your path.
Key Value Store Theory:
More Cabinet Docs:
Cabinet Storage Engines:
I’m still vague on the real differences in this section. I’ll expand out as I learn and understand more. What I do know is that B-Tree and Table have additional methods on them, and that Tyrant doesn’t support at least the B-Tree ones (at a C level, it’s not a problem with the Ruby bindings).
- Hash - Standard hash structure for storing a key.
- B-Tree - Tree structure to store keys. Allows for ordering, and multiple values.
- Table - ?? Allows storing of arbitrary keys, and indexes (like CouchDB?).
- ?? - I think array is another one, for fixed length values, but I haven’t gone into that one yet
Other Items:
Lightcloud is some sort of distributed layer on top of tyrant, which gives some horizontal scaling ability. I haven’t looked much further than that.
That’s enough for now…. I’ll try to keep this updated as I learn.
Posted in Programming, Ruby | No Comments »
May 6th, 2009 cschneid
I am working on getting my development environment setup on my new mac, and ran into an under-documented error: “could not find any SCM named `git’”.
It turns out that Leopard installs capistrano 2.0 automatically, and in a battle between /usr/bin/ and /opt/local/bin, the first one on the path of course wins. The trick is to run sudo /usr/bin/gem uninstall capistrano which will get rid of both the gem, and more importantly the cap and capify commands that came with it. Now just install capistrano in your macports install of gems sudo /opt/local/bin/gem install capistrano and run cap: /opt/local/bin/cap deploy
This blog post was very helpful while I was hunting down this info.
Posted in Programming | 1 Comment »