• Testing a puts method

    When I code long-running tasks, I often want to see some sort of progress report in my terminal to let me know that my code is still running. Let’s take a simple example:

    Read on →

  • The REPL: Issue 36 - July 2017

    Is Ruby Too Slow For Web-Scale?

    Nate Berkopec writes a long post about Ruby performance and how it affects web applications. Not-withstanding the click-bait title, Nate brings up that raw performance might not be as significant as many teams would like to think. Many of use work on applications that receive only a modest amount of traffic. In this organizations, the trade-off between engineering productivity and server costs tilts towards productivity.

    Five ways to paginate in Postgres, from the basic to the exotic

    Most web-applications encounter a need to paginate results into multiple page loads. Joe Nelson works his way from the most simple implementations (LIMIT and OFFSET) to the more complex. He discusses the benefits and drawbacks of each. The techniques described cover most of the typical web-application needs. The more exotic ones – like stable page loads that return the same results even if elements are added or deleted from the collection – require more exotic solutions. They are usually expensive to compute.

    An engineer’s guide to cloud capacity planning

    Patrick McKenzie writes a great guide on how to plan server capacity in the cloud. He covers decoupling the applications with knowledge from it’s deployment environment, advises to automate provisioning and deployment, covers how to estimate capacity and what to focus on as traffic grows. This is another great article by Increment.

    Read on →

  • The REPL: Issue 35 - June 2017

    You Are Not Google

    Ozan Onay reminds us that Google, Amazon and other tech giants have problems at scales that most in the industry don’t have. Adopting their practices might not suit your organization or project. As with most things in Engineering, choosing a good solution depends on deep understanding of the problem.

    The Many Meanings of Event-Driven Architecture

    Event-Driven Architecture means different things to different people. In this talk, Martin Fowler dives in to the nuances of what it means and provides a framework to talk about event drive in a meaningful way.

    Postgres EXPLAIN Visualizer (pev)

    This tool provides a handy way to visualize the results of an EXPLAIN query in Postgres. I found this very useful. I hope this would exists for other databases as well.

    Read on →

  • Book Review: 99 Bottles of OOP

    99 Bottles of OOP bills itself as a practical guide to writing cost-effective, maintainable and pleasing object-oriented code – otherwise known as “good” code. It delivers on that promise.

    Read on →

  • On The Pomodoro Technique

    The Pomodoro technique is a popular time management method. I tried using for a few weeks at work. I am not planning on sticking with it, but I did learn some valuable lessons from the exercise.

    Read on →