<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>writeas &amp;mdash; Attach to Process</title>
    <link>https://devblog.dinobansigan.com/tag:writeas</link>
    <description>Thoughts and Notes on Software Development</description>
    <pubDate>Sat, 22 Aug 2026 04:57:50 +0000</pubDate>
    <image>
      <url>https://i.snap.as/4wmUdb6N.png</url>
      <title>writeas &amp;mdash; Attach to Process</title>
      <link>https://devblog.dinobansigan.com/tag:writeas</link>
    </image>
    <item>
      <title>DevLog - 004: Rebuilding My Homepage with Claude Code</title>
      <link>https://devblog.dinobansigan.com/devlog-004?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[I&#39;ve had a personal Claude Pro subscription for a few months now. I&#39;ve used it to build a few apps that my kids and I use at home. Most recently, I rebuilt my personal homepage with the help of Claude Code.&#xA;&#xA;Choosing a tech stack&#xA;&#xA;Part of my discussion with Claude was what tech stack to build the new site on. I considered React, ASP.NET, or even a popular static site generator like Eleventy. But at the end of the day, those all felt like overkill for a static site with at most 2-3 pages. I decided to just have Claude build it with plain HTML and CSS. Any future updates I can handle myself by editing those files directly, and with continuous deployment from GitHub to Netlify, shipping a new build is quick and easy.&#xA;&#xA;That continuous deployment pipeline turned out to be one of the real benefits of using Claude to help build websites. It knows GitHub, and it knows Netlify. I had no idea how to set up a pipeline that deploys automatically from GitHub to Netlify, and researching it myself probably would&#39;ve taken a few hours. With Claude, I had step-by-step instructions and a working pipeline in under 10 minutes.!--more--&#xA;&#xA;Getting the design right&#xA;&#xA;The first design Claude came up with was kind of bland. I told it the design was &#34;meh,&#34; and it responded by putting together three more options for me to choose from. One of the designs seems to have taken inspiration from this very own site, it mimicked the blinking cursor, but gave it its own spin, pulling in some design cues from terminals and code. I chose that one. I toned it down a bit from the original concept, but I think it turned out pretty well.&#xA;&#xA;This was the other big benefit of rebuilding the site with Claude. I can build websites, but I&#39;m not much of a designer. Giving Claude some direction and getting back multiple design options to choose from, made that part of the process a lot less painful.&#xA;&#xA;Sunsetting apps.dinobansigan.com&#xA;&#xA;In other news, I took down the Blazor Web App at apps.dinobansigan.com. The site itself is still up, but it&#39;s now been replaced by a maintenance page (also built by Claude Code). That also means the Write.as Archive Page Generator app that used to live there is now gone.&#xA;&#xA;Truth is, that app has needed a fix every few months since I built it. The root cause is different each time, but there&#39;s always something going on with it. At this point I don&#39;t have the bandwidth to keep chasing the fixes, especially for something only a handful of people ever used. So I&#39;m letting it go.&#xA;&#xA;---&#xA;&#xA;That&#39;s it for this update. Between the new homepage and letting go of of the archive page generator app, it feels like I freed up space in my brain to focus on new stuff. Thanks for reading, and I&#39;ll catch you in the next DevLog.&#xA;&#xA;Tags: #DevLog #ClaudeCode #WebDevelopment #WriteAs&#xA;&#xA;!--emailsub--&#xA;&#xA;a href=&#34;https://remark.as/p/devblog.dinobansigan.com/devlog-004&#34;Discuss.../a or leave a comment below.]]&gt;</description>
      <content:encoded><![CDATA[<p>I&#39;ve had a personal Claude Pro subscription for a few months now. I&#39;ve used it to build a few apps that my kids and I use at home. Most recently, I rebuilt my <a href="https://dinobansigan.com/">personal homepage</a> with the help of Claude Code.</p>

<h2 id="choosing-a-tech-stack">Choosing a tech stack</h2>

<p>Part of my discussion with Claude was what tech stack to build the new site on. I considered React, ASP.NET, or even a popular static site generator like Eleventy. But at the end of the day, those all felt like overkill for a static site with at most 2-3 pages. I decided to just have Claude build it with plain HTML and CSS. Any future updates I can handle myself by editing those files directly, and with continuous deployment from GitHub to Netlify, shipping a new build is quick and easy.</p>

<p>That continuous deployment pipeline turned out to be one of the real benefits of using Claude to help build websites. It knows GitHub, and it knows Netlify. I had no idea how to set up a pipeline that deploys automatically from GitHub to Netlify, and researching it myself probably would&#39;ve taken a few hours. With Claude, I had step-by-step instructions and a working pipeline in under 10 minutes.</p>

<h2 id="getting-the-design-right">Getting the design right</h2>

<p>The first design Claude came up with was kind of bland. I told it the design was “meh,” and it responded by putting together three more options for me to choose from. One of the designs seems to have taken inspiration from this very own site, it mimicked the blinking cursor, but gave it its own spin, pulling in some design cues from terminals and code. I chose that one. I toned it down a bit from the original concept, but I think it turned out pretty well.</p>

<p>This was the other big benefit of rebuilding the site with Claude. I can build websites, but I&#39;m not much of a designer. Giving Claude some direction and getting back multiple design options to choose from, made that part of the process a lot less painful.</p>

<h2 id="sunsetting-apps-dinobansigan-com">Sunsetting apps.dinobansigan.com</h2>

<p>In other news, I took down the Blazor Web App at <a href="https://apps.dinobansigan.com/">apps.dinobansigan.com</a>. The site itself is still up, but it&#39;s now been replaced by a maintenance page (also built by Claude Code). That also means the Write.as Archive Page Generator app that used to live there is now gone.</p>

<p>Truth is, that app has needed a fix every few months since I built it. The root cause is different each time, but there&#39;s always something going on with it. At this point I don&#39;t have the bandwidth to keep chasing the fixes, especially for something only a handful of people ever used. So I&#39;m letting it go.</p>

<hr/>

<p>That&#39;s it for this update. Between the new homepage and letting go of of the archive page generator app, it feels like I freed up space in my brain to focus on new stuff. Thanks for reading, and I&#39;ll catch you in the next DevLog.</p>

<p><em>Tags: <a href="https://devblog.dinobansigan.com/tag:DevLog" class="hashtag"><span>#</span><span class="p-category">DevLog</span></a> <a href="https://devblog.dinobansigan.com/tag:ClaudeCode" class="hashtag"><span>#</span><span class="p-category">ClaudeCode</span></a> <a href="https://devblog.dinobansigan.com/tag:WebDevelopment" class="hashtag"><span>#</span><span class="p-category">WebDevelopment</span></a> <a href="https://devblog.dinobansigan.com/tag:WriteAs" class="hashtag"><span>#</span><span class="p-category">WriteAs</span></a></em></p>



<p><strong><a href="https://remark.as/p/devblog.dinobansigan.com/devlog-004">Discuss...</a></strong> or leave a comment below.</p>
]]></content:encoded>
      <guid>https://devblog.dinobansigan.com/devlog-004</guid>
      <pubDate>Tue, 04 Aug 2026 00:26:11 +0000</pubDate>
    </item>
    <item>
      <title>DevLog – 003</title>
      <link>https://devblog.dinobansigan.com/devlog-003?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[So, for awhile now, the Write.as Archive Page Generator on my hobby site wasn&#39;t working anymore. For some reason, calls to the Write.as api just started failing. The error I was getting back was “The response ended prematurely.”&#xA;&#xA;Took me awhile, but I finally found a fix for the error. Turns out, I now need to add a “user-agent” default header value to my requests, to allow the api call to go through. This seems to be an issue affecting Web APIs written using C#/.NET starting June 2024. Credit goes to this answer from StackOverflow.&#xA;&#xA;Tags: #DevLog#ASPNETCore #WebDevelopment #WriteAs&#xA;&#xA;a href=&#34;https://remark.as/p/devblog.dinobansigan.com/devlog-003&#34;Discuss.../a or leave a comment below.]]&gt;</description>
      <content:encoded><![CDATA[<p>So, for awhile now, the <a href="https://apps.dinobansigan.com/WriteAsArchivePageGenerator">Write.as Archive Page Generator</a> on my hobby site wasn&#39;t working anymore. For some reason, calls to the Write.as api just started failing. The error I was getting back was “The response ended prematurely.”</p>

<p>Took me awhile, but I finally found a fix for the error. Turns out, I now need to add a “user-agent” default header value to my requests, to allow the api call to go through. This seems to be an issue affecting Web APIs written using C#/.NET starting June 2024. Credit goes to this <a href="https://stackoverflow.com/questions/69513783/why-do-i-get-the-response-ended-prematurely-when-using-the-httpclient/78998204#78998204">answer</a> from StackOverflow.</p>

<p><em>Tags: <a href="https://devblog.dinobansigan.com/tag:DevLog" class="hashtag"><span>#</span><span class="p-category">DevLog</span></a><a href="https://devblog.dinobansigan.com/tag:ASPNETCore" class="hashtag"><span>#</span><span class="p-category">ASPNETCore</span></a> <a href="https://devblog.dinobansigan.com/tag:WebDevelopment" class="hashtag"><span>#</span><span class="p-category">WebDevelopment</span></a> <a href="https://devblog.dinobansigan.com/tag:WriteAs" class="hashtag"><span>#</span><span class="p-category">WriteAs</span></a></em></p>

<p><strong><a href="https://remark.as/p/devblog.dinobansigan.com/devlog-003">Discuss...</a></strong> or leave a comment below.</p>
]]></content:encoded>
      <guid>https://devblog.dinobansigan.com/devlog-003</guid>
      <pubDate>Sun, 10 Aug 2025 04:03:38 +0000</pubDate>
    </item>
    <item>
      <title>Fixed Bug on Write.as Archive Page Generator</title>
      <link>https://devblog.dinobansigan.com/fixed-bug-on-write-as-archive-page-generator?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[There was a bug on my Write.as Archive Page Generator web app. Instead of creating URLs with the correct alias in there, for instance https://write.as/dino/blog-post-title, it was hard-coding the word alias, like https://write.as/alias/blog-post-title. &#xA;&#xA;It was an easy fix, though it wasn&#39;t the web app that was broken, but the API that it was calling. I mentioned in a previous post, that I was working on an API to power my Blazor WASM apps. The API is functional, it&#39;s out there on the internet, running as an Azure App Service. And it&#39;s the one with the bug that I just fixed a few hours ago. &#xA;&#xA;So, the Write.as Archive Page Generator should be working correctly now. You no longer need to do a &#34;search and replace&#34; on the output to correct the URLs.&#xA;&#xA;Tags: #Blazor #WriteAs&#xA;&#xA;!--emailsub--&#xA;&#xA;a href=&#34;https://remark.as/p/devblog.dinobansigan.com/fixed-bug-on-write-as-archive-page-generator&#34;Discuss.../a or leave a comment below.]]&gt;</description>
      <content:encoded><![CDATA[<p>There was a bug on my <a href="https://apps.dinobansigan.com/WriteAsArchivePageGenerator">Write.as Archive Page Generator</a> web app. Instead of creating URLs with the correct alias in there, for instance <code>https://write.as/dino/blog-post-title</code>, it was hard-coding the word alias, like <code>https://write.as/alias/blog-post-title</code>.</p>

<p>It was an easy fix, though it wasn&#39;t the web app that was broken, but the API that it was calling. I mentioned in a <a href="https://write.as/attach-to-process/devlog-001">previous post</a>, that I was working on an API to power my Blazor WASM apps. The API is functional, it&#39;s out there on the internet, running as an Azure App Service. And it&#39;s the one with the bug that I just fixed a few hours ago.</p>

<p>So, the Write.as Archive Page Generator should be working correctly now. You no longer need to do a “search and replace” on the output to correct the URLs.</p>

<p><em>Tags: <a href="https://devblog.dinobansigan.com/tag:Blazor" class="hashtag"><span>#</span><span class="p-category">Blazor</span></a> <a href="https://devblog.dinobansigan.com/tag:WriteAs" class="hashtag"><span>#</span><span class="p-category">WriteAs</span></a></em></p>



<p><strong><a href="https://remark.as/p/devblog.dinobansigan.com/fixed-bug-on-write-as-archive-page-generator">Discuss...</a></strong> or leave a comment below.</p>
]]></content:encoded>
      <guid>https://devblog.dinobansigan.com/fixed-bug-on-write-as-archive-page-generator</guid>
      <pubDate>Thu, 14 Dec 2023 05:56:45 +0000</pubDate>
    </item>
    <item>
      <title>Write.as Archive Page Generator Fixed</title>
      <link>https://devblog.dinobansigan.com/write-as-archive-page-generator-fixed?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[My Write.as Archive Page Generator is back up and running. I&#39;ve already updated the Archive pages for my other blogs. It seems to be working fine. Please give it a try and let me know if you run into any issues with it.&#xA;&#xA;I did notice, during my testing, that it can fail on blogs with a huge number of posts. That&#39;s mainly because the API call times out at like the 1.7 minute mark. I&#39;ll see if I can fix that in the future. But for now, just getting the archive page generator working is a win. So I&#39;ll call it a day.&#xA;&#xA;Tags: #Blazor #WriteAs&#xA;&#xA;a href=&#34;https://remark.as/p/devblog.dinobansigan.com/write-as-archive-page-generator-fixed&#34;Discuss.../a or leave a comment below.]]&gt;</description>
      <content:encoded><![CDATA[<p>My <a href="https://apps.dinobansigan.com/WriteAsArchivePageGenerator">Write.as Archive Page Generator</a> is back up and running. I&#39;ve already updated the Archive pages for my other blogs. It seems to be working fine. Please give it a try and <a href="https://devblog.dinobansigan.com/contact">let me know</a> if you run into any issues with it.</p>

<p>I did notice, during my testing, that it can fail on blogs with a huge number of posts. That&#39;s mainly because the API call times out at like the 1.7 minute mark. I&#39;ll see if I can fix that in the future. But for now, just getting the archive page generator working is a win. So I&#39;ll call it a day.</p>

<p><em>Tags: <a href="https://devblog.dinobansigan.com/tag:Blazor" class="hashtag"><span>#</span><span class="p-category">Blazor</span></a> <a href="https://devblog.dinobansigan.com/tag:WriteAs" class="hashtag"><span>#</span><span class="p-category">WriteAs</span></a></em></p>

<p><strong><a href="https://remark.as/p/devblog.dinobansigan.com/write-as-archive-page-generator-fixed">Discuss...</a></strong> or leave a comment below.</p>
]]></content:encoded>
      <guid>https://devblog.dinobansigan.com/write-as-archive-page-generator-fixed</guid>
      <pubDate>Fri, 03 Feb 2023 05:46:40 +0000</pubDate>
    </item>
    <item>
      <title>WriteAs.Net 1.2.1</title>
      <link>https://devblog.dinobansigan.com/writeas-net-1-2-1?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[Version 1.2.1 of WriteAs.Net has been released. &#xA;&#xA;This very minor update adds an interface for the WriteAsClient class, which opens it up for use with dependency injection in ASP.NET Core. This allows you to create a single WriteAsClient instance and re-use it when needed, making the caching additions from Version 1.2.0 much more useful.&#xA;&#xA;This also frees me up to make better use of it in the API I&#39;m working on.&#xA;&#xA;You can install it via nuget:&#xA;Install-Package WriteAs.NET -Version 1.2.1&#xA;&#xA;Or via the .NET Core command line interface:&#xA;dotnet add package WriteAs.NET --version 1.2.1&#xA;&#xA;If you find any bugs or issues with it, please let me know. Thanks and y&#39;all have a good night.&#xA;&#xA;Tags: #DotNet #WriteAs #WriteAsNet&#xA;&#xA;a href=&#34;https://remark.as/p/devblog.dinobansigan.com/writeas-net-1-2-1&#34;Discuss.../a or leave a comment below.]]&gt;</description>
      <content:encoded><![CDATA[<p>Version 1.2.1 of <a href="https://github.com/DinoBansigan/WriteAs.NET">WriteAs.Net</a> has been released.</p>

<p>This very minor update adds an interface for the <code>WriteAsClient</code> class, which opens it up for use with dependency injection in ASP.NET Core. This allows you to create a single <code>WriteAsClient</code> instance and re-use it when needed, making the caching additions from <a href="https://write.as/attach-to-process/writeas-net-1-2-0">Version 1.2.0</a> much more useful.</p>

<p><em>This also frees me up to make better use of it in the <a href="https://write.as/attach-to-process/devlog-001">API</a> I&#39;m working on.</em></p>

<p>You can install it via nuget:
<code>Install-Package WriteAs.NET -Version 1.2.1</code></p>

<p>Or via the .NET Core command line interface:
<code>dotnet add package WriteAs.NET --version 1.2.1</code></p>

<p>If you find any bugs or issues with it, <a href="https://write.as/attach-to-process/contact">please let me know</a>. Thanks and y&#39;all have a good night.</p>

<p><em>Tags: <a href="https://devblog.dinobansigan.com/tag:DotNet" class="hashtag"><span>#</span><span class="p-category">DotNet</span></a> <a href="https://devblog.dinobansigan.com/tag:WriteAs" class="hashtag"><span>#</span><span class="p-category">WriteAs</span></a> <a href="https://devblog.dinobansigan.com/tag:WriteAsNet" class="hashtag"><span>#</span><span class="p-category">WriteAsNet</span></a></em></p>

<p><strong><a href="https://remark.as/p/devblog.dinobansigan.com/writeas-net-1-2-1">Discuss...</a></strong> or leave a comment below.</p>
]]></content:encoded>
      <guid>https://devblog.dinobansigan.com/writeas-net-1-2-1</guid>
      <pubDate>Wed, 01 Feb 2023 05:30:17 +0000</pubDate>
    </item>
    <item>
      <title>DevLog - 001</title>
      <link>https://devblog.dinobansigan.com/devlog-001?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[A number of people have been asking me about why the WriteAs Archive Page generators I made no longer work. They no longer work because of CORS restrictions on the API server. I&#39;m trying to see if I can work around the restrictions on my Blazor WASM apps by going the Web API route.&#xA;&#xA;Started working on an API for my websites&#xA;&#xA;Tags: #DevLog#ASPNETCore #WebAPI #WriteAs&#xA;&#xA;a href=&#34;https://remark.as/p/devblog.dinobansigan.com/devlog-001&#34;Discuss.../a or leave a comment below.]]&gt;</description>
      <content:encoded><![CDATA[<p>A number of people have been asking me about why the WriteAs Archive Page generators I made no longer work. They no longer work because of CORS restrictions on the API server. I&#39;m trying to see if I can work around the restrictions on my Blazor WASM apps by going the Web API route.</p>

<p><a href="https://i.snap.as/i3gkca5v.png"><img src="https://i.snap.as/i3gkca5v.png" alt="Started working on an API for my websites"/></a></p>

<p><em>Tags: <a href="https://devblog.dinobansigan.com/tag:DevLog" class="hashtag"><span>#</span><span class="p-category">DevLog</span></a><a href="https://devblog.dinobansigan.com/tag:ASPNETCore" class="hashtag"><span>#</span><span class="p-category">ASPNETCore</span></a> <a href="https://devblog.dinobansigan.com/tag:WebAPI" class="hashtag"><span>#</span><span class="p-category">WebAPI</span></a> <a href="https://devblog.dinobansigan.com/tag:WriteAs" class="hashtag"><span>#</span><span class="p-category">WriteAs</span></a></em></p>

<p><strong><a href="https://remark.as/p/devblog.dinobansigan.com/devlog-001">Discuss...</a></strong> or leave a comment below.</p>
]]></content:encoded>
      <guid>https://devblog.dinobansigan.com/devlog-001</guid>
      <pubDate>Sat, 31 Dec 2022 16:12:08 +0000</pubDate>
    </item>
    <item>
      <title>Write.as Archive Page Generation Tool</title>
      <link>https://devblog.dinobansigan.com/write-as-archive-page-generation-tool?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[It&#39;s been awhile since I updated the contents of the Archive page on my journal. I stopped updating when my Blazor apps stopped working.&#xA;Archive Page - Dino&#39;s Journal - 20220625&#xA;&#xA;I remember working on some update to my Blazor apps, but the limitation of Blazor WASM as a client-side application, plus the CORS restrictions I kept running into, made it a headache and so I stopped. I eventually created a WPF app just for my own use.&#xA;&#xA;WriteFreely Archive Page Generator written in C# and WPF&#xA;&#xA;This is what I used today to generate the contents for my archive page. Yes I know it is ugly. But I just need it to work, I don&#39;t need it to look pretty. And well, it does the job just fine, so I&#39;m happy with it. &#xA;&#xA;Since it is a WPF app, it will only run in Windows. So sorry folks, it&#39;s not something that everyone else can easily use. But if there&#39;s enough interest on it, I can share the source code in a public repo. Let me know in Remark.as or in the comments below.&#xA;&#xA;Tags: #WriteAs #WPF&#xA;&#xA;!--emailsub--&#xA;&#xA;a href=&#34;https://remark.as/p/devblog.dinobansigan.com/write-as-archive-page-generation-tool&#34;Discuss.../a or leave a comment below.]]&gt;</description>
      <content:encoded><![CDATA[<p>It&#39;s been awhile since I updated the contents of the <a href="https://write.as/dino/archive">Archive page</a> on my journal. I stopped updating when my Blazor apps stopped working.
<img src="https://i.snap.as/dgEXPVR4.png" alt="Archive Page - Dino&#39;s Journal - 20220625"/></p>

<p>I remember working on some update to my Blazor apps, but the limitation of Blazor WASM as a client-side application, plus the CORS restrictions I kept running into, made it a headache and so I stopped. I eventually created a WPF app just for my own use.</p>

<p><img src="https://i.snap.as/kfBEdecN.png" alt="WriteFreely Archive Page Generator written in C# and WPF"/></p>

<p>This is what I used today to generate the contents for my archive page. Yes I know it is ugly. But I just need it to work, I don&#39;t need it to look pretty. And well, it does the job just fine, so I&#39;m happy with it.</p>

<p>Since it is a WPF app, it will only run in Windows. So sorry folks, it&#39;s not something that everyone else can easily use. But if there&#39;s enough interest on it, I can share the source code in a public repo. Let me know in Remark.as or in the comments below.</p>

<p><em>Tags: <a href="https://devblog.dinobansigan.com/tag:WriteAs" class="hashtag"><span>#</span><span class="p-category">WriteAs</span></a> <a href="https://devblog.dinobansigan.com/tag:WPF" class="hashtag"><span>#</span><span class="p-category">WPF</span></a></em></p>



<p><strong><a href="https://remark.as/p/devblog.dinobansigan.com/write-as-archive-page-generation-tool">Discuss...</a></strong> or leave a comment below.</p>
]]></content:encoded>
      <guid>https://devblog.dinobansigan.com/write-as-archive-page-generation-tool</guid>
      <pubDate>Sat, 25 Jun 2022 22:56:26 +0000</pubDate>
    </item>
    <item>
      <title>WriteAs.Net 1.2.0</title>
      <link>https://devblog.dinobansigan.com/writeas-net-1-2-0?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[Version 1.2.0 of WriteAs.Net has been released. &#xA;&#xA;This latest version now allows you to enter an API key when initializing a WriteAsClient instance. This API key will allow you to bypass the rate limiting checks on the Write.as API.&#xA;&#xA;Some basic in-memory caching has also been added to the client. You can configure some of the cache settings when initializing a WriteAsClient instance. The new settings are described below:&#xA;&#xA;cacheExpirationInSeconds determines how long data will stay in the cache before it expires. The default value for this setting is 300 seconds.&#xA;cacheSize determines how many objects it can store in the cache. Note that a collection of posts (ListPost) and a single post each count as 1 item. The default value for this setting is 4.&#xA;&#xA;You can install it via nuget:&#xA;Install-Package WriteAs.NET -Version 1.2.0&#xA;&#xA;Or via the .NET Core command line interface:&#xA;dotnet add package WriteAs.NET --version 1.2.0&#xA;&#xA;If you find any bugs or issues with it, please let me know. Thanks and y&#39;all have a good weekend.&#xA;&#xA;Tags: #DotNet #WriteAs #WriteAsNet&#xA;&#xA;a href=&#34;https://remark.as/p/devblog.dinobansigan.com/writeas-net-1-2-0&#34;Discuss.../a or leave a comment below.]]&gt;</description>
      <content:encoded><![CDATA[<p>Version 1.2.0 of <a href="https://github.com/DinoBansigan/WriteAs.NET">WriteAs.Net</a> has been released.</p>

<p>This latest version now allows you to enter an API key when initializing a <code>WriteAsClient</code> instance. This API key will allow you to bypass the rate limiting checks on the Write.as API.</p>

<p>Some basic in-memory caching has also been added to the client. You can configure some of the cache settings when initializing a <code>WriteAsClient</code> instance. The new settings are described below:</p>
<ul><li><code>cacheExpirationInSeconds</code> determines how long data will stay in the cache before it expires. The default value for this setting is 300 seconds.</li>
<li><code>cacheSize</code> determines how many objects it can store in the cache. Note that a collection of posts (<code>List&lt;Post&gt;</code>) and a single post each count as 1 item. The default value for this setting is 4.</li></ul>

<p>You can install it via nuget:
<code>Install-Package WriteAs.NET -Version 1.2.0</code></p>

<p>Or via the .NET Core command line interface:
<code>dotnet add package WriteAs.NET --version 1.2.0</code></p>

<p>If you find any bugs or issues with it, <a href="https://write.as/attach-to-process/contact">please let me know</a>. Thanks and y&#39;all have a good weekend.</p>

<p><em>Tags: <a href="https://devblog.dinobansigan.com/tag:DotNet" class="hashtag"><span>#</span><span class="p-category">DotNet</span></a> <a href="https://devblog.dinobansigan.com/tag:WriteAs" class="hashtag"><span>#</span><span class="p-category">WriteAs</span></a> <a href="https://devblog.dinobansigan.com/tag:WriteAsNet" class="hashtag"><span>#</span><span class="p-category">WriteAsNet</span></a></em></p>

<p><strong><a href="https://remark.as/p/devblog.dinobansigan.com/writeas-net-1-2-0">Discuss...</a></strong> or leave a comment below.</p>
]]></content:encoded>
      <guid>https://devblog.dinobansigan.com/writeas-net-1-2-0</guid>
      <pubDate>Sun, 29 Aug 2021 00:01:31 +0000</pubDate>
    </item>
    <item>
      <title>Working on Update to WriteAs.Net</title>
      <link>https://devblog.dinobansigan.com/working-on-update-to-writeas-net?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[I&#39;m working on an update to the WriteAs.Net client/wrapper library. In a previous post I talked about adding caching to it before I release a new version. I ran into some road-blocks that derailed me. I ended up pushing it off to the side to focus my time somewhere else.&#xA;&#xA;The two issues that I ran into were: figuring out what the cache key was going to be for the cached object and removing the oldest object in the cache. I now have solutions for those issues. &#xA;&#xA;For the cache keys, I figured I could use the method name plus the parameter values. &#xA;&#xA;For clearing out the oldest cached object, I decided to make use of a generic Queue collection that could accept the cache key values. Then I could just pop-off the oldest value from the Queue and use that to remove the associated object in the cache.&#xA;&#xA;And so anyway, I should have the updated version of the client/wrapper library out soon. I just need to do some more testing on it.&#xA;&#xA;Tags: #DotNet #WriteAs #WriteAsNet&#xA;&#xA;a href=&#34;https://remark.as/p/devblog.dinobansigan.com/working-on-update-to-writeas-net&#34;Discuss.../a or leave a comment below.]]&gt;</description>
      <content:encoded><![CDATA[<p>I&#39;m working on an update to the <a href="https://github.com/DinoBansigan/WriteAs.NET">WriteAs.Net</a> client/wrapper library. In a <a href="https://devblog.dinobansigan.com/writeas-net-update">previous post</a> I talked about adding caching to it before I release a new version. I ran into some road-blocks that derailed me. I ended up pushing it off to the side to focus my time somewhere else.</p>

<p>The two issues that I ran into were: figuring out what the cache key was going to be for the cached object and removing the oldest object in the cache. I now have solutions for those issues.</p>

<p>For the cache keys, I figured I could use the method name plus the parameter values.</p>

<p>For clearing out the oldest cached object, I decided to make use of a generic <a href="https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.queue-1?view=net-5.0">Queue</a> collection that could accept the cache key values. Then I could just pop-off the oldest value from the Queue and use that to remove the associated object in the cache.</p>

<p>And so anyway, I should have the updated version of the client/wrapper library out soon. I just need to do some more testing on it.</p>

<p><em>Tags: <a href="https://devblog.dinobansigan.com/tag:DotNet" class="hashtag"><span>#</span><span class="p-category">DotNet</span></a> <a href="https://devblog.dinobansigan.com/tag:WriteAs" class="hashtag"><span>#</span><span class="p-category">WriteAs</span></a> <a href="https://devblog.dinobansigan.com/tag:WriteAsNet" class="hashtag"><span>#</span><span class="p-category">WriteAsNet</span></a></em></p>

<p><strong><a href="https://remark.as/p/devblog.dinobansigan.com/working-on-update-to-writeas-net">Discuss...</a></strong> or leave a comment below.</p>
]]></content:encoded>
      <guid>https://devblog.dinobansigan.com/working-on-update-to-writeas-net</guid>
      <pubDate>Wed, 11 Aug 2021 02:19:11 +0000</pubDate>
    </item>
    <item>
      <title>How to add Responsive &#34;Last Updated Date&#34; to Pinned Pages on Write.as</title>
      <link>https://devblog.dinobansigan.com/responsive-date-writeas-pinned-pages?pk_campaign=rss-feed</link>
      <description>&lt;![CDATA[On some of the pinned pages on my journal, I added a &#34;Last Updated Date&#34; value right under the title. I did it using a span element, like this:&#xA;&#xA;Archive📜&#xA;&#xA;span class=&#34;lastUpdatedDate&#34;Last Updated: 2021-03-17/span&#xA;&#xA;Now, instead of having it show up under the title all the time, I also wanted it to show up to the right of the title, if the screen was wide enough. &#xA;&#xA;So, if the page is being viewed on a wide screen, like on a desktop computer, the &#34;Last Updated Date&#34; will show up on the right side. If the page is being viewed on a small screen, like on a mobile phone, the &#34;Last Updated Date&#34; will show up under the title.  &#xA;&#xA;Here is how I made it responsive using Custom CSS:&#xA;&#xA;span.lastUpdatedDate {&#xA;   font-size: 0.7em; &#xA;   color: silver; &#xA;}&#xA;@media screen and (min-width: 480px) {&#xA;   span.lastUpdatedDate {&#xA;      float: right; &#xA;      margin-top: -4em; &#xA;      margin-bottom: -4em;&#xA;   }&#xA;}&#xA;@media screen and (max-width: 479px) {&#xA;   span.lastUpdatedDate {&#xA;      margin-top: -2em;&#xA;      padding-bottom: 2em;&#xA;      display: block;&#xA;   }&#xA;}&#xA;&#xA;Here is what it looks like on a wide screen:&#xA;Last Updated Date showing up on the right side of the title.&#xA;&#xA;Here is what it looks like on a mobile phone:&#xA;Last Updated Date showing up under the title on a small screen.&#xA;&#xA;If you know of an easier way to do this with less CSS, please let know in the comments below. Or you can do so privately by leaving me a message.&#xA;&#xA;Tags: #HowTo #CSS #WriteAs&#xA;&#xA;!--emailsub--&#xA;&#xA;a href=&#34;https://remark.as/p/devblog.dinobansigan.com/responsive-date-writeas-pinned-pages&#34;Discuss.../a or leave a comment below.]]&gt;</description>
      <content:encoded><![CDATA[<p>On <a href="https://journal.dinobansigan.com/archive">some</a> of the pinned pages on my <a href="https://journal.dinobansigan.com/">journal</a>, I added a <em>“Last Updated Date”</em> value right under the title. I did it using a <code>span</code> element, like this:</p>

<pre><code class="language-md"># Archive📜

&lt;span class=&#34;lastUpdatedDate&#34;&gt;Last Updated: 2021-03-17&lt;/span&gt;
</code></pre>

<p>Now, instead of having it show up under the title all the time, I also wanted it to show up to the right of the title, if the screen was wide enough.</p>

<p>So, if the page is being viewed on a wide screen, like on a desktop computer, the <em>“Last Updated Date”</em> will show up on the right side. If the page is being viewed on a small screen, like on a mobile phone, the <em>“Last Updated Date”</em> will show up under the title.</p>

<p>Here is how I made it responsive using Custom CSS:</p>

<pre><code class="language-css">span.lastUpdatedDate {
   font-size: 0.7em; 
   color: silver; 
}
@media screen and (min-width: 480px) {
   span.lastUpdatedDate {
      float: right; 
      margin-top: -4em; 
      margin-bottom: -4em;
   }
}
@media screen and (max-width: 479px) {
   span.lastUpdatedDate {
      margin-top: -2em;
      padding-bottom: 2em;
      display: block;
   }
}
</code></pre>

<p>Here is what it looks like on a wide screen:
<img src="https://i.snap.as/XmHMe4tj.png" alt="Last Updated Date showing up on the right side of the title."/></p>

<p>Here is what it looks like on a mobile phone:
<img src="https://i.snap.as/7OXxRJdU.png" alt="Last Updated Date showing up under the title on a small screen."/></p>

<p>If you know of an easier way to do this with less CSS, please let know in the comments below. Or you can do so privately by <a href="https://devblog.dinobansigan.com/contact">leaving me a message</a>.</p>

<p><em>Tags: <a href="https://devblog.dinobansigan.com/tag:HowTo" class="hashtag"><span>#</span><span class="p-category">HowTo</span></a> <a href="https://devblog.dinobansigan.com/tag:CSS" class="hashtag"><span>#</span><span class="p-category">CSS</span></a> <a href="https://devblog.dinobansigan.com/tag:WriteAs" class="hashtag"><span>#</span><span class="p-category">WriteAs</span></a></em></p>



<p><strong><a href="https://remark.as/p/devblog.dinobansigan.com/responsive-date-writeas-pinned-pages">Discuss...</a></strong> or leave a comment below.</p>
]]></content:encoded>
      <guid>https://devblog.dinobansigan.com/responsive-date-writeas-pinned-pages</guid>
      <pubDate>Fri, 21 May 2021 17:30:00 +0000</pubDate>
    </item>
  </channel>
</rss>