44a92cadb5b15a040e0c7a3c19cabced

10 lessons for software developers before they start applying for a job

Finding the right environment that best supports one’s professional goals can be a daunting task, especially in the current labor market since it offers an abundance of opportunities. Based on many years of experience conducting hundreds of interviews at Ragnarson, I would like to share a few observations of our team to assist job applicants.

Continue reading
Ebdeb6de770c069ff6f2b37780d2a340

The right time to introduce structure to a development process

Have you ever worked on a project where everything just flowed, work was getting done and your team was killing it? Have you worked on one where it was complete chaos, everyone was busy and nothing was getting done? How about one where you spent more...

Continue reading
D3eadd8e8a8ab3db2fd6b032a67903e9

Who watches the watcher - infrastructure monitoring heartbeat

At Ragnarson we believe that monitoring every aspect of the infrastructure is crucial for a long-term maintenance of infrastructure projects. This is extremely important, it is unlikely for us to take on projects with no budget for the monitoring. But even if you set up alerts for every service, there is one aspect of the monitoring which is overlooked by many beginner engineers.

I have seen and heard many times about infrastructure failing together with monitoring. The app goes down, but the same issue that causes the app to fail also takes down the monitoring service. No one noticed until the customer called and asked why the website is down. It happened to me in the early days of my career. Now setting up additional guards for the monitoring is a mandatory feature of any monitoring system we set up.

This important topic is rarely discussed and difficult to find resources for using Google or any other search methods. In this blog post, I will discuss how you to prevent situations when your infrastructure is down and you do not notice.

Continue reading
5122e54437a4b89911623dfbe9a2f3c4

Bitcoin multi-sig transaction part 2

Welcome back bitcoin freaks. In the previous episode, we created a multi-sig transaction. Go back to that blog post if you don't know what multi-sig means.

Our code works. The transaction was made. The problem is that it handle only a theoretical use case when both private keys owners use the same machine to sign the transaction. We need to handle a real life situation when they use different machines. They have to be able to sign the transaction and send signatures to each other.

Continue reading
D87b50f7d7d0b0314dc4714a247c2022

How to choose a bug tracker for a small startup team

Choosing a project management tool isn’t an easy task. There are tons of SaaS/web-based issue tracking tools out there (like with TODO apps for personal use.) Quora and Stack Exchange threads are full of comments written by marketing teams about these...

Continue reading
44a92cadb5b15a040e0c7a3c19cabced

When to move away from Heroku - the cost analysis

The problem

Are you using Heroku or a similar provider and you are not sure how cost-effective it is in the long run?

Are there other limitations of a Platform-as-a-Service of your choice and it would be great to know how expensive and complicated it is to migrate if necessary?

If you are concerned by either of these let me show you if and when it’s worth to start considering a change.

Continue reading
5122e54437a4b89911623dfbe9a2f3c4

Bitcoin multi-sig transaction part 1

Welcome again. In this episode, we will code a bitcoin multi-sig transaction based on the bitcore library.

A multi-sig transaction means that an output has to be signed by more than one private key. This kind of transactions has a lot of practical use cases. Let’s say we have a company founded by three people. They decided that any outcome has to be confirmed by at least two of them. They create a special bitcoin address where companies bitcoins are stored. The address will require at least two signatures to make any outgoing transaction valid.

Continue reading
01caa77a1f122a1371fed292cab37c72

How to make sure you deliver the product

As developers we constantly try to improve our knowledge. We are trying to implement features where the code will be easy to maintain in the future. It is really important when we work on some long lasting, complex project. But should it be a priority when we work for a client with limited budget or tight deadline?

Continue reading
5122e54437a4b89911623dfbe9a2f3c4

Code your own bitcoin transaction

Today we will code our first bitcoin transaction. To achieve this goal we will use JavaScript library called bitcore. JavaScript is the most popular, modern programming language and almost every developer knows it, so it makes this article universal and useful for the wider audience.

Continue reading
3254f15ea674eb387b83ebc59253a97d

Your own free PaaS with Dokku and Let's Encrypt

I've been working with Platform as a Service products for almost 3 years. I truly believe that an introduction of PaaS solutions was a breakthrough for web development.

There are many online services that provide an efficient and relatively cheap entry-level PaaS (e.g. Heroku, EngineYard), but what about self-hosted alternatives? Do they exist? Are they a good call?

Continue reading