<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>kevinquillen.com - Still coding. Still rocking. Still ranting.</title><description/><link>https://kevinquillen.com</link><language>en</language><item><title>Obtaining a Masters in Computer Science</title><link>https://kevinquillen.com/obtaining-a-masters-in-computer-science</link><guid isPermaLink="true">https://kevinquillen.com/obtaining-a-masters-in-computer-science</guid><description>&lt;p&gt;After more than twenty years building software professionally, I plan to go back to school for a master&apos;s degree in computer science. I do not need another degree to prove that I can write software. I want to understand more.&lt;/p&gt;</description><pubDate>Mon, 05 Oct 2026 00:00:00 GMT</pubDate><dc:creator>Kevin</dc:creator></item><item><title>Migrating from Drupal to Astro on Cloudflare Pages</title><link>https://kevinquillen.com/migrating-from-drupal-to-astro-on-cloudflare-pages</link><guid isPermaLink="true">https://kevinquillen.com/migrating-from-drupal-to-astro-on-cloudflare-pages</guid><description>&lt;p&gt;I recently moved my personal site from Drupal to Astro on Cloudflare Pages. The decision was not driven by a technical problem or limitation with Drupal. It came down to how I want to spend my limited time and budget.&lt;/p&gt;</description><pubDate>Thu, 01 Oct 2026 12:53:18 GMT</pubDate><dc:creator>Kevin</dc:creator></item><item><title>Add fields to the Drupal Canvas Page entity</title><link>https://kevinquillen.com/add-fields-drupal-canvas-page-entity</link><guid isPermaLink="false">404 at https://kevinquillen.com</guid><description>
&lt;span property=&quot;schema:name&quot;&gt;Add fields to the Drupal Canvas Page entity&lt;/span&gt;

            &lt;div property=&quot;schema:text&quot; class=&quot;text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item&quot;&gt;&lt;p&gt;Been going deep on a handful of projects this summer, wanted to take a moment to contribute a Drupal module that solved a problem for us called Canvas Fields - the ability to assign standard fields to Canvas Page entities. Text fields, reference fields, list fields. Why? So we can tag or reference other structures to include Pages in the relationships we need on sites. Maybe you have a need for Views filtering, or Search API integration, or better ways of creating lists of content based on several properties of a Page.&lt;/p&gt;&lt;/div&gt;
      
&lt;span rel=&quot;schema:author&quot;&gt;&lt;span lang about=&quot;https://kevinquillen.com/user/1&quot; typeof=&quot;schema:Person&quot; property=&quot;schema:name&quot; datatype&gt;Kevin&lt;/span&gt;&lt;/span&gt;

&lt;span property=&quot;schema:dateCreated&quot; content=&quot;2026-08-17T14:07:36+00:00&quot;&gt;&lt;time datetime=&quot;2026-08-17T10:07:36-04:00&quot; title=&quot;Monday, August 17, 2026 - 10:07&quot;&gt;August 17th, 2026&lt;/time&gt;
&lt;/span&gt;
</description><pubDate>Mon, 17 Aug 2026 14:07:36 GMT</pubDate><dc:creator>Kevin</dc:creator></item><item><title>Auryn: A Unified View of Your AI Coding Sessions</title><link>https://kevinquillen.com/auryn-unified-view-your-ai-coding-sessions</link><guid isPermaLink="false">403 at https://kevinquillen.com</guid><description>
&lt;span property=&quot;schema:name&quot;&gt;Auryn: A Unified View of Your AI Coding Sessions&lt;/span&gt;

            &lt;div property=&quot;schema:text&quot; class=&quot;text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item&quot;&gt;&lt;p&gt;Over the last year, AI coding assistants have become a regular part of my development workflow. Like many developers, I have spent countless hours working with tools such as Claude Code, OpenAI Codex CLI, Gemini CLI, and GitHub Copilot CLI. These tools have become incredibly capable partners for everything from debugging difficult issues to planning new features, exploring unfamiliar codebases, reviewing architecture decisions, and generating documentation.&lt;/p&gt;&lt;p&gt;As these tools became more deeply integrated into my day-to-day work, I started noticing a new problem.&lt;/p&gt;&lt;/div&gt;
      
&lt;span rel=&quot;schema:author&quot;&gt;&lt;span lang about=&quot;https://kevinquillen.com/user/1&quot; typeof=&quot;schema:Person&quot; property=&quot;schema:name&quot; datatype&gt;Kevin&lt;/span&gt;&lt;/span&gt;

&lt;span property=&quot;schema:dateCreated&quot; content=&quot;2026-06-22T14:29:14+00:00&quot;&gt;&lt;time datetime=&quot;2026-06-22T10:29:14-04:00&quot; title=&quot;Monday, June 22, 2026 - 10:29&quot;&gt;June 22nd, 2026&lt;/time&gt;
&lt;/span&gt;
</description><pubDate>Mon, 22 Jun 2026 14:29:14 GMT</pubDate><dc:creator>Kevin</dc:creator></item><item><title>Testing htaccess rules in VS Code or JetBrains IDEs</title><link>https://kevinquillen.com/testing-htaccess-rules-vs-code-or-jetbrains-ides</link><guid isPermaLink="false">402 at https://kevinquillen.com</guid><description>
&lt;span property=&quot;schema:name&quot;&gt;Testing htaccess rules in VS Code or JetBrains IDEs&lt;/span&gt;

            &lt;div property=&quot;schema:text&quot; class=&quot;text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item&quot;&gt;&lt;p&gt;In my last post I alluded to some software projects I was working on, and in the nick of time I have two ready to share before we enter 2026.&lt;/p&gt;&lt;p&gt;I have published and released plugins for VS Code and JetBrains (PHPStorm, WebStorm, Intellij etc) that help in testing htaccess rules so you don&apos;t have to wait until its in the cloud to see the result. The plugins were inspired by the &lt;a href=&quot;https://htaccess.madewithlove.com/&quot;&gt;htaccess madewithlove&lt;/a&gt; website that I have literally used for years and always wished existed within my editors - now it is possible.&lt;/p&gt;&lt;/div&gt;
      
&lt;span rel=&quot;schema:author&quot;&gt;&lt;span lang about=&quot;https://kevinquillen.com/user/1&quot; typeof=&quot;schema:Person&quot; property=&quot;schema:name&quot; datatype&gt;Kevin&lt;/span&gt;&lt;/span&gt;

&lt;span property=&quot;schema:dateCreated&quot; content=&quot;2025-12-31T13:56:40+00:00&quot;&gt;&lt;time datetime=&quot;2025-12-31T08:56:40-05:00&quot; title=&quot;Wednesday, December 31, 2025 - 08:56&quot;&gt;December 31st, 2025&lt;/time&gt;
&lt;/span&gt;
</description><pubDate>Wed, 31 Dec 2025 13:56:40 GMT</pubDate><dc:creator>Kevin</dc:creator></item><item><title>2025 Wrapped</title><link>https://kevinquillen.com/2025-wrapped</link><guid isPermaLink="false">400 at https://kevinquillen.com</guid><description>
&lt;span property=&quot;schema:name&quot;&gt;2025 Wrapped&lt;/span&gt;

            &lt;div property=&quot;schema:text&quot; class=&quot;text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item&quot;&gt;&lt;p&gt;Welcome to my &lt;s&gt;Spotify&lt;/s&gt; 2025 Wrapped! I don&apos;t have Spotify, so this is my year end wrap from my point of view. Like previous years, I didn&apos;t get to write as much as I wanted to, but I&apos;ve also been juggling a lot more than before. That&apos;s okay because I had a very productive year professionally and personally.&lt;/p&gt;&lt;p&gt;Here are the highlights!&lt;/p&gt;&lt;/div&gt;
      
&lt;span rel=&quot;schema:author&quot;&gt;&lt;span lang about=&quot;https://kevinquillen.com/user/1&quot; typeof=&quot;schema:Person&quot; property=&quot;schema:name&quot; datatype&gt;Kevin&lt;/span&gt;&lt;/span&gt;

&lt;span property=&quot;schema:dateCreated&quot; content=&quot;2025-12-16T12:01:18+00:00&quot;&gt;&lt;time datetime=&quot;2025-12-16T07:01:18-05:00&quot; title=&quot;Tuesday, December 16, 2025 - 07:01&quot;&gt;December 16th, 2025&lt;/time&gt;
&lt;/span&gt;
</description><pubDate>Tue, 16 Dec 2025 12:01:18 GMT</pubDate><dc:creator>Kevin</dc:creator></item><item><title>Using computed fields in Drupal 11 and Views</title><link>https://kevinquillen.com/using-computed-fields-drupal-11-and-views</link><guid isPermaLink="false">399 at https://kevinquillen.com</guid><description>
&lt;span property=&quot;schema:name&quot;&gt;Using computed fields in Drupal 11 and Views&lt;/span&gt;

            &lt;div property=&quot;schema:text&quot; class=&quot;text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item&quot;&gt;&lt;p&gt;Every so often I run into something in Drupal that reminds me why I still enjoy working with it after all these years. Recently, while working with the Group module, I needed to display a few pieces of dynamic information: the number of members in each group and a handful of user thumbnails. I wanted these values both on the Group entity itself and inside a Views listing like a “Group Directory” page.&lt;/p&gt;&lt;p&gt;That led me to computed fields, how they behave on entities, how they behave in Views, and why you often need two different implementations even though the logic is the same.&lt;/p&gt;&lt;/div&gt;
      
&lt;span rel=&quot;schema:author&quot;&gt;&lt;span lang about=&quot;https://kevinquillen.com/user/1&quot; typeof=&quot;schema:Person&quot; property=&quot;schema:name&quot; datatype&gt;Kevin&lt;/span&gt;&lt;/span&gt;

&lt;span property=&quot;schema:dateCreated&quot; content=&quot;2025-11-25T01:53:33+00:00&quot;&gt;&lt;time datetime=&quot;2025-11-24T20:53:33-05:00&quot; title=&quot;Monday, November 24, 2025 - 20:53&quot;&gt;November 24th, 2025&lt;/time&gt;
&lt;/span&gt;
</description><pubDate>Tue, 25 Nov 2025 01:53:33 GMT</pubDate><dc:creator>Kevin</dc:creator></item><item><title>Tabuccino - the Chrome browser plugin that keeps your tabs refreshed</title><link>https://kevinquillen.com/tabuccino-chrome-browser-plugin-keeps-your-tabs-refreshed</link><guid isPermaLink="false">398 at https://kevinquillen.com</guid><description>
&lt;span property=&quot;schema:name&quot;&gt;Tabuccino - the Chrome browser plugin that keeps your tabs refreshed&lt;/span&gt;

            &lt;div property=&quot;schema:text&quot; class=&quot;text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item&quot;&gt;&lt;p&gt;&lt;span&gt;I published my &lt;/span&gt;&lt;a href=&quot;https://chromewebstore.google.com/detail/tabuccino/lfdcoopmfpifjhnainkeoanpifjkghpo&quot;&gt;&lt;span&gt;second Google Chrome plugin&lt;/span&gt;&lt;/a&gt;&lt;span&gt; today. I was getting tired of being logged out constantly of certain services and have to get my phone out to 2FA dozens of times per day. Some services have a very low lifetime and it interrupts my workflow. If you&apos;re like me and that gets annoying - this plugin is for you.&lt;/span&gt;&lt;br&gt;&lt;/p&gt;&lt;/div&gt;
      
&lt;span rel=&quot;schema:author&quot;&gt;&lt;span lang about=&quot;https://kevinquillen.com/user/1&quot; typeof=&quot;schema:Person&quot; property=&quot;schema:name&quot; datatype&gt;Kevin&lt;/span&gt;&lt;/span&gt;

&lt;span property=&quot;schema:dateCreated&quot; content=&quot;2025-10-21T12:32:07+00:00&quot;&gt;&lt;time datetime=&quot;2025-10-21T08:32:07-04:00&quot; title=&quot;Tuesday, October 21, 2025 - 08:32&quot;&gt;October 21st, 2025&lt;/time&gt;
&lt;/span&gt;
</description><pubDate>Tue, 21 Oct 2025 12:32:07 GMT</pubDate><dc:creator>Kevin</dc:creator></item><item><title>Life happened</title><link>https://kevinquillen.com/life-happened</link><guid isPermaLink="false">397 at https://kevinquillen.com</guid><description>
&lt;span property=&quot;schema:name&quot;&gt;Life happened&lt;/span&gt;

            &lt;div property=&quot;schema:text&quot; class=&quot;text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item&quot;&gt;&lt;p&gt;Whoever gave the 60 day prognosis was right on the mark, unfortunately. It&apos;s always a shock, followed by a sense of relief that someone is no longer suffering the hardships of one of the worst kinds of cancer.&lt;/p&gt;&lt;p&gt;We&apos;re seeing it happen with someone else too, sadly.&lt;/p&gt;&lt;p&gt;I&apos;ll have more tech oriented posts soon, I promise.&lt;/p&gt;&lt;p&gt;Also, Gran Turismo 7 on PS5 Pro is &lt;em&gt;absolutely gorgeous&lt;/em&gt;. I love the series and finally got it. There is comfort in its flawless beauty.&lt;/p&gt;&lt;/div&gt;
      
&lt;span rel=&quot;schema:author&quot;&gt;&lt;span lang about=&quot;https://kevinquillen.com/user/1&quot; typeof=&quot;schema:Person&quot; property=&quot;schema:name&quot; datatype&gt;Kevin&lt;/span&gt;&lt;/span&gt;

&lt;span property=&quot;schema:dateCreated&quot; content=&quot;2025-10-20T13:05:55+00:00&quot;&gt;&lt;time datetime=&quot;2025-10-20T09:05:55-04:00&quot; title=&quot;Monday, October 20, 2025 - 09:05&quot;&gt;October 20th, 2025&lt;/time&gt;
&lt;/span&gt;
</description><pubDate>Mon, 20 Oct 2025 13:05:55 GMT</pubDate><dc:creator>Kevin</dc:creator></item><item><title>60 Days to Live</title><link>https://kevinquillen.com/60-days-live</link><guid isPermaLink="false">396 at https://kevinquillen.com</guid><description>
&lt;span property=&quot;schema:name&quot;&gt;60 Days to Live&lt;/span&gt;

            &lt;div property=&quot;schema:text&quot; class=&quot;text-content clearfix field field--name-body field--type-text-with-summary field--label-hidden field__item&quot;&gt;&lt;p&gt;What would you do if you were told you had 60 days to live?&amp;nbsp;&lt;/p&gt;&lt;p&gt;That is a question that has been on my mind lately. Someone I know was more or less told that this month. I wondered, what would you do? What can you do? Would you feel like you had a good run? Are you leaving things better than you found it? Will you be remembered, and for what? What is our true purpose here?&lt;/p&gt;&lt;/div&gt;
      
&lt;span rel=&quot;schema:author&quot;&gt;&lt;span lang about=&quot;https://kevinquillen.com/user/1&quot; typeof=&quot;schema:Person&quot; property=&quot;schema:name&quot; datatype&gt;Kevin&lt;/span&gt;&lt;/span&gt;

&lt;span property=&quot;schema:dateCreated&quot; content=&quot;2025-08-22T09:36:46+00:00&quot;&gt;&lt;time datetime=&quot;2025-08-22T05:36:46-04:00&quot; title=&quot;Friday, August 22, 2025 - 05:36&quot;&gt;August 22nd, 2025&lt;/time&gt;
&lt;/span&gt;
</description><pubDate>Fri, 22 Aug 2025 09:36:46 GMT</pubDate><dc:creator>Kevin</dc:creator></item></channel></rss>