Welcome!

Machine Learning Authors: Elizabeth White, Yeshim Deniz, Liz McMillan, Pat Romanski, Ed Featherston

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
Today most companies are adopting or evaluating container technology - Docker in particular - to speed up application deployment, drive down cost, ease management and make application delivery more flexible overall. As with most new architectures, this dream takes significant work to become a reality. Even when you do get your application componentized enough and packaged properly, there are still challenges for DevOps teams to making the shift to continuous delivery and achieving that reducti...
As hybrid cloud becomes the de-facto standard mode of operation for most enterprises, new challenges arise on how to efficiently and economically share data across environments. In his session at 21st Cloud Expo, Dr. Allon Cohen, VP of Product at Elastifile, will explore new techniques and best practices that help enterprise IT benefit from the advantages of hybrid cloud environments by enabling data availability for both legacy enterprise and cloud-native mission critical applications. By rev...
The next XaaS is CICDaaS. Why? Because CICD saves developers a huge amount of time. CD is an especially great option for projects that require multiple and frequent contributions to be integrated. But… securing CICD best practices is an emerging, essential, yet little understood practice for DevOps teams and their Cloud Service Providers. The only way to get CICD to work in a highly secure environment takes collaboration, patience and persistence. Building CICD in the cloud requires rigorous ar...
Recently, REAN Cloud built a digital concierge for a North Carolina hospital that had observed that most patient call button questions were repetitive. In addition, the paper-based process used to measure patient health metrics was laborious, not in real-time and sometimes error-prone. In their session at 21st Cloud Expo, Sean Finnerty, Executive Director, Practice Lead, Health Care & Life Science at REAN Cloud, and Dr. S.P.T. Krishnan, Principal Architect at REAN Cloud, will discuss how they b...
SYS-CON Events announced today that SkyScale will exhibit at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. SkyScale is a world-class provider of cloud-based, ultra-fast multi-GPU hardware platforms for lease to customers desiring the fastest performance available as a service anywhere in the world. SkyScale builds, configures, and manages dedicated systems strategically located in maximum-security...
As you move to the cloud, your network should be efficient, secure, and easy to manage. An enterprise adopting a hybrid or public cloud needs systems and tools that provide: Agility: ability to deliver applications and services faster, even in complex hybrid environments Easier manageability: enable reliable connectivity with complete oversight as the data center network evolves Greater efficiency: eliminate wasted effort while reducing errors and optimize asset utilization Security: imple...
High-velocity engineering teams are applying not only continuous delivery processes, but also lessons in experimentation from established leaders like Amazon, Netflix, and Facebook. These companies have made experimentation a foundation for their release processes, allowing them to try out major feature releases and redesigns within smaller groups before making them broadly available. In his session at 21st Cloud Expo, Brian Lucas, Senior Staff Engineer at Optimizely, will discuss how by using...
In this strange new world where more and more power is drawn from business technology, companies are effectively straddling two paths on the road to innovation and transformation into digital enterprises. The first path is the heritage trail – with “legacy” technology forming the background. Here, extant technologies are transformed by core IT teams to provide more API-driven approaches. Legacy systems can restrict companies that are transitioning into digital enterprises. To truly become a lead...
DevOps at Cloud Expo, taking place October 31 - November 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 21st Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world. The widespread success of cloud computing is driving the DevOps revolution in enterprise IT. Now as never before, development teams must communicate and collaborate in a dynamic, 24/7/365 environment. There is no time to w...
SYS-CON Events announced today that Daiya Industry will exhibit at the Japanese Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Ruby Development Inc. builds new services in short period of time and provides a continuous support of those services based on Ruby on Rails. For more information, please visit https://github.com/RubyDevInc.
When it comes to cloud computing, the ability to turn massive amounts of compute cores on and off on demand sounds attractive to IT staff, who need to manage peaks and valleys in user activity. With cloud bursting, the majority of the data can stay on premises while tapping into compute from public cloud providers, reducing risk and minimizing need to move large files. In his session at 18th Cloud Expo, Scott Jeschonek, Director of Product Management at Avere Systems, discussed the IT and busine...
As businesses evolve, they need technology that is simple to help them succeed today and flexible enough to help them build for tomorrow. Chrome is fit for the workplace of the future — providing a secure, consistent user experience across a range of devices that can be used anywhere. In her session at 21st Cloud Expo, Vidya Nagarajan, a Senior Product Manager at Google, will take a look at various options as to how ChromeOS can be leveraged to interact with people on the devices, and formats th...
Is advanced scheduling in Kubernetes achievable? Yes, however, how do you properly accommodate every real-life scenario that a Kubernetes user might encounter? How do you leverage advanced scheduling techniques to shape and describe each scenario in easy-to-use rules and configurations? In his session at @DevOpsSummit at 21st Cloud Expo, Oleg Chunikhin, CTO at Kublr, will answer these questions and demonstrate techniques for implementing advanced scheduling. For example, using spot instances ...
First generation hyperconverged solutions have taken the data center by storm, rapidly proliferating in pockets everywhere to provide further consolidation of floor space and workloads. These first generation solutions are not without challenges, however. In his session at 21st Cloud Expo, Wes Talbert, a Principal Architect and results-driven enterprise sales leader at NetApp, will discuss how the HCI solution of tomorrow will integrate with the public cloud to deliver a quality hybrid cloud e...
SYS-CON Events announced today that Yuasa System will exhibit at the Japan External Trade Organization (JETRO) Pavilion at SYS-CON's 21st International Cloud Expo®, which will take place on Oct 31 – Nov 2, 2017, at the Santa Clara Convention Center in Santa Clara, CA. Yuasa System is introducing a multi-purpose endurance testing system for flexible displays, OLED devices, flexible substrates, flat cables, and films in smartphones, wearables, automobiles, and healthcare.
The session is centered around the tracing of systems on cloud using technologies like ebpf. The goal is to talk about what this technology is all about and what purpose it serves. In his session at 21st Cloud Expo, Shashank Jain, Development Architect at SAP, will touch upon concepts of observability in the cloud and also some of the challenges we have. Generally most cloud-based monitoring tools capture details at a very granular level. To troubleshoot problems this might not be good enough.
Companies are harnessing data in ways we once associated with science fiction. Analysts have access to a plethora of visualization and reporting tools, but considering the vast amount of data businesses collect and limitations of CPUs, end users are forced to design their structures and systems with limitations. Until now. As the cloud toolkit to analyze data has evolved, GPUs have stepped in to massively parallel SQL, visualization and machine learning.
Organizations do not need a Big Data strategy; they need a business strategy that incorporates Big Data. Most organizations lack a road map for using Big Data to optimize key business processes, deliver a differentiated customer experience, or uncover new business opportunities. They do not understand what’s possible with respect to integrating Big Data into the business model.
When it comes to cloud computing, the ability to turn massive amounts of compute cores on and off on demand sounds attractive to IT staff, who need to manage peaks and valleys in user activity. With cloud bursting, the majority of the data can stay on premises while tapping into compute from public cloud providers, reducing risk and minimizing need to move large files. In his session at 18th Cloud Expo, Scott Jeschonek, Director of Product Management at Avere Systems, discussed the IT and busine...
Enterprises have taken advantage of IoT to achieve important revenue and cost advantages. What is less apparent is how incumbent enterprises operating at scale have, following success with IoT, built analytic, operations management and software development capabilities – ranging from autonomous vehicles to manageable robotics installations. They have embraced these capabilities as if they were Silicon Valley startups. As a result, many firms employ new business models that place enormous impor...