Martin Grüner | Software maker
grunersoftware.bsky.social
Martin Grüner | Software maker
@grunersoftware.bsky.social
Independent software maker building practical desktop tools for developers and app creators.
Making App Store screenshots by hand means repeating the work for every size and language. This video builds the set once in Screen Studio Kit on a Mac: add captures, write headlines, switch to iPad, add German, and export all twelve images at once.

youtu.be/KD398rZ5peI
How to Make App Store Screenshots for Every Size and Language (Mac)
YouTube video by Gruner Software
youtu.be
October 5, 2026 at 2:08 PM
A designer sends a new version of a website package as a ZIP. Instead of unzipping both and clicking through folders, this 2-minute video compares the two ZIP files directly on a Mac: two new files, two removed, three changed, and the changed menu page side by side.

youtu.be/53w9_NCnUy8
How to Compare Two ZIP Files on Mac (Without Extracting Them)
YouTube video by Gruner Software
youtu.be
October 5, 2026 at 2:06 PM
Red and green diffs hard to distinguish? I added a free blue/yellow option to Diff Anything for Mac and Windows.

Settings → Difference colors → Blue and yellow. Additions are blue, removals yellow; written descriptions explain changes too.

martingruner.com/blog/colorbl...
Colorblind-friendly diff tool for Mac and Windows
Change red and green diff colors to blue and yellow in Diff Anything for Mac and Windows. See setup steps, comparison screenshots, and written change descriptions.
martingruner.com
October 5, 2026 at 11:07 AM
Before you rely on a backup, check it. This 2-minute video compares a work folder with its backup on a Mac: two invoices missing, a budget edited after the backup ran, and one copy that is damaged even though its size and date still match.

youtu.be/259IhqqRf-Q
How to Verify a Backup Folder on Mac (Find Missing and Damaged Files)
YouTube video by Gruner Software
youtu.be
October 3, 2026 at 8:24 AM
Diff Anything 1.6 is out for Mac and Windows. Check a CSV export against the workbook it came from, fail a CI job only on likely breaking API changes (Pro, Windows), use JSON's semantic rules on YAML, and switch differences to blue and yellow.

martingruner.com/blog/diff-an...
Diff Anything 1.6: check CSV exports and catch breaking API changes
Compare a CSV export with the workbook it came from, fail a CI job only on breaking API schema changes, use the same rules for YAML as for JSON, and read every difference in blue and yellow or as a wr...
martingruner.com
October 2, 2026 at 1:37 PM
Your contract comes back as a PDF with "a few small edits". Here's how to find every one of them on a Mac in two minutes: both versions side by side, each change highlighted, and a list to go through them.

youtu.be/t_Nn65Ob6fI
How to Compare Two PDF Files on Mac (and Find Every Change in a Contract)
YouTube video by Gruner Software
youtu.be
October 2, 2026 at 1:37 PM
Two versions of the same Excel budget. Which cells changed?

New 90-second tutorial: open both workbooks in Diff Anything on a Mac and get every changed cell with its address, across all sheets.

youtu.be/nZ7HvfipKrI
How to Compare Two Excel Files on Mac (and See Every Changed Cell)
YouTube video by Gruner Software
youtu.be
October 1, 2026 at 7:32 AM
Finder won't tell you what changed between two folders.

New 2-minute tutorial: compare two folders on a Mac with Diff Anything and see every added, removed, changed, and moved file, subfolders included.

youtu.be/AP-UGF7JxOw
September 30, 2026 at 8:17 AM
Got to love the Microsoft developer experience. One seller account, a separate Entra tenant, a temporary work identity, forced password rotation, tenant association, then another application credential layer—all just to read your own store statistics.
September 29, 2026 at 9:02 AM
Testing deep links on a real phone shouldn't mean emailing them to yourself.

TestDock 1.1: paste a link and open it, save a whole list of links at once, share links in from Slack or Safari, and start a test from a link in a bug ticket.

martingruner.com/blog/testdoc...
Stop emailing yourself deep links: test them on your phone with TestDock
TestDock keeps your app's deep links, push notifications, and manual tests on the phone you test with. Version 1.1 makes it faster to get a link in: paste it, share it from any app, or start a test st...
martingruner.com
September 29, 2026 at 7:46 AM
Switching tabs in Diff Anything re-ran the whole PDF comparison, 5–7 s on a 46-page NIST standard. Profiling it turned up a pile of hidden slowness across the app. What I found 🧵
September 28, 2026 at 12:33 PM
I did my best, but could not hit 100% before the reset. I can't believe how much I got done and tested. Opus 5.5 Max package is a game changer.
September 26, 2026 at 9:13 PM
Rewrote the Microsoft Store listings for all 3 of my apps today. Worst find: one told people the free version does less than it actually does. Keywords were dev jargon, and 14 screenshots had no alt text.

When did you last check your listing against what your app actually does?
September 26, 2026 at 2:17 PM
DevDock 1.4 makes active project work easier to follow.

See when Claude Code or Codex is working in a project, reopen running Git operations from the Activity center, hide progress without stopping the job, and stop entire process trees.

martingruner.com/blog/devdock...
DevDock 1.4: see what is running, from Claude Code to Git
See when Claude Code is active in a project, follow Git work from the new Activity center, hide progress without stopping the operation, and stop every process a command started.
martingruner.com
September 25, 2026 at 6:57 PM
While building DevDock’s local security audit, I made one rule non-negotiable: show the developer where the issue is, but never echo the secret in the result.

Each finding has a file, line and suggested fix. The detected value is omitted, so the audit report does not become a new source of leakage.
September 22, 2026 at 6:50 AM
Three-way merge doesn’t have to stop just because both branches touched the same line. In Diff Anything I take a second pass over that small region at character level. Adding `export` on one side and `await` on the other can still merge cleanly. Only genuinely overlapping edits become conflicts.
September 21, 2026 at 7:40 AM
I made these app marketing images in Screen Studio Kit 1.4, using its 3D frames and new background controls.

The text, colours and device angles stay editable for the next update.

Full gallery and editor views:
martingruner.com/blog/screen-...
September 16, 2026 at 9:44 AM
App-store screenshot experiments got much easier when I stopped editing the “current” design in place.

In Screen Studio Kit, each campaign keeps its own copy and layout while sharing project assets.

If it doesn’t work, I can scrap it without touching the version I started with.
September 16, 2026 at 7:23 AM
I nearly called Diff Anything’s new mode a syntax-aware diff, then realized how much that phrase implies.

It actually uses conservative token alignment by language family. It follows changes through formatting and reflow, but doesn’t pretend to build an AST. Exact text and Line Diff stay available.
September 15, 2026 at 7:30 AM
Take a wild guess why I didn't go with the AI generated icon for my testdock app
September 14, 2026 at 11:37 AM
Adding branch switching to DevDock looked like a small feature. Then I had to handle staged, unstaged and untracked files without surprising the user.

The Git command was easy. The stop conditions took most of the work.
September 13, 2026 at 7:27 AM
A ZIP file can change at the byte level without any extracted file changing. Recompression is enough.

Diff Anything ignores that container-level noise and compares extracted entries by normalized path and content. The result points to what actually changed, appeared or disappeared.
September 11, 2026 at 9:25 AM
Green tests prove behavior, not maintainability.

When I review AI-written code, I look for:

- boolean flags creating hidden modes
- duplicated rules
- comments defending workarounds
- abstractions nobody requested

A correct patch today can still make the next change expensive.
September 10, 2026 at 7:27 PM
How I detect moved files in a folder diff:
1. Pair files still at the same path.
2. Collect unmatched additions and deletions.
3. Group by file size.
4. Hash only plausible same-size pairs.
5. Matching hashes become moves.
That avoids hashing the whole tree.
#DevTools
September 9, 2026 at 7:55 PM
Diff Anything 1.5 adds Smart Diff across 117 code languages—without removing Line Diff.
Both views keep normal syntax highlighting, exact text, editing, and apply controls. Large comparisons are faster and clearer.
martingruner.com/blog/diff-an...
Diff Anything 1.5: smarter code diffs across 117 languages
Switch between Smart Diff and conventional Line Diff, keep normal syntax highlighting and exact editing, and review large comparisons with faster, clearer feedback.
martingruner.com
September 9, 2026 at 8:41 AM