Archive for July, 2009

Developer Webinar – Flex Plan Takeaways

By Andy Delcambre | July 31st, 2009 at 10:07AM

Last week we hosted a live developer webinar covering the ins, outs and awesomeness of the new Engine Yard Cloud Flex plan. If you missed it, the recording is available on our site. Jon Crosby and Ezra Zygmuntowicz did the bulk of the work, running through live demos and highlighting the important features.

I worked on the back end, collecting and answering questions from attendees. There were a lot of great questions, but considering that we had twenty minutes and a seemingly unlimited supply of questions, we noted and deferred a bunch of them for later.

(more…)

Share this post:
  • email
  • Digg
  • del.icio.us
  • Reddit
  • Slashdot
  • StumbleUpon
  • Technorati
  • Twitter
  • Google Bookmarks
  • Facebook
  • LinkedIn
Popularity: 2% |
Rate this post: 1 Star2 Stars3 Stars4 Stars5 Stars
Loading ... Loading ...

Welcoming JRuby to Engine Yard!

By John Dillon | July 29th, 2009 at 10:07AM

Although it’s been widely reported, blogged and tweeted already, I wanted to let our blog readers know the terrific news that the Sun JRuby team will be joining Engine Yard full-time next week!  We’re really thrilled to have the JRuby team on-board and look forward to further great things from Charlie, Tom and Nick.

Why JRuby for Engine Yard?

JRuby is a project with accelerating momentum. The JRuby team has done an excellent job over the last many years developing a stable, high performance Ruby implementation that is showing increasing popularity among java developers looking for more productive frameworks. It was clear from talking to developers (particularly enterprise developers) that JRuby — with the appropriate support and backing — was a really compelling choice for Ruby adoption.

(more…)

Share this post:
  • email
  • Digg
  • del.icio.us
  • Reddit
  • Slashdot
  • StumbleUpon
  • Technorati
  • Twitter
  • Google Bookmarks
  • Facebook
  • LinkedIn
Popularity: 1% |
Rate this post: 1 Star2 Stars3 Stars4 Stars5 Stars
Loading ... Loading ...

JRuby’s Future at Engine Yard

By Charles Oliver Nutter | July 28th, 2009 at 4:07PM

By now you’ve heard the news: Tom Enebo, Nick Sieger and I will be joining the Engine Yard team to work on JRuby! We’re very excited about this opportunity and we’re looking forward to a bright future for JRuby and the community.

But why Engine Yard?

Engine Yard is, by almost all measures, the leading Ruby and Rails company in the world. They’ve literally written the book on how to make Rails deploy and scale easily, and if you have a tough Rails infrastructure issue, they’re the company you talk to. But in order for Rails to penetrate the large organizations of the world, many of which run Java in some form, JRuby is often the answer. So out of JRuby, Engine Yard and the Ruby community get a broad new landscape of opportunities.

For JRuby, the move to Engine Yard means we’ve got a dedicated Ruby and Rails company backing our project. We’ve always believed in Ruby and Rails, but have long realized there’s more we need to do. We need to finish support for the newer Ruby versions like Ruby 1.8.7 and 1.9.1. We need to build out the “last mile” of JRuby’s Java integration logic, to allow seamless two-way integration with Java frameworks and libraries. And we need to work with Rubyists to reach out to the Java community, to expand Ruby into a much larger world. All of this will be easier to do with Engine Yard backing us up.

(more…)

Share this post:
  • email
  • Digg
  • del.icio.us
  • Reddit
  • Slashdot
  • StumbleUpon
  • Technorati
  • Twitter
  • Google Bookmarks
  • Facebook
  • LinkedIn
Popularity: 2% |
Rate this post: 1 Star2 Stars3 Stars4 Stars5 Stars
Loading ... Loading ...

Key-Value Stores in Ruby (Key-Value Stores Part 1)

By Kirk Haines | July 28th, 2009 at 10:07AM

Key-value stores have emerged in the last few years as an alternative to relational database management systems for some data storage tasks. SimpleDB, BigTable, and Tokyo are just three of the variants. So what are they? How are they different than relational databases? And when should you use them?

Applications, whether web apps, simple dynamic websites or command line apps, frequently need some sort of persistent data store. As a result, databases have become ubiquitous on modern systems, and because of this chicken and egg relationship, programmers will often habitually reach for a relational database when the project only calls for a way to persist data.

Generally, this is fine. Relational databases are a well known technology, with numerous features that make life easy for the people who use them.  And while you can quibble about the nuances, relational databases typically do a decent job with most data storage and data query tasks.

Once in a while it behooves a programmer to reach for a different tool. Perhaps you need something that can query simple data faster than a relational system can. Maybe there are scaling requirements that are difficult to meet with a relational system. Or you want to avoid tying an application to a requirement for a relational system that may well have its own maintenance needs over time. Or maybe you just want something simpler than a relational database.  In all of these cases, a key-value store may be just the tool for you.

In the simplest terms, a key-value store is exactly what the name suggests: it’s a storage system that stores values, indexed by a key. The implementations are diverse, but they’re usually built on either a hash data structure, or a tree data structure, like a b-tree. Hash based key-value stores have fast lookup and update speeds, and require that keys be unique.  Lookup in a hash based tree is limited to key-only lookup.

Tree based stores generally allow multiple identical keys, and because tree based structures (like the b-tree) are ordered, they allow you to query individual keys, as well as ranges of keys. The drawback to tree based stores is that those structures are generally slower than simple hashes. For example:

A log aggregation system that stores messages keyed by timestamp, but which uses a hash based store, will be troublesome to query in a useful way, despite the speed of lookup, because you can only lookup specific timestamps. A system that uses a b-tree based store may be marginally slower for individual queries, but by permitting lookup based on a range of timestamps, can easily query the records of interest. This more than offsets the difference in basic query speeds.

Ruby comes with a simple hash based key-value store called PStore. If you’ve never used it, it’s definitely worth learning. For simple data storage, PStore can be very useful.

(more…)

Share this post:
  • email
  • Digg
  • del.icio.us
  • Reddit
  • Slashdot
  • StumbleUpon
  • Technorati
  • Twitter
  • Google Bookmarks
  • Facebook
  • LinkedIn
Popularity: 2% |
Rate this post: 1 Star2 Stars3 Stars4 Stars5 Stars
Loading ... Loading ...

Programming Contest! And The Winners are…

By Engine Yard | July 22nd, 2009 at 10:07AM

Now that everyone’s CPU and GPU clusters have cooled down, we’re ready to announce the contest winners!

Everyone can still sleep well at night: SHA1 was brutally assaulted, but its walls remain inviolate. The winning Hamming Distance was 30 — which given the time and resources available was a terrific achievement. That means the winner generated a hash that matched 130 bits of the 160 bits of the challenge hash!

@seibert leaped into an early lead on Monday afternoon and held it alone until, with 75 minutes left in the contest, @hashbreaker crashed in with a HD31 entry. The leaderboard was tied. Then with a few minutes left in the contest, @CodingCrypto jumped in with the sole HD30 entry FTW! @seibert won the coin-toss vs. @hashbreaker for second place — congrats to all the finalists!

(more…)

Share this post:
  • email
  • Digg
  • del.icio.us
  • Reddit
  • Slashdot
  • StumbleUpon
  • Technorati
  • Twitter
  • Google Bookmarks
  • Facebook
  • LinkedIn
Popularity: 1% |
Rate this post: 1 Star2 Stars3 Stars4 Stars5 Stars
Loading ... Loading ...