Author: Fausto Ruvalcaba

  • Code shouldn’t be clever, it should be readable

    Code shouldn’t be clever, it should be readable

    Styles and Conventions Conventions, style guides or best practices came up naturally as more people collaborated in the same project. If everyone coded in their own unique way, it would be very cumbersome to work on someone else’s section. To improve readability and maintainability, a development team should have agreed upon conventions for their source…

  • In this day and age, do we really need a release pipeline?

    In this day and age, do we really need a release pipeline?

    Why do we have different build pipelines per environment? Recently, I started to question why can’t we build everything in a single pipeline. At the end of the day, the build pipeline can create artifacts from any branch, and it’s up to the deploy system to push those artifacts to the appropriate environment. Having a…

  • Dev Tools and more

    Some time ago I posted about some tools I can’t live without. This time I want to talk about Dev Tools, Apps or Settings I use for work or side projects, both involve programming. Similar as before, if i’m going to be interacting with a PC for most of my day, that interaction has to…

  • Flavors of NoSQL

    A few weeks ago I talked about comparing a relational database versus a NoSQL database. I talked a bit about when to use one versus another (although each reason needs a topic all on its own). Today I want to talk about the different types of NoSQL.  One of the main advantages of using a…

  • My Everyday Tools

    Throughout my career as a software engineer I’ve gotten a list of applications that I use everyday. These tools are not necessarily about programming, but things that improve my overall work experience, be it at my day job or side projects. List of tools The below list are the applications that I can’t be without.…

  • Algorithm vs CPU Cycles

    Introduction A few weeks ago I went to get some drinks with a few developer friends. We were talking about software at different levels, and one of them talked about how he improved a long running process. This process has two unsorted arrays, and for each item in ArrayA it looks up a value in…

  • git commit -m ‘feat: proper messages’

    Introduction I’m a huge fan of git. Throughout my career I’ve used many source control systems: Visual Source Safe, Team Foundation System (tfvc), Subversion (with TortoiseSVN) and even the horrible Rational Team Concert. But it was git that made care for how code is stored.  But, what I want to talk about today is Commit…

  • Relational Database vs NoSQL (Document Store)

    Relational Database vs NoSQL (Document Store)

    Introduction Recently I started a project to help my wife with something of hers. Like most tools online it needs data storage. By default I always think of Relational Databases: I know how it works, how to set it up, I like using FluentMigrator, I like the strict structure… or so I thought. Relational Databases…

  • Decoupled Communication Between Services

    Decoupled Communication Between Services

    Introduction When two services, let’s call them Frontend Service and Backend Service, are communicating with each other, the most straightforward way is for one to call the API endpoints of Backend Service. This synchronous call is usually accomplished by making that RESTful call to the service or by using a client package that the receiver…

  • Inside the controllers

    Inside the controllers

    Previously I talked about how any system can talk to any other system using an API, in Poller’s case, using WebApi. Each area of functionality can be accessed through a controller, e.g. Client Controller, Agency Controller, Polling Controller, etc. Each controller is only the entrypoint for that area, they only receive the request, direct where…