Raph’s Blog

  • Migrations VS DACPACs

    Dealing with SQL Database changes on production should always be automated. There are various techniques we can use and today I will compare two popular approaches. A migrations approach and a DACPAC approach. The two approaches Below is an explanation of the two approaches. Feel free to skip this section and go straight to the next section if you are aware of the two approaches. Migrations The migrations approach involves running a set of scripts against a target database in a predetermined order.

    Read more…
  • My Top 5 Productivity Hacks

    Some people are naturally productive, efficient, and focus for long periods of time. For me, I need to do certain things to help me focus and be productive. I’ve tinkered with several things in the past but I believe I’ve finally found my top 5 productivity hacks. These may help you too and I’ve explained them below: Daily Kanban Daily “to do lists” aren’t anything new, likewise, personal Kanban isn’t anything new as well (I highly recommend reading Personal Kanban).

    Read more…
  • The Case for Softly Spoken Leaders

    Many people stereotype leaders as being loud and boisterous (I can be guilty of this). Some value those leaders who can get up in front of a crowd of hundreds of people and broadcast to thousands more. Reflecting on my own life, whether this be professionally, community work, or sports clubs I feel that I haven’t valued the effectiveness of softly spoken leaders as much as I should. All organisations need a combination of leaders from both categories and in between (it’s a spectrum).

    Read more…
  • Post Deployment Tests on Azure DevOps using Pester

    Post deployment tests provide additional confidence that unit tests or self-contained integration tests will not, as the tests themselves are interrogating a live instance of your application as a black box, rather than mocking aspects of your application like unit tests as a white box. In this post, I will run through how I do this with release pipelines on Azure DevOps using Pester as a testing framework. The code for this post is on GitHub.

    Read more…
  • How to Migrate from Blogger to Hugo and Netlify

    You may have noticed that I’ve migrated my blog over to MarkDown rendered with Hugo. Today I want to outline why and how I did this. Why I’ve always been a fan of coded typesetting of documents or pages. For example: I’ve always liked LaTeX mainly because of the cleanliness, simplicity, and consistency of the generated document. More recently, I’ve been using MarkDown for artefact documentation and have found source and generated documents easy to read.

    Read more…
  • 5 Attributes of Healthy Backlogs

    Having a healthy backlog creates an environment with good morale, high confidence, and positive energy. Healthy backlogs make business goals visible, provide a sense of security, and reduce the risk of disruption from random, unplanned requests. All these things make me, and the team I’m working with, feel good. In this post, I want to explain to you 5 key attributes I look for when deciding if a backlog is healthy or not.

    Read more…
  • Quality and Pragmatism

    Pragmatism and quality are two things that are often pitted against each other when delivering software. When I think of pragmatism, I think what things can be avoided in order to deliver software to our customer sooner. When I think quality, I think a whole range of things including: maintainability, scalability, and interoperability of a system to name a few. It may also mean things that may not directly relate to the system for example: documentation, support, and user customisation.

    Read more…
  • Do you know what I mean?

    I’ve written previously about some language that I’m actively trying to change in my day-to-day dealings with people, I write these blog posts because they hold me public accountable to my peers, friends, and family. My previous posts were: It Depends I Don’t Know Shrugging. Source: Wikimedia Commons Today, I want to highlight some of the other phrases I’ll be trying to actively avoid in my dad-to-day speech. These are:

    Read more…
  • Reboot DevOps (Part: III)

    As alluded to in Part 1 and II it seems that DevOps has just become about CI/CD pipelines, provisioning infrastructure, and deploying applications. Today, we’ll speak about CI/CD pipelines but more specifically the purpose they seek to provide. Firstly, I think the term CI/CD is counter-intuitive. It’s not a descriptive term and I would prefer to use the far more boring term┬árelease pipeline because it is self descriptive. Our primary concern is how does candidate code get from a local developer’s machine all the way into production.

    Read more…
  • Reboot DevOps (Part: II)

    In the Part I we discussed how DevOps isn’t about solving application problems using infrastructure but about being able to deploy to our targets in a sustainable way. We spoke about how increasing confidence enables personnel to release more often as risks are hedged by having solid application packages. Magnifying glass source: Wikimedia commons Today we will speak about how monitoring and observability can increase our confidence to enable us to release more often.

    Read more…