Konstantin Pavlov's Avatar

Konstantin Pavlov

@kpavlov.me

Human, Software Engineer: AI, Kotlin, OSS. Creator of mokksy.dev, kotlinx-schema

41
Followers
69
Following
62
Posts
13.12.2024
Joined
Posts Following

Latest posts by Konstantin Pavlov @kpavlov.me

#Kotlin API design cheat sheet: when to use params, defaults, builders & lambdasβ€”w/ thresholds
github.com/kpavlov/kmon...

05.03.2026 22:57 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
feat: WebSocket support Β· Issue #33 Β· mokksy/mokksy Implement websocket stubs/request marchers and response generation. The API might look like mokksy.websocket(path="/ws") { when { frame.body contains "Hello" } respondsWith { textFrame { "How can I...

Websockets API is definitely something that has to be built github.com/mokksy/mokks...

05.03.2026 07:21 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
MokksyServer

Yes, it’s a direct WireMock alternative but on Ktor. You may configure additional Ktor features with a lambda passed to the constructor. So, it supports everything what Ktor supports. I need to document it better.✍️
Please feel free to create a tickets on GitHub πŸ€—

mokksy.github.io/mokksy/-mokk...

05.03.2026 06:47 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

That matters not just for human readers, but increasingly for LLM-based coding agents that work better with focused, well-scoped context. The remedy is not stricter Java-style rules, but deliberate balance: use detekt, agree on limits, and treat file size as a signal worth paying attention to.

04.03.2026 10:30 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Large files in Kotlin: causes, trade-offs, and practical remedies Kotlin's permissive file organization model enables expressive, cohesive code β€” but it also explains why large files are commonplace even in mature Kotlin libraries. This article examines the cultural...

Kotlin’s flexibility β€” multiple classes and extension functions in one file β€” is a feature, not a bug. But without team conventions and static analysis, files can quietly grow past 1,000 lines.
kpavlov.me/blog/kotlin-...

04.03.2026 10:30 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Spring Modulith is very valuable tool to avoid dependency cycles between modules in enterprise applications. Must-have tool for every serious project.

02.03.2026 20:37 πŸ‘ 2 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Preview
Mokksy: A Mock Server That Actually Streams β€” and Why Your AI App Needs Integration Tests Why unit tests alone won’t save your LLM application in production, and how Mokksy β€” a Kotlin mock server with true SSE and streaming support β€” fills the gap that WireMock leaves wide open.

#Mokksy lets you test your service as a black box and simulate the kinds of failures that usually show up only after deployment. If you care about reliable releases, integration tests need to be part of your strategy. github.com/mokksy/mokksy
mokksy.dev

28.02.2026 21:25 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Mokksy: A Mock Server That Actually Streams β€” and Why Your AI App Needs Integration Tests Why unit tests alone won’t save your LLM application in production, and how Mokksy β€” a Kotlin mock server with true SSE and streaming support β€” fills the gap that WireMock leaves wide open.

Unit tests won’t catch what breaks in production.
If your service talks to external HTTP systems β€” mocking isn’t enough. You miss real config, timeouts, retries, and streaming behaviour. #Mokksy is a #Kotlin mock server with real HTTP & SSE support for black-box integration tests.

28.02.2026 21:25 πŸ‘ 1 πŸ” 0 πŸ’¬ 2 πŸ“Œ 0
Preview
Release 0.4.0 Β· kpavlov/ksp-maven-plugin What's Changed Adds glob-pattern processor filtering #43 by @kpavlov in #69 Update default kotlin version to 2.3 by @kpavlov Update min Java version to 17 by @kpavlov Fix maven parameter help gen...

#KSP #Maven plugin 0.4 is here!

Upgraded KSP v2.3.6, Kotlin 2.3, Java 17, and now supports processor class filtering

github.com/kpavlov/ksp-...

21.02.2026 15:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

Great guide by #anthropic on how to write #AI #Agent #Skills
resources.anthropic.com/hubfs/The-Co...

16.02.2026 07:31 πŸ‘ 7 πŸ” 3 πŸ’¬ 0 πŸ“Œ 0
Preview
Release 0.3.0 Β· Kotlin/kotlinx-schema What's Changed Breaking Changes Migrate "kotlinx-schema-generator-core" and "kotlinx-schema-generator-json to Kotlin Multiplatform (#147) by @kpavlov in #149 New features Extract parameter, fiel...

#Kotlinx-schema now supports JSON Schema generation from #Kotlin #serializarion (SerialDescriptor) without KSP or reflection. And also KSP generator can extract property descriptions from KDoc
github.com/Kotlin/kotli...

04.02.2026 09:21 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Release v0.3.0 · kpavlov/ksp-maven-plugin What's Changed ✨ New features Dynamic plugin execution configuration: Added KspLifecycleParticipant, enabling dynamic configuration of plugin executions based on the Maven lifecycle by @kpavlov ...

#KSP #Maven plugin 0.3.0 is out:

- Dynamic configuration of plugin executions via Maven lifecycle
- Automatic detection of KSP/Kotlin configuration parameters
- KSP upgraded to **2.3.5**

github.com/kpavlov/ksp-...

See it is action in #KotlinxSchema: github.com/Kotlin/kotli...

29.01.2026 10:33 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

This puzzle is quite beautiful! I hope it’s never used in production codeπŸ™ƒ

17.01.2026 10:39 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Release 0.0.3 Β· Kotlin/kotlinx-schema Important Changes feat: Implement compile-time function schema generation via KSP by @kpavlov in #44 breaking(schema): use ObjectPropertyDefinition for function parameters to match JSON Schema sem...

#Kotlinx-schema has been released with function schema generation via #KSP plugin.
github.com/Kotlin/kotli...

13.01.2026 22:29 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Release 0.2.0 Β· kpavlov/ksp-maven-plugin What's Changed Process main and test sources (#22) by @kpavlov in #35 Full Changelog: v0.1.3...v0.2.0

πŸš€ #ksp-maven-plugin v0.2.0 is out!

Now processes both main AND test sources, making KSP integration with Maven even more powerful.

Perfect for Kotlin projects using symbol processing.

github.com/kpavlov/ksp-...

#Kotlin #Maven #KSP

27.12.2025 13:07 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Release 0.8.1 Β· modelcontextprotocol/kotlin-sdk What's Changed fix(stdio-client): Monitor STDERR and refactor StdioClientTransport to use flows. Fixes #107 by @kpavlov fix(sse-client): Skip SSE in StreamableHttpClientTransport when data is empt...

- ClientStdioTransport was refactored to use Kolton Coroutines Flows and now can monitor STDERR, addressing #107
- StreamableHttpClientTransport now doesn’t fail on SSE message with empty β€œdata” field
- Support list and resource notifications on server.
- Enabled running some TCK conformance tests

06.12.2025 18:29 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Release 0.8.1 Β· modelcontextprotocol/kotlin-sdk What's Changed fix(stdio-client): Monitor STDERR and refactor StdioClientTransport to use flows. Fixes #107 by @kpavlov fix(sse-client): Skip SSE in StreamableHttpClientTransport when data is empt...

#Kotlin #MCP SDK v0.8.1 has been released

github.com/modelcontext...
#kotlinMcpSdk

06.12.2025 18:27 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Thanks, Suresh! I’m not sure if we should live in a single plugin. Schema generation isn’t super common usecase, and SchemaGenerator is a pretty general tool that can work with different types of schemas.

28.11.2025 13:46 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
GitHub - Kotlin/kotlinx-schema: Kotlin Multiplatform library that generates JSON Schemas from your methods and classes at compile time and at runtime via reflection using Kotlin Symbol Processing (KSP... Kotlin Multiplatform library that generates JSON Schemas from your methods and classes at compile time and at runtime via reflection using Kotlin Symbol Processing (KSP) - Kotlin/kotlinx-schema

Recently open-sourced Kotlin Multiplatform library that generates JSON Schemas from your methods and classes at compile time and at runtime via reflection using Kotlin Symbol Processing (KSP). Want to hear your thought
github.com/Kotlin/kotli...
#kotlin #ksp #jsonschema #toolschema #codegeneration

28.11.2025 04:38 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Weekend hack: Kotlin Symbol Processing Maven Plugin KSP only works with Gradle, leaving Maven users out in the cold. I built ksp-maven-plugin to fix that - minimal setup, auto-discovers processors, integrates with Maven’s lifecycle. Now you can use KSP...

Just released KSP Maven Plugin 0.1.2 with latest Kotlin Symbol Processing 2.3.3 and plugin dependency fix.

- Blog post: kpavlov.me/blog/ksp-mav...
- Release github.com/kpavlov/ksp-...
#Kotlin #KSP #Maven

27.11.2025 11:55 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Marit van Dijk in front of a monitor listing her talk.

Marit van Dijk in front of a monitor listing her talk.

Devoxx Belgium 2025 speaker badge for Marit van Dijk.

Devoxx Belgium 2025 speaker badge for Marit van Dijk.

Massive thanks to @stephanjanssen.be and team for organising another great edition of @devoxx.com!

10.10.2025 15:21 πŸ‘ 16 πŸ” 2 πŸ’¬ 0 πŸ“Œ 0
Preview
Spring Boot Starters This post discusses Spring Boot Starters and their importance to developers, who want to make the setup and configuration of Spring Boot applications a whole lot easier. It keeps dependencies organize...

@snicoll.be, thank you for the talk on Devoxx Belgium 2025 on SpringBoot 4. May I ask you to review my guide how to write SB starters. Is it still actual and provide the best practices for SB 4 kpavlov.me/blog/spring-...

10.10.2025 09:43 πŸ‘ 2 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0

That was nice 😊 No worries

03.10.2025 08:32 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Release v0.5.0-Alpha1 Β· mokksy/ai-mocks What's Changed New Features Introduce Ollama Mock Server (WIP) by @kpavlov [WIP] Support A2A protocol v0.3.0 (JSON-RPC 2.0) by @kpavlov Colorize HTTP request in logs by @kpavlov Update Kotlin comp...

#Mokksy 0.5.0-Alpha1 is ready for testing github.com/mokksy/ai-mo...

New features include an #Ollama mock server, initial support for #A2A protocol v0.3.0, colored HTTP request logs, and updated Kotlin compiler options with kotlin-stdlib 2.0.10.

08.09.2025 18:55 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

πŸ“’ Kotlin community! Don’t miss this livestream on the new version of IntelliJ IDEA.

We’ll share updates that improve the Spring experience, demonstrate interactive coding with Kotlin Notebook, and highlight many other new features.

Set a reminder πŸ‘‡

09.08.2025 06:33 πŸ‘ 7 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0

Steve Jobs was alsway behind the mentioned products. But he’s not with Apple any more…

03.08.2025 15:47 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Why it matters:
β€’ Parameter sharing (same ΞΈ reused across layers) keeps the model small.
β€’ Adaptive depth (different numbers of steps per token) avoids wasting compute on tokens that don’t need much processing.
β€’ Smarter memory usage by caching only what’s needed at each step.

22.07.2025 05:57 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Now, rather than running every input token through f a fixed number of times, it introduces a router, which decides dynamically how many times to apply f for each token, based on how β€œdifficult” it is. The model learns this routing behavior during training.

22.07.2025 05:57 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Think of it like this:

Imagine a fixed-size function f(x; ΞΈ) that transforms input x using parameters ΞΈ. Instead of stacking many unique layers (with different ΞΈs) like in standard Transformers, this model reuses the same function f several timesβ€”this is the β€œrecursion” part.

22.07.2025 05:57 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

The paper: arxiv.org/pdf/2507.10524

22.07.2025 05:51 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0