<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
        <title><![CDATA[idmontie's blog]]></title>
        <description><![CDATA[idmontie's blog and projects]]></description>
        <link>https://idmontie.github.io</link>
        <image>
            <url>https://idmontie.github.io/favicon.ico</url>
            <title>idmontie&apos;s blog</title>
            <link>https://idmontie.github.io</link>
        </image>
        <generator>RSS for Node</generator>
        <lastBuildDate>Wed, 25 Feb 2026 04:29:59 GMT</lastBuildDate>
        <atom:link href="https://idmontie.github.io/rss.xml" rel="self" type="application/rss+xml"/>
        <pubDate>Wed, 25 Feb 2026 04:29:59 GMT</pubDate>
        <copyright><![CDATA[All rights reserved 2026, idmontie]]></copyright>
        <item>
            <title><![CDATA[API Complexity Revisited]]></title>
            <description><![CDATA[<p>In a previous article, I discussed <a href="/blog/post/2025-01-12-api-surfaces">Surfaces</a> as an abstraction on APIs and how we could measure complexity as the size of that surfaces&#x27; perimeter – the &quot;visible&quot; part of the API to consumers. I shared this article with a colleague who I was actively working closely with on a new implementation of a design system. They has some interesting feedback on different ways of reducing complexity of certain APIs that I felt compelled to revisit this topic.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2026-02-01-api-complexity-revisited</link>
            <guid isPermaLink="false">2026-02-01-api-complexity-revisited</guid>
            <pubDate>Sun, 01 Feb 2026 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Forbidden Typescript: Spreading Type-holes]]></title>
            <description><![CDATA[<p>I&#x27;ve discussed <a href="/blog/post/2023-08-14-partial-objects">full and partial objects before on this blog</a>, and in this article I&#x27;m going to investigate a common factory pattern
in Typescript that can lead to type-holes.
When writing tests or complex components, I&#x27;ll often create prop factory utilities.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2025-12-07-spreading-type-holes</link>
            <guid isPermaLink="false">2025-12-07-spreading-type-holes</guid>
            <pubDate>Sun, 07 Dec 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Thoughts on Naming Utility Functions]]></title>
            <description><![CDATA[<p>We all know that naming things is right up there in the top three most difficult things about programming, right next to concurrency and caching.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2025-11-22-naming-things</link>
            <guid isPermaLink="false">2025-11-22-naming-things</guid>
            <pubDate>Sat, 22 Nov 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[GPUs and Best Buy Queues]]></title>
            <description><![CDATA[<p>At the height of the GPU craze, around 2021, when everyone was holed up in their homes due to COVID, the 30 series of Nvidia GPUs was extremely difficult to purchase. The scarcity was due to a few factors: the COVID pandemic had disrupted supply chains across the world, Taiwan was experiencing a severe drought that was impacting chip production, and cryptocurrency, especially ETH, was gaining value, making mining it was the latest GPU series incredibly lucrative.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2025-06-16-gpus-best-buy-queues</link>
            <guid isPermaLink="false">2025-06-16-gpus-best-buy-queues</guid>
            <pubDate>Mon, 16 Jun 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Petri Mengoli Fraction Inequality]]></title>
            <description><![CDATA[<p>In my previous post, <a href="/blog/post/2025-03-16-on-the-addition-of-fractions">&quot;On the Addition of Fractions, by Petri Mengoli&quot;</a>, I
wrote that the following inequality holds, with no proof</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2025-06-15-mengoli-fractions</link>
            <guid isPermaLink="false">2025-06-15-mengoli-fractions</guid>
            <pubDate>Sun, 15 Jun 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Agents, Agents, Agents]]></title>
            <description><![CDATA[<p>In 2008, Steve Ballmer once famously said “<a href="https://www.youtube.com/watch?v=Vhh_GeBPOhs">Developers, developers, developers</a>” in a highly meme-able video. He was trying to emphasize the importance of software developers in business and that their importance was only going to continue to grow. Microsoft shifted to try to support software developers, noticing that if they supported developers, they would build better software for Windows, which in turn would make people want to use Windows.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2025-04-21-agents-agents-agents</link>
            <guid isPermaLink="false">2025-04-21-agents-agents-agents</guid>
            <pubDate>Mon, 21 Apr 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[On the Addition of Fractions, by Petri Mengoli]]></title>
            <description><![CDATA[<p>I was researching the origin of the Basel problem to write a short blog post about
how Euler approached the problem (only to get beaten by <a href="https://www.youtube.com/watch?v=jmtiWGnj5os">anime characters talking
about it</a>).</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2025-03-16-on-the-addition-of-fractions</link>
            <guid isPermaLink="false">2025-03-16-on-the-addition-of-fractions</guid>
            <pubDate>Sun, 16 Mar 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[APIs, Complexity, and Surfaces]]></title>
            <description><![CDATA[<p>Maintaining growing software is challenging. Poorly architected APIs and
incorrect abstractions can significantly impact the ability for engineering
teams to deliver new features in a timely manner. If we consider an
API&#x27;s complexity as being a significant contributor to its overhead,
maintainability, and ease of use, then it becomes a question of how
do we best measure this complexity so that we can make informed decisions
about how to refactor and improve our APIs.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2025-01-12-api-surfaces</link>
            <guid isPermaLink="false">2025-01-12-api-surfaces</guid>
            <pubDate>Sun, 12 Jan 2025 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[The Breaking Point - Understanding the performance of your systems]]></title>
            <description><![CDATA[<p>Every system has its limits. When designing and architecting systems, sometimes we as engineers like to assume things can scale infinitely. Maybe we can use larger machines, or maybe we can deploy more instances of a service. But even trying to scale systems isn&#x27;t magically infinite. It&#x27;s a smart move to understand the limitations of what we are building upfront so we can make better technology choices, and squeeze the performance out of our existing systems.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-12-08-the-breaking-point</link>
            <guid isPermaLink="false">2023-12-08-the-breaking-point</guid>
            <pubDate>Fri, 08 Dec 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Looking back on Clarity Hub]]></title>
            <description><![CDATA[<p>In my projects list on this blog is a set of projects related to Clarity Hub. This was a startup I did with a group of friends where we aimed to create software to enable software product teams to gather customer feedback, and then action on it.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-11-19-reboot-clarityhub</link>
            <guid isPermaLink="false">2023-11-19-reboot-clarityhub</guid>
            <pubDate>Sun, 19 Nov 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[In Good Company, Impostor Syndrome]]></title>
            <description><![CDATA[<p>We&#x27;ve all felt it at some point in our careers: that dreaded feeling of impostor syndrome kicking in as we find ourselves in over our heads. Questions like, &quot;Am I truly qualified for this?&quot; and &quot;Are my peers facing the same challenges?&quot; often plague our minds.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-09-24-impostor-syndrome</link>
            <guid isPermaLink="false">2023-09-24-impostor-syndrome</guid>
            <pubDate>Sun, 24 Sep 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Enforcing Localization through Types]]></title>
            <description><![CDATA[<p>When building web applications, enforcing that strings be localized to the user&#x27;s preferred language can sometimes be achieved via lint rules. But what if we could enforce proper localization using types in TypeScript?</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-08-19-localization</link>
            <guid isPermaLink="false">2023-08-19-localization</guid>
            <pubDate>Sat, 19 Aug 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Feature Contexts]]></title>
            <description><![CDATA[<p>A common pattern in larger application when trying to track feature usage is to try to namespace events. For example, you might have a button that you want to track clicks on. For the sake of this article, we will use the <code>data-track</code> attribute on elements to track their usage, but you can imagine this works with any tracking implementation where you may need to explicitly call a tracking function (e.g. <code>track(namespace)</code>).</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-08-17-feature-context</link>
            <guid isPermaLink="false">2023-08-17-feature-context</guid>
            <pubDate>Thu, 17 Aug 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Forbidden Typescript: full/partial objects]]></title>
            <description><![CDATA[<p>When trying to be as type-safe as possible in Typescript, there are times when you may have to dynamically construct an object. You know as a programmer that all the keys will have values, but because you have to dynamically construct the values, the type system doesn’t know that the object is complete:</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-08-14-partial-objects</link>
            <guid isPermaLink="false">2023-08-14-partial-objects</guid>
            <pubDate>Mon, 14 Aug 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Reviewing Your Frontend Applications]]></title>
            <description><![CDATA[<p>Below are some notes I’ve taken from setting up new code repositories and onboarding new team members. Hopefully they can help improve your current documentation and notes to make onboarding a smooth process.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-08-13-reviewing-frontend-applications</link>
            <guid isPermaLink="false">2023-08-13-reviewing-frontend-applications</guid>
            <pubDate>Sun, 13 Aug 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Forbidden Typescript: ensuring all of a type]]></title>
            <description><![CDATA[<p>When creating more complex systems, there are times where you will want to ensure that an array contains every value of a defined type. We have a union of primitive literal types to define the possible values a type can have:</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-08-12-ensuring-all-of-type</link>
            <guid isPermaLink="false">2023-08-12-ensuring-all-of-type</guid>
            <pubDate>Sat, 12 Aug 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Smart Contract Security]]></title>
            <description><![CDATA[<p>The crypto craze has died down, but if you are working on Smart Contracts or thinking about creating a new blockchain projects, security is a huge part of making sure the project is successful. Since Smart Contracts often interact with cryptocurrencies, blockchain assets, or other tokens, it’s important to make sure the Smart Contract is secure and follows best practices.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-08-11-smart-contract-security</link>
            <guid isPermaLink="false">2023-08-11-smart-contract-security</guid>
            <pubDate>Fri, 11 Aug 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Forbidden Typescript: Get Class Name]]></title>
            <description><![CDATA[<p>We don’t get a lot of information using <code>typeof</code> in JavaScript or TypeScript. At most, it tells us whether a value is <code>undefined</code>, <code>number</code>, <code>string</code>, or <code>object</code>. If you want to get the class name using a function, you can use the following extended version of <code>classOf</code> that is originally from “JavaScript: The Definitive Guide”:</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-08-10-get-class</link>
            <guid isPermaLink="false">2023-08-10-get-class</guid>
            <pubDate>Thu, 10 Aug 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Forbidden Typescript: Enumerating Properties]]></title>
            <description><![CDATA[<p>In <a href="https://amzn.to/3rV5Xov">“JavaScript: The Definitive Guide”</a>, there are functions described in <strong>6.5 Enumerating Properties</strong> that probably shouldn’t be used in production code because they modify their input parameters: <code>extend</code>, <code>merge</code>, <code>restrict</code>, and <code>subtract</code>.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-08-09-enumerating-properties</link>
            <guid isPermaLink="false">2023-08-09-enumerating-properties</guid>
            <pubDate>Wed, 09 Aug 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Forbidden Typescript: Using Object.create to clone]]></title>
            <description><![CDATA[<p>In “Javascript: The Definitive Guide” there is an example that uses <code>Object.inherit</code> to inherit the prototype change. JavaScript defines a method <code>Object.create</code> that creates a new object using the given argument as the prototype of that object. Translating the examples from The Definitive Guide to Typescript, it looks like:</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-08-07-object-create</link>
            <guid isPermaLink="false">2023-08-07-object-create</guid>
            <pubDate>Mon, 07 Aug 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Data on the Wire]]></title>
            <description><![CDATA[<p>Back when <a href="https://www.meteor.com/">Meteor</a> was in vogue, they popularized the concept of “Data on the wire”. This was the idea that the UI would be updated with changes from the dataset it is subscribed to.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-08-06-data-on-the-wire</link>
            <guid isPermaLink="false">2023-08-06-data-on-the-wire</guid>
            <pubDate>Sun, 06 Aug 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Component Library Checklist]]></title>
            <description><![CDATA[<p>The following is a checklist I like to use to ensure I&#x27;m covering all the bases when building a component library. It&#x27;s a work in progress, but I hope it can be useful to others.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-07-26-component-library-checklist</link>
            <guid isPermaLink="false">2023-07-26-component-library-checklist</guid>
            <pubDate>Wed, 26 Jul 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Debugging slow tsc]]></title>
            <description><![CDATA[<p>I was working on a project and I noticed the <code>tsc</code> check that we ran on pre-commit hooks had become dramatically slower. I was seeing near instant times to type check the entire project go to agonizingly slow minutes to check the project. I was able to narrow the range of commits to some change we made within a month window. I’m sure I could have narrowed it down by continuing to git bisect and re-running <code>time npx tsc</code>, but it was much easier to just check out main and try out the following:</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-07-24-tsc-debugging</link>
            <guid isPermaLink="false">2023-07-24-tsc-debugging</guid>
            <pubDate>Mon, 24 Jul 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[ChatGPT, Coding, and Language]]></title>
            <description><![CDATA[<p>I’ve been experimenting with ChatGPT, just like everyone else. But why has it become so popular? It truly is a revolutionary piece of technology. Is it The Next Big Thing? Will it really replace all of us?</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-07-23-chatgpt-coding-loop</link>
            <guid isPermaLink="false">2023-07-23-chatgpt-coding-loop</guid>
            <pubDate>Sun, 23 Jul 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Backend for Frontend]]></title>
            <description><![CDATA[<p>The Backend for the Frontend (BEFFE) is typically stateless and acts as a proxy for other services, including authentication, authorization, and core services. The recent divorce of browser code being rendered by backend services was created by SPAs - Single Page Applications. In simpler architectures, a SPA and service could be as simple as:</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-07-21-backend-frontend</link>
            <guid isPermaLink="false">2023-07-21-backend-frontend</guid>
            <pubDate>Fri, 21 Jul 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[AI Feedback Systems]]></title>
            <description><![CDATA[<p>We are starting to see a rise of novel use-cases for AI in products and games using LLMs. Rather than the simple chatbot like experiences we have seen in the past using AI, we are starting to see feedback systems being added to these experiences, providing additional context to the LLM than just the past conversation.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-07-03-llm-loops</link>
            <guid isPermaLink="false">2023-07-03-llm-loops</guid>
            <pubDate>Mon, 03 Jul 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Fast Similar Embedding Lookup]]></title>
            <description><![CDATA[<p>While working on the Clarity Hub NLP API, we had a common use-case where we would create embeddings from text, and use those embedding to determine cosine similarity with other embeddings. Doing this required loading all of the embeddings in-memory and then computing cosine similarity with the entire dataset. As the dataset grew, this operation would get incredibly slow.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-07-01-fast-embedding-lookingup</link>
            <guid isPermaLink="false">2023-07-01-fast-embedding-lookingup</guid>
            <pubDate>Sat, 01 Jul 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Sora - OpenAI Visual Studio Code Extension]]></title>
            <description><![CDATA[<p>Github Copilot and other AI tools are hitting the scene. I decided to create my own Visual Studio Code extension, which is designed to use OpenAI’s APIs to bring some additional ChatGPT functionality into the code editor. The goal with Sora was to enable a developer to thoughtfully write a comment about the code they would like the AI to write, and then commit to it – rather than the real-time typeahead that Github Copilot provides.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-06-06-sora</link>
            <guid isPermaLink="false">2023-06-06-sora</guid>
            <pubDate>Tue, 06 Jun 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Revisiting GPTP - the Starcraft modding toolkit]]></title>
            <description><![CDATA[<p>One of the first PC games I played was Starcraft and the expansion Starcraft: Broodwar. We didn’t have a PC, so I had to play it on a friend’s computer, but I remember being immersed in the real-time strategy gameplay.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-05-06-gptp</link>
            <guid isPermaLink="false">2023-05-06-gptp</guid>
            <pubDate>Sat, 06 May 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Dark Emblem Rewrite]]></title>
            <description><![CDATA[<p>Dark Emblem is an NFT project that was sparked by the idea of combining cards games with Crypto Kitties. You can buy packs, open them to collect random cards, and then use those cards to battle raids with others.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-04-02-dark-emblem-rewrite</link>
            <guid isPermaLink="false">2023-04-02-dark-emblem-rewrite</guid>
            <pubDate>Sun, 02 Apr 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[ChatGPT Doesn't Understand]]></title>
            <description><![CDATA[<p>Looks like everyone is trying to discover ChatGPT’s limitations. In one article I read, the author asked whether <a href="https://medium.com/@theworldaccordingtocgpt/chatgpt-can-play-20-questions-7911405f7aff">ChatGPT can play 20 questions</a>. The human in this scenario tried to play 20 questions with ChatGPT, and found that they needed to guide the AI to ask questions. From my perspective, it looked more like a failure to engineer the initial prompt correctly.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-01-24-chat-gpt-doesnt-understand</link>
            <guid isPermaLink="false">2023-01-24-chat-gpt-doesnt-understand</guid>
            <pubDate>Tue, 24 Jan 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[The Hierarchy of Webapp Needs]]></title>
            <description><![CDATA[<p>I was thinking about all the little projects I work on and how they grow over time. The applications end up hitting some milestones and end up needing similar functionality that compliments the core features. A small project ends up getting complex enough that it requires some unit tests. I’ll go to deploy the project and now I need some deployment scripts and analytics to ensure the application is running correctly. The technology may change between each project, but web applications always seem to have the same steps that need to be taken to strengthen the application as it is scaled up.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-01-15-hierarchy-of-webapp-needs</link>
            <guid isPermaLink="false">2023-01-15-hierarchy-of-webapp-needs</guid>
            <pubDate>Sun, 15 Jan 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Clarity Hub Infer API]]></title>
            <description><![CDATA[<p><img alt="Screen Shot 2023-01-07 at 3.57.30 PM.png" src="/media/2023-01-07-clarity-hub-infer/Screen_Shot_2023-01-07_at_3.57.30_PM.png" style="max-height:500px;margin:auto;text-align:center"/></p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-01-07-clarity-hub-infer</link>
            <guid isPermaLink="false">2023-01-07-clarity-hub-infer</guid>
            <pubDate>Sat, 07 Jan 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[NX NextJS Starter]]></title>
            <description><![CDATA[<p>To kickstart the year, I created a repo that contains a simple starter kit for using NextJS with NX. You can see the repo here:</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2023-01-01-nx-nextjs-starter</link>
            <guid isPermaLink="false">2023-01-01-nx-nextjs-starter</guid>
            <pubDate>Sun, 01 Jan 2023 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Mobile]]></title>
            <description><![CDATA[<p>This short post was originally on a blog I started for creating web applications. This post goes into mobile considerations for web applications.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2015-01-05-mobile</link>
            <guid isPermaLink="false">2015-01-05-mobile</guid>
            <pubDate>Mon, 05 Jan 2015 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Developer Tools]]></title>
            <description><![CDATA[<p>This post was originally on a blog I started for creating web applications. This post goes into using developer tools to help you develop your web applications.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2015-01-04-developer-tools</link>
            <guid isPermaLink="false">2015-01-04-developer-tools</guid>
            <pubDate>Sun, 04 Jan 2015 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[User Interface]]></title>
            <description><![CDATA[<p>This post was originally on a blog I started for creating web applications. This post goes into User Interface design for web applications.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2015-01-04-user-interface</link>
            <guid isPermaLink="false">2015-01-04-user-interface</guid>
            <pubDate>Sun, 04 Jan 2015 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Web Standards]]></title>
            <description><![CDATA[<p>This post was originally on a blog I started for creating web applications. This post goes into using web standards and best practices.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2015-01-04-web-standards</link>
            <guid isPermaLink="false">2015-01-04-web-standards</guid>
            <pubDate>Sun, 04 Jan 2015 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Security]]></title>
            <description><![CDATA[<p>This post was originally on a blog I started for creating web applications. This post goes into security for web applications.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2015-01-03-security</link>
            <guid isPermaLink="false">2015-01-03-security</guid>
            <pubDate>Sat, 03 Jan 2015 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[SEO]]></title>
            <description><![CDATA[<p>This post was originally on a blog I started for creating web applications. This post goes into SEO considerations for web applications.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2015-01-03-seo</link>
            <guid isPermaLink="false">2015-01-03-seo</guid>
            <pubDate>Sat, 03 Jan 2015 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Accessibility]]></title>
            <description><![CDATA[<p>This post was originally on a blog I started for creating web applications. This post goes into accessibility of web applications.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2015-01-02-accessibility</link>
            <guid isPermaLink="false">2015-01-02-accessibility</guid>
            <pubDate>Fri, 02 Jan 2015 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Performance]]></title>
            <description><![CDATA[<p>This post was originally on a blog I started for creating web applications. This post goes into performance of web applications.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2015-01-02-performance</link>
            <guid isPermaLink="false">2015-01-02-performance</guid>
            <pubDate>Fri, 02 Jan 2015 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[Maintenance]]></title>
            <description><![CDATA[<p>This post was originally on a blog I started for creating web applications. This post goes into maintenance of web applications.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2015-01-01-maintenance</link>
            <guid isPermaLink="false">2015-01-01-maintenance</guid>
            <pubDate>Thu, 01 Jan 2015 00:00:00 GMT</pubDate>
        </item>
        <item>
            <title><![CDATA[RESTful Interfaces]]></title>
            <description><![CDATA[<p>This post was originally on a blog I started for creating web applications. This post goes into RESTful interfaces and how to design them.</p>]]></description>
            <link>https://idmontie.github.io/blog/post/2014-12-30-restful-interfaces</link>
            <guid isPermaLink="false">2014-12-30-restful-interfaces</guid>
            <pubDate>Tue, 30 Dec 2014 00:00:00 GMT</pubDate>
        </item>
    </channel>
</rss>