Quick Left

This is a blog

GIFs, tech and stuff.

Guest Blog Recap: Learning Ruby on Rails at RailsBridge

Quick Left hosted the RailsBridge workshop, along with the organization of the event by Thoughtbot's Desi McAdam, earlier this month. We asked some participants to let us know their thoughts on the event and Katie and Paul of 23rd Studios graciously volunteered to share their experiences below. Not only that, they took amazing photos of the event. And yes, that's me giving a speech in a bike helmet.

Hi there, we’re Katie Falkenberg and Paul Talbot, co-owners of 23rd Studios. We just attended the most recent RailsBridge at Quick Left in Boulder and had a blast!

Paul has always been interested in learning new things and has been taken with code ever since he was a youngster. He mostly does photography and video, but Katie does a lot of web work, though mostly on the design end, and when the chance came up to attend the RailsBridge workshop, we both jumped at the chance.

Read More...

How to Upload to Carrierwave with JavaScript

Carrierwave makes it easy to attach files to Rails models, but all the uploading magic operates synchronously. If you're using Backbone and want to keep model updates asynchronous, it may seem like you're out of luck.

You're not. The new XMLHttpRequest spec, which you may know better as AJAX, supports an interface called FormData. This uses the same format as a synchronous form submitted with its type set to multipart/form-data, which is what enables file uploads in a regular, synchronous form. Make sure your target browsers support FormData.

Say you have a User model with a Carrierwave field called :avatar. The update action of your RESTful controller might look like this:

Read More...

Simple Rails App Configuration Settings

Virtually every application needs a solid way to organize and store application level configuration settings. There are a slew of gems out that purport to do the work for you, but here is a solution that you can implement in short order, with no external dependencies.

Read More...

Using Node to sling high volume requests into Redis as Resque jobs

A client of ours has a Rails application that needs to consume hundreds of requests per second from a third party service, with flexibility to scale upwards to thousands of requests per second. Rails just isn't well suited to handle such a high volume of requests.

Node.js, on the other hand, is a great tool when it comes to doing a simple task very fast and in high volumes. It scales easily to boot.

Aside from consuming the request, each request needs to be processed individually, and at that volume, a queue was necessary. Resque was an easy choice.

Read More...

Boulder Railsbridge Recap

This past weekend Quick Left sponsored the Boulder Railsbridge workshop. Daniel Stutzman (one of my coworkers) and I attended the event as teaching assistants. This workshop was focused on getting female coders around the Denver and Boulder area to come out and learn Ruby and Rails. Thanks to the key organizers, teachers, assistants, and sponsors, we had about 20 female developers make and deploy a Rails app. Throughout the whole course we actually deployed 3 different apps, and in the end had created a basic voting app.

The event was a smashing success and definitely facilitated bringing female talent into the tech community. If you weren't able to attend this event but were still interested in diving into Ruby and Rails, our very own Bing Chou wrote an awesome post on 5 resources to get started with Ruby on Rails. I also write a Command Line for Beginners series that might help you sharpen your command line chops.

We want to continue promoting female talent in the tech community, and we'd love to hear from you. If you attended this event (or wish you could have helped out), we'd love to see what your thoughts were in the comments below.

Read More...

Avoiding SEO Duplicate Content Issues with Ruby and Rack Middleware

Duplicate content is identical content that appears online in multiple locations. It is important to be aware of because search engines have difficulty identifying canonical content locations and thus may penalize site owners by way of lowered index rankings or omissions. Here we'll use Ruby and a bit of Rack middleware to avoid some common duplicate content issues...

Read More...

SSO with SAP not SAML? There's a gem for that.

Recently I was building a Single Sign-On feature for a client who wanted it for customers logging into their existing database (SAP). Basically, instead of giving their customers yet another username and password, Single Sign-On lets you reuse your first log in for another app. More recent versions of SAP use a standard named SAML for SSO, and there's already a Ruby gem for that. But in this case, we needed to us a different standard named SAP logon tickets. After building that integration, in my free time I repackaged it as a gem (a Ruby library) so that others can reuse my code later if they run into the same problem.

Read More...

Intro Ruby on Rails Hackfest

Boulder Startup Week was a great time, but now that we’re recovered, we’re back in action with another one of our Hackfests. As always there will be pizza, beer, and the general merriment provided by the QL team.

I'll be leading a break out session on what Ruby is, the difference between Ruby and Rails, and will possibly be doing a few small live coding examples. We want to get people motivated about learning Ruby, so come out and sling some code with us.

If this sounds awesome to you, the aspiring Ruby expert-to-be or absolute beginner, please stop by.

Register here and we'll see you next Wednesday!

When: Wednesday, June 27, 2012 from 6 - 9 pm
Where: QLHQ, 902 Pearl St, Boulder CO 80302
Register: Ahead of time on Eventbrite so we know how much beer to buy!

Read More...

Introduction to Database Design (on Rails): Part II

In a previous post, I explained the fundamentals of database design. This guide will cover the second half of that topic: how to make the database work with Rails. Before reading this you should have a good understanding of what a database is and how to organize one.

Rails is a framework that sits on top of the programming language Ruby. The framework speeds up web development by filling in code that you'd otherwise write from scratch on every new project. A component of this is ActiveRecord, a subset of Rails that acts as the bridge between your database and your Ruby code.

Read More...

The One Night Stand...Call Me?

Not too long ago we came up with an idea to shake things up with our hackfests: The One Night Stand. We held the infamous event last Wednesday by matching people that needed help on a project with people willing to share their skills for a couple of hours. It was a great time all around and there was even some actual code written!

Not bad, especially when you consider that nobody had to suffer the humiliation of a walk of shame.

Read More...