Hire Us

Railsware Blog

on product management, engineering, design, culture and many more...

Shared Mustache Templates for Rails 3

Hello my dear friends. Today we will talk about how we share mustache templates in Rails 3. Let’s imagine that we have a task, where on first load of the page we show only 10 products. But when user scroll, we should automatically load more products on page (aka continuous …

4 Steps To Scope Your Product Right

Usually, the business owner starts working with designers and engineers with only 20% of his product scope understanding. Our overall goal is to build product vision together at the very beginning of a development cycle and not at the end of developing a product-he-doesn’t-need and which doesn’t solve consumers problems. …

From Photoshop to Fireworks and back

Hi, my name is Andrey and I’m a Photoshop addict. Photoshop It’s been my weapon of choice for 12 years, but why not to have two guns in your holsters instead of one? Adobe has plenty of tools in the box and it’s up to you to decide which one …

Databases holy war. Yet another chapter.

Near a year ago we looked for a geolocation solution to complement the functionality of one of our projects. We expected to deal with hundreds of thousands of records at the beginning and to grow up to 10-15 million records. Finally, we’ve picked up PostgreSQL and its PostGIS extension. We’ve …

Futurico UI HTML based on Scaffy framework

Futurico UI HTML is a web elements pack that has been created based on Scaffy framework by Railsware. This pack of ready to use Futurico UI HTML components has been created for designers & developers. There is no need to reinvent the wheel cutting such huge pack yourself. Every component …

CouchDB and CouchApp

To write a web application today there are many languages, frameworks and libraries. One of the main languages in this set is JavaScript, because this technique works in most browsers without any additional third-party libraries and is quite flexible. At the moment, it is possible to write entire applications to …

Capybara with Given/When/Then steps in acceptance testing

Capybara with Given/When/Then steps in acceptance testing

Capybara with Given/When/Then steps in acceptance testing. Many of us use cucumber to write acceptance tests.We must to say it’s very nice tool that allows you to write features in English plain text.The main goal is provide interface that should be clear for Customer(non-programmer) and Developer. Cucumber example: Feature: User …

Accessing application session in Capybara

Accessing application session in Capybara

Trouble There are some cases when you may need to access application session in your tests: User signup or registration flow is too long.Application use another backend and store result into session. In each story you must repeat the same steps. You can actually use some shared code but it …

Testing gem integration with multiple ruby frameworks

Preface When you develop some cool gem that should work in different ruby frameworksyou definitely should write acceptance tests. Nowadays it’s pretty easy to do with RSpec+Capybara. Your goal Assume you develop MyRackMiddleware gem that should work in Sinatra and Rails application. Your actions Create gem layout To create layout …

Mailtrap: Save your customers from getting test emails.

We assume you’re a web developer, QA engineer, product manager, etc — somebody who’s doing internet software projects. Have you ever needed to test e-mail notifications in your web application? Today we’ll speak about common issues while testing e-mail notifications and best solutions for that issues. Common issues with manual …

multiple applications deployment with Capistrano

CapHub – multiple applications deployment with Capistrano

Today we’ll talk about deploying multiple applications via single Capistrano project, managing its deployment configurations in a single place.This approach is a must for projects with multiple applications deployment and recommended for any other project using Capistrano for deployment.We’ve created a tool called Caphub for simplifying creation of multi-deployment Capistrano …

Posting delivery events to Google Calendar

Introduction One day our client asked us about product deployment notification. Initially we wanted to use mail-list or create special skype chat, but it turned out to be unreliable and inconvenient: hard to filter notification emailshard to track deploment historynewly added person can’t observe old events So we “thinked differently”© …

Advanced server definitions in Capistrano

Advanced server definitions in Capistrano

What if you have several servers with different users, ssh-keys, and even port numbers? How to manage all this stuff flexibly ? This tutorial covers poorly documented Capistrano features for advanced servers and roles configuration. Many of them obtained via digging into Capistrano sources. This article covers following Capistrano topics: …

Capistrano delivery via Patch

Today we’ll talk about lightweight deployment method for your applications via Capistrano. Preface Standard capistrano deployment via ‘cap deploy’ is quite sufficient, but the standard deployment isn’t very fast. Each time, you have to do following: check out the codecreate symbolic linksrun your custom tasksswitch to a new releasereload your …

The Resque Way

Introduction When we started using Resque two years ago we were impressed by two things: its power out-of-the-box and its opportunities for scalability. Over the past two years, we’ve explored Resque internals and plugins. We’d like to share what we’ve learned from our practical experience using Resque during different phases …

Engineering background to help a CEO

While my engineering background (9 extensive years of daily coding and 4 years of software producing/tech leading/management/sales) is essential to my job as a CEO of an engineering company, that isn’t what I want to focus on today. Through the course of my day as the CEO of Railsware, I …