Engine Yard hiring developers to help build our cloud

Posted by ezmobius Tue, 07 Apr 2009 20:19:00 GMT

I’m looking for a few good folks to join my team. You need to be able to work on site in San Francisco, we can assist with moving expenses for the right candidate.

You would work with my team(currently 5 devs). We do no bs agile style development with pairing where appropriate and test infected mentality . generally we have a fun, tight team and get to work on some of the hardest and most rewarding areas of software development relevant today.

You would be on my team working on http://engineyard.com/solo and it’s successors as well as Engine Yard’s on premises infrastructure.

You would be working on/with the following ruby technologies:

Event Machine
Many others..

You would be working on the following problem domains:

Scalable Ruby Deployment Architectures
Scalable Cloud Computing Architectures
Scalable Database Architecture
Distributed Computing
Key Value Data Stores
Infrastructure automation
Cloud provider API's
Multi-Cloud portability
Monitoring and alerting systems
Security in the Cloud
Horizontally Scalable Architectures
Many other interesting areas of computing

Familiarity with the following tech is nice but not necessarily required if you can learn fast:

Gentoo Linux
SSL Certs

If you think you have the “right stuff” and you have the kick ass take names attitude then send a resume with a short intro about who you are and why you are the person we should hire.


Tags , , , , , , ,  | 8 comments

Merb-0.5.0 is out.

Posted by ezmobius Thu, 10 Jan 2008 08:45:00 GMT

We’ve just cut the 0.5.0 release of merb. This release has numerous improvements and features, such as:

  • Improved Haml support including pre-compiling and fast inlining of haml partials.
  • built in Sass support, just add a sass directory in public/stylesheets, it will automatically regenerate the CSS in dev mode as well if you change the .sass files.
  • Refactor server.rb into config.rb and boot_loader.rb
  • Got rid of MERB_ROOT and other ugly constants and replaced them with Merb.root and friends.
  • Asset Bundling
  • New param protection plugin
  • Built in support for ruby-debug
  • New releases of the merb_datamapper, merb_sequel, merb_activerecord and merb_helpers plugins.
  • better support for namespaced routes
  • More generators, including Part generators
  • Removed FormControlMixin, use merb_helpers instead.
  • Improved spec and test helpers.

This release cleans up the merb boot and configuration process and got rid of a bunch of constants and replaced them with the Merb object. See this pastie for the mapping from the old constants used to the new way of accessing the same info. If you are updating your 0.4.x merb app to 0.5 you will need to update your merb_init.rb, boot.rb and dependencies.rb to reflect the new style of accessing config values. Generate a fresh app and make your app match the changes in these 3 files.

This release has a lot of contributions from the growing merb community. Merb is still a young one though at 0.5 and we have some big(and little) plans for the next release. We will be splitting the framework into merb-core and merb-more. Merb-core will be all the HTTP tooling code as well as the dispatcher, router, controller, views and glue to hold them together. Everything else will be moved to merb-more or a plugin. There will still be a merb gem, but it will just install merb-core and merb-more as dependencies.

The whole idea of merb-core is to keep a very small tight core framework that deals with the infrastructure needed to write highly scalable, fast web services and back-ends. merb-core plus merb-more will be a more full featured framework. This way Merb can scale your apps from tiny to as large as you need instead of assuming you need the whole kitchen sink, allowing you to start with merb-core and cherry pick the features you need from merb-more.

So gem install merb should get you the 0.5.0 release now. If you want to follow or help with merb development the trac is here merb.devjavu.com/

This is the “Thanks Zed” release. Thanks for mongrel Zed, it has truly been a great dog. You will be missed.

Tags , ,  | 23 comments

Merb-0.4.0 released with new site merbivore.com

Posted by ezmobius Wed, 07 Nov 2007 01:55:00 GMT

We’ve been brewing up some serious merbal tea in the #merb kitchen over the past few months. With a lot of new contributions, refactorings and additional functionality this new release is definitely coming into its own.

In fact this release is stable and featureful enough to warrant its own new website. I introduce you to the new merbivore.com

I’d like to thank all the folks who have contributed patches and ideas. There are now 21 people with commit rights and many new ideas and techniques are getting explored. I have an open commit bit policy, submit a few good tested and doc’d patches and you get the commit bit. Then after that you just need to run any major changes by the team before committing.

There are numerous and sweeping changes in this release since 0.3.7. I’ll go through a few of them here and link to some blog posts for others.

  • Merb is now ORM agnostic. There are official plugins for ActiveRecord, DataMapper and Sequel but merb itself comes out of the box with no ORM in case you’re using CouchDb or some other non relational data store.
  • New testing/orm agnostic generators. You tell your app if you are using rspec or test/unit and which ORM and you can generate models and controllers and the right generator will be used based on how your app is set up. hassox wrote about it here: Agnostic Generators. Merb uses drnic’s rubigen for our generators now.
  • New API for content negotiation. We think we’ve come up with a better API for serving different content types then the respond_to api in rails. Merb now uses the provides macro to declare what content types a controller or action will handle. Here is a new style merb crud controller that provides xml,js and yaml as well as html: provides api. michael Ivey came up with this gem of an api that covers the 90% case of skinny controller fat model REST controllers. It;s really nice once you grok how it works imho.
  • Custom HTTP exceptions. All of your favorite http exceptions can be rendered in custom templates thru the Exceptions controller. You can raise BadRequest in a controller and Exceptions#bad_request will get called in the exceptions controller and r=do whatever logic and template rendering is needed for the exception thrown. All the http status codes are there and you can define your own as well.
  • Parameterized Actions. Now with more ruby! Your controller actions can take arguments in their definitions and merb is smart enough to pass in the proper items out fo the params hash. Sam Smoot and Yehuda Katz are to blame for this awesome hack.
  def index(id, search_string = "%")
    @foo = Foo.find_with_search(id, search_string)
  • Way too many other things to list here.

You can read a few nice posts about the new merb release here and here and here

If you feel like contributing or have questions then please come on down to the #merb irc change on irc.freenode.net and see what’s shaking. Or hit up the trac if you have issues: merb.devjavu.com

Big thanks to Luke Sutton and Steven Garcia for designing the new merbivore.com website! I think it looks hawt.

Tags , ,  | 10 comments