DJ Adams
DJ Adams
DJ Adams
Hello, my name is DJ and this is my website. I'm a Developer Advocate at SAP.
Latest Posts
As I mentioned in my Upcoming talks in autumn 2025 post recently, I'll be attending and speaking at UKISUG Connect. I have a couple of sessions, a hands-on workshop on the Sunday and a technical track talk on the Monday. In this post I...
Background I watched Mauricio Lauffer's Devtoberfest session Testing SAP CAP Node.js apps with cds.test yesterday, it was great. Thanks Mauricio! It's a nice accompaniment to the Testing with cds.test topic in Capire. Setting up a test...
Background There's a classic structure often found representing business data in enterprise software, and that's the "document". Purchase requisition, sales order, goods receipt, and so on. Header and items. Most of the time the items...
Background Recently the home for Capire documentation and sample repositories moved into the capire organisation on GitHub. This content includes classic modules such as bookshop which are now maintained as individual repositories, are...
Background I still remember my son Joseph showing me, years ago now, the power of gofmt, a tool that automatically formats Go source code. The blog post go fmt your code introduces the tool, and more importantly the philosophy of...
I'm delivering and / or involved in various in-person talks and workshops over the next few months, here's a quick breakdown. 26 Sep: Foundations of AI applications with the SAP HANA Cloud This is an SAP CodeJam on Fri 26 Sep in Porto,...
TL;DR The Bash language server is easy to install and has support for shfmt which in turn has support for Editorconfig settings. For shell scripts without extensions, Editorconfig is no good, except if you use shfmt's special support in...
CDS modelling across files and modules In the context of CDS models, one of the best practices is to embrace aspects and "factor out separate concerns into separate files". In addition to files the CDS compiler supports Node.js packages...
Note: I'm still learning (a) Lua, (b) the API surface of Neovim and (c) how the different core components interact and work together, so this may not be the best solution, but it works for me and I've learned a lot digging in and putting...
At reCAP, part of Code Connect 2025, I gave a talk on the cds REPL: "Gain a superpower by learning how to harness the cds REPL". You can watch the recording on the replay site; this post is a sort of summary and accompaniment, and an...
Introduction The advent of the latest release of Neovim (0.11) brought some changes and improvements in the area of LSP and diagnostics support, covered nicely in the post What's new in Neovim 0.11 from Gregory Anders, and also in David...