Category: Uncategorized

  • 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…

  • Persisting Data/State

    Persisting Data/State

    I was originally going to start writing about Data Access, and how it should be abstracted and encapsulated so if the database changes, it’s easier to replace the code that accesses it. However, after doing some research, I read about the term “Persistence”. By using Persistence we are expanding the reach of the application, it…

  • Back that App

    Before I start talking about the back-end, I want to mention the pattern in which web projects are built: any modern web application has different layers, and each layer should only do what it’s supposed to. Mainly it goes Frontend, Backend, and Data Layer (could be a file, database, another API, or any other mechanism…

  • Hindsight’s 20/20

    Hindsight’s 20/20

    New Year, New Name (Hopefully New Client)! When I came up with the name for this project I was very proud, I wish I had done more research before I started to code. You know what they say hindsight is 20/20. Oh well, I should’ve failed earlier. I had to go back to the drawing…