Your current filters are…
An introduction to Rhodes” - Mobile Apps Development has taken by storm after the introduction of iPhone and the App Store. Its a long way with others like Android, Blackberry etc entering into the arena. Developing mobile apps for each device and mainting different code bases is not so DRY and its too time consuming. Presenting one of the frameworks that uses Ruby & HTML so effectively in developing crossplatform mobile apps with one single code base all written in Ruby!
Rhodes is an open source Ruby-based framework for building locally executing, device-optimized mobile applications for all major smartphone devices. These applications work with synchronized local data and also take advantage of native device capabilities such as GPS, PIM contacts, camera, and SMS. Yet you write the majority of your interface with high productivity in HTML and Ruby. Rhodes allows you to write an app once and it will then run on all iPhone, Windows Mobile, BlackBerry, Symbian and Android smartphones. During this session we'll build a sample app for all mobile devices, from scratch, in minutes.
by Hemant Kumar
I have been building client/servers in Ruby for past 3 years and drawing from that experience I would talk about Threads in Ruby, Reactor pattern in Ruby, Eventmachine, Revactor, Packet, Actor pattern in Ruby, protocol parsing (ragel). Touching upon various threading implementation in MRI1.8, Ruby1.9 and JRuby. Best practices regarding threading. Writing threaded clients/servers. When threading model suffices and when it breaks down. Non-Blocking IO in Ruby. Select VS other advanced selectors. When to use NIO model and when to look for alternatives. Using Actor pattern in conjunction with Reactors for better scalability. And at last if time permits, I would present my ideas on building better network protocols and using ragel for protocol parsing.
by Nick Sieger
One of the most eagerly anticipated aspects of the fast-approaching Rails 3 release is its inherent modularity, and how that modularity gives the application developer more choice. We'll start with a tour of some of the headlining differences between Rails 2 and 3, and then put Rails 3's internal architecture to the test by demonstrating how to plug in some non-standard standard components, including an example of how to wire in a Java library using JRuby.
by Vineet Tyagi
Would you like to know how to build an application server from scratch? This talk would provide an insight to the thought process and the key decisions made while building WebROaR from grounds up using C & Ruby.
What enables this server to deliver high performance and also offer a rich bouquet of integrated features like Analytics, Exception Notifications etc? If gaining knowledge about design of a good software product interests you, do join us for this interactive session.
My presentation will be on the topic of MacRuby. MacRuby is relevent to Ruby developers because it allows us to dive into the world of Mac OS X development using Ruby 1.9. Unlike RubyCocoa, where we would need to use both Ruby and Objective-C, MacRuby's API allows us to just use Ruby.
I will go into a brief history of MacRuby and explain just why it is important to us as Ruby developers. I will then do some live coding of a quick desktop application using MacRuby. Attendees will be able to take away from the presentation a good understanding of MacRuby and the passion to develop something of their own using it.
by Sidu Ponnappa and Niranjan Paranjape
All codebases have entropy and tend to degrade over time. Ruby is a hugely flexible language, and as a consequence Ruby codebases tend to suffer more than most from this kind of gradual degradation over time, especially in situations where part of the development team is new to either Ruby, or the project domain or both.
This talk is about all the ways in which a Ruby codebase can be slowly drawn and quartered over time. We will talk about the kinds of the anti-patterns one can expect to see, the smells which indicate their presence and the mechanisms that can be used to prevent their occurrence or minimise their effect on the codebase. Examples are drawn from the presenters' experience working with a suite of integrated Rails applications ranging from four years old (legacy applications in Rails terms) to a few months old as well as their experiences in working on open source Ruby projects.
We will cover runaway meta-programming (someone overwrote Object#responds_to?), poor performance (someone thought creating a Document for *every* response was a good idea - and used REXML) and other issues that are common, weird or simply entertaining.
by Ola Bini
Programming languages are at the core of our profession. But we don't always give them as much credence as they deserve. The strength of Ruby lies in its heritage from a number of different languages, and a look at the history leading up to Ruby might reveal what lies in store for the future. At the moment a lot of attention is spent looking at programming languages and developers are realizing that your language is an important tool. I will talk a little bit about why languages matter, why you should know several, and what the future of languages might look like.
by Aman King
Asked to design an object-oriented solution to a problem, most of us would come up with a list of classes and an idea of how they'd interface with each other. Some might even figure out the class hierarchies and the methods involved, not to mention the methods' arguments. Those who desire further details would begin thinking of the data fields to be placed in the classes. This class-driven technique for coming up with OO solutions is a well-known one, and almost all OO languages support this by providing constructs to represent classes, methods, attributes, inheritance, and so on.
A language like Ruby, however, goes a step beyond to provide certain features that pertain not to classes but to "objects", independent of their class hierarchy. And yes, unlike conventional languages like Java, there is a clear distinction of whether the concept applies at a class-level or an instance-level. Take for example access modifiers:in Java, when a method is made private, its privacy is tied to theclass; two objects can call each other's private methods as long as the calling and called codes reside within the same class definition. In Ruby, if a method is made private, the method cannot be invoked by any other object, even from code that originates within the same class. Similarly, Ruby allows a method to be defined at an object-level, making it available only via that particular instance and not any other object, even of the same class. And, of course, there is "duck typing" which says that for a method to be invoked on an object, what matters is not what class the object belongs to but whether such a method exists for the object or not.
Such features are shifting focus back to the "object", and are gradually leading programmers to think more about objects and their interactions, rather than class-related concerns. This makes for a more lax and open playing field that retains the cleanliness and maintainability of a class-based approach while encouraging newer ideas that tend towards a truly "object"-oriented solution. My session will expound on this thought, providing examples to delve deeper into the OOP mindshift that is coming about and the benefits thereof.
India's up and coming startup culture is one that's been long-overdue. While the country's large pool of talent and artistic minds is primed nd ready for starting up hundreds of innovative web companies, the reality is that not many exist, and the ones that do rarely compete on the global stage. While the problems facing new companies in India are well-known, there are alternatives to going the 'traditional' startup route.
This open-ended talk will put forth some new techniques for Indian entrepreneurs to compete globally, by leveraging agile and rapid development efforts using Ruby that directly appeal to cash- and time-strapped founders. There will also be some discussion on growing your startup, finding good developers, helping build a community of like-minded individuals locally, and pointers to next steps. The last quarter of the talk will be an open-mic Q&A session that will help directly identify pain points for entrepreneurs in India and possible solutions to the same.
by Neeraj Kumar
Across the world, natural or regional languages differ in many ways, (e.g. in pluralization rules). Therefore, Internationalization became a complex problem and it is hard to provide tools for solving all problems at once. Sven Fuchs focused to provide an extensible framework and easy to use gem that is Ruby I18n (internationalization) gem.
The Ruby I18n gem is mainly designed for translating your application to a single custom language other than English or for providing multi-language support for your ruby on rails application. The pivotal point of the new I18n api in Rails is the I18n module which is provided as a gem and shipped with Rails (starting from Rails 2.2) in ActiveSupport’s vendor directory.
Therefore, during my presentation I will try to go over some of the advanced optional features and architecture of I18n gem. Besides, I will also try to cover begin with I18n gem, setup, benefits, the work flow, what's in? and what's not? Etc.
We know that testing is important; that separation of concerns is important; that modeling our domain is important; and that their are often many domains within an application. So why is it that most of the view engines make it so easy to break all these important activities?
View engines, such as erubis and ERB, make it so easy to break the model-view-controller-paradigm by allowing turing-complete code in the view. It is so easy to pull the database into the template by making calls such as <%= Order.find(:all, :conditions => { :status => 1 }) %>. Oh no! Now separation of concerns is thrown out the window, closely followed by testability and domain modeling.
Never fear - there is a better way! By following the teachings of String Template, we can introduce a strict enforcement of the model-view-controller-paradigm. In this session, we will highlight the problems with the existing engines, explore the possibilities of String Template and introduce Slippers - the ruby port of string template.