Your current filters are…
by Jeff Casimir
Software development as engineering. Real world situations as objects. Development periods as sprints.
Metaphors are a powerful tool, and generally a positive one, allowing us to disregard some complexity in favour of focusing on the current situation. However, this reduction of complexity can blind us to other ways to discuss or approach a problem. Choosing the wrong metaphor can be dangerous; choosing a simplistic metaphor can be limiting.
This talk will encourage thinking about the metaphors behind the concepts we use, and what other metaphors could be considered in their place. Being aware of metaphors, consciously choosing which we use, and re-evaluating regularly will improve both our code and our discipline.
ZeroMQ is a socket abstraction and concurrency framework that's changing the way we think and reason about distributed systems. Mailboxes, atomic message delivery and swappable transports allow for fast, flexible and resilient network topologies. It's I/O model also sits very well with all Ruby implementations. In this talk we'll discuss :
Rails did a lot to bring REST to developers, but its conception leaves the REST devotee feeling a bit empty. "Where's the hypermedia?" she says. "REST isn't RPC," he may cry. "WTF??!?!" you may think. "I have it right there! resources :posts ! What more is there? RPC? Huh?"
In this talk, Steve will explain how to design your APIs so that they truly embrace the web and HTTP. Just as there's an impedance mismatch between our databases, our ORMs, and our models, there's an equal mismatch between our applications, our APIs, and our clients. Pros and cons of this approach will be discussed, as well as why we aren't building things this way yet.
Nobody likes when their code smells. To help avoid it, dozens of special tools and approaches have been designed. Efficient coding tools, refactorings, code metrics, code analysis, code testing and debugging are all crucial for creating quality, maintainable code. During this talk we’ll show you how to efficiently detect code smells, eliminate them using refactoring, and validate the changed code. By the end you’ll have a ‘swiss army knife’ full of techniques for making better code.
This talk will explain how we got drunk and lost track of our servers, how we sobered up and still had a hard time administrating them, and how we finally managed to get on top of our server infrastructure and transform the architecture into the shiny majestic thing it is today. It is a survival story of sorts, where a Zookeeper and a Chef comes to the aid of a young newcomer trying to make it big in the bustling scene of startups.
This talk will discuss the architecture of our app and server infrastructure at Flowdock. We will talk about importance of decoupling in order to:
* ease development and maintenance
* scale your app
* maintain high-availability
* impress your friends with your architecture layout
* keep a zoo
Rails - a word that stirs programmer's blood. It brought us testing, easy web app building, database abstraction and hundreds of extension gems. Why not take it to another level and discover how Rails turns into a real OOP framework? By exploring chosen gems let's discuss what MVC really is and how it boosts your AJAX user interface, how to apply patterns like DCI, dependency injection and POROs to your database layer and how to expose your Rails system through a real RESTful API. Also, have you ever tried using Rails helpers outside of Rails, maybe in Sinatra? Let's do it and learn about some refreshing aspects of this framework.
Rails is the best framework for building web apps in the world, but is there a way we can get even greater leverage of Rails' strengths while producing a more maintainable system? Brandur talks about lessons learnt while separating API from the web, and how this pattern can be reused elsewhere for the greater good:
by Joe Kutner
Your website has just crashed, and you're losing money. The application is built on Rails, runs on MRI, and is served up with Mongrel and Apache. Having this kind of infrastructure means that you're managing more processes than you can count on two hands. It will take a while to get back online because there are so many components in your system; including resque, monit, cron, Ruby Daemons, and more. But the website has to get up and running if you are going to stay in business.
The problem I've just described is all too common. It has happened to everyone from small start-ups to large social networking sites that use Ruby to serve millions of requests. But the recent growth and increased adoption of the Java Virtual Machine (JVM) as a platform for Ruby applications means that this is no longer the only way of doing things.
In this talk, I'll discuss the new architecture and deployment strategies that JRuby enables, and why they're better for your Rails applications. I'll talk about what makes JRuby more scalable and show some benchmarks that prove it. I'll also discuss three deployment strategies that can be used with any Rack-based JRuby application, and provide an overview of how each one works. I'll focus on the technologies that make them possible, and when it's appropriate to use each strategy. They include:
Choosing the right JRuby deployment strategy will not only provide a powerful and reliable platform -- it will help you get more sleep at night.
20th–21st September 2012