• Jonathan Miles

    Diving into the Ruby source code: BigDecimal rounding options

    By Jonathan Miles,

    If you're a developer and I ask you about numeric rounding, you'd probably think of something like this:

    We can round up if we see non-zero in that spot (also known as "ceil"), or we can round down regardless of the digit (aka "floor" or truncate), or we can round >= 5 up and truncate if < 5 (banker's rounding).

  • Mikel Lindsaar

    Why fixed-price software development is a death spiral

    By Mikel Lindsaar,

    When hiring developers to build an app, most people want to know the cost up front. After all, how can you manage your budget if you don’t know the cost?

    We have resisted the pressure to provide a fixed-price quote and have, at times, lost work because of it. The recent collapse of high-profile app development company Appster has validated my stance on this issue.

  • Glen Crawford

    Using Ruby and Tesseract to Recognise Text in an Image

    By Glen Crawford,

    At reinteractive we have recently completed a project calling for us to use OCR (Optical Character Recognition) technology to recognise printed text from photographs. It's a fun problem to solve, and so here is a brief post on how you can also set up your Rails app with OCR capabilities.

    Tesseract is one of the most popular OCR libraries. It's free and open source, runs on multiple platforms, supports a lot of languages, and its ongoing development is sponsored by Google. It is primarily a command line tool (although there are third-party projects that supply a GUI), and, luckily for us, there are a couple of Ruby gems out there allowing us to interact with it from a Ruby/Rails app. For this post, we will use

  • Mikel Lindsaar

    When is the right time to do a code audit?

    By Mikel Lindsaar,

    If you depend on your Ruby on Rails application to generate more than a few thousand dollars of revenue or service to your customers, getting a regular professional code audit done on your application is vital.


  • Jonathan Miles

    Fixing Native Datepickers in Turbolinks-Android Apps

    By Jonathan Miles,

    Some of our clients make use of Turbolinks-Android to provide a native Android experience for their Rails web apps. This is fine, until you try to use something like an HTML5 date field. When the user taps on the field they get... nothing. No datepicker, not even a keyboard, just a flashing cursor trapped in a forever-empty field.

    This is a known issue with Turbolinks-Android. It appears that most HTML5 fields will work, but date/time and autofill will not.

  • Ildikó Tuck

    What is a Clickable Prototype?

    By Ildikó Tuck,

    Perhaps the most common question after "How are you?" in any context is “So, what do you do for a living?" If you’re a UX designer, answering that will get complicated quickly. Because, even though the field has been around for a while now, many people - even those working in IT - still aren’t sure what exactly UX is.

    Anyone working in this field for any significant amount of time would have the “off-the shelf” answer that doesn’t turn into a 5-minute soapbox moment where we explain what UX is and why it matters (so much!!). My answer is “it’s kind of like engaging an architect for a house, I create a blueprint for web apps that tells everyone where everything needs to go. And then I talk to people about it”. That answer is usually plenty complicated to yield some confused looks.

  • Rhiana Heath

    Simple CSSGrids for IE

    By Rhiana Heath,

    Yes you can use CSS Grid in IE 10 and 11, it’s just a different version so the syntax is a bit different. On the plus side though, it doesn’t interfere with your current CSS Grid setup. :-)

    Did you know that a Grid system was originally developed for Internet Explorer 10 (IE10) back in 2011? It was submitted to the W3C and, while a great start, it was not complete. They worked on it some more to develop the CSS Grid system we use today. So there are some similarities between the two, but the IE one is set up in a different way in parallel. Read more about the whole story here.

  • Stephen Huang

    How to structure JavaScript code when using AJAX in Rails

    By Stephen Huang,

    AJAX is a great solution that allows you to send and retrieve data from the server and update the page without having to reload the entire page.

    In this article I will show you two strategies in Rails to use the data from server by executing JavaScript code: AJAX Callback Function and Server-generated JavaScript Responses. Then I'll explain how they work, and describe their benefits.

  • Mikel Lindsaar

    To Microservice or Monolith, that is the question...

    By Mikel Lindsaar,

    To Microservice or Monolith, that is the question...

    Whether 'tis nobler in the mind to suffer
    The pains and troubles of hosting and maintaining,
    Or to take arms against a sea of troubles
    And by opposing the split of services, end them.

  • Victor Hazbun

    Using Ruby Closures to simulate classes

    By Victor Hazbun,

    A technique commonly used in JavaScript is to use closures in your objects instead of classes. This is done to ensure that variables do not leak out and inadvertently become overridden by some other function or operation.

    This technique can also be used in Ruby. The scoping rules of Ruby are such that when a lambda is defined, that lambda also has access to all the variables that are in scope.