Raymond is a senior developer evangelist for Adobe. He focuses on document services, JavaScript, and enterprise cat demos.

Latest Posts

Spam APIs in 2024

I enjoy building API demos so I generally keep an eye out for interesting APIs to play with. A few weeks ago it occurred to me that I had not seen anyone talking about or sharing information about Spam APIs. I may be showing my age a bit, but it feels like spam was a much larger issue back in the early days. It was something you always heard about and worried about but not so much anymore. Much like nuclear war.

Using PDF Content with Google Gemini

Back in February Google announced Gemini 1.5, their latest, most powerful language model, and while access has been open via AI Studio, API access has only been available in the past few days. I thought I'd try out the new model and specifically make use of the larger context window to do prompts on PDF documents. I discussed something similar earlier this year(("Using AI and PDF Services to Automate Document Summaries")[https://www.raymondcamden.com/2024/01/08/using-ai-and-pdf-services-to-automate-document-summaries]) which made use of Diffbot, so I thought it would be interesting to build a similar experience with the Gemini API. At a high level, it's not too difficult:

Three Cool (to me) Node.js Features

I've been using Node.js on the regular now for probably over a decade, but one thing I've never done well is keep up to date with its features and new additions. In general, my brain just thinks "use javascript" and that's all. The last time I really cared about what precisely was supported was when I was using fetch in client-side JavaScript and it wasn't supported natively in Node. Luckily I could just use node-fetch and be done with it.

Alpine.js Workshop this Friday

This is somewhat last minute but it just came together in the past 24 hours. This Friday, at 4 PM CST, I'll be giving a free, online workshop on Alpine.js: Web Development with Alpine.js. Thank you to the Ontario Tech University Google Developer Student Club (whew, that's a long name) for inviting me to present to them. Just hit the link to RSVP and you'll be invited.

Links For You

Good morning. I managed to tear myself away from Assasin's Creed Valhalla a bit to get out a "Links For You" post. I was supposed to do this last week (my schedule is every two weeks), but I must have forgotten. Or just been busy. Life happens, amiright??!?! Next month will be pretty busy as well. I've got two conferences I'll be speaking at, a birthday, and just normal life stuff as well. As a reminder, if you find these posts, and this blog handy, I've got multiple ways you can show your support. With my birthday coming up, you could always visit my Amazon wishlist, or become a patron (I'd use that to possibly invest in better analytics), or simply buy me a coffee. Anything and everything is much appreciated. :) Ok, enough begging, here are the links for this edition.

Responding to HTML Changes in a Web Component

While driving my kids to school this morning, I had an interesting thought. Is it possible for a web component to recognize, and respond, when its inner DOM contents have changed? Turns out of course it is, and the answer isn't really depenedant on web components, but is a baked-in part of the web platform, the MutationObserver. Here's what I built as a way to test it out.

Want more posts? You can peruse a complete list of my content, or pop over to my search page to find what you're looking for.