While Trailblazer offers you abstraction layers for all aspects of Ruby On Rails, it does not missionize you. Wherever you want, you may fall back to the "Rails Way" with fat models, monolithic controllers, global helpers, etc. This is not a bad thing, but allows you to step-wise introduce Trailblazer's encapsulation in your app without having to rewrite it.
Trailblazer is all about structure. It helps re-organize existing code into smaller components where different concerns are handled in separated classes. Forms go into form objects, views are object-oriented MVC controllers, the business logic happens in dedicated domain objects backed by completely decoupled persistence objects
INTRODUCING LOTUS It's about a decade that we use Ruby for the web. Some of the products of these years have tons of messy code, slow builds and painful upgrades to deal with. If your application uses fat models AND fat controllers, you've got the point.
Lotus is a minimal, but yet powerful framework that is focused on good object oriented design, testability and speed. You will learn about the patterns that it implements to solve these problems and to push Ruby performance to the limit. We need new ideas to evolve as a Community and as individuals. Good news are that you can apply them on today. Let's talk together!
IDEA → STICKIES → GREEN BAR. While many developers focus on improving development speed, there’s a whole world of improvement that can be unlocked by focusing on quicker understanding of the project domain. In this talk we’ll see how a different approach to requirement gathering - EventStorming - can be used to cross the chasm between stakeholders and developers, leading to better software faster.
THE MISSING SYSTEM Managing coupling and cohesion in our programs is a difficult and never-ending task. Often we struggle to know exactly where to put what code. Over the last few years working with and studying Ruby and DCI I've built up a toolset for managing cohesive set of behaviors for inter-related objects called Surrounded. It helps me maintain related code in the same place and gives me a discussion point for team members implementing features in our systems. We'll walk through the adaptable interface it provides and how it can help your better organize your feature set.
WHAT IF CLEAN CODE IS A SCAM? It seems that we are keen to follow charismatic leaders who tell us how to do stuff. There are already a lot of rules and principles that we take for granted instead of asking questions: Will this really improve my code? Will it help me deliver faster/more reliably in the long run? It seems that sometimes we fail to challenge their ideas. Maybe you can have too many classes? What if your methods don't need to fit in a tweet? Maybe Object Oriented design as a whole is a case of premature optimisation? What if we just waste time writing tests for everything? Maybe cucumber is a massive overkill? What if... DHH was right? Then again, he is also a charismatic leader...
CLOJURESCRIPT + REACT.JS: HOW I LEARNED TO STOP WORRYING AND LOVE THE BROWSER Over the last few years, there has been a stronger emphasis on functional programming languages and constructs in mainstream programming. The rise of FP popularity is not due to concurrency (although still valid), but the recognition that minimizing side-effects yields to smaller code that is easier to test and reason about. ClojureScript finally brings that perspective to the front-end world. This talk is an introduction to a different kind of front-end development. Together, we will explore how ClojureScript helps accelerate front-end development and how to avoid the most common pitfalls; a molotov cocktail of information and pizazz to put you on the fast-track towards web development nirvana.
UNICORN UNIX MAGIC TRICKS This talk is the story of my first encounter with the Unicorn webserver. I was amazed - how would one even build such a piece of software with a master-worker architecture and features like hot-reloading? With magic? Luckily, I found out. In this talk we're going to take a look at Unix from a developer's perspective: forking, pipes, signal handling, sockets. And then we'll take a close look at Unicorn and see how it uses the basic Unix building blocks, these tricks. At the end we're going to see how Unicorn's hot-reloading, preloading and the scaling of processes by signals work. We're going to see that it's not magic, but really just Unix that powers Unicorn.
LIVE CODE MUSIC (IN RUBY!) WITH SONIC PI Sonic Pi is a piece of software that brings together programming (using Ruby) and creating music. You can either write the music and play it in one go, or 'live code' and hear the music adapt continually to your code changes.It is a great way to :* have fun!* learn (music and / or programming)* teach (music and / or programming)* express your creativity. This talk will show you the simple building blocks of Sonic Pi and hopefully get you excited about live coding music for some or all of the goals above.