Embracing the Messiness in Search of Epic Solutions

Category: Development Tools

  • MSAL: Caching Access Token

    Why Cache Access Token with MSAL? Building upon the previous post that performs delegated access authentication with MSAL, suppose your program uses this function to get the access token. In this case, it will always launch the browser to complete the authentication flow and retrieve the access token every time the program runs. While it… Read More…

  • MSAL: Launching Specific Browser with Delegated Access Authentication

    Why Launch a Specific Browser with MSAL? Building upon the previous post that performs delegated access authentication with MSAL, your institution may sometimes allow you to access Microsoft 365 products only on the approved browsers. By default, MSAL launches the default browser on your machine to obtain the access token interactively. If your institution only… Read More…

  • Ansible: Handling Sudo Password with Homebrew

    Problem When using the Ansible playbook to run Homebrew-related modules, it will prompt for a sudo password where necessary on specific tasks. For example, using the community.general.homebrew_cask module to (un)install the apps under /Applications directory will prompt for a sudo password on each app. It is not possible to preemptively prompt for a sudo password… Read More…

  • NordVPN: Extracting WireGuard Configuration

    This article shows how to extract the WireGuard configuration from NordVPN without additional tools and test it by configuring WireGuard on a GL.iNet travel router (ex: Beryl AX). Why WireGuard? While most modern routers support OpenVPN and WireGuard protocols, the latter is faster and more efficient when traveling through the encrypted tunnels, providing a superior… Read More…

  • Git LFS: “Certificate Signed by Unknown Authority” Error

    Problem Your organization enforces zero-trust network access (ex: Zscaler or equivalent). Based on the ZScaler’s documentation, you made a copy of the Zscaler certificate and added it to Git. The Git’s core commands work successfully. However, when using Git LFS to manage large binary files, it failed with the following errors. Solution Instead of explicitly… Read More…

  • Supercharge Docker Build Pipeline by 97%

    This tutorial shows how to improve the performance of the remote pipeline that builds a Docker image using docker build, which takes 15 minutes to 20 seconds. Note: Although Google’s Cloud Build is used here, this solution can be applied in GitHub Actions, Azure Pipeline, or any pipeline-driven Docker builds. The Challenge with Docker Build… Read More…