Effective AI Usage: AI-fu
In my last blog post I talked about the many aspects of modern AI and the importance of understanding them all. But even more important than this is what I am terming "AI-fu". So what is AI-fu?
In my last blog post I talked about the many aspects of modern AI and the importance of understanding them all. But even more important than this is what I am terming "AI-fu". So what is AI-fu?
A good web server will enforce Content Security Policy settings. If you are using something like Express as the web server, the endpoints will set that Content Security Policy. In the case of Single Page Applications hosted on Domino REST API, since release 1.15 by default a strict CSP is applied. But it is possible to change the CSP settings per application.
In my last blog post I talked about some lessons I've learned from using AI. I talked about a follow-up article talking about AI use at a higher level. Recent experience has reinforced my thinking on this. In this blog post we're going to focus on what AI is, the initial interaction, and training.
A little while ago I blogged on developing at speed. The obvious omission from all aspects was AI. But AI – like an IDE – is just a tool. Unless you understand what it can and can't provide, unless you use it intelligently, you will not reap the benefits. But unlike an IDE, AI doesn't come with a set of menus that hint at what it can and can't do. AI doesn't come with a marketplace of extensions that provide functionality shared by the community. And it's so new that we're all working it out. So what are my thoughts?
One of the things I learned when building HCL Volt MX LotusScript Toolkit was that calling a web agent with ?OpenAgent
URL populates the NotesSession.DocumentContext
with various fields containing useful information from the request. So when I was building agent processing functionality into the POC that became Domino REST API, I utilised the same approach to provide opportunities to pass contextual information across to an agent.
One of the main outputs of research development is the proof of concept. An early lesson I picked up when I joined HCL Labs was to deliver working code, not slides. And the key when building a proof of concept is speed. In some cases, it may end up proving why an approach won't work. In many scenarios, it may end up being put on a shelf indefinitely. Even if the concept proves appealing, the implementation choices may not be the preferred option for the final solution. So speed is of the essence: spending a couple of weeks building something that goes nowhere is acceptable; spending a couple of months is not. So the ability to get maximum results in the minimum time is key.
But how do you do that?
One of my core principles for IT research development can be summed up by a saying more than 2500 years old, attributed to Solon and appearing twice in Plutarch’s Life of Solon: “I grow old always learning many things”. In many ways, to stop learning is to stop living.
This week, once again, I will be speaking at Engage in Den Haag. As usual, it promises to be a great conference. And as usual, I will be busy.
Some months ago Stephan Wissel pointed me to an article on Shu-Ha-Ri, which refers to Alistair Cockburn's Agile Software Development. It's well worth software developers being aware of the concept, because it is crucial to the developer's life journey.
Release 1.1.3.1 of Domino REST API introduces a breaking change in CORS handling. This makes configuration less straightforward, but as the documentation states, it increases the flexibility and probably makes things a lot easier for larger environments. And though regex is not something Domino developers work with regularly, there are tools close to home that can help.