Image for post
Image for post

For the past three years, I have been working on front-end in Ruby on Rails and every time I attempt something new, I do it in the most organized way possible. At Wolox, we create reusable components or templates to help our future selves with other projects, hence my need for organization.

When I needed to implement infinite scrolling, I investigated a bit but what I found was not what I expected. The solutions I found repeated the same structure of DOM elements in both the HTML file and in the JavaScript one (where it had to create the elements…


Image for post
Image for post

One common issue we face at the time of building APIs with Rails is making requests that depend on an external service’s response. Let’s say we have to log a user into our system and the login process goes as follows:


Image for post
Image for post

It has been over two years since I started working with Scrum. I have been a part of different Scrum teams both as a developer and leader. I have read books, blogs and have had the opportunity to attend courses. After all my research, this is my way of implementing Scrum.

Shu Ha Ri

It’s widely known that Scrum can be traced all the way back to one of Japan’s, and the world’s biggest car manufacturers, Toyota. But not only that, there is a Japanese martial arts concept, Shuhari, that is used for describing the progression of learning or training that can be…


Image for post
Image for post

Three weeks before RailsConf started, my friend and CTO of Increase, Agustin, suggested we should go to the conference. We had just talked about ways to get involved in the Rails community a bit more, so, it was perfect. I have always watched other conferences through online videos, so I thought how much better would it be to see in person! The only uncertainty I had was brought on by the distance of the trip, from Buenos Aires to Kansas City. However, after some online research, I was easily convinced we couldn’t miss it, we were both super eager to…


Image for post
Image for post

The technological trend in recent times is to store the user’s information in the cloud so that they can access it from any mobile, wearable or desktop device. To achieve this, you need to have some kind of API hosted on a server that feeds the apps, on this post we are going to focus on REST API. This way, we are able to have the business logic and data on the server side.

At Wolox, we provide technological solutions to startups. We usually build web and mobile platforms for our clients using technologies such as Angular, Android, and iOS…


Image for post
Image for post

Many times I’ve asked myself, “When should I use an H4 or an H5?”, “Should I use a div? A span? Or is it better to keep using headline elements?”. In the end, what the users will see is what the style says and not what the element represents; I could use a span and style it to look exactly the same as the biggest headline in my page.

See also: Bootstrap Android OpenGL 2.0

At this point, I started questioning myself and came to the conclusion that HTML elements are useful to guide the programmer when designing the structure…


Image for post
Image for post

OpenGL is a powerful API to get the juice out of your Android’s GPU in order to develop a wide variety of graphic applications, ranging from games to social apps.

However, it’s not so easy to get it up and running. Google provides some documentation and tutorials regarding OpenGL 1.0 and 2.0 here. The tutorials contain some bugs which may give you a headache if you are looking for code that “just works”.

Setting up the environment

First, you need a view to render graphic content from OpenGL. You can extend Android’s GLSurfaceView and configure the OpenGL version and sizes.

This view won’t…


Image for post
Image for post

Parse will be fully retired by January 28th, 2017. Many applications that depend on Parse’s database and cloud code will also go down unless they find an alternative solution.

At Wolox, we develop web and mobile applications for Startups. A common need among them is a landing page with two main purposes: get people to know about the product and collect emails of those who are interested. Until Parse announced their retirement, we used to build these landing pages using AngularJS, Parse and Mandrillapp. …


Image for post
Image for post

Being able to carry out all sorts of test cases, error scenarios and unexpected behavior in a piece of software is the heart of QA testing. To achieve this, building a Stage environment is key to develop a high quality and robust mobile or web app.

Setting up a platform that faithfully mirrors the behavior of the API & Server in a safe and contained context can be achieved through a number of ways. In this post, we are going to explore the two most popular possible approaches:

1) Building a fully dedicated server aimed at staging QA testing

This approach is the most suitable when planning to carry out test…


Image for post
Image for post

Problem

It’s known that Ruby on Rails Uniqueness validations have many issues with Race Conditions. I will use our own example to clarify what I mean:

We are using Sidekiq for our asynchronous jobs. We have an endpoint /api/parse/?data= that receives lots of parsing requests from another server and enqueues an asynchronous job for each of them, so we have lots of parsing jobs enqueued per second. All those jobs generate new records in the database that may result in a duplicated row. When we do the save! action in Rails the Uniqueness validation doesn’t fail because internally the save! method…

Wolox Engineering

Driving Innovation www.wolox.co

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store