• Odoo Terraforming

    An example of how to use modern automation tools to provision ready-to-use business management software in no time.
  • YubiKey and GitHub Signature Verification

    Improve software security by signing Git commits with a YubiKey-managed GPG key and configuring GitHub to verify commit signatures.
  • Dev Container Time Zone

    Use the Dev Container Feature ghcr.io/hwaien/devcontainer-features/match-host-time-zone to make a Dev Container’s time zone match the host’s time zone.

  • Dev Containers

    Dev Containers help software developers effortlessly maintain consistent environments for software development.

  • Containerization

    Containerization is an efficient way to run software applications in independent environments on the same system.

  • Immutability

    Design your types to be as immutable as possible.

  • Technology Selection

    Think twice before adopting new technologies. Always keep your larger business goals in mind.

  • .NET Properties vs Fields

    It is best practice to use .NET properties instead of fields.

  • Proof Obligation

    The only effective way to program is to be mindful of proving software correctness before software construction, and let this mindfulness influence software designs during software construction.

  • .NET Properties vs Methods

    Long story short: use methods rather than .NET properties in situations of slowness, conversions, differing results, side effects, copies, and arrays.

  • Software Engineer Face-to-Face Interview

    One of the most decisive factors in the success/failure of a team, is the process of selecting suitable team members.

  • Avoid Pass-by-Reference in C#

    When designing C# libraries for a general audience, avoid the out and ref keywords.