Sharing Our Passion for Technology
& continuous learning
  • Teammates sitting together and looking at code

    Node Reference - History

    Prerequisites This article builds on the prior article: Patch. Tracking History The way our service is currently built, all modifications (PATCH requests) happen in-place to records in DynamoDB. It is common in most production applications that someone will want to know the history of a record. A business user may...
  • Teammates sitting together and looking at code

    Node Reference - Patch Product

    Prerequisites This article builds on the prior article: Node Reference - Get Product by Id. Supporting Updates Sooner or later, there will be a need to modify a product. Except in the case of immutable data stores, rarely are there entities that are truely “insert only”. In order to support...
  • Teammates sitting together and looking at code

    Node Reference - Get Product by Id

    Prerequisites This article builds on the prior article: Node Reference - Listing. Add Get By Id At this point, we have only one way to get Products. We have to list all products and page through them to find the one we want. However, a lot of the time, a...
  • Teammates sitting together and looking at code

    Node Reference - List Products

    Prerequisites This article builds on the prior article: Node Reference - Monitoring. Add listing Clients of our service will need a way to find products. For that, we need a product listing service. DynamoDB provides an operation for listing the contents of a table called a ‘scan’. (As a table...
  • Teammates sitting together and looking at code

    Node Reference - Introduction

    Summary Most AWS microservice articles only show you the tip of the iceberg. We certainly can’t blame the article authors. For starters, the SAM squirrel mascot is so darned cute! But more importantly, we all know that standing up a production web service involves far more considerations than you could...
  • default icon

    Microservices in Practice: Challenges

    In a previous article we discussed some of the positive characteristics of microservices that we’ve found while implementing them in a production setting. Two of the primary benefits we discussed are the architectural agility and enforcement of api boundaries. While you may find those and many more benefits from using microservices, you will also find that the positives don’t...
  • default icon

    Hard Drive Sustainability

    Your hard drive with very important family pictures has just failed, and now all data is lost forever. Could you have prevented this from happening? This article is a quick walk though of how to detect hard drive errors before the disk is unusable. At the end of this article, you...
  • default icon

    How RAID 5 Works at a Bitwise Level

    RAID 5 is a pretty magical thing overall, though a large portion of its magic lies in how it works on a bitwise level. But before I get into the bitwise sorcery, I’d like to briefly explain what RAID5 is. RAID stands for Redundant Array of Inexpensive (or Independent) Disks....
  • default icon

    The Easiest Way to Organize Zimbra Email

    If you’re like me, receiving 30-40 emails is par for the day. Because Source Allies provides consulting services for companies wishing to implement or better take advantage of Zimbra, it is also the mail server we use at our company. Zimbra has incredible search capabilities, but my OCD tendencies still...
  • default icon

    Ubuntu Live Network Boot using PXE

    Requirements Linux server with NFS (or compatible) TFTP server DHCP server syslinux / pxelinux files To simplify these instructions we are going to make the following assumptions. DHCP server is 10.0.0.2 TFTP server is 10.0.0.3 NFS is a Ubuntu server at 10.0.0.4 In reality it’s likely your TFTP and NFS...