Welcome!

Machine Learning Authors: Elizabeth White, Liz McMillan, Yeshim Deniz, Pat Romanski, Corey Roth

Related Topics: Machine Learning , Java IoT, Open Source Cloud, AJAXWorld RIA Conference & Expo, Agile Computing

Machine Learning : Article

AJAX on Rails: An AJAXWorld Interview

Full Transcript of Dion Hinchcliffe's SYS-CON.TV Interview with David Heinemeier Hansson

View David's AJAXWorld Presentation: AJAX 0n Rails

Dion Hinchcliffe:
Welcome to SYS-CON TV. My name is Dion Hinchcliffe, I'm CTO with Sphere of Influence and editor-in-chief of the Web 2.0 Journal. I have with me today David Heinemeier Hansson of 37signals and creator of Ruby on Rails. David, welcome and let me ask you, Ruby on Rails is one of the most exciting stories in the application AJAX server stack space. Could you tell us a little bit about what it is, why you created it, and what are its advantages?

David Heinemeier Hansson: Ruby on Rails is what we call a full stack. A full stack meaning that it has all the components built in for doing most Web applications. Unlike a lot of other open source software, you don't have to cherry pick a lot of different packages. We try to deliver one solution in the sense of Apple delivering one solution that spans across multiple layers. We like to think of ourselves as the Apple of open source Web application development, in the sense of dealing with the database, wrapping data objects, dealing with the controller and the control flow, and getting requests coming in and dealing with template languages, and of late also dealing with AJAX on the client side, and tying all of these things together seamlessly with knowledge of each other.

I started building this about two-and-a-half years ago. I had been doing PHP and Java for about five years and, frankly, I wasn't really enjoying the role of programmer. I wasn't really enjoying the actual programming work.

Hinchcliffe: Why, because you were mired in complexity or -

Hansson: I was mired in complexity, I was mired in stuff that couldn't be maintained, the hassles of ups and downs. Either you went with PHP, which I liked for its immediacy; you could get something done really quickly, but as soon as you tried extracting these things, making a framework, building on top of it, reusing and going back and changing things, this is not the most welcoming language for that. You could certainly do it, and I did it for a good number of years, but it just took more effort than it should. On the other hand, you have something like Java where it's actually possible to create something nice and maintainable if you have a thousand years to do it. I felt that there must be some split between these two things, where you can get something that's neither quick and dirty or slow and clean but perhaps quick and clean. And that's kind of the sweet spot I tried to approach with Ruby on Rails.

    I needed it for my own stuff. I work at a company called 37signals, and about two and a half years ago we were contemplating getting out of the consultancy business and getting into products. So we created our first application, Basecamp, on top of Ruby. At that time Ruby did have some things to do or some libraries and primers that dealt with the Web, but not any that appealed to my aesthetics.

Hinchcliffe:That was kind of my question: you have AJAX and you have application developers who know Perl or PHP or Java, and they have to learn a new application stack, they have to learn a new language, and AJAX on top of it. That's a lot.

Hansson: Right. One of the things we are trying to do with Ruby on Rails is actually make it extremely conventional. Most of the ideas in Ruby on Rails are the same ideas that people have been building Web applications on for the past 10 years; they just hurt a lot less. The actual practice of implementing these patterns that the industry has spent 10 years perfecting, is just a lot less painful in a language like Ruby than it is in a language like PHP or Java simply because Ruby is a better programming language. At the core of that, the core elements of the language just lend themselves better to building the kinds of frameworks that deliver that programmer happiness we are trying to chase with Ruby on Rails.

Hinchcliffe: Doesn't Ruby on Rails make the common task easier and put the complexity out into the edge cases. Isn't that part of it?

Hansson:  A lot of it is definitely making what most people do most of the time extremely easy, but still allowing for the fact that not everybody is doing what everybody else is doing most of the time; you need to jump off track sometimes and just get out of the way when that happens. But 80% of your application is just like 80% of somebody else's application, so that's stuff you can extract. Once you've extracted it, you can make it a lot nicer to deal with; you just don't have to repeat the same mundane details over and over again. That's what we're calling conventional configuration. We have a set of conventions in Rails that if you follow those, you learn the convention once and you never have to configure that again. That really racks up pretty quickly. A lot of these standard things and Web applications are stuff you need to configure over and over again. How does this object layer relate to the database? How do the URLs relate to the controller that's matching it?

Hinchcliffe: Same thing you always go through whenever you develop an application.

Hansson: That's the stuff that in Java we call XML sit-ups, the fact that you usually can produce just as much XML configuration as application code and that's just insane in online. Instead, get rid of that configuration, replace it mostly with conventions where you can learn the conventions once, reap the benefits over and over again, and then allow configuration for the edge cases.

Hinchcliffe:  Interesting. Some people who were used to traditional application development, they may even have heard Don Box say, "I wish .NET had a Ruby implementation," so they might start taking that seriously, but does it really scale? What is your experience with Ruby on Rails and Ruby in particular?

Hansson: "Does it scale?" is an interesting question, because just put like that with no metrics and specificity it doesn't really mean anything. But let's take the public perception of scaling, meaning you can add more hardware and then you can handle more clients. Is Ruby capable of doing that? The answer is unquestionably yes, simply because Ruby doesn't invent a new architecture. We use exactly the same architecture as people who have been building the biggest sites the Internet has used for the last decade, which is something called shared nothing, where you don't have state in the application or in the Web layer. You have pushed all the state out to the database, and if there's anybody who spent time figuring out how to scale, it's the database guys. Basically we're saying it's not our problem; it's the problem of the database guys, or NFS file stores or mem cache or any of these other technologies for managing large amounts of data fast. Once you have a Web layer and an application layer that doesn't contain state, you can add an unlimited number of application servers with no effort at all except a low balancer.

Hinchcliffe: Has it been your experience at 37signals? You guys actually host very large-scale applications using exactly this, right?

Hansson:  We started out building Basecamp, our first application, on a single server. We had a database, Web server, application server, all in one box. Today I think we have 13 boxes in our cluster that handle five applications and more than 400,000 people using our application in one form or another.

More Stories By RIA News Desk

Ever since Google popularized a smarter, more responsive and interactive Web experience by using AJAX (Asynchronous JavaScript + XML) for its Google Maps & Gmail applications, SYS-CON's RIA News Desk has been covering every aspect of Rich Internet Applications and those creating and deploying them. If you have breaking RIA news, please send it to [email protected] to share your product and company news coverage with AJAXWorld readers.

Comments (14) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
j j 09/29/06 01:28:52 PM EDT

Ruby on Rails is what we call a full stack. A full stack meaning that it has all the components built in for doing most Web applications. Unlike a lot of other open source software, you don't have to cherry pick a lot of different packages. We try to deliver one solution in the sense of Apple delivering one solution that spans across multiple layers. We like to think of ourselves as the Apple of open source Web application development, in the sense of dealing with the database, wrapping data objects, dealing with the controller and the control flow, and getting requests coming in and dealing with template languages, and of late also dealing with AJAX on the client side, and tying all of these things together seamlessly with knowledge of each other.

SYS-CON Italy News Desk 08/23/06 04:13:13 PM EDT

AJAXWorld Interview with David Heinemeier Hansson

n d 08/22/06 04:56:40 PM EDT

Ruby on Rails is what we call a full stack. A full stack meaning that it has all the components built in for doing most Web applications. Unlike a lot of other open source software, you don't have to cherry pick a lot of different packages. We try to deliver one solution in the sense of Apple delivering one solution that spans across multiple layers. We like to think of ourselves as the Apple of open source Web application development, in the sense of dealing with the database, wrapping data objects, dealing with the controller and the control flow, and getting requests coming in and dealing with template languages, and of late also dealing with AJAX on the client side, and tying all of these things together seamlessly with knowledge of each other.

n d 08/21/06 11:53:08 AM EDT

AJAXWorld Interview with David Heinemeier Hansson

brazil 08/20/06 08:52:07 PM EDT

Hanson interview

n d 08/20/06 04:23:28 PM EDT

Ruby on Rails is what we call a full stack. A full stack meaning that it has all the components built in for doing most Web applications. Unlike a lot of other open source software, you don't have to cherry pick a lot of different packages. We try to deliver one solution in the sense of Apple delivering one solution that spans across multiple layers. We like to think of ourselves as the Apple of open source Web application development, in the sense of dealing with the database, wrapping data objects, dealing with the controller and the control flow, and getting requests coming in and dealing with template languages, and of late also dealing with AJAX on the client side, and tying all of these things together seamlessly with knowledge of each other.

n d 08/20/06 03:29:38 PM EDT

Ruby on Rails is what we call a full stack. A full stack meaning that it has all the components built in for doing most Web applications. Unlike a lot of other open source software, you don't have to cherry pick a lot of different packages. We try to deliver one solution in the sense of Apple delivering one solution that spans across multiple layers. We like to think of ourselves as the Apple of open source Web application development, in the sense of dealing with the database, wrapping data objects, dealing with the controller and the control flow, and getting requests coming in and dealing with template languages, and of late also dealing with AJAX on the client side, and tying all of these things together seamlessly with knowledge of each other.

AJAXWorld News Desk 08/20/06 02:34:13 PM EDT

Ruby on Rails is what we call a full stack. A full stack meaning that it has all the components built in for doing most Web applications. Unlike a lot of other open source software, you don't have to cherry pick a lot of different packages. We try to deliver one solution in the sense of Apple delivering one solution that spans across multiple layers. We like to think of ourselves as the Apple of open source Web application development, in the sense of dealing with the database, wrapping data objects, dealing with the controller and the control flow, and getting requests coming in and dealing with template languages, and of late also dealing with AJAX on the client side, and tying all of these things together seamlessly with knowledge of each other.

n d 08/20/06 02:13:09 PM EDT

Ruby on Rails is what we call a full stack. A full stack meaning that it has all the components built in for doing most Web applications. Unlike a lot of other open source software, you don't have to cherry pick a lot of different packages. We try to deliver one solution in the sense of Apple delivering one solution that spans across multiple layers. We like to think of ourselves as the Apple of open source Web application development, in the sense of dealing with the database, wrapping data objects, dealing with the controller and the control flow, and getting requests coming in and dealing with template languages, and of late also dealing with AJAX on the client side, and tying all of these things together seamlessly with knowledge of each other.

SYS-CON Italy News Desk 07/11/06 06:00:52 PM EDT

Ruby on Rails is what we call a full stack. A full stack meaning that it has all the components built in for doing most Web applications. Unlike a lot of other open source software, you don't have to cherry pick a lot of different packages. We try to deliver one solution in the sense of Apple delivering one solution that spans across multiple layers. We like to think of ourselves as the Apple of open source Web application development, in the sense of dealing with the database, wrapping data objects, dealing with the controller and the control flow, and getting requests coming in and dealing with template languages, and of late also dealing with AJAX on the client side, and tying all of these things together seamlessly with knowledge of each other.

AJAXWorld News Desk 07/11/06 05:25:20 PM EDT

Ruby on Rails is what we call a full stack. A full stack meaning that it has all the components built in for doing most Web applications. Unlike a lot of other open source software, you don't have to cherry pick a lot of different packages. We try to deliver one solution in the sense of Apple delivering one solution that spans across multiple layers. We like to think of ourselves as the Apple of open source Web application development, in the sense of dealing with the database, wrapping data objects, dealing with the controller and the control flow, and getting requests coming in and dealing with template languages, and of late also dealing with AJAX on the client side, and tying all of these things together seamlessly with knowledge of each other.

SYS-CON India News Desk 04/05/06 05:19:15 PM EDT

Ruby on Rails is what we call a full stack. A full stack meaning that it has all the components built in for doing most Web applications. Unlike a lot of other open source software, you don't have to cherry pick a lot of different packages. We try to deliver one solution in the sense of Apple delivering one solution that spans across multiple layers. We like to think of ourselves as the Apple of open source Web application development, in the sense of dealing with the database, wrapping data objects, dealing with the controller and the control flow, and getting requests coming in and dealing with template languages, and of late also dealing with AJAX on the client side, and tying all of these things together seamlessly with knowledge of each other.

SYS-CON Italy News Desk 04/05/06 04:49:59 PM EDT

Ruby on Rails is what we call a full stack. A full stack meaning that it has all the components built in for doing most Web applications. Unlike a lot of other open source software, you don't have to cherry pick a lot of different packages. We try to deliver one solution in the sense of Apple delivering one solution that spans across multiple layers. We like to think of ourselves as the Apple of open source Web application development, in the sense of dealing with the database, wrapping data objects, dealing with the controller and the control flow, and getting requests coming in and dealing with template languages, and of late also dealing with AJAX on the client side, and tying all of these things together seamlessly with knowledge of each other.

SYS-CON Australia News Desk 04/05/06 04:48:52 PM EDT

Ruby on Rails is what we call a full stack. A full stack meaning that it has all the components built in for doing most Web applications. Unlike a lot of other open source software, you don't have to cherry pick a lot of different packages. We try to deliver one solution in the sense of Apple delivering one solution that spans across multiple layers. We like to think of ourselves as the Apple of open source Web application development, in the sense of dealing with the database, wrapping data objects, dealing with the controller and the control flow, and getting requests coming in and dealing with template languages, and of late also dealing with AJAX on the client side, and tying all of these things together seamlessly with knowledge of each other.

@CloudExpo Stories
"MobiDev is a software development company and we do complex, custom software development for everybody from entrepreneurs to large enterprises," explained Alan Winters, U.S. Head of Business Development at MobiDev, in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Agile has finally jumped the technology shark, expanding outside the software world. Enterprises are now increasingly adopting Agile practices across their organizations in order to successfully navigate the disruptive waters that threaten to drown them. In our quest for establishing change as a core competency in our organizations, this business-centric notion of Agile is an essential component of Agile Digital Transformation. In the years since the publication of the Agile Manifesto, the conn...
Major trends and emerging technologies – from virtual reality and IoT, to Big Data and algorithms – are helping organizations innovate in the digital era. However, to create real business value, IT must think beyond the ‘what’ of digital transformation to the ‘how’ to harness emerging trends, innovation and disruption. Architecture is the key that underpins and ties all these efforts together. In the digital age, it’s important to invest in architecture, extend the enterprise footprint to the cl...
Leading companies, from the Global Fortune 500 to the smallest companies, are adopting hybrid cloud as the path to business advantage. Hybrid cloud depends on cloud services and on-premises infrastructure working in unison. Successful implementations require new levels of data mobility, enabled by an automated and seamless flow across on-premises and cloud resources. In his general session at 21st Cloud Expo, Greg Tevis, an IBM Storage Software Technical Strategist and Customer Solution Architec...
"We work around really protecting the confidentiality of information, and by doing so we've developed implementations of encryption through a patented process that is known as superencipherment," explained Richard Blech, CEO of Secure Channels Inc., in this SYS-CON.tv interview at 21st Cloud Expo, held Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA.
Data is the fuel that drives the machine learning algorithmic engines and ultimately provides the business value. In his session at Cloud Expo, Ed Featherston, a director and senior enterprise architect at Collaborative Consulting, discussed the key considerations around quality, volume, timeliness, and pedigree that must be dealt with in order to properly fuel that engine.
"We were founded in 2003 and the way we were founded was about good backup and good disaster recovery for our clients, and for the last 20 years we've been pretty consistent with that," noted Marc Malafronte, Territory Manager at StorageCraft, in this SYS-CON.tv interview at 20th Cloud Expo, held June 6-8, 2017, at the Javits Center in New York City, NY.
Effectively SMBs and government programs must address compounded regulatory compliance requirements. The most recent are Controlled Unclassified Information and the EU's GDPR have Board Level implications. Managing sensitive data protection will likely result in acquisition criteria, demonstration requests and new requirements. Developers, as part of the pre-planning process and the associated supply chain, could benefit from updating their code libraries and design by incorporating changes. In...
Andi Mann, Chief Technology Advocate at Splunk, is an accomplished digital business executive with extensive global expertise as a strategist, technologist, innovator, marketer, and communicator. For over 30 years across five continents, he has built success with Fortune 500 corporations, vendors, governments, and as a leading research analyst and consultant.
No hype cycles or predictions of zillions of things here. IoT is big. You get it. You know your business and have great ideas for a business transformation strategy. What comes next? Time to make it happen. In his session at @ThingsExpo, Jay Mason, Associate Partner at M&S Consulting, presented a step-by-step plan to develop your technology implementation strategy. He discussed the evaluation of communication standards and IoT messaging protocols, data analytics considerations, edge-to-cloud tec...
Today we can collect lots and lots of performance data. We build beautiful dashboards and even have fancy query languages to access and transform the data. Still performance data is a secret language only a couple of people understand. The more business becomes digital the more stakeholders are interested in this data including how it relates to business. Some of these people have never used a monitoring tool before. They have a question on their mind like “How is my application doing” but no id...
Announcing Poland #DigitalTransformation Pavilion
Digital Transformation is much more than a buzzword. The radical shift to digital mechanisms for almost every process is evident across all industries and verticals. This is often especially true in financial services, where the legacy environment is many times unable to keep up with the rapidly shifting demands of the consumer. The constant pressure to provide complete, omnichannel delivery of customer-facing solutions to meet both regulatory and customer demands is putting enormous pressure on...
In his Opening Keynote at 21st Cloud Expo, John Considine, General Manager of IBM Cloud Infrastructure, led attendees through the exciting evolution of the cloud. He looked at this major disruption from the perspective of technology, business models, and what this means for enterprises of all sizes. John Considine is General Manager of Cloud Infrastructure Services at IBM. In that role he is responsible for leading IBM’s public cloud infrastructure including strategy, development, and offering m...
CloudEXPO | DXWorldEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
DXWorldEXPO LLC announced today that All in Mobile, a mobile app development company from Poland, will exhibit at the 22nd International CloudEXPO | DXWorldEXPO. All In Mobile is a mobile app development company from Poland. Since 2014, they maintain passion for developing mobile applications for enterprises and startups worldwide.
The best way to leverage your CloudEXPO | DXWorldEXPO presence as a sponsor and exhibitor is to plan your news announcements around our events. The press covering CloudEXPO | DXWorldEXPO will have access to these releases and will amplify your news announcements. More than two dozen Cloud companies either set deals at our shows or have announced their mergers and acquisitions at CloudEXPO. Product announcements during our show provide your company with the most reach through our targeted audienc...
@DevOpsSummit at Cloud Expo, taking place November 12-13 in New York City, NY, is co-located with 22nd international CloudEXPO | first international DXWorldEXPO and will feature technical sessions from a rock star conference faculty and the leading industry players in the world.
DXWorldEXPO | CloudEXPO are the world's most influential, independent events where Cloud Computing was coined and where technology buyers and vendors meet to experience and discuss the big picture of Digital Transformation and all of the strategies, tactics, and tools they need to realize their goals. Sponsors of DXWorldEXPO | CloudEXPO benefit from unmatched branding, profile building and lead generation opportunities.
With 10 simultaneous tracks, keynotes, general sessions and targeted breakout classes, @CloudEXPO and DXWorldEXPO are two of the most important technology events of the year. Since its launch over eight years ago, @CloudEXPO and DXWorldEXPO have presented a rock star faculty as well as showcased hundreds of sponsors and exhibitors!
22nd International Cloud Expo, taking place June 5-7, 2018, at the Javits Center in New York City, NY, and co-located with the 1st DXWorld Expo will feature technical sessions from a rock star conference faculty and the leading industry players in the world. Cloud computing is now being embraced by a majority of enterprises of all sizes. Yesterday's debate about public vs. private has transformed into the reality of hybrid cloud: a recent survey shows that 74% of enterprises have a hybrid cloud ...