Debugging Difficult Things

by

One of the unfortunate realities of any application is that it requires maintenance. As technology continues to evolve and operating systems undergo improvements, applications must be updated to continue running smoothly. However, installing updates isn’t as simple as simply hitting the “update” button. In this post, I will explore our recent updating and debugging adventures on a Ruby on Rails application. 

Load Testing with K6

by

On a recent project I’ve been experimenting with using K6 for load testing.  In this post I’ll discuss how to get started with K6 and some of the benefits of running load testing in using this tool. 

Discovering Nginx: A Developer’s Guide to Maximizing Your Web Server Potential

by

Nginx is something that most software developers have used at some point in their careers. However, there is a difference between working with Nginx and really understanding it. Nginx offers many advanced features that most people are not aware of and, therefore, not utilizing.

In this post, I’ll go over some of the unique features that Nginx offers and how they can help you take your web application to the next level. 

A Migration Overview: Moving from Heroku to AWS

by

Recently, my Grio teammates and I supported one of our clients in migrating their Ruby on Rails application from Heroku to AWS. The motivation for the switch — namely, a need for more power and flexibility as the app evolved — is one that many growing companies share; in this blog post, I’ll give a high-level overview of our process and considerations, which I hope will prove helpful (or at least interesting!) to others who are embarking on their own migration journeys.

Esoteric Programming Languages and You!

by

Have you ever heard the term “esoteric programming language” and not known exactly what it was referring to? If so, this blog is for you, and hopefully an entertaining jaunt if not.

Esoteric programming languages are a unique class of programming languages that are generally NOT designed for everyday use on projects such as a website or phone app. Instead,
they are designed with a goal in mind, such as being a difficult as possible to program in, or to layout the code into a physical space that has meaning. Amusingly enough, even though they are often rather crazy, they also tend to be Turing complete which is quite impressive considering they weren’t necessarily designed with that goal in mind.

Optimizing database queries

by

Most projects you will work on will have a database of some sort. For this reason, optimizing your queries allows you to use all that the database provides without having your application try to reinvent the wheel. In this blog, I’ll be using Postgres and Ruby on Rails to demonstrate some ways that you can optimize things. Much of the second section is Postgres specific, but the concepts should apply to whatever ORM you are using. Hopefully by the end you will have learned some new tricks to improve your project.

An Introduction to Elliptic Curve Cryptography: With Math!

by

Modern cryptography is a very murky subject for many people, so today I will try to explain to you one of the more complex subjects, Elliptic Curves. Many of you may have heard their name before, but likely don’t know much about them beyond that. To begin, I will describe what an elliptic curve is.