{"feed":{"title":"Raymond Camden","link":"https://www.raymondcamden.com/"},"entries":[{"title":"Summarizing Docs with Built-in AI","published":"2026-04-17T18:00:00+00:00","content":"Back in January of this year, I blogged about on-device summarization of PDFs: <a href=\"https://www.raymondcamden.com/2026/01/28/summarizing-pdfs-with-on-device-ai\">Summarizing PDFs with On-Device AI\n</a>. In that post, I made use of Chrome's <a href=\"https://developer.chrome.com/docs/ai/summarizer-api\">Summary API</a> and <a href=\"https://mozilla.github.io/pdf.js/\">PDF.js</a> to create summaries of PDFs completely within the browser. I thought I'd take a look at extending that demo into more document types, specifically Office. And even more specifically - Word, Excel, and PowerPoint. Here's what I came up with.","link":"https://www.raymondcamden.com/2026/04/17/summarizing-docs-with-built-in-ai"},{"title":"Testing OCR with Chrome Built-in AI","published":"2026-04-11T18:00:00+00:00","content":"Sorry for the lack of posting this month. I'm on the way back home from speaking at CodeStock so I've been on the road a bit, and work has been incredibly busy (which is good!) so my usual blog cadence has slipped a bit. Luckily I had a great question in my session on <a href=\"https://developer.chrome.com/docs/ai/built-in\">Chrome's Built-in AI</a> which led to a bit of investigating last night. The question involved how well Chrome's AI could do OCR on an image. I had a demo in my presentation showing using AI to describe an image and another to generate a list of tags, but not one specifically for OCR. Here's what I found.","link":"https://www.raymondcamden.com/2026/04/11/testing-ocr-with-chrome-built-in-ai"},{"title":"Links For You (4/5/26)","published":"2026-04-05T18:00:00+00:00","content":"Happy &quot;Three Days Before My Birthday Day&quot;! Oh - yeah, and happy Easter too, but I'm personally a bit more excited\nabout turning 53 as I've decided that's when I'm going to grow up and act like a mature adult. Probably. Maybe. We'll see. Now, if you, my lovely and incredibly intelligent reader, are feeling generous and you've gotten some good knowledge (or entertainment) from this blog, I'll use today's Links For You post to remind you of my <a href=\"https://www.amazon.com/gp/registry/wishlist/2TCL1D08EZEYE/ref=cm_wl_rlist_go_v?\">Amazon Wishlist</a>. Or even cheaper, leave me a comment below saying HBD - that's just as good. ;)","link":"https://www.raymondcamden.com/2026/04/05/links-for-you-4526"},{"title":"You've gained a new achievement","published":"2026-04-01T18:00:00+00:00","content":"For the past month or so I've been obsessed with a book series that's apparently been popular and I just didn't realize - Dungeon Crawler Carl. Without giving too much away, it's basically about a person, and his glorious cat, who get caught up in a real world RPG. I'm currently on book 3 (of 8) and am enjoying every page of it. It's <em>incredibly</em> funny and cool at the same time. If you haven't checked it out yet, I highly recommend picking up the first book and giving it a shot. I don't think you'll regret it.","link":"https://www.raymondcamden.com/2026/04/01/youve-gained-a-new-achievement"},{"title":"Checking if a Movie has a Post or Mid Credit Scene","published":"2026-03-28T18:00:00+00:00","content":"Tell me if you done this before - you're sitting in a movie theater after it's ended and want to know if you should stay for a mid, or post-credit scene (also called a stinger). You open your phone, google, and end up a web page that has five gigs of ads or so and then thirty to forty paragraphs of text talking about the movie before they finally get around to actually answering the question. Yeah, I hate that too. I always tell myself, next time I'll google ahead of time so I'll know before going in, but I never do. If this bugs you, I built a web app that literally only tells you if the movie has these stingers - and nothing more. No context, no description of the movie you literally just saw, just a simple yes or no. If you don't care how it was built, just go here: <a href=\"https://canhaspostcredit.raymondcamden.com/\">https://canhaspostcredit.raymondcamden.com/</a>","link":"https://www.raymondcamden.com/2026/03/28/checking-if-a-movie-has-a-post-or-mid-credit-scene"},{"title":"Two bots walk into a bar...","published":"2026-03-25T18:00:00+00:00","content":"My regular readers know I like to have fun with my demos. I'll illustrate some API, framework, technique, with perhaps a somewhat silly example as a way of introducing you to something I've learned recently that I thought was cool. My hope is that you see me demonstrating something useful in (perhaps) an less than useful demo that helps you apply it to a real world need. Today's post is not that. Rather, this is a completely silly, useless example and if you have any common sense, you'll stop reading now.","link":"https://www.raymondcamden.com/2026/03/25/two-bots-walk-into-a-bar"},{"title":"Implementing OAuth in Astro","published":"2026-03-23T18:00:00+00:00","content":"As I continue to dig into <a href=\"https://astro.build\">Astro</a>, one of the areas I wanted to explore was security and authentication. The Astro docs have an entire section on <a href=\"https://docs.astro.build/en/guides/authentication/\">authentication</a> in which they mention multiple different third party projects you can use with Astro, but I wanted to take a stab at building something myself. Once again I figured this would be a useful way to get some experience with parts of Astro I had not used yet, specifically sessions and middleware.","link":"https://www.raymondcamden.com/2026/03/23/implementing-oauth-in-astro"},{"title":"Links For You (3/22/26)","published":"2026-03-22T18:00:00+00:00","content":"I just shared this on my socials, but this weekend is one of those rare ones where I got not one, but two days of decent sleep, and honestly my body doesn't even know what to think about it. &quot;Rested&quot; is some foreign concept that is both confusing and incredibly appreciated by my body. I'd love to say I'm going to take this well rested state and get loads of things done, but outside of this post and laundry, I don't plan on accomplishing anything else of note.","link":"https://www.raymondcamden.com/2026/03/22/links-for-you-32226"},{"title":"Finding Your Most Popular Bluesky Followers","published":"2026-03-18T18:00:00+00:00","content":"A long time, like, a <em>really</em> long time ago, I <a href=\"https://www.raymondcamden.com/2012/08/20/new-site-popularfollowerscom\">created a web app</a> that would take your Twitter followers and then sort them by the number of followers they had. This was, of course, next to useless but was a fun excursion into the Twitter API and kinda cool to see &quot;big names&quot; following me. We all know what happened to the Twitter API, and Twitter itself, but last night I decided to take a stab at building something similar for Bluesky. If you don't care about the <em>how</em> and just want to see the result, you can play with it here: <a href=\"https://happy-mountain-lamb.codepen.app/\">https://happy-mountain-lamb.codepen.app/</a>","link":"https://www.raymondcamden.com/2026/03/18/finding-your-most-popular-bluesky-followers"},{"title":"Testing Live Content Collections in Astro V6","published":"2026-03-11T18:00:00+00:00","content":"Yesterday, <a href=\"https://astro.build/blog/astro-6/\">Astro V6</a> formally launched. I say &quot;formally&quot; as it's been available to test for a little while, but with me still being pretty new to Astro I've kept to the main release only. Now that V6 is the default, I thought it was time to dig into it a bit. One feature in particular stood out as being really useful to me - <a href=\"https://docs.astro.build/en/guides/content-collections/#live-content-collections\">live content collections</a>. One of the reasons I've been digging Astro so much is that it nicely straddles the SSG world and Node.js server worlds. When building your app, you can make logical decisions about what should be done at build time versus what should be done dynamically. It's like having Express and Eleventy rolled into one solution.","link":"https://www.raymondcamden.com/2026/03/11/testing-live-content-collections-in-astro-v6"}]}