• Ubuntu 22: Setup DNS over TLS

    Edit /etc/systemd/resolved.conf, make sure you set the following lines (notice the DNSSEC and DNSOverTLS): Then restart the services: My original intention with option DNSOverTLS set to opportunistic is to support Mikrotik’s Walled Garden Wifis that often hijack early connections to make sure you logged in first. — Thanks to opinion_no9 (From https://askubuntu.com/a/1111592/647986) for the option…

  • tsconfig’s skipLibCheck

    Official Documentation: https://www.typescriptlang.org/tsconfig#skipLibCheck Some library may not coagulate all of their .d.ts files to single behemoth. If you set skipLibCheck to true, those typings will not be checked. Sample case: Intertia React Package @ 1.0.14 (NPM Artifact link). The .d.ts files were split to several files. Fails to set skipLibCheck will makes your IDE tells…

  • GitLab CI/CD: Weird Tag Behavior

    While setting up Publisher for a private company, I found weird behavior: the tags from previous job is carried over to the release job. This causes problem because it triggers unnecessary tag releases. To fix this, just set the GIT_STRATEGY variable to clone instead of fetch. Reference: https://docs.gitlab.com/ee/ci/runners/configure_runners.html#configure-runner-behavior-with-variables See the change context here: https://gitlab.com/chez14/publisher/-/commit/d1f7cb50c5d0461b182c622fc2bed395e56f6c26. This…

  • Ignore TypeORM build warnings on NextJs

    The fix: The warnings:

  • Bun and Git Integration

    From the Bun author, edit ~/.gitconfig, add following details:

  • Ubuntu: Change Swapfile Size

    Taken from Ploi: To verify your swap size run the following command and you will see the swap size: free -m

  • Git Prune Branches

    This one is from .gitconfig in home folder:

  • Docker: Install via `COPY –from=`

    You can install binaries (especially those that build their binaries and embed it to docker image) via COPY –from command. Here’s an example for Composer:

  • Building Rust in Docker: Utilize Build Cache Properly!

    From lucretiel‘s Tweet, which lead to one of his project’s Dockerfile… When building Rust in Docker, to cache the build, we can just add empty main.rs file, then run cargo build to build the dependencies first. Because the layer is cached, the built dependencies also cached too! After that, we can just import the rest…

  • GitLab CI: Use `!reference` to Extend Rules

    In The Same File We can extend GitLab rules section with !reference [.hiddenjobname, section name]. Here’s an example: Reasons: Resources: In Template File (via include: keyword) Have not yet tried x.x TODO: Try to do this.