Most useful applications today integrate with other services. Learning to build simple, focused applications that connect to more robust solutions can be as much of an art as it is a science. This presentation is a collection of ideas implemented by successful applications as well as the presenter's own experiences connecting his apps to other systems. Technologies covered include ActiveResource, DataMapper Adapters, as well as custom connection technologies.
In case you've been living under a rock for the past couple of years, chances are you've heard of HTML5 and even seen some demos. This talk will dive deeper than just the video tag and show how you can start leveraging HTML5 features in your webapps today. There will be plenty of code examples so come ready to get your hands dirty.
Maybe you need a bot to track the price of vintage all-metal Optimus Prime figurines on Ebay or Craigslist. Or maybe you want to monitor blogs and Twitter for references to his Energon Axe. It could be that your ready for romance and need an automated way to find others, on nerdpassions.com, who share your affection for Halflings and Hawking. Or perhaps you just want to find out a little more about your clients, customers or competition.
What ever your motivation, everybody everywhere eventually needs to do a little Dirt Simple Datamining every now and again.
In this talk I'll cover all the basics of web crawling, parsing, and data storage and retrieval and leave you with enough understanding to begin writing your own data mining applications.
Search Engine Optimization, or SEO, has justifiably gotten a bad reputation over the years. SEO experts seem like nothing more than snake oil salesmen and spammers. But we as Rails web developers ignore search engines at our own peril. For the average site, over half of all traffic will come in through search engines: Google, Yahoo!, and Bing. While developing web apps, we need to keep searchability close to the top of our priorities. Implementing best practices when it comes to search is just as important as practicing TDD and keeping code DRY -- it should be a core competency for professional web developers. This talk will cover how search engines work, how to work with search engines, and how to develop your Ruby web apps with search engines in mind.
by BJ Clark
by Brad Midgley
by Matt White
Do you ever look back at code you've written in the past and think, "Wow, this sucks"? Following simple Test Driven Development and Comment Driven Development methods can make your code suck much less.
Rack has become the de-facto standard for developing web frameworks. It is also supported by nearly all of the popular web servers for Ruby applications. Part of its simplicity is what makes it so powerful. By stacking one application on top of another and delegating through the stack to the right application, one can build a relatively simple web framework.
by Nick Howard
Developers are now deploying Rails and Sinatra applications to Google App Engine. These apps run in a servlet container, with access to all the Java APIs. Unlike a traditional Ruby hosting environment, new app instances spin-up on-demand, so you avoid paying for servers that sit idle. Unfortunately, new Rails instances can take sixteen seconds (or more) to spin-up.
Dubious provides a way to dramatically reduce the spin-up time of your app by replacing part (or all) of you app with code that is almost identical to the code in a Rails app. Using Dubious, each new instance can spin-up in about a second, with scalability and performance that beats all other web frameworks. This is possible because Mirah uses compile-time macros and plugins to generate code, instead using abstractions that create runtime dependencies with associated initialization costs.
Trellis is a component-based, event-driven Web micro-framework that provides a DSL to describe web applications in terms of pages, components and events. It combines the best features of desktop application development and modern MVC frameworks like Rails and Sinatra. Trellis pushes the complexity of building web applications onto components allowing you to build simple lightweight applications or complex, feature-rich applications.
by Evan Light
Ruby developers tend to be technology-curious. We love to explore. We also, often, find ourselves writing back ends to iPhone/iOS front ends. However, Rails and iOS have more in common than you may know. I'll demonstrate how you can leverage your existing Rails skills to learn how to develop for iOS.
by Pat Maddox
Rails became a wild success because it took so many problems that web developers had and wiped them away. After programming Rails for five years, I've definitely run into some of its limitations and have written some pretty interesting code to work around them. So when I came across Seaside and it appeared to wipe away some of the problems I had with Rails, I was intrigued. Seaside is a web framework unlike any other you've seen before. It's continuations-based, written in Smalltalk, and uses hideous URLs by default. What it lacks in approachability it makes up for with expressiveness, simplicity, and developer tools that will make you giddy. In this talk I will demonstrate how Seaside's unique approach to web application development can make your life easier and more fun. I will show off some of the areas that Seaside is particularly strong in, and show how easily Rails can integrate with Seaside so you can take advantage of the best that each of these amazing frameworks has to offer.
by Ro Samour
As developers, we want to minimize the time we spend fighting with our development environment. The less time we spend dealing with configuration issues, the more time we can spend doing what we do best... creating awesome apps! I show how you can easily set up a development environment that is both flexible and powerful. But best of all, it won't need regular attention!
by Joe O'Brien
Communication is hard. No doubt about it. Many of us, being geeks at heart, have an inherently difficult time communicating with people. Why is it that if we look around, it seems that all we see is incompetence? Why is it that we struggle to get our point across? Why do customers and bosses always seem stupid?
In this talk we will focus on communication. How to more effectively listen and speak. We will discuss some patterns that we can look for in ourselves. We will talk about strategies on how can we take a step back and realize what it is we are trying to say and hopefully uncover what it is that our bosses and customers are really hearing.
I will also walk you through strategies on how to have those difficult conversations and steps that I've learned through my years in sales, consulting, project management and business ownership.
The Crystal 3-step model consists of practices, principles, and personalization. The practices are what you know or learn how to do. The principles are the laws of design that inform you as to what works better, when. Personalization is adapting yourself to your situation, and your practices to your personality.
In this closing keynote, Dr. Alistair Cockburn will incorporate the history of Agile development (which started at Snowbird) into the evolution of what we know about software development, leading to how to use the Crystal 3-step model to improve your and your team's performance.
9th–10th September 2010