01caa77a1f122a1371fed292cab37c72

We were at wroc_love.rb

It’s our annual tradition that we go to the biggest Ruby conference in Poland - wroc_love.rb. This year it took place from 17th to 19th March. It’s a really good thing to attend programming conferences for couple of reasons and here are my thoughts about it.

Continue reading
D3eadd8e8a8ab3db2fd6b032a67903e9

InSpec - Inspect Your Infrastructure

We don't have many infrastructure related posts here. We have a few full-time DevOps, it's a part of our normal offer. But, we're busy most of the time. When an opportunity to write a blog post emerged, I knew I've had to write about a thing which changed our workflow. During last two years, there were few ideas which helped us providing better and more reliable services - one of them is infrastructure integration testing.

Continue reading
5122e54437a4b89911623dfbe9a2f3c4

"By order of the Peaky fuckin' Blinders" - how to do dirty work and don’t get caught - episode 2

"Intelligence is a very valuable thing, innit, my friend? And usually it comes far too fucking late."

Alfie Solomons

This time is different. Intelligence comes in the right time. In the previous episode, we learned how is “our” API working. It is time to code the scraper that will use this API to get the data we want. Unfortunately, the API provider probably doesn't want us to get this data. He will ban us as soon as he will notice our unwelcome activities. Good news is that we will be smart from the beginning and prevent being noticed and banned :)

Continue reading
5122e54437a4b89911623dfbe9a2f3c4

"By order of the Peaky fuckin' Blinders" - how to do dirty work and don’t get caught - episode 1

“Everyone's a whore, Grace. We just sell different parts of ourselves”

Thomas Shelby

Life is not always nice, simple and easy. Sometimes is more complex. Sometimes you are its lawful citizen. Sometimes you break the rules and do some dirty, shady things. Sometimes you are a copper. Sometimes you are a scoundrel. One day you are writing an API and taking care of its protection. Another day you are receiving the task to use someone else API without permission. It is not a thing you should do, but in startups game sometimes you have to do whatever it takes. It is possible to do that if the API is protected by basic auth. I will help you to do it right and won’t be caught.

Continue reading
5fe54836166814373278ca4bf0140922

Preparing for Impact

Maximizing your software development runway on available budget

Last year Ragnarson cooperated with the Archangel Summit on preparing the Archangel Contest. We also sponsored one of the prizes - software development services for the best submitted business idea. Now we are working with the winners on moving their application to the next level. We will share some of the details in the near future.

Continue reading
5122e54437a4b89911623dfbe9a2f3c4

Blazer - a great tool to see what (data) you get

No matter what kind of online business you run, you also collect some data. To be honest we collect and store more and more data nowadays. The problem is that almost no one understands collected data and it cannot be used to make better business decisions.

Continue reading
6b844a73471cf2b060cb54d0b2f16161

Building a set of tools for managing a hosting platform

At Ragnarson we have unique experience in building Platform as a Service infrastructures for applications. For more than one year, I have worked on a private solution for a big player from Asia. We made a platform using several tools and services. Here is the list of some of them:

  • Workflow (previously Deis) for managing applications,
  • Amazon Web Services as instances provider and file storage,
  • Kubernetes as the scheduler for Workflow,
  • PostgreSQL, Redis and ElasticSearch for storing and caching data,
  • Cloudflare as a DNS provider,
  • Chef to make an infrastructure configuration repeatable and testable,
  • DataDog for metrics,
  • Kibana and Logstash as a logs aggregator,
  • Jabber for exchanging messages
Continue reading
01caa77a1f122a1371fed292cab37c72

Test the things that matter

Testing your application is a crucial thing to ensure that everything is working as expected. It gives you a quick feedback if the new feature can be shipped and you didn’t introduce any regression. It’s pretty much an integral part of development. If you like the TDD technique it means that you write your tests even before writing the actual code. But you have to remember that your tests are also an important part of your codebase and you have to take care of them. They should be easy to understand and modify in the future. It’s also important to isolate your tests as much as possible and check things that really matter. Let’s look at some example.

Continue reading
0715b35770d74e3815d64dc7b4f6edf9

JavaScript Generators

Introduction

ECMAScript 2015(ES6) brings a lot of new great features and overall language improvements. Among them we will find Generators which seems to be one of the most exciting and enjoyable JS extensions. The primary and the most important thing about them is ability to pause and resume them at a desired moment. Implementation standard by itself allows us to use it in two ways. We can think of them as data producers (iterators) and data consumers (observers). Combination of those two allow us to turn them also into coroutines to handle more sophisticated tasks. How does all this work and in which situations we can use generators to make our code more readable and maintainable?

Continue reading
Bab00040ac23b4eb10fc4ff5eafff5db

Database Views in Rails with Scenic

This article describes how database views can be a solution for an application with complex relationships and how Scenic gem simplifies the task of implementing those views in your Rails application.

Continue reading
×