Protected: Panel of Ruby/Rails Professionals, Dec. 17

This post is password protected. To view it please enter your password below:




Viewing 26 Comments

    • ^
    • v
    Can Ruby be used to scrape other websites for content? Is there a useful library, gem, or screencast that tells how to do this?
    • ^
    • v
    How long it will take to rewrite a medium size java project. It took 100 man months to complete this java project.
    I would like to know the benefits of the Ruby on rails over java & .NET.
    Can you compare scriptaculous vs yahoo UI?? Can I use yahoo UI with ruby on rails.
    • ^
    • v
    A basic question on Ruby. I would like to know your panel's experience and take on the feature of adding behavior to the core Ruby classes. What do we gain in a realtime project and what do we loose(the risks) in particular. Examples from a real project scenario would be great.
    • ^
    • v
    I was wanting to know the best way to deal with audio files using Ruby and RoR. Is there any way to deal with audio files using just Ruby? Any gems or plugins that are useful? Is there an easy way to stream audio using Rails?
    • ^
    • v
    I sent the questions so far to the panelists -- but for this one, you should ask Brandon specifically.
    • ^
    • v
    Compare Scriptaculous vs. jQuery. Strengths, weaknesses, preferences.
    Is there an industry trend moving from one to the other...or maybe another?

    Compare the difference in development time required for a medium complexity site developed in Java or .NET vs RoR.
    For example, a job taking 1 year and 3 Java engineers would take how long in RoR.

    What is your best approach for "selling" the RoR path to a client who thinks they need .NET or Java?
    • ^
    • v
    I was wondering what the panel thought the shelf-life for Ruby would be.
    What I mean by that is there are some programming/scripting languages that seem to have a greater longevity than others
    (C, Perl, HTML have been around for a while whereas some others have fallen to the wayside)
    I would ask if they believe Ruby has that staying power?
    • ^
    • v
    This just came out . . . Interesting . . . http://blog.jayfields.com/2008/12/targeted-lang...
    • ^
    • v
    In lecture yesterday you mentioned that you think there will be a shift from rails to a new platform in the next year or so. It would be nice to expand on that: what are the problems that might lead to such a shift, where are things heading, etc.
    • ^
    • v
    This is one of John's suggested topics, and I would like to see it addressed: Where are the Ruby/Rails jobs? Any suggestions on landing the first Rails job, without any actual paid Rails experience on one's resume?
    • ^
    • v
    Are there any embedded Ruby/Rails implementations?
    What is the smallest Ruby/Rails solution in terms of footprint?
    Are there any examples of localized (non-networked) support of Ruby/Rails applications using a lightweight version of the framework?

    Should new development add-ons be gems? (there seems to be some concern about plugins across various blog posts)

    Has Ruby /Rails been adopted to a greater degree in specific industries? If so, which ones?

    To what extent are folks serializing data objects for the persistification of state?
    • ^
    • v
    Richard Solis is at a conference and asked me to post this:

    "Are you examining any of the alternate Ruby interpreters like Maglev or JRuby for deployment or development purposes and what advantages or disadvantages do you see in these new platforms for Ruby code."
    • ^
    • v
    Is there a way that a cloud of Ruby servers (deployed across the Internet, and not owned or maintained by one common organization) to share or "stripe" sets of data across the server set. Each server would not have to store all the data, and yet some server would have to be authoritative for given portions of the data.

    This is similar to the DNS zone file sharing, except that the envisioned data would be much more varying and loosely structured. Rather than keeping flat zone files, this data would be kept in flexible relational database structures.

    The shared data model itself should also be modifiable, such that new structural modifications can be pushed to ALL other servers in the cloud. All data would have to be migrated to the new model on each server when upgrades were installed. A monitoring system would have to keep the data model version for all servers in the cloud in synch.

    Hopefully this can happen with no human interaction. There might well be a governing body that would "sign off" on upgrades to the data model, but once they push an upgrade live, then that model should propogate automatically.

    On a related issue are there particular security implications for Ruby servers that live in such a distributed cloud. The servers must be secure, and yet be able to work in concert across the Internet, with servers that (while registered with the cloud) are hosted and built and hosted by any organization wanting to participate in the cloud. The integrity of registered servers would have to be monitored.

    Is Ruby an acceptable platform, or should some other programming language and web integration platform be used?
    • ^
    • v
    For your striping question: I think what you are asking for is sharding:

    http://www.datacenterknowledge.com/archives/200...

    By the time you get to the need to shard, you are talking about a system management / high-availability issue, not particularly a Rails issue.
    • ^
    • v
    Coming from an application performance background, I'd like to know if there are any decent tools out there for measuring or monitoring Ruby and Ruby on Rails applications? I've learned that performance can be a great concern, especially with large web applications. How do companies address application performance? What tools, methods, etc? Are there any groups or efforts (like a JRS) currently in place to address the performance? If so, where do you suggest I start? Is there a yearly Ruby conference similar to that of JavaOne?
    • ^
    • v
    We monitor our Rails systems with Monit (http://mmonit.com/monit/), so we're really monitoring systems, not Rails per se. Like most serious Rails sites, we cache everything with memcache - for instance, http://railscasts.com/episodes/115

    To isolate performance issues, we using the profiler. http://railscasts.com/episodes/98-request-profi...

    RailsConf is the big annual conference -- it's a lot of fun: http://en.oreilly.com/rails2009/
    • ^
    • v
    Thanks. I'll check these links out.
    • ^
    • v
    As a sort of breakoff of this I've heard that Ruyb doesn't scale well in the performance department when things get really large. Is there a sense of what the largest ruby application should be?
    • ^
    • v
    It will be interesting to see what the panel says.

    About scaling:

    -- When things get "really large" you are going to have to do a lot of special work no matter what the framework is, be it JavaEE, .NET, Rails, whatever. All of these frameworks require similar techniques: Largely, lots and lots of caching.

    Very generally, Rails scales as well as everything else: With care!

    Here are some things you should look at:

    http://highscalability.com/friends-sale-archite...
    http://blog.linkedin.com/2008/06/23/web-scalabi...
    http://www.joyent.com/a/scale-rails-to-1-billio...

    People who complain about Rails scalability sometimes instance Twitter. However, Twitter is not really a web app. Twitter is a *messaging* app with peculiar problems all its own.
    • ^
    • v
    For Gregory Brown: Your Ruby Reports seem like the perfect tool for what I do at work everyday. My job is to pull all of the research data from a MySQL DB into various web based reports with data charts that can easily be placed into a research paper. I am very new to Ruby, I just learned it for this job. How did you decide that Ruby was the best language to use for Business Reporting?

    For Sean Lindsay: How do you like working for companies in the early stages and why do you prefer them over large rooted companies? Do you search for opportunities where you know you can apply your Ruby skills or do you use various different languages and technologies?

    For Matt Knox and Brandon Casci: I noticed that most of the people working with Ruby and Ruby on Rails are with smaller companies and start-ups, why is that? Especially with something like Business Reporting it seems like larger corporations could benefit from the ease of use of Ruby.
    • ^
    • v
    As someone who is returning to the software industry and thinking about switching tracks, I'd love to hear about the actual organization/life cycle of a ruby/rails shop. What does the team consist of, what do you all actually do all day, how long _does_ it take to get the first cut out the door? Etc.
    • ^
    • v
    Are there any significant non-web applications that people are tackling with ruby?
    • ^
    • v
    How do you envision Ruby influencing the SW market? Is it gaining market share momentum?
    Good EA practices start with not only acheiving cost-savings, enabling the strategic intent but also add consistency.
    In thinking about the strategic intent of my own enterprise (at huge healthcare company ZZZ), the emphasis is on transparency and re-use (not necessarily saving software developers time). With all the legal and regulatory issues affecting many large companies the focus has simply shifted away from software development oriented issues to other areas.

    Ruby players - Who's onboard? Who is championing? Major Obstacles?
    Large enterprises tend to like big vendors (Sun, Microsoft, BEA, Oracle, CA).
    Much of the guidance that the enterprises receive come from big consulting firms (Accenture, DiamondCluster, Wipro, Bearingpoint, etc.).

    Ruby as a tool - Productivity gains? Is Ruby/Rails here to stay? (What works? What doesn't? and Why Not?)
    I'm a believer in agile methodology and a big advocate of Model Driven Architectures.
    However as an IT professional, the mantra is about People, process, then technology in that order.
    What matters is delivering a solution that meets a need (customer pain point).
    • ^
    • v
    These are great questions. A few notes that may be productive of other questions from other students:

    -- The advent of Rails dropped like a bomb in the software market: It's influence has been absolutely massive. Other frameworks (JavaEE, .NET) have been integrating new tools that are basically copies of Rails components, especially ActiveRecord. Ruby code may be more maintainable and productive than, say, Java. I quote a 6:1 code reduction (6 lines of Java to 1 line of Ruby); a panelist last year reported a 10:1 code reduction for a big web-based app. Note that I say here "Ruby" even though it's a web app: I think the overt productivity gains actually have more to do with Ruby than Rails, but I haven't read any students that try to tease out the causes of Rails vs. JavaEE productivity.

    -- If your emphasis is on people, Ruby is, for many shops, a huge win over Java, perhaps especially with the new and upcoming features of Java, which some argue are a step backwards. People really like to program in it. One area where Java is still better than Ruby is in the area of tools (i.e., tools that can report on code quality and the like).

    -- The Rails sweet spot is in classic web development. If you have (big; secure; etc.) back-end components that require, say, the full BEA stack, then you should use web services to access them. That way you get the best of both: Rapid development for the Rails stack, delegating to Java or C++ for certain back-end functions.

    -- There is some real Enterprise support for Ruby. Sun is behind it in the form of JRuby, which is faster than the Ruby we're using. You can package a Rails app to be deployed into a JavaEE container such as Sun's Glassfish (or you can use a non-JavaEE servlet runner such as Tomcat). So you get all of the benefits of container isolation and management of resources through the container, which is a big Enterprise issue.

    -- The whole category of Enterprise software has a big question mark after it. With the move to services, you might want to ask more about integration into Amazon's EC2, getting your database from Amazon SimpleDB, deploying to Google's new cloud, etc. The very notion that an Enterprise should maintain their resources is coming into serious question. On the business side, Sun's stock value is in the tank, and, of course, BEA doesn't even exist anymore as an independent entity (it was swallowed by Oracle).

    Oh, one more thing: Jim Farley's Enterprise Java course in the Spring is going to have a panel on alternative platforms to JavaEE: I'll be there representing Rails. You could probably come as a guest.
    • ^
    • v
    But we won't know when that panel would be unless somehow you email us :-)
    • ^
    • v
    I will e-mail anyone who tells me they're interested.

    Or you can take Jim's course: http://extension.harvard.edu/2008-09/courses/cs...

blog comments powered by Disqus