up_the_irons: are you doing authentication in your Sinatra app? ballen: no hmm looking for the best auth lib for Sinatra yeah, dunno one that I can rip apart and make it work on a key/value db mhoran: ballen: I could hotplug a drive, sure, but it'll look like USB. Would rather attach it permanently ballen: mhoran: KVM supports memory ballooning ah, was just thinking of a case where running a site that couldn't be brought down and running out of storage ballen: for a live migration, the host and target must be running the exact same VM parameters yea I figured that out after I said it ballen: it doesn't make sense for the HD to be larger anyway, b/c all live migration implementations require the disk to actually be shared (same disk) ah right bleh be so much easier than designing an app to be able to migrate live across servers mhoran: ballen: I'm working on live migrations across regions as well (first step: migrate into a different data center within the same city, then try into a different metro region) thats hot the hardest part, actually, i just getting the live migration from machine to machine; once that is done, data center to data center is not that hard, b/c if it is seen as the same network anyway, the servers don't care that they are in the same cabinet 2 ft away, or thousands of feet away right fyi, you wouldn't use a single VM for a site that couldn't experience a lot of downtime, that'd be scaling vertically; which is generally bad. if your site really can't be down, you'd build a cluster for it yes yes just alot easier to program for scalling vertically but much more expensive sure, cause we've all grown up programming for vertical platforms we're "used" to it yea i imagine the next generation will have an easier time w/ clustering, or building an app that scales horizontally I hop so hope* assuming education adapts which it is normally slow todo most coders don't learn their chops through formal education anyway though i didn't either but i still stayed in school yea likewsie likewise cuz it's important on so many levels :) http://gist.github.com/40246 If i rip datamapper out and replace it with Redis goodness that'll due looks promising i hate rspec i used to like it, but now, i fucking hate rspec it won't run any specs nothing nada just returns to the prompt silently up_the_irons: Cool, cool and cool. heh They're building out some cool clusters at my alma mater. There's actually one there now which just idles. Unfortunate. But there's a new prof working in bioinformatics, they had to buy a new CRAC unit to accomodate his cluster. Pretty exciting. They also were planning to hire a dedicated cluster sysadmin, but I think they ran out of money. Unfortunately, all but two people on that staff, including the manager, are idiots. cool, and not cool cd $food http://ohm.keyvalue.org/ only the most freaking cool library ever going to save me sooo much time on this project ballen: nice don't have to figure out all my key/value schema now even though I already do have that figured out it'll take less code now also trying to get authlogic to work with Sinatra is what you're building online anywhere? nah just starting to plan it out really should be working on my thesis but meh haha seems like authlogic depends on active_record a little bit which sucks eeeww f that yea so I may just stick with home brew auth for now and build it out if needed ballen: so does this Ohm basically let you store ruby objects inside Redis? umm its basically lets you work with models as you would in Rails gotcha class User < Ohm::Model attribute :login end now the User model has an login attribute when you save the model you can only access it by id say you want to access it by login you add index :login now you can do User.find(:login, 'name') index creates a Set where attribute is just a single hash in the db also could add something like set :admins, Admin and now you'd have @user.admins interesting similar to rails all its doing its creating new sets in the backgroud so it can index the data in a way that lets you search for it so each time you add an index or set its add a decent amount of duplicate db to db duplicate data to the db* but such is life with key/value db's right so like "index :login", creates a key that is "login" with value that is an id, that then let's you look up "User" exactly theres also list and counter ah list is not indexable either FIFO, FILO, etc counter is just a serial data type cool thing about counters in redis is that they're atom, you don't have to worry to much about multiple clients incr or decr SHA512 enough for password hashing?