• Escape In-App Browser Programmatically: Introducing a Zero-Dependency JavaScript Library

    Escape In-App Browser Programmatically: Introducing a Zero-Dependency JavaScript Library

    Supported In-App Browsers *This information is based on v1.0.0 (November 2025) and may not be accurate depending on the app and OS versions. The Problem: That Awkward Moment When You’re Not in a Real Browser We’ve all been there, You’re scrolling through your favorite social media app, you tap on an interesting link to a…

    Read More

  • Weather-Based Dynamic Abstract Wallpaper Shortcut (iOS, iPadOS, macOS)

    Weather-Based Dynamic Abstract Wallpaper Shortcut (iOS, iPadOS, macOS)

    Apple Intelligence is now available in the Shortcuts since iOS 26, iPad OS 26, and macOS 26. That means we can build some really cool and useful automation based on that. I created a shortcut that takes advantage of this by generating an abstract wallpaper that reflects the current weather and automatically applying sets it…

    Read More

  • Useful Tips for Managing Sets in Stage Manager on macOS

    Useful Tips for Managing Sets in Stage Manager on macOS

    Stage Manager is a powerful tool for managing windows, but some actions can feel clunky. For instance, bring a specific window to the current stage by dragging it from the side can be awkward process. Fortunately, there is a more efficient way to control a set in Stage Manager. Adding a Window to Current Stage…

    Read More

  • How to monitor live log updates from a service on Linux

    Commands like service SERVICE_NAME status and journalctl -xe are useful for checking a service’s current status or its latest logs. However, the output is a static snapshot. And it only shows at the moment the command is run and doesn’t update automatically. These are different from a command like tail -f, which updates continuously. Fortunately,…

    Read More

  • How to quickly open the hidden Dock on macOS

    Enabling Automatically hide and show the dock in System Settings > Desktop & Dock is a way to great way to gain more screen space. The default delay when the dock appears, however, can hinder productivity. Fortunately, It’s possible to reduce or even completely eliminate this animation delay. How? To fully disable the delay: To…

    Read More

  • Fix the issue that causes updates to the Angular i18n JSON file to sometimes not work

    In the Angular Framework, the TranslateModule is commonly used to support multiple languages by managing translation string in json files for each locale. A frequent issue, however, is that updated translations may not appear in the application even after the json files have been changed. This problem is caused by the browser caching the old…

    Read More

  • Why isn’t Time Complexity of the Tromino Algorithm O(n⁴)

    Without deeper thought, one might easily assume the time complexity of the tromino algorithm is O(n^4). This is because the algorithm divides the matrix into 4 smaller subproblems, suggesting a recursive solution that calls itself 4 times. However, this is not the case. The actual time complexity of the algorithm is O(n^2). Let’s explore why.…

    Read More

  • Running a shortcut via command line (Terminal) on macOS

    You can execute any of your macOS Shortcuts directly from the command line. This allows for scripting possibilities, enabling you to integrate shell scripts and automations. Basic Command Structure For this to work, you must use the exact name of the shortcut as it appears in the Shortcuts app. For instance, if the action name…

    Read More

  • RxJS – How to wait until all observables emit (combineLatest)

    In RxJS, you often need to work with values from multiple observables simultaneously. A common scenario is waiting for several data streams to complete before you can perform an action. The combineLatest operator is the perfect for this. It combines multiple observables and emits an array containing the latest value from each one. combineLatest Here…

    Read More

  • Reloading NGINX Without Downtime

    Sometimes, you need to apply a new configuration without causing downtime by restarting the NGINX. Check if the configuration is valid Before reloading or restarting NGINX, make sure that your configuration is valid. This command check the syntax and validity of your configuration files. Reloading the NGINX To apply the new configuration without downtime, use…

    Read More