Sign in

Dmitry Kandalov

@dmitrykandalov.bsky.social
362 followers 76 following 190 posts

I have witnessed programming for DOS and spent the last 20 years in the Java lands, most recently working with server-side Kotlin. Everything I post here (and more) is also on dmitrykandalov.com/micro-blog

PostsRepliesMedia
Dmitry Kandalov @dmitrykandalov.bsky.social · 03/10/2026
Witness a human type the last few lines of Kotlin code before AGI takes over! Come watch my "AI agent as a function" talk at www.nextappcon.com/agentic-codi... milliseconds before singularity arrives in Berlin (sorry, it will not arrive just yet).
nextappcon.com
agentic codingCon | next.app devCon
AI coding assistant and agentic tooling conference 2026. Real-world sessions on AI-assisted mobile development. Oct 7–9 in Berlin at next.app devCon.
020
Reposted by Dmitry Kandalov
Kotlin Weekly @kotlinweekly.bsky.social · 01/10/2026
The CfP for the KotlinConf is now open! Make sure to send your proposal here: kotlinconf.com/speakers/
kotlinconf.com
Speak at KotlinConf 2027 | KotlinConf 2027, Apr 21–23, Kraków
KotlinConf is the official Kotlin conference by JetBrains. It is a place for the community to gather and discuss all things Kotlin.
073
Reposted by Dmitry Kandalov
Simon Vergauwen @vergauwensimon.bsky.social · 23/09/2026
“Companion extensions and blocks” 🔥 This is a feature many of us have been waiting a long time for! Maybe years before I even knew this is what I wanted 😄
0103
Dmitry Kandalov @dmitrykandalov.bsky.social · 26/06/2026
The biggest "AI" lucky win was the chat format that shifted metaphor from text completion and pattern matching towards "talking" and "thinking". I prefer the query/search metaphor, where LLM is a lossy snapshot of the Internet (like a JPEG).
000
Dmitry Kandalov @dmitrykandalov.bsky.social · 25/06/2026
My current faviourite resource for augmented coding is lexler.github.io/augmented-co.... So you don't just shout at Copilot to make you a sandwich (well, probably don't use Copilot in the first place).
lexler.github.io
Augmented Coding Patterns
A collection of emerging patterns, anti-patterns, and obstacles for effective AI-augmented software development
000
Dmitry Kandalov @dmitrykandalov.bsky.social · 24/06/2026
Last week I was at the socratesuk.org conference for the first time in a few years. Classic immersive and expect the unexpected experience. An interesting dichotomy between "how to use AI" and "AI will kill us" discussions ("AI" meaning LLMs).
socratesuk.org
SoCraTes UK - Home
220
Dmitry Kandalov @dmitrykandalov.bsky.social · 21/05/2026
As always, a great talk by Ross Tate at #KotlinConf26 about local lifetimes in Kotlin. You can watch it on the livestream www.youtube.com/live/MmwBJbz... (while it's still there).
youtube.com
KotlinConf ’26 Day 1 Livestream: Keynote Included
YouTube video by Kotlin by JetBrains
130
Dmitry Kandalov @dmitrykandalov.bsky.social · 20/05/2026
New code smell: "AI" tool is consistently good at predicting/writing the next piece of code.
000
Dmitry Kandalov @dmitrykandalov.bsky.social · 15/05/2026
Here is a gist with a plugin for OpenCode to commit modified files after each edit tool execution gist.github.com/dkandalov/84.... Because it's easier to review (or undo) changes in Git history.
gist.github.com
Plugin for OpenCode to commit modified files after executing edit tools (see https://opencode.ai/docs/plugins)
Plugin for OpenCode to commit modified files after executing edit tools (see https://opencode.ai/docs/plugins) - auto-commit-hook.ts
120
Dmitry Kandalov @dmitrykandalov.bsky.social · 08/05/2026
Is that a thing to have a "script" that self-bootstraps via LLMs? For example, start with a minimal script that calls LLM to "write" itself, always leaving some gaps to fall back to LLM.
000
Reposted by Dmitry Kandalov
Ivan “CLOVIS” Canet @ivcanet.bsky.social · 21/04/2026
Claude code is a refactoring kata generator
161
Dmitry Kandalov @dmitrykandalov.bsky.social · 22/04/2026
How come code coverage tools for LLM agents is not a thing? I understand LLM providers might want to just burn more tokens, but everyone else should be interested right? 🤔 (Even if they never run code coverage manually.)
000
Dmitry Kandalov @dmitrykandalov.bsky.social · 16/04/2026
Given that LLMs running in a loop (aka agents) are not too bad at searching/analysing code, why not let them access the source code of your project dependencies by default? More often than not, the code is already downloaded by the build tooling.
100
Dmitry Kandalov @dmitrykandalov.bsky.social · 08/04/2026
I find it ironic that the same companies that use glorified O(n) complexity in their interviews can be so into the "AI" will replace people theme without specifying the complexity of the problems they want to solve 🧐
010
Dmitry Kandalov @dmitrykandalov.bsky.social · 05/04/2026
Another thing that surprises me about LLM agents is the lack of version control integration. Committing on a successful edit would be one of the first features I'd go for (with an option to squash commits later). And obviously include chat history in some form.
010
Dmitry Kandalov @dmitrykandalov.bsky.social · 04/04/2026
Considering the "AI" agents era we're in, I'm surprised how compile-and-run-tests in the project before/after making a change is not easily pluggable into agents or even encouraged during setup. Maybe I miss something, and begging LLM to do it in a Markdown file is fine.
100
Dmitry Kandalov @dmitrykandalov.bsky.social · 03/04/2026
Come say "hi" if you're in Paris next week, because Duncan McGregor and I will be doing "43 Refactorings in 40 minutes" talk at androidmakers.droidcon.com. Is this going to be the last time humans use an IDE to edit code before generative "AI" learns it all? 🤷
androidmakers.droidcon.com
Android Makers by droidcon | Android Developer Conference
Be part of Android Makers by droidcon, a community-driven Android Developer Conference on 9–10 April 2026 in Paris. Meet fellow Android developers, share knowledge, and learn from the global Android c...
120
Reposted by Dmitry Kandalov
Tim Schraepen @sch3lp.bsky.social · 07/03/2026
Vote for me lol
011
Reposted by Dmitry Kandalov
Sam Aaron @samaaron.bsky.social · 09/02/2026
Vibe Coding should really be called Vegas Coding.
3112
Dmitry Kandalov @dmitrykandalov.bsky.social · 06/02/2026
I like the new "group changes" with "AI" feature in IntelliJ version control. If only it was local, then you could run it continuously and get a warning as soon as you start working on more than one thing. This could be a good addition for the Limited WIP plugin 🤨
020
Reposted by Dmitry Kandalov
Zack Polanski @zackpolanski.bsky.social · 06/02/2026
Pressure building on govt to come clean about Mandelson's role in bringing US spy-tech firm Palantir into the heart of our NHS. The fingerprints of Mandelson and his lobbying firm are all over these deals. The rot goes to the heart of this Labour govt www.theguardian.com/politics/202...
theguardian.com
Calls to halt UK Palantir contracts grow amid ‘lack of transparency’ over deals
Opposition MPs urge Labour to pause public contracts with the US tech firm after attempts to examine deals blocked
681825669
Reposted by Dmitry Kandalov
KotlinConf @kotlinconf.com · 05/02/2026
Anna Kozlova, Technical Lead for the IntelliJ IDEA Kotlin Plugin at JetBrains, joins KotlinConf’26! She’ll discuss how your Kotlin code can have a surprising impact on IDE performance, and how small changes in your code style can lead to noticeable improvements. kotlinconf.com/#speakers
042
Reposted by Dmitry Kandalov
Dragan Stepanović @dstepanovic.bsky.social · 30/01/2026
A short lesson on the Theory of Constraints draganstepanovic.substack.com/p/your-ai-ge...
draganstepanovic.substack.com
Your AI Generated 10x More Code. Did You Integrate 10x More Often?
A short lesson on the Theory of Constraints
065
Dmitry Kandalov @dmitrykandalov.bsky.social · 31/01/2026
I wonder why most "AI" tools have such a bad UX and questionable quality? From a sociotechnical system point of view, could this be a reflection of some underlying issues in this space 🤔
000
Reposted by Dmitry Kandalov
Jason Gorman @jasongorman.bsky.social · 25/01/2026
I don't know if anyone from JetBrains who works on automated refactorings follows my feed, but I just wanted to mention that a few rounds of Refactoring Golf will reveal gaps.
112
Reposted by Dmitry Kandalov
Dragan Stepanović @dstepanovic.bsky.social · 18/01/2026
It's worth reminding a lot of AI folks that: Time saved by optimizing a non-constraint is not time saved for the whole system. It's not only time not saved, it's actually reducing the throughput of the whole system.
142
Reposted by Dmitry Kandalov
Simon Vergauwen @vergauwensimon.bsky.social · 17/12/2025
Kotlin 2.3.0 is out! My faves (no order) 😅 - Unused value checker - Improved Context Sensitive Resolution - Java 25 Bytecode - JS suspend function export - Better Swift Interop - Explicit backing fields - New Kotlin Uuid APIs and there is much more! Check it out: blog.jetbrains.com/kotlin/2025/...
blog.jetbrains.com
Kotlin 2.3.0 Released | The Kotlin Blog
The Kotlin 2.3.0 release is out! This version includes new language features, stable ones, and other features now enabled by default. This release also brings tooling updates, performance improvements
1207
Reposted by Dmitry Kandalov
Alejandro Serrano Mena @serranofp.com · 15/12/2025
New @kotlinlang.org language proposal: companion blocks and extensions github.com/Kotlin/KEEP/... Feedback is more than welcome!
github.com
Companion blocks and extensions · Kotlin KEEP · Discussion #467
This is an issue to discuss companion blocks and extensions. The current full text of the proposal can be found here. TL;DR (from the text of the proposal) data class Vector(val x: Double, val y: D...
062
Reposted by Dmitry Kandalov
Jason Gorman @jasongorman.bsky.social · 05/12/2025
The fastest way to really understand code is to write it.
182
Dmitry Kandalov @dmitrykandalov.bsky.social · 28/11/2025
I’m pleased to say that Kodee has recovered from the punch and even got a new friend. #KotlinDevDay25 had the most backend Kotlin developers I’ve seen since Kotlin became a thing on Android 🙈 It was also really nice chatting to people from Xebia, JetBrains and Flock. Thank you for having us!
190
Dmitry Kandalov @dmitrykandalov.bsky.social · 27/11/2025
Apologies for Duncan punching Kodee off the stage at #KotlinDevDay25. I disapprove of this! 😿 You can find the source code from the talk here github.com/dmcg/gilded-.... We were only seconds away from the `::invoke::invoke::invoke` part 🙈
240
Reposted by Dmitry Kandalov
Márton Braun @zsmb.co · 14/11/2025
When your blog post starts with an obviously AI-generated cover that adds no value to it, I'm quite likely to just close the page immediately instead of scrolling past it.
293
Dmitry Kandalov @dmitrykandalov.bsky.social · 14/11/2025
After about a month of experimentation, I'm happy to present a minimalistic test progress bar plugin for IntelliJ IDEs plugins.jetbrains.com/plugin/28859.... Admittedly niche, it's there for 💰 to fund Dark Arts coffee beans, but I'll happily share forever free version(s) with anyone I know or met 😅
plugins.jetbrains.com
Test Progress Bar - IntelliJ IDEs Plugin | Marketplace
Minimal progress bar popup for tests: Displayed at the bottom of the editor Hides Run/Debug tool windows when tests are started Configurable size, position...
021
Reposted by Dmitry Kandalov
Anton Arhipov @antonarhipov.bsky.social · 07/11/2025
15 years ago, this happened: github.com/JetBrains/ko... #kotlin
github.com
Initial · JetBrains/kotlin@369b197
3538
Dmitry Kandalov @dmitrykandalov.bsky.social · 07/11/2025
If you happen to be in Amsterdam at the end of November, come say "hi" at the Kotlin Dev Day, where Duncan McGregor and I will be doing 47 refactorings in 45 minutes (see kotlindevday.com/program). I will also be just hanging out with Kodee on the 28th, so happy to chat or do a code kata 🧐
kotlindevday.com
Program Kotlin Dev Day 2025 - Kotlin Dev Day
We proudly announce our 2025 schedule! With 5 stages and 32 sessions there will be a lot of Kotlin on the 27th of November.
090
Reposted by Dmitry Kandalov
Julien Lengrand-Lambert 🥑👋 @lengrand.fr · 04/11/2025
Confused as to why my 🇫🇷 and 🇳🇱 Youtube channels all started speaking 🇬🇧 all of a sudden, until I realized Youtube started automatically dubbing all videos. Thanks, but I can speak several languages, I WANT to listen to other languages. How much compute power is getting wasted with this WTAF?
261
Dmitry Kandalov @dmitrykandalov.bsky.social · 30/10/2025
Thanks to everyone who came to the "47 Refactorings in 45 minutes" talk Kodee and I did at Droidcon London today. You can find all the code here github.com/dmcg/gilded-.... Since someone asked, these are some of the heuristics I use for Kotlin code dmitrykandalov.com/tidy-kotlin.
060
Reposted by Dmitry Kandalov
IntelliJ IDEA, a JetBrains IDE @intellijidea.com · 10/10/2025
IntelliJ IDEA includes an open-source Java decompiler called Fernflower. But did you know that you can use it as a standalone CLI program? And what's even better – it's now available on Homebrew! To install it, run the `brew install fernflower` command in the terminal. Learn more in the thread!
1277
Reposted by Dmitry Kandalov
Anton Arhipov @antonarhipov.bsky.social · 06/10/2025
JetBrains × Zed: Open Interoperability for AI Coding Agents in Your IDE blog.jetbrains.com/ai/2025/10/j...
blog.jetbrains.com
JetBrains × Zed: Open Interoperability for AI Coding Agents in Your IDE | The JetBrains Blog
JetBrains is collaborating with Zed on the Agent Client Protocol (ACP) – an open protocol that lets AI coding agents work inside editors.
0103
Dmitry Kandalov @dmitrykandalov.bsky.social · 27/09/2025
In spite of the horrid LLM (aka "AI") bubble hype, it can actually be useful. My favourite use case is asking Junie questions about large code bases. For example, clone the IntelliJ source code, open it as a project (so that Junie can search actual code) and ask questions.
040
Reposted by Dmitry Kandalov
Diomidis Spinellis @coolsweng.bsky.social · 26/09/2025
Why I Choose Email Over Messaging My colleagues and friends know that I prefer to communicate with them via email rather than chat messaging. There are many benefits in such a choice. You may want to consider them and adopt the same stance. www.spinellis.gr/blog/2025092...
094
Reposted by Dmitry Kandalov
KTConf @ktconf.bsky.social · 20/09/2025
Couldn’t be happier with yesterday’s 1st edition of KTConf.be. Some quick stats: We had a total of 59 Kotlin fans attend, including 8 speakers, of which 5 international ones. Big shout out to Kunlabora, Triple D, DPG Media, PTV Logistics and of course @jetbrains.com for their amazing support.
ktconf.be
KTConf 2025
Belgium's Premier Kotlin Conference
064
Dmitry Kandalov @dmitrykandalov.bsky.social · 20/09/2025
In my experience, I learn more and have better conversations at smaller conferences. KtConf ktconf.be was a good example of that. Nice venue, single track, and great talks. BTW, everything I showed in my talk (including IDE mini-plugins) is here github.com/dkandalov/er....
110
Reposted by Dmitry Kandalov
Diomidis Spinellis @coolsweng.bsky.social · 19/09/2025
With all the GenAI buzz we tend to forget the value of 100% correct deterministic tools. Thank you Rust clippy!
    Checking uu_sed v0.0.1 (/xfs/dds/sed/src/uu/sed)
error: manual implementation of `.is_multiple_of()`
   --> src/uu/sed/src/fast_io.rs:869:8
    |
869 |     if (out_off + head_align) % block_size != 0 {
    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: replace with: `!(out_off + head_align).is_multiple_of(block_size)`
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#manual_is_multiple_of
    = note: `-D clippy::manual-is-multiple-of` implied by `-D warnings`
    = help: to override `-D warnings` add `#[allow(clippy::manual_is_multiple_of)]`
0134
Reposted by Dmitry Kandalov
Simon Vergauwen @vergauwensimon.bsky.social · 15/09/2025
KotlinConf 2026 CFP is open! 🔥 Looking forward to all your awesome submissions, and hearing about all the cool things everyone has been up to😁 sessionize.com/kotlinconf-2...
sessionize.com
KotlinConf 2026: Call for Speakers
KotlinConf is an official conference by JetBrains. It is devoted to the Kotlin programming language and is the place for the community to gather and d...
194
Dmitry Kandalov @dmitrykandalov.bsky.social · 06/09/2025
Why there are no quick fixes for inspections in IntelliJ MCP? And no tool for intentions (with quick fixes)? These would be the first two things I'd implement after basics. Or do I miss something and there is a good reason? 🤔
000
Dmitry Kandalov @dmitrykandalov.bsky.social · 31/08/2025
I wish I knew about XP×AI unconference xpunconf.org before making holiday plans. It would be such a good excuse to visit Berlin 🤩 (No excuse not to come if you live there.)
xpunconf.org
XP Unconference - XP × AI | September 20-21, 2025 | Berlin
Join us for a free, participant-driven unconference exploring Extreme Programming in the age of AI. September 20-21, 2025 at Humboldt-Universität zu Berlin.
010
Dmitry Kandalov @dmitrykandalov.bsky.social · 22/08/2025
There is now KEEP for rich errors in Kotlin github.com/Kotlin/KEEP/... 🧐
github.com
091
Dmitry Kandalov @dmitrykandalov.bsky.social · 15/08/2025
Typical IntelliJ plugin maintenance routine: need to recompile a plugin with the latest IDE version, this requires updating Kotlin, IntelliJ platform Gradle plugin (potentially rewriting build.gradle), and of course, updating Gradle, maybe JDK. Could this be less of a big bang? 🤔
130
Reposted by Dmitry Kandalov
Márton Braun @zsmb.co · 15/08/2025
It's so strange when people post things like "the LLM finally admitted it hallucinated and was lying to me!". Why would that admission be any more meaningful than any of the previous output?
3174