-
When Focus Follows the Subject

The cake was late for the shoot. One piece was already gone, but there was still time for a quick addition to the family photo album.
In earlier cake sessions, the usual approach was focus stacking: several frames with different focus points, later combined into one final image. That works well, but it also takes time, and this cake was clearly not in the mood for a longer production.
So this time the job went to a tilt adapter and a 35mm1 lens. Instead of building the result from several images, the goal was to get the whole subject sharp in a single frame.
A tilt setup does not simply give more depth of field. What it changes is the angle of the focus plane. Instead of running straight through the scene, the sharp area can be tilted to follow the subject. For something photographed from the side, that makes a real difference. The sharpness no longer has to run mainly from front to back; it can follow the shape of the cake much more naturally.
That is what makes this so interesting. This cannot really be done in software without looking fake. The actual tilt effect has to come from the optics.
A quick text test
A simple text card as a test subject. With the tilted setup, the whole card stays sharp even though it sits at an angle. The current shooting angle is already very close to the limit of the setup, and at f/2 it gives a good impression of what the tilt adapter can do.
1/40s f/2 ISO 320/26° f=35mm
The Cake
Here is the actual subject. One piece of the round cake is already missing, because cakes do not always wait patiently for the photographic process to begin.
Even the sugar coating tells part of the story, with a few visible traces of a rather hurried arrival.
1/40s f/2 ISO 800/30° f=35mm
Same angle, no tilt: focus at the front The same view, but with the tilt set to zero. Focus is placed on the front part of the cake, and the rest falls away much more quickly.
1/40s f/2 ISO 320/26° f=35mm
Same angle, no tilt: focus at the back Again the same angle and no tilt, but this time focused farther back. The difference is easy to see, and it shows quite nicely what the tilt setup changes.
1/40s f/2 ISO 320/26° f=35mm
The Setup
The full setup with the cake on the table and the camera floating in the air, carefully aligned and locked onto the target.
1/25s f/4 ISO 400/27° 16-50mm f/2,8 VR f=25mm/37mm
Tilt adapter and 35mm lens
A closer look at the camera with the tilt adapter and the 35mm f/2 lens. A small addition, but one that changes the way this kind of image can be made.
1/30s f/3,2 ISO 400/27° 16-50mm f/2,8 VR f=33mm/50mm
If you look closely, you can still see the fine sand from the Sarasota beaches on the camera. This sand is everywhere. The camera bag did not escape either.
Back on the Coffee Table
Once the optics had done their job, the cake could finally continue with the coffee part of the story.
1/30s f/2,8 ISO 320/26° 16-50mm f/2,8 VR f=40mm/60mm
-
A Cat at Dusk, ISO 12800
Not every improvement in technology needs a big explanation. Sometimes it is just there in a simple picture taken late in the day, when the light is already fading and everything feels a little softer.
These two photos of our cat were taken at dusk with the Nikon Z50 at ISO 12800 and f/2.8. What I like about them is how calm and natural they feel. The images are sharp, the detail is there, and the whole scene keeps its quiet evening mood.
That is one of the nice things about modern cameras. They make this kind of picture easier and leave more room to focus on the subject, the light, and the moment.
Two quiet moments in the fading evening light
1/80s f/2,8 ISO 12800/42° 16-50mm f/2,8 VR f=50mm/75mm
1/80s f/2,8 ISO 12800/42° 16-50mm f/2,8 VR f=50mm/75mm
A closer look at the detail, and a nice reminder of how well this works these days.
From the Z50 to JPEG for the web via Nikon NX Studio, with everything left at the default settings.
-
Zwischen Code und Wok: Chow Mein
Chow Mein aus dem Wok 🍜
Nicht alles muss aus Code, Tools und Builds bestehen. Manchmal ist es ganz gut, zwischendurch etwas zu machen, das genauso viel Struktur hat, aber deutlich besser riecht. Diesmal: Chow Mein, also gebratene asiatische Nudeln mit viel Gemüse, Hitze aus dem Wok und genau diesem kurzen Moment, in dem aus einzelnen Zutaten plötzlich ein richtiges Gericht wird.
Ich mag an solchen Gerichten, dass sie schnell wirken, aber trotzdem präzise sind. Alles wird vorbereitet, liegt bereit, und dann geht es Schlag auf Schlag. Fast ein bisschen wie bei einem Deployment: Wenn das Setup stimmt, läuft der Rest sauber durch. Nur eben mit Knoblauch, Sojasauce und Sesamöl statt Logs und Pipelines.
Am Ende ist Chow Mein genau das, was gute Küche oft ist: unkompliziert, direkt und voller Aroma. Hier ein paar Bilder vom Entstehen.
Alle Zutaten im Überblick
Bevor der Wok heiß wird, kommt erst einmal Ordnung auf die Arbeitsfläche: Nudeln, Gemüse, Sauce und alles, was später in wenigen Minuten zusammenfinden soll. Bei so einem Gericht ist die Vorbereitung fast die halbe Miete.
1/40s f/5,6 ISO 100/21° 16-50mm f/2,8 VR f=32mm/48mm
Im Wok: die ersten Schritte
Jetzt wird es ernst. Das Gemüse kommt in den heißen Wok, alles bleibt in Bewegung, und nach den ersten Sekunden entsteht schon dieser typische Duft, bei dem klar ist: Das wird gut.
1/40s f/5 ISO 800/30° 16-50mm f/2,8 VR f=24mm/36mm
1/40s f/5 ISO 800/30° 16-50mm f/2,8 VR f=28mm/42mm
Im Wok: Nudeln und Sauce dazu
Sobald die Nudeln dazukommen, wird aus Vorbereitung ein Gericht. Die Sauce verbindet alles, der Wok gibt Röstaromen dazu, und plötzlich sieht es nicht mehr nach Zutaten aus, sondern nach Abendessen.
1/40s f/5 ISO 500/28° 16-50mm f/2,8 VR f=32mm/48mm
Kurz vor dem Finale
Jetzt passt alles zusammen: Farbe, Struktur und genau die Mischung aus gebraten, saftig und leicht karamellisiert, die Chow Mein ausmacht. Noch ein letzter Schwung im Wok, dann kann angerichtet werden.
1/40s f/5 ISO 500/28° 16-50mm f/2,8 VR f=24mm/36mm
Auf dem Teller
Fertig. Ein Teller Chow Mein, frisch aus dem Wok, heiß, würzig und genau richtig für einen Beitrag, der ausnahmsweise nicht von Technik handelt. Wobei: Ein gutes Ergebnis nach sauberer Vorbereitung ist am Ende doch wieder ziemlich vertraut.
1/40s f/5 ISO 100/21° 16-50mm f/2,8 VR f=33mm/49mm
Mit Garnelen
Eine Variante, die dem Gericht nochmal eine etwas andere Richtung gibt. Die Garnelen passen sehr gut zu den gebratenen Nudeln und bringen noch einmal ihren eigenen Charakter mit.
1/125s f/2,8 ISO 1250/32° 16-50mm f/2,8 VR f=22mm/33mm
Fertig angerichtet
Am Teller sieht man dann, wie gut alles zusammenkommt: Farbe, Struktur und genau die Mischung aus Wok-Aroma und frischen Zutaten, die so ein Gericht ausmacht.
1/250s f/2,8 ISO 400/27° 16-50mm f/2,8 VR f=41mm/61mm
-
Obstkuchen zum Sonntagskaffee 🫐🍓
Sonntagskaffee und ein Obstkuchen mit Erdbeeren, Brombeeren und Blaubeeren.
Der Beerenmix wirkt auf dem Foto genauso gut wie auf dem Teller. Das Erdbeerrot setzt den Akzent, die dunklen Beeren bringen Tiefe, und die Struktur des Kuchenbodens hält das Bild zusammen. Genau so ein Motiv, das man gern etwas länger anschaut.
1/30s f/4 ISO 250/25°
Dazu gehört natürlich auch ein Kaffee.
1/30s f/4 ISO 250/25° 16-50mm f/2,8 VR f=27mm/40mm
Wie das Bild entstanden ist: Fokus-Stacking mit 5 Aufnahmen
Damit die Details von vorne bis hinten scharf sind, habe ich das Kuchenfoto als Fokus-Stack aufgenommen. Dafür habe ich fünf Aufnahmen gemacht, jeweils mit einem anderen Fokuspunkt, also unterschiedlichen Schärfeebenen. So lässt sich die Schärfe gezielt über das Motiv verteilen, ohne dass man die Blende extrem schließen muss oder unnötig lange Belichtungszeiten riskiert.
Anschließend habe ich die Serie in PTGui zusammengesetzt. Das Programm richtet die Einzelbilder sauber aus und überlagert sie. Am Ende entsteht ein Foto, das über die ganze Tiefe hinweg klar wirkt.
Im PTGui-Screenshot sieht man, wie die fünf Aufnahmen übereinander ausgerichtet sind. So entsteht daraus das durchgehend scharfe Bild.
-
MCP Tool Explorer
To work with Model Context Protocol (MCP) servers, I created a VS Code extension for inspecting and testing.
This extension connects to any MCP server, browse its capabilities, call tools with live input forms, read resources, and render prompts. All without leaving your editor.

https://github.com/jurgen178/mcp-tool-explorer
Features
Server Management
- Auto-discovery — automatically finds servers defined in
.vscode/mcp.jsonor themcp.serversworkspace setting - Manual registration — add any server on the fly via the Add Server dialog
- All three transports —
stdio, SSE, and Streamable HTTP
Tools
- Browse all tools exposed by a server with their descriptions and parameter schemas
- Form view — auto-generated input form with type-aware fields (text, number, boolean toggle, enum select)
- JSON view — write raw JSON arguments with live validation hints (missing required fields, unknown properties)
- Run tools and see syntax-highlighted results
- Previous calls — the last 6 calls per tool are shown inline with one-click re-run
Resources
- List all resources and read their contents
- Results rendered with syntax highlighting
Prompts
- Browse and render prompts with argument input support
Request History
- A dedicated History tab records every tool call, resource read, and prompt render
- See timestamp, duration, status (success / error), and expand to inspect the request arguments and response
- Re-run any past tool call directly from the timeline
JSON Viewer
- Syntax-highlighted JSON output (keys, strings, numbers, booleans, nulls each in distinct colours)
- Copy to clipboard button appears on hover over any result
Getting Started
Installation
Install from the VS Code Marketplace, or build from source (see Building).

Opening the Explorer
- Run
MCP: Open MCP Tool Explorerfrom the Command Palette (Ctrl+Shift+P)
Auto-discovery
If your workspace has a
.vscode/mcp.jsonfile, servers are discovered automatically when the extension activates. Example:{ "servers": { "my-stdio-server": { "type": "stdio", "command": "node", "args": ["./server/index.js"] }, "my-http-server": { "type": "http", "url": "http://localhost:3000/mcp" } } }Adding a Server Manually
Click + Add Server in the sidebar and fill in the connection details. Manually added servers persist for the lifetime of the VS Code window.
Transports
Type Config key Description stdiocommand,args,env,cwdSpawns a local process httpurl,headersStreamable HTTP (MCP 2025-03 spec) sseurl,headersServer-Sent Events (legacy) For
stdioservers, the working directory defaults to the workspace root so relative paths incommandresolve correctly.
Building
# Install dependencies npm install # Build (webview + extension) npm run buildThe webview is a Vite + React app located in
webview-ui/. Runningnpm run buildat the root builds both the webview and the extension host automatically.
Project Structure
src/ extension.ts # Extension entry point types.ts # Extension-side types mcp/ McpClientManager.ts # MCP client connections (all transports) McpConfigDiscovery.ts # Server auto-discovery panels/ McpToolExplorerPanel.ts # WebView panel & message bridge webview-ui/ src/ App.tsx # Root component & state management components/ Sidebar.tsx # Server list & connection controls ToolsPanel.tsx # Tools tab ResourcesPanel.tsx # Resources tab PromptsPanel.tsx # Prompts tab HistoryPanel.tsx # History timeline tab JsonViewer.tsx # Syntax-highlighted JSON renderer AddServerModal.tsx # Add Server dialog
Requirements
- VS Code 1.85 or later
- Node.js 18+ (for building from source)
License
MIT
- Auto-discovery — automatically finds servers defined in
Seite 1 von 54
Ältere Beiträge →