# Wojciech Wentland

> “You can’t do everything.” We’ll see.

Advice from my high school IT teacher, who wanted me to pick one thing and stick with it. So far I've written CI pipelines, AI platforms, a code search engine and .NET frameworks.

C#, Rust, TypeScript, Python.

Wrocław, Poland · https://blog.wentland.io/ · [about](https://blog.wentland.io/about.md) · [all posts and projects](https://blog.wentland.io/llms.txt)

## Latest posts

- [LISTEN/NOTIFY performance in PostgreSQL](https://blog.wentland.io/blog/listen-notify-performance-postgresql.md) (2026-11-04): A NOTIFY in the transaction capped PostgreSQL 18.6 and 19 RC1 at about 3,900 commits per second, with 8 clients or 64. Sending notifications in batches after commit brought 64 clients back to 50,000.
- [A read-only MCP server for TeamCity](https://blog.wentland.io/blog/read-only-mcp-server-teamcity.md) (2026-11-02): 29 read-only tools for TeamCity. Paste the link to a failed build, get a root-cause analysis built from the actual log lines and test failures.
- [Designing tools that AI can actually use](https://blog.wentland.io/blog/designing-tools-for-ai.md) (2026-06-30): The tool description is a big part of the interface. If the model can't tell when to call a tool from its description and schema, quality falls apart.
- [Loading code without the disk: what each OS lets you get away with](https://blog.wentland.io/blog/loading-code-without-the-disk.md) (2026-05-12): memfd, PE loaders, unlink-after-dlopen. Three operating systems, three different definitions of 'in memory'.
- [paker: load encrypted Python packages from memory](https://blog.wentland.io/blog/paker-encrypted-in-memory-python-loader.md) (2026-05-06): Encrypt a Python package tree, ship it over the network, load it from memory. What works, what doesn't.
- [I built a read-only MCP server for Akamai](https://blog.wentland.io/blog/read-only-mcp-server-akamai.md) (2026-04-29): 16 tools for searching CDN properties, browsing EdgeWorker code, querying DNS, and inspecting network lists. All read-only.

## Projects

- [Corfedo Work](https://blog.wentland.io/projects/corfedo-work.md) (alpha): Background work for .NET that lives in your database and commits in your transactions.
- [Corfedo Troupe](https://blog.wentland.io/projects/corfedo-troupe.md) (alpha): Build a .NET host from components that declare what they register, require and configure.
- [Read-only MCP servers](https://blog.wentland.io/projects/readonly-mcp.md) (stable): MCP servers that give agents access to infrastructure APIs and never write.
- [paker](https://blog.wentland.io/projects/paker.md) (stable): A developer tool for shipping smaller PyInstaller and PyArmor builds to clients by loading packages from memory at runtime.

## Contact

If something here is wrong, or you are working on the same problems, I want to hear from you. Email: wojciech.wentland@gmail.com.
