Archive for category Uncategorized

Moving from blog.anthonyeden.com to anthonyeden.com

At some point the DNS should update and should be proper. In the meantime http://blog.anthonyeden.com/ looks like it’s broken. Just go to http://anthonyeden.com/

2 Comments

RDDB on Github

I just imported the source code for RDDB from RubyForge into Github. First let me say that the SVN import from Github is hot – they’ve done a really good job. Second, please do not interpret this as an indication that I am going to resume work on RDDB – I’m not (I don’t think). At this point I’m just trying to get all of my projects on Github because it rocks and if I do want to work on any of these projects I can easily and others can fork them, which is really the big win.

Anyhow, if you want RDDB go to github: http://github.com/aeden/rddb/tree/master

Unrelated to RDDB, I also put support into the Moneta S3 implementation for passing :multi_thread as an option to the Moneta::S3.new method.

Have fun!

2 Comments

S3 in Moneta

Sometimes you just have to shave a yak, mostly because it’s fun.

I am working on a project where I need access to a distributed key/value store, in my case S3. I could have just gone to S3 directly but since Yehuda Katz recently announced Moneta, which is a generic key/value store interface I figured I’d give a shot at building an S3 implementation. The result is in my fork on github.

Some points of interest. I refactored the specs so that specs which had dependencies (such as the memcache implementation) are in their own spec files. This makes it much easier to run only a single spec for one implementation at a time, highly useful since some of the dependencies are not things I really want or need on my dev machine, nor do I really want to run all of the specs every time.

The Moneta interface includes the ability to specify :expires_in with a number of seconds as a common means for setting expiration of the key in the store. This is not something S3 supports out of the box. Initially I tried to make it work with HTTP Expires header to no avail. I settled on using a meta header (non-standard HTTP headers used by S3 for client info) to store the expiration date and then I check for the expiration when retrieving the S3 key object. This actually worked quite well even though it did require jumping through some implementation hoops and resulted in more code than I was originally hoping for.

I also had to raise the expiration times just a smidge in the specs since it was quite possible that the test operation would not complete before 1 second would pass and it was causing random behavior. Once I got the expiration working it was golden and all of the specs were passing.

Side note: I don’t usually use RSpec, but the ability to useĀ it_should_behave_like “some spec” is quite elegant.

That’s all for now. Enjoy!

, , , ,

4 Comments

Bailout Proposal

If the people of the United States of America are expected to bail out any companies, then I believe we should be allowed to specify some provisions that must be adheared to. My suggestions are as follows:

  • To receive bailout money your CEO must get on national television and explain how they and the other executives have failed to create a profitible company.
  • That same CEO must also provide a business plan that shows to the American people how they intend on bringing their company back to being a profitable business. That plan must be made available online.
  • Anyone in the company making more than $200,000 a year must take an immediate pay cut of 50% or more.
  • Anyone in the company making more than $1 million a year must agree to not be paid until the company becomes profitable.

It’s time to put up or shut up. If I and every other taxpayer is going to invest in your business you better prove to all of us that you have what it takes, that you believe in the company and are willing to stake your career on it. Small businesses do this all the time – it’s time for big businesses to do the same.

1 Comment

Yes, That Does Say V7

I’m not a big fan of system administration. I can honestly say I despise it. For a couple years a ran my blog on my own server and had to deal with the operational issues that came with that…well no more I say! I am now going to run on hosted Wordpress and see how that goes. At some point I may try to dig up some old posts that people may still be interested in, but mostly I’ll just pick up where I left off with new posts. Let the games begin.

2 Comments