powRSS
Home Recent Glimpses Shuffle Blogs Random

New: Explore conversations across blogs with powRSS Mentions

DJ Adams

DJ Adams

Hello, my name is DJ and this is my website. I'm a Developer Advocate at SAP.

August 2026

September 2026

October 2026

Top Words

  • expressions
  • reuse
  • node
  • notes
  • modules
  • models
  • local
  • modularity
  • simple
  • mocking
  • neovim
  • auth

All posts (55)

Today I'm finding I'm working Markdown even more, and the delta is mostly in read-mode, rather than write-mode. Reading agent and skill files, intent summaries, product requirement descriptions and more, especially in the context of Joule Studio. I use the terminal file manager lf which is very configurable. The...
The new Joule Studio CLI recently landed, in the form of jl. This is what we use on the command line to initialise a new Joule Studio project. What does that mean? Well, amongst other things, it means: you work on your project using a coding agent harness such as Claude Code or OpenCode such agent harnesses know...
Mike Zaschka, speaker, developer and active member of the community, has just announced "onedevatlas", which feels to me like something we need but didn't realise it. The SAP community has produced various catalogues of tools and libraries in the past, and these have been great. But perhaps in today's age, where...
The September 2026 release of CAP is out. This is the first minor release following the major release upgrade in June of this year, and brings CAP Node.js to 10.1 and CAP Java to 5.1. It's "only" a minor release, but goodness me there's a lot of great stuff. Let me take you through some of the highlights, which are...
The example here relates to using the jl CLI, the command line tool for Joule Studio. Unless otherwise stated, activities described here all happen in the container. Starting the authentication flow To use jl in a project, we need to first authenticate with a Joule Studio backend, using jl login, specifying the...
1mo
Baseline The plugin for building agents based on the A2A protocol is here. I start with the simple bookshop project and add the plugin: gh repo clone capire/bookshop \ && cd bookshop \ && npm add @cap-js/agents Agentification I apply the @agent annotation to the CatalogService in srv/cat-agent.cds: using {...
1mo
CAP supports the Model Context Protocol, and treats it beautifully as "just another protocol". The support comes in the form of the @cap-js/mcp plugin, which has these feature flags: { "cds": { "mcp": { "per_action_tool": false, "prefix": false, "format": "cql" } } } In this post I want to explore the...
2mo
I'm walking in the cool mornings at the moment, as the problem with my right knee is preventing me from running right now, which is driving me bonkers. On the walk this morning, I listened to a couple of episodes from two great podcasts I'm subscribed to - Hansleminutes and Soft Skills Engineering. Knowledge...
2mo
I wrote recently about Hexagonal Architecture, alternatively known as Ports & Adapters, in Book Overflow and two architectural patterns in CAP. The core idea is based on having a deliberately agnostic approach to mechanisms, resources and services beyond - located in the outer concentric circles, as it were - a...
3mo
At reCAP this year, I am honoured to share a talk slot with Patrice Bender, a good friend and adjacent colleague from the CAP Compiler team, and cohost / copresenter on the Hands-on SAP Dev mini-series on the core expression language in CDS. The talk is titled Expressions and Abstractions - Two Developer Superpowers...
3mo
My good friend and colleague Antonio shared some thoughts today about a post he'd just read: The Last People Who Know How It Works. I was composing a reply to Antonio's thoughts on LinkedIn, but then thought better of it, and in the proper spirit of "owning (and being in control of) one's own content", harking back...
3mo
Terence Eden recently published a post titled This blog is written in en-GB. Before I even read the post, I knew what it was going to be about, and that I had to make that change myself too, for the same reasons as I'd guessed he was going to explain. Terence expresses those reasons very well, so I won't try to...

Page 1 of 5