Sign in

Shaaf Syed

@shaaf.dev
168 followers 53 following 502 posts

Architect, developer, 🐧 ☕️ , ❤️, open source enthusiast, technical editor @InfoQ, 🏏 coach. @shaaf@fosstodon.org

PostsRepliesMedia
Shaaf Syed @shaaf.dev · 03/09/2026
Asking an AI agent to refactor a function in a large repo like #Kubernetes, often ends in a burnt context window or missed transitive callers. rgctl gives agents a pre-computed call graph to measure exact "blast radius" in <1s. Stop letting LLMs grep your monorepo. shaaf.dev/post/measuri... #AI
shaaf.dev
Blast Radius for Agent-Assisted Development on Kubernetes
If you use Cursor or Claude Code on large repos, blast radius gives your agent bounded structural facts instead of grep guesses. A Kubernetes walkthrough for engineers: what to expect, when it helps,…
100
Shaaf Syed @shaaf.dev · 01/09/2026
Day 2 — diving deeper into graphs and code. Breaking a legacy monolith means finding the right service boundaries: bad cuts make distributed monoliths; good ones follow natural code seams. shaaf.dev/post/decompo... #graph #code #microservices #architecture #Java #AI #Claude #Cursor
shaaf.dev
Decomposing a Monolith into Microservices with Call Graph Analysis
A concrete decomposition of a Java EE monolith into microservices using rgctl's community detection, blast radius analysis, and CPG field mutation tracking to identify natural service boundaries and…
020
Shaaf Syed @shaaf.dev · 01/09/2026
It started with a core frustration: how do we get better quality, deeper awareness, and precise structural information out of our large codebases? shaaf.dev/post/migrati... #SoftwareEngineering #CodeGraph #AI #Coding #Agents #OpenSource #Refactoring #Quarkus #Java
shaaf.dev
Application Migration using A Graph-Driven Approach with rgctl
A step-by-step walkthrough of migrating a Java EE 7 CoolStore monolith from WebLogic to Quarkus, using rgctl's blast radius, community detection, and migration planning to replace guesswork with…
010
Shaaf Syed @shaaf.dev · 11/06/2026
Migration isn’t just code — it’s broader. Choosing containerization or moving to Kubernetes adds extra steps and trade-offs. I’ve started a project that ties parts of that journey together. Not sure how far it’ll go, but getting started matters. github.com/sshaaf/migIQ #Kubernetes #Migration
000
Shaaf Syed @shaaf.dev · 19/05/2026
How about just wrapping Konveyor/MTA static code analyzer with #ai skills for application #modernization github.com/sshaaf/mta-s...
000
Shaaf Syed @shaaf.dev · 13/05/2026
Nope not controlled at all - chaos: "small change produces large effects...." 🙄 #LLM #AI
000
Shaaf Syed @shaaf.dev · 12/05/2026
/goal Once activated, a tiny, judgmental "manager model" watches *Agents every move. After every sentence, this miniature taskmaster asks, "Are we there yet?" If the answer is no, the manager shoves *Agent back into the basement for another round of typing instead of letting him talk to you.... #LLM
010
Shaaf Syed @shaaf.dev · 08/05/2026
The framework so many 💚 and work with everyday. #Java youtu.be/0Gb1z-2SjHY?...
youtu.be
How a Group of Developers Took Back Control from Enterprise Java | Spring: The Documentary
In the early 2000s, Java enterprise development had become a bureaucratic nightmare: a proliferation of untestable Java artefacts, heavyweight application servers, and ivory-tower standards…
031
Shaaf Syed @shaaf.dev · 07/05/2026
Pure Java gives you total control and performance, but it’s often highly opinionated. Now that I’m building a code tutorial SKILL, the "coding agent" takes the wheel. Is the flexibility worth the trade-off? shaaf.dev/post/2026-05... #Java #CodingAgents #BuildInPublic
shaaf.dev
Lessons from Building My First Claude Skill - a code tutorial generator
Sometime around last year, I started a project (Waver) that would generate tutorials from a codebase. Easy to follow tutorials in pure markdown + mermaid diagrams, so any person could be onboarded…
041
Shaaf Syed @shaaf.dev · 29/04/2026
code that just runs as a script. using #JBang to convert pptx slides to png. shaaf.dev/post/2026-04...
shaaf.dev
Rendering powerpoint to png files with JBang
Part of my daily work is to create instructions for workshops, and labs. One of the things in that entire content creation process, is to take screenshots and matching instructions and inorder to do…
000
Shaaf Syed @shaaf.dev · 16/04/2026
We want to have a meaningful result out of generative AI, not just chatting around… #Konveyor #CNCF shaaf.dev/post/2026-04...
shaaf.dev
Modernizing Legacy Code with Konveyor AI: From EJB to Kubernetes
I always enjoy participating in KubeCon. This time it was at the RAI center in Amsterdam. I have been to many conferences and the ones that are the best IMHO are the ones that are very community…
000
Shaaf Syed @shaaf.dev · 15/04/2026
Was great to be part of #KubeConEU2026, in the beautiful city of Amsterdam and represent the latest updates in the @Konveyor_Community. youtu.be/6FNR4jGox9w?...
youtu.be
Project Lightning Talk: Konveyor AI for Every Language and the Future of App Moderniza... Shaaf Syed
Don't miss out! Join us at our next KubeCon + CloudNativeCon events in Mumbai, India (18-19 June, 2026), Yokohama, Japan (29-30 July, 2026), and Shanghai, China (8-9 September, 2026). Connect with…
000
Reposted by Shaaf Syed
Marit van Dijk @maritvandijk.bsky.social · 10/04/2026
Did you know that @intellijidea.com can tell you not only when you are using a vulnerable dependency, but also whether you are actually using the vulnerable part of that dependency? Read all about it on my blog: maritvandijk.com/vulnerable-a...
maritvandijk.com
Vulnerable API usage: Is your Java code vulnerable? - Marit van Dijk
See whether your Java code is using a Vulnerable API of a dependency with known vulnerabilities in IntelliJ IDEA.
0141
Shaaf Syed @shaaf.dev · 09/04/2026
Coding agents are innovating fast, but they're also getting bloated. To actually understand what they’re doing, you have to go back to the basics. A good way to learn is to get into it. Adding LSP support to the 260 line nanocode agent in #Java shaaf.dev/post/2026-04...
shaaf.dev
Nano Agent, Mega Senses: Adding LSP to the 260-Line Coding Agent
The original nanocode idea is easy to lose in the hype: a coding agent is mostly a loop. You send prompt plus tool definitions to the model; the model answers with text or tool calls; you execute…
021
Shaaf Syed @shaaf.dev · 07/04/2026
An interesting read, if you want to understand coding agents or building one yourself.. its on my #TODO for sure. 😀 mariozechner.at/posts/2025-1...
mariozechner.at
What I learned building an opinionated and minimal coding agent
Lessons I learned while building my own coding agent from scratch.
000
Reposted by Shaaf Syed
Markus Eisele @myfear.com · 29/03/2026
„Over the next couple of years, the most valuable people to have on a software team are going to be experienced folks who’re actively working to keep their heuristics fresh. Who can combine curiosity with experience.“ buff.ly/HYgxmFn #developer #leadership #AI
buff.ly
My heuristics are wrong. What now? - Marc's Blog
More words. More meaning?
384
Shaaf Syed @shaaf.dev · 29/03/2026
I built scribe mcp server using the #Quarkus mcp extension to generate static code analysis rules for @Konveyor_community. Here is a short post explaining it. shaaf.dev/post/2026-03...
shaaf.dev
Using LLMs and MCP to generate static code analysis rules
Scribe is a Model Context Protocol (MCP) server that exposes a single tool: executeKantraOperation. That tool turns structured parameters into YAML rules compatible with Konveyor / Kantra—the static…
010
Shaaf Syed @shaaf.dev · 09/03/2026
It’s been about 8 months since my last update on neovim4j. Here is some latest updates with comprehensive documentation this time. 😀 shaaf.dev/post/2026-03...
shaaf.dev
Adding Rust Support and Some Major updates to My Neovim Config
It’s been about 8 months since my last update on neovim4j, and the config has evolved significantly. The name “neovim4j” is now a bit of a misnomer—while it started as a Java-focused setup, it’s…
000
Shaaf Syed @shaaf.dev · 08/01/2026
When I started building my first MCP server, I had a tool explosion to the point where the tool would tell me I was over the limit. This made me restructure the bits. Here are two patterns that I used #Java #Keycloak #MCP shaaf.dev/post/2026-01...
shaaf.dev
Two Essential Patterns for Building MCP Servers
When building Model Context Protocol (MCP) servers, I learned two critical design patterns the hard way. What started as a straightforward implementation of a Keycloak administration server quickly…
011
Shaaf Syed @shaaf.dev · 08/01/2026
Looking forward to speaking at Devnexus again this year. together with @danieloh30.bsky.social
000
Shaaf Syed @shaaf.dev · 02/01/2026
An #MCP server for Keycloak IAM, supporting over 45 operations, including user management and realm configuration. Version 0.3 adds JWT authentication, SSE transport, Kubernetes support, containerization, health checks, and Prometheus metrics.https://shaaf.dev/post/2026-01-02-keycloak-mcp-server/
shaaf.dev
Keycloak MCP Server: Manage Identity with Natural Language
There is always a distinct thrill in learning something new and immediately putting it to the test. My journey with Model Context Protocol (MCP) servers began with a basic ‘books API’ demo, but I…
011
Reposted by Shaaf Syed
A N M Bazlur Rahman @bazlur.ca · 27/10/2025
Introducing JUnit 6.0.0: a transformative update that unifies versions, elevates minimum requirements to Java 17, and introduces streamlined support for Kotlin suspend tests. Enjoy enhanced testing performance with the new CancellationToken API, built-in JFR listeners and many more—migrate today!
infoq.com
JUnit 6.0.0 Ships with Java 17 Baseline, Cancellation API, and Kotlin suspend Support
Introducing JUnit 6.0.0: a transformative update that unifies versions, elevates minimum requirements to Java 17, and introduces streamlined support for Kotlin suspend tests. Enjoy enhanced testing pe...
0128
Shaaf Syed @shaaf.dev · 16/10/2025
It’s all starts with fixing a simple thing 🤩 Vite: The Documentary youtu.be/bmWQqAKLgT4?...
youtu.be
Vite: The Documentary
"If you're using a JavaScript framework, you're probably using Vite." Created by Evan You (the mind behind Vue.js), Vite began as a frustrated response to slow build times with Webpack. What started…
020
Shaaf Syed @shaaf.dev · 08/09/2025
A comprehensive guide for setting up and executing rules with Kantra on your machine #Konveyor #CNCF shaaf.dev/post/2025-09...
shaaf.dev
Complete local setup development guide for Konveyor Analyzer-lsp 🚀
Build, test, and develop Kantra rules locally with full JDT-LS and multi-language provider support Modernizing large, complex codebases is a significant challenge. Identifying migration blockers,…
010
Shaaf Syed @shaaf.dev · 06/09/2025
Behind Every “Smart” #AI Tool Lies a Human Cleaning Up Its Chaos m.economictimes.com/ai/ai-insigh...
m.economictimes.com
Behind Every “Smart” AI Tool Lies a Human Cleaning Up Its Chaos
As artificial intelligence platforms flood the internet with “sloppy” output, a growing number of human workers are being called upon to fix AIs errors, from clunky code to cringe-worthy art. Once…
021
Shaaf Syed @shaaf.dev · 03/09/2025
A lot of work goes into open-source projects, mostly run by enthusiasts, passionate people. They came across a problem and solved it for all of us. And now with things like #LLMs, the job gets harder. fastcode.io/2025/09/02/t...
fastcode.io
The Hidden Vulnerabilities of Open Source
Exhausted volunteers maintaining critical infrastructure alone. From personal experience with contributor burnout to AI-powered future threats, here’s why our digital foundation is crumbling.
000
Shaaf Syed @shaaf.dev · 02/09/2025
Learning languages is always fun 🔋 🤩 I spent some time investigating #rust as a #java developer. shaaf.dev/post/my-firs...
shaaf.dev
My first 6 hours with Rust
TLDR; I took a day off from work today, although still most of my time I ended up doing my travel expenses. Talk about priorities. I am the one to blame here totally. 😄 So come around lunch time,…
032
Shaaf Syed @shaaf.dev · 01/09/2025
Not so far #Java 25. "2025/09/16" openjdk.org/projects/jdk...
032
Shaaf Syed @shaaf.dev · 29/08/2025
Wow. This was an interesting documentary about #python and its open source roots. youtu.be/GfH4QL4VqJ0?...
youtu.be
Python: The Documentary | An origin story
This is the story of the world's most beloved programming language: Python. What began as a side project in Amsterdam during the 1990s became the software powering artificial intelligence, data…
000
Shaaf Syed @shaaf.dev · 28/08/2025
Impact: Systematic discrimination, lack of access to information and free speech. www.usermag.co/p/we-must-fi...
usermag.co
We must fight age verification with all we have
Age verification laws exploit the moral panic over social media and mental health to repackage old censorship tactics under the guise of protecting children.
000
Shaaf Syed @shaaf.dev · 27/08/2025
Directed Acyclic Graphs (DAG), tiny, no dependencies, task pipelines in just #Java. shaaf.dev/post/2025-08...
shaaf.dev
Think in Graphs, Not Just Chains: JGraphlet for TaskPipelines 🚀
JGraphlet is a tiny, zero-dependency library for building task pipelines in Java. Its power comes not from a long list of features, but from a small set of core design principles that work together…
021
Shaaf Syed @shaaf.dev · 26/08/2025
Now includes Tools for IDP, Authflows, and integration with Keycloak discourse. Built with ❤️ for the #Java and #Quarkus community github.com/sshaaf/keycl...
github.com
GitHub - sshaaf/keycloak-mcp-server: An MCP server for Keycloak, designed to work with Keycloak for identity and access management, covering, Users, Realms, Clients, Roles, Groups, IDPs, Authentication. Searching keycloak discourse, Native builds available.
An MCP server for Keycloak, designed to work with Keycloak for identity and access management, covering, Users, Realms, Clients, Roles, Groups, IDPs, Authentication. Searching keycloak discourse, ...
043
Shaaf Syed @shaaf.dev · 22/08/2025
Diving deeper into concurrency! learning and enjoying this latest #java book from @bazlur.ca
031
Shaaf Syed @shaaf.dev · 19/08/2025
"Good enough has been keeping me up at night. Because good enough would likely mean that not enough people recognize what’s really being built—and what’s being sacrificed—until it’s too late ..". www.theatlantic.com/technology/a...
theatlantic.com
AI Is a Mass-Delusion Event
Three years in, one of AI’s enduring impacts is to make people feel like they’re losing it.
010
Shaaf Syed @shaaf.dev · 18/08/2025
Security is a common denominator under the ignorance headline! In all new technology advancements; Is that we do not understand the security implications of what we create or we just don't care. sites.google.com/view/invitat...
sites.google.com
Invitation Is All You Need
Ben Nassi*^, Stav Cohen^, Or Yair' *Tel-Aviv University, ^Technion, 'SafeBreach
000
Shaaf Syed @shaaf.dev · 17/08/2025
“You get what you see..”. Maybe that was true for *old cars. Now with software upgrades you get new features you never knew existed. Will there be an #opensource car please.. www.bbc.com/news/article...
bbc.com
VW introduces monthly subscription to increase car power
The German car-maker says its "optional power upgrade" is designed to give customers more choice.
011
Shaaf Syed @shaaf.dev · 15/08/2025
browser.ml.chat.enabled=😬 “Firefox now uses a local AI model to read your open tabs' titles and descriptions to suggest more tabs and group names. Everything happens on your device.” www.theregister.com/2025/08/13/f...
theregister.com
Some users report Firefox scoffing CPU power
: You guessed it: looks like it's a so-called AI
000
Shaaf Syed @shaaf.dev · 14/08/2025
“We must protect and cultivate the ecosystem of human knowledge. AI models can mimic the appearance of scholarly work, but they are (by construction) unconcerned with truth—the result is a torrential outpouring of unchecked but convincing-sounding “information”. At best, such…” wp.me/p9QQJV-nb
wp.me
AI slop and the destruction of knowledge
This week I was looking for info on what cognitive scientists mean when they speak of ‘domain-general’ cognition. I was curious, because the nuances are relevant for something I am researching at t…
010
Shaaf Syed @shaaf.dev · 14/08/2025
Hah. Always the best feeling.. when this happens 🙂
000
Reposted by Shaaf Syed
Markus Eisele @myfear.com · 10/08/2025
Protect user privacy while analyzing emotions. Learn how to build a fully local sentiment analysis service using Quarkus, LangChain4j, and Ollama—no API keys, no external dependencies. #LocalLLM #DevOps #Java buff.ly/VWHoh8I
buff.ly
Build a Sentiment Analysis API in Java with Quarkus and Local LLMs
No cloud. No API keys. Learn how to classify text sentiment using Quarkus, Langchain4j, and Ollama.
084
Shaaf Syed @shaaf.dev · 06/08/2025
Wow! thats a lot of code, and #AI fixed everything!! But then the dust settles, maybe time to learn all that was fixed and review 😀
011
Shaaf Syed @shaaf.dev · 04/08/2025
An MCP server for Keycloak built for development use cases. #Java #Quakrus github.com/sshaaf/keycl...
github.com
GitHub - sshaaf/keycloak-mcp-server: An MCP server for Keycloak, designed to work with Keycloak for identity and access management, covering, Users, Realms, Clients, Roles, Groups, IDPs, Authenticati...
An MCP server for Keycloak, designed to work with Keycloak for identity and access management, covering, Users, Realms, Clients, Roles, Groups, IDPs, Authentication. Searching keycloak discourse, ...
011
Shaaf Syed @shaaf.dev · 17/07/2025
My quest for a "hands-off the mouse" Java IDE using Neovim is on! 🚀 I created the neovim4j repo to share my setup. It's a work in progress, and I'd love your feedback or contributions. Check it out! #Java #Vim #Neovim #Developer shaaf.dev/post/2025-07...
shaaf.dev
Neovim for Java Developers: A Match is made 🚀
Are you a Java developer who is mesmerized by the power and efficiency of Vim? Do you want to try your development experience to the next level? I mean hands-off the mouse style! If so, you’re in for…
041
Shaaf Syed @shaaf.dev · 15/07/2025
Explore Konveyor's Kantra CLI, a command-line tool for analyzing source code to aid updates and migrations. Discover its features and advantages in this detailed blog series. #Java @Konveyor_io shaaf.dev/post/2025-07...
shaaf.dev
Static Code analysis tutorial with Konveyor and Kantra part - 1
Konveyor Kantra CLI is a command-line tool for analyzing and transforming application source code to aid modernization and migration. It performs static code analysis to detect issues. Kantra can…
011
Shaaf Syed @shaaf.dev · 13/07/2025
Participating in the #WeAreDevs #WWC25 was a fantastic experience. Check out this blog post and video to kickstart your journey with Konveyor AI: shaaf.dev/post/2025-02... shaaf.dev/post/2025-02...
shaaf.dev
Migrating JavaEE apps using Generative AI and Konveyor AI
Konveyor AI is a tool used to migrate Java applications to different Java frameworks, such as from JavaEE to Quarkus or Spring or from Spring 5 to 6, using Generative AI and static code analysis. I…
000
Shaaf Syed @shaaf.dev · 11/07/2025
I am grateful to everyone who participated in my presentation today. You can access the slide deck from my talk here: speakerdeck.com/sshaaf/navig.... Furthermore, our community page is available at: konveyor.io.
speakerdeck.com
Navigating Application Modernization - Leveraging Gen-AI
This talk presents an approach that utilizes static code analysis using Konveyor.io (CNCF Sandbox project) coupled with Large Language Models (LLMs) to …
020
Shaaf Syed @shaaf.dev · 11/07/2025
Learn about migrating #Java applications using Gen-AI and static code analysis. Join me at Stage 6 #WeAreDevs #WWC25 "Navigating Application Modernization - Leveraging Gen-AI" @RedHat #devNation
011
Shaaf Syed @shaaf.dev · 10/07/2025
Join me at #WWC25 Combining static code analysis with LLMs for seamless automated code transformation! Using “Kai,” we pinpoint & resolve code issues—no fine-tuning required. See how to migrate legacy apps to Kubernetes with prompt engineering & RAG. Live demo included! #Kubernetes #AI #CNCF #Java
052
Reposted by Shaaf Syed
cottongeeks @cottongeeks.bsky.social · 24/06/2025
An actual blog post: www.cottongeeks.com/articles/202...
cottongeeks.com
Fun with uv and PEP 723
052
Shaaf Syed @shaaf.dev · 12/06/2025
My kids don’t believe me when I tell them; this was all I had for storage 😆😀
010