
Generating Miniatures for my Frameo Digital Photo Frame
A story of how I bought a digital photo frame, and how I created a tool to generate miniatures of my photo collection to fit them all on the device.

A story of how I bought a digital photo frame, and how I created a tool to generate miniatures of my photo collection to fit them all on the device.

Learn how to run Google’s Gemini CLI in a Docker container to avoid installing Node.js and its dependencies directly on your system. This guide provides a simple setup, a recommended shell function for seamless integration, and usage examples.
](https://gagor.pro/2025/05/iterm2-hotkeys-unavailable-another-app-has-enabled-secure-keyboard-input/images/cover.webp)
Learn how to resolve the “Hotkeys unavailable - Another app has enabled secure keyboard input” issue in iTerm2 on macOS Sequoia 15.5 by adjusting Input Monitoring settings.
](https://gagor.pro/2024/05/fix-cannot-rebase-onto-multiple-branches-error-once-and-for-all/images/cover.webp)
A Guide to using git pull --rebase effectively Using git pull --rebase as your default merge strategy offers several benefits, particularly in maintaining a clean and linear commit history, which can simplify collaboration and code review. However, you may occasionally encounter the error “Cannot rebase onto multiple branches”. This article explains why this happens and provides a solution to make git pull --rebase work seamlessly. Benefits of git pull --rebase Linear History: Rebasing applies your local commits on top of the upstream changes, creating a straight line of commits without unnecessary merge commits. This makes the project history easier to read and understand. ...
](https://gagor.pro/2024/03/zed-code-editor-as-an-atom-reincarnation/images/cover.webp)
Discover how Zed, a fast and efficient code editor built in Rust, aims to recapture the essence of Atom, with a focus on speed and customization.
](https://gagor.pro/2024/03/the-power-of-extensive-command-history-in-bash-and-zsh/images/cover.webp)
Learn how to leverage extensive command history in Bash and Zsh to improve your efficiency and productivity in the terminal.
](https://gagor.pro/2024/02/how-i-stopped-worrying-and-loved-makefiles/images/cover.webp)
Learn how to use Makefiles to streamline your Terraform and Hugo projects, making environment management and static site generation more efficient.

Learn how to run x86-64 Docker images on Apple’s MacBook with M1/M2/M3 CPUs by setting the DOCKER_DEFAULT_PLATFORM environment variable.
](https://gagor.pro/2024/01/my-pre-commit-config-for-hugo-blog/images/cover.webp)
Learn how to set up and use pre-commit hooks to automate tasks like linting, syntax checks, and optimizations for your Hugo blog.
](https://gagor.pro/2024/01/git-hacks-a-set-of-my-favorite-git-aliases/images/cover.webp)
I use Git a lot, even writing this article i will commit text few times. There’s a set of aliases I rely on daily and they’re first I add in new place. Some Git commands are unnecessarily verbose. You can make your life much easier with bash-completions, but if you write it tens of times per day, it’s anyway a lot of typing… and I’m a lazy man 😄 Simple status/log checks git s s = status --short --branch --untracked-files Shows a short, branch-focused status with untracked files. ...