{"feed":{"title":"Raymond Camden","link":"https://www.raymondcamden.com/"},"entries":[{"title":"Links For You (7/18/26)","published":"2026-07-18T18:00:00+00:00","content":"Good morning, programs. I'm currently at a conference (<a href=\"https://www.sqlsatbr.com/\">Day of Data</a>), but thankfully one just down the road. I'll be back tonight, and thought I'd take a break between sessions to share some links. I'll be presenting later today one of my favorite talks, &quot;A Beginner's Guide to Wrangling Asynchronicity in JavaScript&quot;. I love the talk, but given I'm up against <em>eight</em> other talks at the same time and I'm not talking AI... well it may be a small personal affair. We shall see.","link":"https://www.raymondcamden.com/2026/07/18/links-for-you-71826"},{"title":"TIL - Algolia Makes Creating an MCP Server Stupid Easy","published":"2026-07-11T18:00:00+00:00","content":"A few days ago I was chatting with <a href=\"https://www.linkedin.com/in/chuckm/\">Chuck Meyer</a> (devrel for <a href=\"https://algolia.com\">Algolia</a>) and I casually mentioned, &quot;It sure would be cool if Algolia had an easy way to turn my search index into an MCP server.&quot; He promptly responded, &quot;Of course, you complete and utter dufus, which is why we already <em>have</em> that feature.&quot; (Not an exact quote.) This is <em>exactly</em> the kind of thing I love to hear. I've been using Algolia for my <a href=\"/search\">search</a> here for <em>years</em> and honestly have not paid much attention to the new additions on their platform. That was a mistake. Let me show you how dang easy they made this.","link":"https://www.raymondcamden.com/2026/07/11/til-algolia-makes-creating-an-mcp-server-stupid-easy"},{"title":"Turning my Cursor Performance Work into a Repeatable Skill","published":"2026-07-08T18:00:00+00:00","content":"Yesterday, I wrote about using Cursor to <a href=\"https://www.raymondcamden.com/2026/07/07/asking-cursor-to-review-my-blog-for-performance\">review my blog for performance</a>. Cursor (and again, for full disclosure I work here now ;) did a <em>dang</em> good job of finding performance issues with my site, handling the huge size and various languages, platforms, and so forth. As I said, it worked well, but I wanted to look into making this more of a repeatable process.","link":"https://www.raymondcamden.com/2026/07/08/turning-cursor-performance-work-repeatable-skill"},{"title":"Asking Cursor to Review My Blog for Performance","published":"2026-07-07T18:00:00+00:00","content":"Last week I decided to try something interesting. I opened my blog up in Cursor and asked for a basic performance review. That seems like a no-brainer, but keep in mind, my <a href=\"https://github.com/cfjedimaster/raymondcamden2023\">blog's source code</a> clocks in at near <strong>seven thousand</strong> files (ignoring <code>node_modules</code> of course), so this wasn't some small request.","link":"https://www.raymondcamden.com/2026/07/07/asking-cursor-to-review-my-blog-for-performance"},{"title":"My New Role - Helping AI Adoption at Cursor","published":"2026-07-06T18:00:00+00:00","content":"This will be a short and sweet post to announce that today is my first day at <a href=\"https://cursor.com\">Cursor</a>!\n<p>\n<img src=\"https://static.raymondcamden.com/images/2026/07/happy-dance.gif\" loading=\"lazy\" alt=\"Happy Dance\" class=\"imgborder imgcenter\">\n</p>","link":"https://www.raymondcamden.com/2026/07/06/my-new-role-helping-ai-adoption-at-cursor"},{"title":"Links For You (7/5/26)","published":"2026-07-05T18:00:00+00:00","content":"In my <a href=\"https://www.raymondcamden.com/2026/06/21/links-for-you-62126\">last links post</a>, I hinted that I may have some good news on the job front, and if you follow me on <a href=\"https://linkedin.com/in/raymondcamden\">LinkedIn</a> you already know that I've signed on to my next gig. Tomorrow morning I'll share on here (and on LI) details about the new gig, but I am <em>beyond</em> excited about this new job. With that out of the way, how about some happy links for what's going to be a really dang good week?","link":"https://www.raymondcamden.com/2026/07/05/links-for-you-7526"},{"title":"Building Custom Form Selection Boxes - Working on Accessibility","published":"2026-07-03T18:00:00+00:00","content":"Whenever I find myself needing to update a previous blog post, I either correct it inline and add a small note on top, for small tweaks, or write a whole new piece for larger changes. My <a href=\"https://www.raymondcamden.com/2026/07/01/building-custom-form-selection-blocks-no-js-all-css\">last blog post</a> talked about how to use CSS to style a &quot;block&quot; such that it acted like a form radio button. When I worked on that demo, I was a bit worried about accessibility. I did one quick check with an online tool, and thought I was ok. I was not.","link":"https://www.raymondcamden.com/2026/07/03/building-custom-form-selection-boxes-working-on-accessibility"},{"title":"Building Custom Form Selection Blocks - no JS, all CSS","published":"2026-07-01T18:00:00+00:00","content":"<strong>Edit on July 3 - See my <a href=\"/2026/07/03/building-custom-form-selection-boxes-working-on-accessibility\">update</a>.</strong> I apologize for what may be a slightly misleading title. The topic for this post is something I've had on my list of things to explore for some time now, and while I wait for the new job to start, I've found myself with time to kill. Let me explain what I'm talking about and hopefully it will make a bit more sense. You are, dear reader, familiar with form controls and how to build forms both big and small. One type of user interface I've seen from time to time is the ability to select an item where the &quot;item&quot; is an arbitrary block of code. What do I mean by that?","link":"https://www.raymondcamden.com/2026/07/01/building-custom-form-selection-blocks-no-js-all-css"},{"title":"Decoding VINs with an API","published":"2026-06-26T18:00:00+00:00","content":"Today's post took a bit of a pivot. I decided to work on a demo idea I had created way back in March. As I worked on it, I ran into multiple roadblocks, and while that original idea for a demo may still see the light of the day, I figured I'd at least share something that <em>did</em> work.","link":"https://www.raymondcamden.com/2026/06/26/decoding-vins-with-api"},{"title":"Parsing Arbitrary Dates in Strings with Chrono and a Web Component","published":"2026-06-24T18:00:00+00:00","content":"Yesterday I had an idea for a possible experiment using Chrome's built-in AI support - looking for &quot;date&quot; references in strings. So for example: &quot;I will have my new job in 12 days&quot;. Could the AI model recognize &quot;12 days&quot; as a date and determine what the actual date is, assuming a reference date of now? I was about to start working on a simple POC when I thought... wait... is there already a JavaScript library for this?","link":"https://www.raymondcamden.com/2026/06/24/parsing-arbitrary-dates-in-strings-with-chrono-and-a-web-component"}]}