<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="/pretty-feed-v3.xsl" type="text/xsl"?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Weeknotes — msfjarvis.dev</title>
    <description>Weekly notes by Harsh Shandilya</description>
    <link>https://msfjarvis.dev/</link>
    <atom:link href="https://msfjarvis.dev/weeknotes/rss.xml" rel="self" type="application/rss+xml"/>
    <lastBuildDate>Sat, 29 Aug 2026 02:18:09 GMT</lastBuildDate>
    <language>en-us</language>
    <item>
      <title>Weeknotes: Week #34 (2026)</title>
      <link>https://msfjarvis.dev/weeknotes/week-34-2026/</link>
      <guid>https://msfjarvis.dev/weeknotes/week-34-2026/</guid>
      <description>Recovering from health issues and catching up on TV</description>
      <pubDate>Sun, 23 Aug 2026 14:38:00 GMT</pubDate>
      <content:encoded><![CDATA[<h1 id="life">Life</h1>
<p>On Monday I went to see a doctor about the fever that was destroying me last weekend and got a full week of medicines and a Paracetamol IV drip to help get it out of my system. That ended up taking more than an hour, and I was pretty glad that <a href="https://yashgarg.dev/">Yash</a> came out to help. What wasn’t great was me not taking the house keys since I went ahead of Yash, and him assuming that I did like I always do so we got ourselves locked out at 10 in the morning. One very expensive locksmith later we were inside, and I don’t think this mistake will be repeated anytime soon :P</p>
<p>The rest of my time this week was mostly focused on recovery as I took the whole week off work and did pretty much nothing other than lay in bed.</p>
<p>I did take the opportunity to meet up with some friends towards the end of the week as my strength returned, meeting up with <a href="https://www.devanshbajaj.dev/">Devansh</a> on the 20th and spending nearly 6 hours with <a href="https://fknil.com/">Fenil</a> on the 21st. It was nice to get out of the house after that long period of feeling like shit and yap with friends.</p>
<h1 id="media">Media</h1>
<p>I took advantage of the seemingly infinite rest period to catch up on a bunch of TV shows and the occasional movie.</p>
<ul>
<li>Finished <a href="https://en.wikipedia.org/wiki/The_Legend_of_Korra">The Legend of Korra</a>: still agree with what I said last week, it’s not ATLA but is great in its own right.</li>
<li>Watched <a href="https://en.wikipedia.org/wiki/Batman:_Caped_Crusader">Batman Caped Crusader</a> S2: can’t say anything without it being spoilers, but this was ultimately not that exciting for me. Building up the suspense about the antagonist was done well but I didn’t jive with how it came together.</li>
<li>Started <a href="https://en.wikipedia.org/wiki/Reacher_(TV_series)">Reacher</a> S4: this has started off in typical Reacher fashion so I’m on board so far.</li>
<li>Caught up to <a href="https://en.wikipedia.org/wiki/Silo_(TV_series)">Silo</a> S2: sadly I’ve forgotten most of the book so I can’t say if this is still accurate to the source material but it’s still great so I don’t have anything to complain about.</li>
<li>Watched <a href="https://en.wikipedia.org/wiki/In_the_Grey">In The Grey</a>: this is slop, absolute waste of time. Ship it off to Netflix where it belongs.</li>
<li>Watched <a href="https://en.wikipedia.org/wiki/Masters_of_the_Universe_(2026_film)">Masters of the Universe</a>: also somewhat slop-like but there were some funny moments in there.</li>
</ul>
<h1 id="work">Work</h1>
<p>As I mentioned earlier I took the whole week off. I had initially planned it to be just 3 days so I logged back on in the middle of the week to tack on an extra couple of days. A handful of kind and thoughtful messages were waiting for me when I did, which was nice to see.</p>
<h1 id="cooking">Cooking</h1>
<p>Barely any cooking this week as I was too sick for most of it, and went out for a couple of those days but we still managed to make a simple khichdi and then a shakshouka.</p>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #33 (2026)</title>
      <link>https://msfjarvis.dev/weeknotes/week-33-2026/</link>
      <guid>https://msfjarvis.dev/weeknotes/week-33-2026/</guid>
      <description>Capped off a boring week with a debilitating bout of sickness</description>
      <pubDate>Sun, 16 Aug 2026 03:53:00 GMT</pubDate>
      <content:encoded><![CDATA[<p>Now that I’m feeling a lot better, time to actually write this weeknote.</p>
<h1 id="life">Life</h1>
<p>Things were relatively quiet this week, I had been looking forward to IndieWebClub but sadly had to cancel last minute due to a raging viral fever I caught on the day of. I’m not exactly sure why I caught the fever, but getting absolutely fucking drenched on Tuesday while I was making my way back from the gym was probably a contributing factor.</p>
<p>On Thursday I went back in for my second attempt at the Passport Office after being reasssured that the <a href="https://timesofindia.indiatimes.com/city/bengaluru/karnataka-bandh-today-live-updates-bengaluru-schools-whats-open-close-banks-government-offices-ksrtc-bmtc-cauvery-water-latest-news/liveblog/133195762.cms">statewide bandh</a> won’t impact cab availability. I got done with the first two steps quickly enough, after which I was informed the last counter is down due to “server issues” and we’ll just have to wait. That wait lasted a nice 5 hours, and only after I practically harassed one of the workers to demand an explanation did I discover that the step had actually been waived for everyone who had been waiting and the whole thing had just been a colossal waste of time. My disdain for government operations remains fully justified.</p>
<h1 id="media">Media</h1>
<p>Since I finished watching Avatar: The Last Airbender last week it only felt natural to catch up on The Legend of Korra, which was slightly helped by my fever addled brain keeping me glued to my bed for two straight days. Great show though, definitely doesn’t size up to ATLA but it’s nothing to scoff at.</p>
<h1 id="games">Games</h1>
<p>Huge <a href="https://www.reddit.com/r/Helldivers/comments/1vma2by/title_update_devoid_of_liberty_700/">Helldivers 2</a> update came out this week with a Warhammer 40000 collaboration and all the community cares for is that we can hug the SEAF soldiers. Brings a tear to my eye.</p>
<p>I also moved my <a href="https://www.hololive-dreams.com/en">Hololive Dreams</a> account to Steam and while I continue to be an absolute scrub at rhythm games it’s been fun to learn. There are people beating the hardest chart in the game while playing with <a href="https://www.youtube.com/watch?v=E95J2WZs5fI">spoons</a> and then there’s me happily tapping away at the easiest difficulty…</p>
<h1 id="work">Work</h1>
<p>Things at work have been a mixed bag, we’ve finally broken ground on our new project and Mayank’s been doing excellent work here in the initial prototyping phase. I’ve been somewhat slower on my share of the work as I tried to put together a new release of the RealtimeKit SDKs but it kept getting dragged along as we kept uncovering more issues and I had big pile of review comments from the AI reviewer to work through. I do kind of dislike how the AI reviewer decides to take a fine tooth comb onto the codebase specifically in release PRs and not in the 50 PRs that went in before this to create said release. Anyways, I’ll hopefully be able to wrap it up when I return to work.</p>
<h1 id="personal-projects">Personal projects</h1>
<p>I finally scratched my itch of wanting to build something useful on WearOS and ended up with <a href="https://git.msfjarvis.dev/msfjarvis/wearos-calendar-sync">wearos-calendar-sync</a>, the most creativity-free name I could find. The README is still slop because by the time I started picking at the project in earnest I immediately fell sick but this shall be remedied soon. Getting this thing to come into existence was a whole saga that is described below because it deserves its separate rant.</p>
<h2 id="clank-clank-clank-">CLANK CLANK CLANK 🤖</h2>
<p>I had mentioned <a href="https://msfjarvis.dev/weeknotes/week-32-2026/">last week</a> that I had issues with Claude models on my Pi setup, I was finally able to look into it and found it was a result of my bash-permissions extension appending a second <code>system</code> message which Anthropic’s API doesn’t support. That has <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/6fb223750a936812da4c408f62fb03656ecc0a73">now been fixed</a>, so I’ll probably have something to report on the reviewer test in a week or two.</p>
<h3 id="sidebar-codex-cloud-is-a-terrible-product">Sidebar: Codex Cloud is a terrible product</h3>
<p>After struggling to even find where the option for it was, I finally kicked the tires on <a href="https://learn.chatgpt.com/docs/cloud">Codex Cloud</a> to solve a longstanding gripe I have with WearOS version of Google Calendar: it refuses to sync non-Google calendars. This is not a problem shared by the Android counterpart, so I can only assume this is the result of incompetence.</p>
<p>With my gripe about Google Calendar and my unfulfilled cope of learning WearOS development as an excuse to get this expensive Pixel Watch, I decided I’d build my own calendar (with some slop involved). I yapped at the ChatGPT app to explain my problems with Google Calendar, what I wanted out of my ideal replacement and the general architecture I wanted to go for. The clanker suggested making the watch app a simple presenter for JSON encoded calendar events that a companion phone app could periodically send to it, which would significantly reduce complexity and make it much more battery efficient. I couldn’t really find a fault in that since it still checks off all my boxes so that’s what I went with.</p>
<p>Speaking of incompetence, that is also a quality shared by the people who run security at OpenAI and not just because of their recent accomplishments on the <a href="https://www.felonybench.com/">FelonyBench</a> rankings. Codex Cloud does not let you export your changes from their sandbox to GitHub if the changes contain a binary file. OpenAI is aware that people do not want this nonsense <a href="https://github.com/openai/codex/issues/4867">for nearly a year</a> and they’ve not changed anything here. Trying to set up an Android project by necessity means you have a small Gradle wrapper JAR in your source tree, which means you cannot bootstrap an Android app inside Codex Cloud. I deleted the JAR just so I could get the code out and vowed to never use this abomination ever again.</p>
<h1 id="cooking">Cooking</h1>
<p>Honestly I can’t remember why I don’t have any pictures, but we definitely cooked! I think? Anyways, go check out Yash’s <a href="https://yashgarg.dev/weekly-notes-33-2026/">week note</a> for that.</p>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #32 (2026)</title>
      <link>https://msfjarvis.dev/weeknotes/week-32-2026/</link>
      <guid>https://msfjarvis.dev/weeknotes/week-32-2026/</guid>
      <description>Bengaluru weather is so overrated</description>
      <pubDate>Sun, 09 Aug 2026 09:27:24 GMT</pubDate>
      <content:encoded><![CDATA[<h1 id="life">Life</h1>
<p>I spent most of this week watching the original Avatar: The Last Airbender show, after watching Drew Gooden’s <a href="https://www.youtube.com/watch?v=7fmyTueYPhw">very eloquent and passionate rant</a> about how the live action remake gets literally everything wrong. I had forgotten a lot of things from the show so the rewatch was quite enjoyable.</p>
<p>The constantly changing weather got to me, and I was down with a cold and fever on Thursday which forced me to take the day off work to lie in bed, and you guessed it, watch ATLA.</p>
<p>My visit to the passport office last month had ended in failure as my rent agreement had some mistakes, which I was finally able to get rectified with mere days left for the next appointment. Hopefully it will be enough and I can be done with this process, and then apply for the visa.</p>
<h2 id="reading">Reading</h2>
<p>I finished reading <a href="https://www.beckyferreira.com/first-contact.html">First Contact</a> earlier this week and picked up <a href="https://books.google.co.in/books/about/The_Emilie_Adventures.html?id=hiAZEQAAQBAJ&amp;redir_esc=y">The Emilie Adventures</a> by Martha Wells. I’ve been slowly working through the full Martha Wells catalogue and this is one of the last few.</p>
<h1 id="work">Work</h1>
<p>Things at work have been hectic. I had to implement an emergency change to prevent an accidental DoS from the SDK allowing users to call an expensive endpoint without any rate limits. After that, I waded through our ever-shrinking backlog for anything that could potentially impact a new customer we’re working super hard to lock down. The new project we were planning to start got pushed slightly down the priority list but Mayank has been making progress on early PoCs so we’ll hopefully start having real</p>
<h1 id="meta">Meta</h1>
<p>I continued the work I <a href="https://msfjarvis.dev/weeknotes/week-31-2026/#meta">outlined last week</a> for moving my reading activity to this site, and out of Bookwyrm. This is almost complete now, after I added the ability to locally host reviews instead of just linking to Bookwyrm and to vendor the cover images in the repo itself. My research has not yielded a much better data source than OpenLibrary.org that can also serve unauthenticated requests, so I’ll just stick with it and manually input books that don’t exist on there.</p>
<p>The new version is not yet in production, but I expect to merge that sometime next week.</p>
<p>I also tweaked the code highlighting a bit, switching to the <a href="https://expressive-code.com/">Expressive Code</a> framework and changing the default themes.</p>
<h1 id="clank-clank-clank-">CLANK CLANK CLANK 🤖</h1>
<p>I decided to do some window shopping on <a href="https://pi.dev/packages">pi.dev/packages</a> and picked up <a href="https://pi.dev/packages/pi-spark">pi-spark</a>, and <a href="https://pi.dev/packages/@howaboua/pi-codex-conversion?name=pi-codex">pi-codex-conversion</a>. My attempt to use the voice input feature failed which honestly I’m happier to not have. The extensions don’t change anything user-facing too dramatically; pi-spark makes the editor and footer a bit more compact and adds the ability to use a ChatGPT Codex reset directly from Pi which is cool. pi-codex-conversion gives Pi LLM tools that match the default Codex harness, making the models more likely to have successful tool calls.</p>
<p>I read the <a href="https://www.greptile.com/blog/model-inversion">Model Inversion study</a> from Greptile some time ago so I tried to give that a go with Sonnet 5 (from GitHub Copilot) as the reviewer subagent but kept running into errors like this</p>
<div class="expressive-code"><link rel="stylesheet" href="https://msfjarvis.dev/_astro/ec.cteup.css"><figure class="frame"><figcaption class="header"></figcaption><pre data-language="json" class="wrap" style="--ecMaxLine:152ch"><code><div class="ec-line"><div class="code"><span style="--0:#5D5F6E;--1:#B4A694">{</span></div></div><div class="ec-line" style="--ecIndent:2ch"><div class="code"><span class="indent">  </span><span style="--0:#5D5F6E;--1:#B4A694">"</span><span style="--0:#1A57D1;--1:#89B28B">type</span><span style="--0:#5D5F6E;--1:#B4A694">"</span><span style="--0:#5D5F6E;--1:#B4A694">:</span><span style="--0:#4C4F69;--1:#EBDBB2"> </span><span style="--0:#2C6E1E;--1:#B4A694">"</span><span style="--0:#2C6E1E;--1:#91AFA3">error</span><span style="--0:#2C6E1E;--1:#B4A694">"</span><span style="--0:#5D5F6E;--1:#B4A694">,</span></div></div><div class="ec-line" style="--ecIndent:2ch"><div class="code"><span class="indent">  </span><span style="--0:#5D5F6E;--1:#B4A694">"</span><span style="--0:#1A57D1;--1:#89B28B">error</span><span style="--0:#5D5F6E;--1:#B4A694">"</span><span style="--0:#5D5F6E;--1:#B4A694">:</span><span style="--0:#4C4F69;--1:#EBDBB2"> </span><span style="--0:#5D5F6E;--1:#B4A694">{</span></div></div><div class="ec-line" style="--ecIndent:4ch"><div class="code"><span class="indent">    </span><span style="--0:#5D5F6E;--1:#B4A694">"</span><span style="--0:#1A57D1;--1:#89B28B">type</span><span style="--0:#5D5F6E;--1:#B4A694">"</span><span style="--0:#5D5F6E;--1:#B4A694">:</span><span style="--0:#4C4F69;--1:#EBDBB2"> </span><span style="--0:#2C6E1E;--1:#B4A694">"</span><span style="--0:#2C6E1E;--1:#91AFA3">invalid_request_error</span><span style="--0:#2C6E1E;--1:#B4A694">"</span><span style="--0:#5D5F6E;--1:#B4A694">,</span></div></div><div class="ec-line" style="--ecIndent:4ch"><div class="code"><span class="indent">    </span><span style="--0:#5D5F6E;--1:#B4A694">"</span><span style="--0:#1A57D1;--1:#89B28B">message</span><span style="--0:#5D5F6E;--1:#B4A694">"</span><span style="--0:#5D5F6E;--1:#B4A694">:</span><span style="--0:#4C4F69;--1:#EBDBB2"> </span><span style="--0:#2C6E1E;--1:#B4A694">"</span><span style="--0:#2C6E1E;--1:#91AFA3">messages: Unexpected role </span><span style="--0:#8D477A;--1:#D995A8">\"</span><span style="--0:#2C6E1E;--1:#91AFA3">system</span><span style="--0:#8D477A;--1:#D995A8">\"</span><span style="--0:#2C6E1E;--1:#91AFA3">. The Messages API accepts a top-level `system` parameter, not </span><span style="--0:#8D477A;--1:#D995A8">\"</span><span style="--0:#2C6E1E;--1:#91AFA3">system</span><span style="--0:#8D477A;--1:#D995A8">\"</span><span style="--0:#2C6E1E;--1:#91AFA3"> as an input message role.</span><span style="--0:#2C6E1E;--1:#B4A694">"</span></div></div><div class="ec-line" style="--ecIndent:2ch"><div class="code"><span class="indent">  </span><span style="--0:#5D5F6E;--1:#B4A694">},</span></div></div><div class="ec-line" style="--ecIndent:2ch"><div class="code"><span class="indent">  </span><span style="--0:#5D5F6E;--1:#B4A694">"</span><span style="--0:#1A57D1;--1:#89B28B">request_id</span><span style="--0:#5D5F6E;--1:#B4A694">"</span><span style="--0:#5D5F6E;--1:#B4A694">:</span><span style="--0:#4C4F69;--1:#EBDBB2"> </span><span style="--0:#2C6E1E;--1:#B4A694">"</span><span style="--0:#2C6E1E;--1:#91AFA3">req_vrtx_011CdqjxHaBgstkZwDG1UdcV</span><span style="--0:#2C6E1E;--1:#B4A694">"</span></div></div><div class="ec-line"><div class="code"><span style="--0:#5D5F6E;--1:#B4A694">}</span></div></div></code></pre><div class="copy"><div aria-live="polite"></div><button title="Copy to clipboard" data-copied="Copied!" data-code="{  &quot;type&quot;: &quot;error&quot;,  &quot;error&quot;: {    &quot;type&quot;: &quot;invalid_request_error&quot;,    &quot;message&quot;: &quot;messages: Unexpected role \&quot;system\&quot;. The Messages API accepts a top-level `system` parameter, not \&quot;system\&quot; as an input message role.&quot;  },  &quot;request_id&quot;: &quot;req_vrtx_011CdqjxHaBgstkZwDG1UdcV&quot;}"><div></div></button></div></figure></div>
<p>I’m reasonably confident Pi doesn’t ship a broken GitHub Copilot provider, so this has to be a result of my setup. I’ll look into it next week if I still care.</p>
<h1 id="cooking">Cooking</h1>
<p>Lots of cooking at home this week despite a string of sickness, which was very helpful for my very aching wallet. I was alone at home on Monday, so I made a small batch of veggie pasta and called it there. Next couple of days we had chhole, after which I got sick and opted to order in a chicken soup. On Friday we made a quick shakshouka, and I was alone again on Saturday so a veggie pasta with some low fat nachos were my dinner. I was craving something sweet right after that, so I tried making the “protein” staple balls of oats/banana/peanut butter/protein powder/honey. I didn’t quite nail the consistency, and they were a little too wet. I opted to stuff it into a glass box and eat them as bars the next day instead, and it was still not quite firm but a great snack regardless.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/kitchen-sink-pasta.sdYHSlfs.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/kitchen-sink-pasta.sdYHSlfs.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Threw together everything I saw in my freezer. Yes that is chicken salami." aria-label="Penne pasta mixed with vegetables in a large pan." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/kitchen-sink-pasta.sdYHSlfs.webp" alt="Penne pasta mixed with vegetables in a large pan." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Threw together everything I saw in my freezer. Yes that is chicken salami.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/shakshouka.BPhnZ2KL.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/shakshouka.BPhnZ2KL.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="When we decided to make this we had neither enough tomatoes or any eggs, great stuff from us." aria-label="Shakshuka served with toasted bread." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/shakshouka.BPhnZ2KL.webp" alt="Shakshuka served with toasted bread." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">When we decided to make this we had neither enough tomatoes or any eggs, great stuff from us.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/veggie-salad.7If_2Env.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/veggie-salad.7If_2Env.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Keeping a thing of Feta cheese in the fridge at all times makes impromptu salads so good." aria-label="Creamy mixed vegetable salad in a bowl." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/veggie-salad.7If_2Env.webp" alt="Creamy mixed vegetable salad in a bowl." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Keeping a thing of Feta cheese in the fridge at all times makes impromptu salads so good.</figcaption></figure></div>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #31 (2026)</title>
      <link>https://msfjarvis.dev/weeknotes/week-31-2026/</link>
      <guid>https://msfjarvis.dev/weeknotes/week-31-2026/</guid>
      <description>Why do I bother with Marvel movies any more...</description>
      <pubDate>Sun, 02 Aug 2026 11:29:03 GMT</pubDate>
      <content:encoded><![CDATA[<p>Rather slow week for me as I was sick for the first 2 days, but things kept happening anyway 🙃</p>
<h2 id="socializing">Socializing</h2>
<p>The gang had booked tickets for Spider-Man: Brand New Day so we got together to watch that on Friday evening. The movie itself was rather weak, maybe a 6/10 as far as I’m concerned. The characters didn’t really get a chance to develop, and one of the comic arcs I was expecting to see in the movie got written out through the usual “power of friendship and true love” trope.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/spiderman-bnd-poster.CAqLBw4Z.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/spiderman-bnd-poster.CAqLBw4Z.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Got a nice poster at least" aria-label="Spider-Man: Brand New Day movie poster" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/spiderman-bnd-poster.CAqLBw4Z.webp" alt="Spider-Man: Brand New Day movie poster" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Got a nice poster at least</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/spiderman-bnd-title.BSZ8CnNy.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/spiderman-bnd-title.BSZ8CnNy.webp" data-pswp-width="3120" data-pswp-height="4160" data-pswp-caption="The whole theater was hollering at this" aria-label="Spider-Man: Brand New Day title on a cinema screen" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/spiderman-bnd-title.BSZ8CnNy.webp" alt="Spider-Man: Brand New Day title on a cinema screen" loading="lazy" decoding="async" width="3120" height="4160" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">The whole theater was hollering at this</figcaption></figure></div>
<p>We reached Indiranagar around 11:30 PM after the movie so our only real option for a meal was the suffocatingly packed <a href="https://toit.in/">Toit Bar and Restaurant</a>. Unfortunately I didn’t bother to get many pictures so you can go check out <a href="https://yashgarg.dev/weekly-notes/">Yash’s week notes</a> for those.</p>
<h1 id="work">Work</h1>
<p>Big week at work! Some high profile departures were announced from our office, and I’ll be starting on a new project next week which should be quite exciting.</p>
<p>Our office manager Jyothi had baked some very delicious brownies and I got to sample a piece, which was honestly the highlight of my week.</p>
<h1 id="meta">Meta</h1>
<p>I’ve been working towards making this website the source of truth for my <a href="https://msfjarvis.dev/reading">reading activity</a>, and it’s been going rather poorly. I’ve managed to make a high fidelity copy of the data from Bookwyrm into MDX files in this repository but the authoring flow of adding a new book is still quite subpar. I might abandon this approach in favour of just switching to a different service and self-host it, since ultimately my real problem with Bookwyrm is just how painfully slow the flagship instance is. My efforts to move to a different Bookwyrm instance have not borne fruit since the book collections vary a lot between servers. Most of the books I imported into <a href="https://linguistic.earth/">linguistic.earth</a> failed because it’s a much smaller server and thus has a very sparse collection of known books.</p>
<p>Other than that, I’ve also migrated the image modals I use to the <a href="https://photoswipe.com/">Photoswipe</a> library instead of my hand rolled version since it offers a lot of niceties I didn’t wish to add or maintain.</p>
<h1 id="personal-projects">Personal Projects</h1>
<p>I threw GPT-5.6 Sol at max thinking on <a href="https://github.com/msfjarvis/compose-lobsters">Claw</a> with a prompt to identify opportunities to improve query performance, push operations down from Kotlin to SQLite, and any other improvements that have become available in the year or so since I last had an LLM audit my miniscule amount of SQL. I mostly do this to find out SQLite features, and got to learn about a few more tricks.</p>
<ul>
<li><code>INSERT OR REPLACE</code> can accidentally trigger cascading deletions via foreign key relations, so it is better spelled out using <code>ON CONFLICT(primaryKey) DO UPDATE SET column1 = new.column1;</code></li>
<li>Specifying <code>WITHOUT ROWID</code> when creating a table skips a hidden column that SQLite uses as a more efficient primary key for searching for the row in the storage engine. This can yield modest storage savings for bigger data sets. More on that <a href="https://sqlite.org/rowidtable.html">here</a>.</li>
<li>Use <code>RETURNING &lt;field&gt;</code> to have a query both update and return data, which can be used to avoid an additional query to read back the updated data.</li>
</ul>
<h2 id="clank-clank-clank">CLANK CLANK CLANK</h2>
<p>This week I changed my <a href="https://pi.dev">Pi</a> setup to ditch the third-party subagent extension and instead go back to the barebones example subagent extension from the main Pi repo. I updated it to <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/fece2293c9795924229ceac59e09ffce884cf696">handle some more of my local tools</a>, and added a config option to <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/bc026882d549c4586d9548657c401534408bb81a">limit nested subagents</a> which was a problem that I had seen with GPT-5.6 models which recursively spawned subagents and racked up massive bills.</p>
<p>I also finally managed to make the <code>websearch</code> tool from <a href="https://github.com/goncalossilva/tau">tau</a> work on my setup. I hadn’t realized that <a href="https://github.com/numtide/llm-agents.nix">llm-agents.nix</a> bundles Pi with the Bun JS runtime which didn’t have the necessary <code>node:sqlite</code> module. Switching that to Node.js solved the problem for me.</p>
<h1 id="food">Food</h1>
<p>Pretty good week for home cooking, though it all fell apart during the weekend :D</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/rich-spicy-potato.CrBhqz3s.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/rich-spicy-potato.CrBhqz3s.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="The recipe asked for approximately 3 times the oil this actually needed. So very delicious though." aria-label="Bowl of spicy potatoes" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/rich-spicy-potato.CrBhqz3s.webp" alt="Bowl of spicy potatoes" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">The recipe asked for approximately 3 times the oil this actually needed. So very delicious though.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/simple-chicken-pasta.Dj5TvTL9.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/simple-chicken-pasta.Dj5TvTL9.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="I threw together this pasta with some frozen chicken sausages one of the nights, was quite delicious." aria-label="Creamy chicken pasta in a bowl" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/simple-chicken-pasta.Dj5TvTL9.webp" alt="Creamy chicken pasta in a bowl" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">I threw together this pasta with some frozen chicken sausages one of the nights, was quite delicious.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/tehri-with-paneer.BukSqftE.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/tehri-with-paneer.BukSqftE.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Another IG recipe but at least it reminded me frozen veggies exist, so yay." aria-label="Bowl of vegetable rice with paneer" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/tehri-with-paneer.BukSqftE.webp" alt="Bowl of vegetable rice with paneer" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Another IG recipe but at least it reminded me frozen veggies exist, so yay.</figcaption></figure></div>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #30 (2026)</title>
      <link>https://msfjarvis.dev/weeknotes/week-30-2026/</link>
      <guid>https://msfjarvis.dev/weeknotes/week-30-2026/</guid>
      <description>Reading, sleeping, then reading again. Truly a week of all time.</description>
      <pubDate>Sun, 26 Jul 2026 11:44:25 GMT</pubDate>
      <content:encoded><![CDATA[<h1 id="personal">Personal</h1>
<p>Going through my journal it seems I did little this week outside of read, end up napping since I was reading in bed, then wake up and read again. Solid 9/10 week, no complaints 👌</p>
<h2 id="reading">Reading</h2>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/koreader_stats.D50nsy4A.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/koreader_stats.D50nsy4A.webp" data-pswp-width="1072" data-pswp-height="1448" data-pswp-caption="There are worse problems to have than finishing a new favorite book series but it is up there" aria-label="Reading statistics page in KOReader, showing I've been reading every day since July 3 and finished 4 Mother of Learning books." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/koreader_stats.D50nsy4A.webp" alt="Reading statistics page in KOReader, showing I've been reading every day since July 3 and finished 4 Mother of Learning books." loading="lazy" decoding="async" width="1072" height="1448" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">There are worse problems to have than finishing a new favorite book series but it is up there</figcaption></figure>
<p>This entire month has gone into reading through the Mother of Learning series which I grew to love immensely, and I’m genuinely a little sad that there’s no more of it 🙃</p>
<p>Given how consistent I’ve been this month, I’ve decided to threaten that with non-fiction once again, hopefully it will go better this time. As part of this refreshed fervour I have also added a <a href="https://msfjarvis.dev/reading/">/reading</a> page to this site that pulls data from my <a href="https://bookwyrm.social/user/msfjarvis">Bookwyrm profile</a>.</p>
<h2 id="socializing">Socializing</h2>
<p>Extremely misleading section header given how little I actually interacted with people this week. On Thursday I started working then quickly decided I wasn’t really feeling it, and took the day off — shockingly — to read. By Sunday, I was off the high having finished MoL, so I went on a solo brunch just to get some time out in the sun. Had a nice time at <a href="https://www.bangaloreeats.com/place/cafe-grey-by-dongle-and-co-indiranagar">Cafe Grey</a> and as usual both their food and coffee were delicious.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/waffles.DrjBJJRd.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/waffles.DrjBJJRd.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="The waffles were just the right level of sweet" aria-label="Waffles dusted with powdered sugar, served with syrup and butter" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/waffles.DrjBJJRd.webp" alt="Waffles dusted with powdered sugar, served with syrup and butter" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">The waffles were just the right level of sweet</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/caramel_frappuccino.C4vxA43g.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/caramel_frappuccino.C4vxA43g.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Starbucks could learn a thing or two about how much ice actually goes in one of these" aria-label="A tall glass of frothy coffee on a cafe table" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/caramel_frappuccino.C4vxA43g.webp" alt="A tall glass of frothy coffee on a cafe table" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Starbucks could learn a thing or two about how much ice actually goes in one of these</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/chicken_toasties.Cm7uvxQB.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/chicken_toasties.Cm7uvxQB.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="The toasties were surprisingly filling despite looking like rather small portions" aria-label="Toasted bread topped with chicken, peppers, tomatoes, and melted cheese" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/chicken_toasties.Cm7uvxQB.webp" alt="Toasted bread topped with chicken, peppers, tomatoes, and melted cheese" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">The toasties were surprisingly filling despite looking like rather small portions</figcaption></figure></div>
<h1 id="work">Work</h1>
<p>I have complex feelings about <a href="https://www.seangoedecke.com/about">Sean Goedecke</a>’s writing, but I decided to take some of the advice from the <a href="https://www.seangoedecke.com/doing-nothing-at-work/">doing nothing at work</a> essay to free up my time for interesting opportunities that might turn up. This paid off pretty quickly, and I spent this week mostly focusing on one of those projects. A bulk of the work was already in place, so I’ve been able to move fast on it. Hopefully it’ll be done and dusted by next week, and I can go back to focusing on new feature work for <a href="https://developers.cloudflare.com/realtime/realtimekit/">RealtimeKit</a>.</p>
<p>That said, I did cap off the RealtimeKit <a href="https://en.wikipedia.org/wiki/Monorepo">monorepo</a> side quest by moving the final piece in: the iOS UI Kit. This was a bit of a hassle due to how the dependencies work out, but ultimately everything fell into place. I am fully confident this house of cards will fall apart the second I trigger the release pipeline, but that’s a problem for a later date.</p>
<h1 id="meta">Meta</h1>
<p>The site has had a bunch of changes this week as I mucked around with adding the <a href="https://msfjarvis.dev/reading">/reading</a> page. The nav links at the top are now truncated to be 3 + overflow as I keep adding standalone pages. The resulting UI is still a little too wide for mobile, so I will probably keep iterating on this to make it look nice on all sizes.</p>
<p>The webmentions server that processes outgoing content now uses the hidden <code>p-summary</code> element instead of <code>e-content</code> to populate the body, so people receiving Webmentions from me will start seeing shorter “description” fields instead of the awkwardly HTML-stripped main content.</p>
<h1 id="cooking">Cooking</h1>
<p>Not a lot of cooking this week as we first made a big portion of paneer and ate it over two days, then Yash fell sick so we were down to plain khichdi. I’m also not having the best time with food, so the kitchen was mostly unused this week. The paneer was our first foray into blending roasted veggies to make a curry and the result was exactly as smooth and creamy as promised. Will definitely be doing more of this going forward given how easy it was to put together.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/paneer_curry.B3jREDdC.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/paneer_curry.B3jREDdC.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="We decided to make a big portion of this and get two dinners out of it, totally the right call" aria-label="Paneer curry with peas in a large pan" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/paneer_curry.B3jREDdC.webp" alt="Paneer curry with peas in a large pan" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">We decided to make a big portion of this and get two dinners out of it, totally the right call</figcaption></figure>
<h1 id="odin-of-the-week">Odin of the Week</h1>
<p>Seeing Odin on my Mastodon feed gives me infinite joy, so I’ve decided that Odin of the Week can now just be a running segment. Who would not want to see this human-sized Newfoundlander puppy? Here is a handy <a href="https://infosec.exchange/@0xabad1dea/113380498047949124">FAQ</a> about Odin, so you know what you’re getting into :D</p>
<blockquote class="mastodon-post" lang="en" cite="https://infosec.exchange/@0xabad1dea/116980897659510296" data-source="fediverse" data-astro-cid-hgg3ctr5=""><header class="mastodon-post__author" data-astro-cid-hgg3ctr5=""><span class="mastodon-post__name" data-astro-cid-hgg3ctr5="">abadidea</span><span class="mastodon-post__account" data-astro-cid-hgg3ctr5="">@0xabad1dea@infosec.exchange</span></header><div class="mastodon-post__content" data-astro-cid-hgg3ctr5=""><p data-astro-cid-hgg3ctr5="">Someone needed an extra big brushie and wasn’t too thrilled about it</p></div><div class="mastodon-post__media-grid" data-astro-cid-hgg3ctr5=""><figure class="mastodon-post__media" data-astro-cid-hgg3ctr5=""><img src="https://media.infosec.exchange/infosec.exchange/media_attachments/files/116/980/896/851/127/222/original/9b70721014bfd3f1.jpeg" alt="Me sitting on the floor next to Odin the Newfie, holding an enormous quantity of black fur " loading="lazy" data-astro-cid-hgg3ctr5=""></figure><figure class="mastodon-post__media" data-astro-cid-hgg3ctr5=""><img src="https://media.infosec.exchange/infosec.exchange/media_attachments/files/116/980/897/378/887/974/original/8f7032a3ff6e7912.jpeg" alt="Odin making his best attempt at an intimidating face at mommy " loading="lazy" data-astro-cid-hgg3ctr5=""></figure></div><footer class="mastodon-post__footer" data-astro-cid-hgg3ctr5=""><time datetime="2026-07-25T13:40:41.730Z" data-astro-cid-hgg3ctr5="">25 Jul 2026, 13:40</time><a href="https://infosec.exchange/@0xabad1dea/116980897659510296" data-astro-cid-hgg3ctr5="">View original post <span aria-hidden="true" data-astro-cid-hgg3ctr5="">↗</span></a></footer></blockquote>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #29 (2026)</title>
      <link>https://msfjarvis.dev/weeknotes/week-29-2026/</link>
      <guid>https://msfjarvis.dev/weeknotes/week-29-2026/</guid>
      <description>This week went by a little too quickly...</description>
      <pubDate>Sun, 19 Jul 2026 10:51:02 GMT</pubDate>
      <content:encoded><![CDATA[<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/beautiful-rain-sky.CQ5c68hc.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/beautiful-rain-sky.CQ5c68hc.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="After seemingly endless teasing, we finally got a bit of welcome rain" aria-label="Dark rain clouds above buildings, power lines, and a streetlight." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/beautiful-rain-sky.CQ5c68hc.webp" alt="Dark rain clouds above buildings, power lines, and a streetlight." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">After seemingly endless teasing, we finally got a bit of welcome rain</figcaption></figure>
<h1 id="personal">Personal</h1>
<p>I had my passport application appointment this week, which got denied due to my landlord leaving the rent agreement incomplete 🙃. Will have to get that fixed then go back mid-August to get it reviewed again, and hopefully not run into any more problems.</p>
<h2 id="reading">Reading</h2>
<p>I’ve continued blazing through the Mother of Learning series, finishing <a href="https://bookwyrm.social/user/msfjarvis/generatednote/12059415">ARC 2</a> on Saturday and immediately <a href="https://bookwyrm.social/user/msfjarvis/generatednote/12059456">picking up ARC 3</a>. These books are too good! I’m fully expecting to finish reading the series in the next 2 weeks, so suggestions are welcome! If you want a vibe check on my interests, <a href="https://bookwyrm.social/user/msfjarvis/books/read">this</a> is the list of everything I’ve read in the past ~18 months.</p>
<h2 id="socializing">Socializing</h2>
<p>Yash and Swapnil dragged me along to watch Dhamaal 4 which was just as terrible as I had expected it to be. The formula has become so repetitive and boring that the jokes have now turned meta. I was hoping they’d stop making these but the movie ends with an announcement for Dhamaal 5, so I suppose that’s not happening anytime soon.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/empty-bengaluru-roads.opBO3YTn.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/empty-bengaluru-roads.opBO3YTn.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="While walking back from the movie a VIP forced a road closure, never seen an empty major road in Bengaluru before." aria-label="A mostly empty Bengaluru road beneath a flyover at dusk." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/empty-bengaluru-roads.opBO3YTn.webp" alt="A mostly empty Bengaluru road beneath a flyover at dusk." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">While walking back from the movie a VIP forced a road closure, never seen an empty major road in Bengaluru before.</figcaption></figure>
<p>After the movie we went to Element 3 for food, which redeemed the night.</p>
<p>On Saturday I went to <a href="https://blr.indiewebclub.org/">IndieWebClub</a> and helped out a bit, but I wasn’t feeling super well with the rain coming in, so I bailed a little early.</p>
<h1 id="work">Work</h1>
<p>Things at work have been slow as we’ve all been heads down in debugging and remediation, but those events are starting to bear fruit. Hopefully by the end of next week we’ll be in a much better spot.</p>
<p>I still managed to get <a href="https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/#2026-07-17">a release out</a> for the mobile SDKs since we had a customer waiting on some improvements. Our release process has too many moving parts, I clearly haven’t automated enough.</p>
<h1 id="meta">Meta</h1>
<p>The site now has <a href="https://msfjarvis.dev/changelog">a changelog page</a> which contains major changes made to the site. This week has been <em>slightly</em> busy. As part of last week’s fediverse migrations, I’ve now changed all links to my old Mastodon account to instead redirect to an archive I host. In case the <code>androiddev.social</code> server does go down, this will keep them working. The posts and notes lists now group by year so I can feel better/worse about how much more/less I’ve been writing :D</p>
<p>To show off the <code>MastodonPost</code> embed component, here’s the weekly Odin of the Fediverse.</p>
<blockquote class="mastodon-post" lang="en" cite="https://infosec.exchange/@0xabad1dea/116946074763792559" data-source="fediverse" data-astro-cid-hgg3ctr5=""><header class="mastodon-post__author" data-astro-cid-hgg3ctr5=""><span class="mastodon-post__name" data-astro-cid-hgg3ctr5="">abadidea</span><span class="mastodon-post__account" data-astro-cid-hgg3ctr5="">@0xabad1dea@infosec.exchange</span></header><div class="mastodon-post__content" data-astro-cid-hgg3ctr5=""><p data-astro-cid-hgg3ctr5="">Public Transport Odin on his way to say goodbye to the Jesuit scholars before they return to Rome</p></div><div class="mastodon-post__media-grid" data-astro-cid-hgg3ctr5=""><figure class="mastodon-post__media" data-astro-cid-hgg3ctr5=""><img src="https://media.infosec.exchange/infosec.exchange/media_attachments/files/116/946/074/281/497/258/original/b94153dd391a8c26.jpeg" alt="Odin the Newfie pleased about riding the Amsterdam tram " loading="lazy" data-astro-cid-hgg3ctr5=""></figure><figure class="mastodon-post__media" data-astro-cid-hgg3ctr5=""><img src="https://media.infosec.exchange/infosec.exchange/media_attachments/files/116/946/074/555/145/173/original/68f7bada6492ec33.jpeg" alt="Odin the Newfie loitering at the entrance to Vondelpark " loading="lazy" data-astro-cid-hgg3ctr5=""></figure></div><footer class="mastodon-post__footer" data-astro-cid-hgg3ctr5=""><time datetime="2026-07-19T10:04:46.508Z" data-astro-cid-hgg3ctr5="">19 Jul 2026, 10:04</time><a href="https://infosec.exchange/@0xabad1dea/116946074763792559" data-astro-cid-hgg3ctr5="">View original post <span aria-hidden="true" data-astro-cid-hgg3ctr5="">↗</span></a></footer></blockquote>
<h2 id="writing">Writing</h2>
<p>Good week on the writing front, I published a note <a href="https://msfjarvis.dev/notes/how-to-dig-up-historical-execution-logs-from-systemd/">about finding old systemd logs</a>, and another about <a href="https://msfjarvis.dev/notes/debugging-how-i-accidentally-blocked-someone-from-using-my-app/">debugging</a> what part of my network stack had accidentally blocked a Claw user. I finally published the post I had been working on for the past 2 months: <a href="posts/rewriting-claw-html-parser-for-over-the-air-updates/">“Rewriting Claw’s HTML parser for over-the-air updates”</a> recounts my experience of porting my app Claw to use the <a href="https://github.com/cashapp/zipline">Zipline</a> library. I rewrote the post multiple times, but I’m very proud of how it came together in the end. Huge thanks to <a href="https://github.com/swapnilmadavi">Swapnil</a> who reviewed the final draft, it was very nice to see him walk into the office reading it :’D</p>
<h1 id="cooking">Cooking</h1>
<p>Home cooking has been relatively slow this week as I mostly eat breakfast in nearby South Indian restaurants while returning from the gym, and wasn’t feeling up for dinner on multiple nights. Yash’s been making a bunch of Instagram stuff as he tries to figure out a long term solution for breakfast, check out <a href="https://yashgarg.dev/weekly-notes-29-2026/#cooking">his weeknote</a> for some of those. That mousse really is the truth!</p>
<p>We did make these tasty paneer rolls, albeit by getting a little lazy and ordering pre-made parathas 😅</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/paneer-rolls.Daq2g3Jf.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/paneer-rolls.Daq2g3Jf.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="First time making a mint chutney in this house, I think I'll try to always have a small batch in the fridge going forward" aria-label="Three paneer rolls on a steel plate with green chutney." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/paneer-rolls.Daq2g3Jf.webp" alt="Three paneer rolls on a steel plate with green chutney." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">First time making a mint chutney in this house, I think I'll try to always have a small batch in the fridge going forward</figcaption></figure>
<p>I made a batch of hummus this morning (after putting it off for 2 days…), so hopefully next week will involve some Mediterranean forays :D</p>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #28 (2026)</title>
      <link>https://msfjarvis.dev/weeknotes/week-28-2026/</link>
      <guid>https://msfjarvis.dev/weeknotes/week-28-2026/</guid>
      <description>30th weeknote in a row baby!</description>
      <pubDate>Sat, 11 Jul 2026 07:13:00 GMT</pubDate>
      <content:encoded><![CDATA[<h1 id="personal">Personal</h1>
<p>Relatively quiet week for me as I mostly focused on getting back to exercising which has been going well. I occupied my days with reading and taking evening naps which is making me feel old in a way I haven’t felt before 😄.</p>
<h2 id="socialising">Socialising</h2>
<p>Mayank is back home, and all week we’ve been making plans for one thing or another in the group chat. Genuinely this is how it feels when he hits us with the bombastic side eye while we’re setting up times for basically one movie a week lol</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/mayank-meme.Dvd9YJXu.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/mayank-meme.Dvd9YJXu.webp" data-pswp-width="671" data-pswp-height="673" data-pswp-caption="Don't worry buddy we do miss you" aria-label="A meme of a wojak standing alone in the corner at a party while other people around him are having fun and mingling." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/mayank-meme.Dvd9YJXu.webp" alt="A meme of a wojak standing alone in the corner at a party while other people around him are having fun and mingling." loading="lazy" decoding="async" width="671" height="673" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Don't worry buddy we do miss you</figcaption></figure>
<p>Speaking of movies, this week we watched <a href="https://www.imdb.com/title/tt37544992/">Baby Do Die Do</a>. Pretty generic plot but the movie had some good moments, enough for a one time watch but nothing really noteworthy. It was quite late by the time we returned from there so dinner was at the Truffles restaurant in Indiranagar.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/truffles-1.nko883QC.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/truffles-1.nko883QC.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="These were a little too oily, wouldn't recommend." aria-label="Chicken popcorn with dipping sauce on a black platter." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/truffles-1.nko883QC.webp" alt="Chicken popcorn with dipping sauce on a black platter." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">These were a little too oily, wouldn't recommend.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/truffles-2.BYZ4UGFr.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/truffles-2.BYZ4UGFr.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="This chicken club sandwich was awesome, everyone liked it." aria-label="Grilled sandwich and crisps on a plate, with chicken popcorn behind." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/truffles-2.BYZ4UGFr.webp" alt="Grilled sandwich and crisps on a plate, with chicken popcorn behind." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">This chicken club sandwich was awesome, everyone liked it.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/truffles-3.DIgMpxcj.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/truffles-3.DIgMpxcj.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="The peri peri chicken burger was also great, would recommend." aria-label="Burger and crisps beside fried chicken popcorn with dipping sauce." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/truffles-3.DIgMpxcj.webp" alt="Burger and crisps beside fried chicken popcorn with dipping sauce." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">The peri peri chicken burger was also great, would recommend.</figcaption></figure></div>
<h2 id="reading">Reading</h2>
<p>I’ve been very, very engrossed in reading the Mother of Learning series, so I’ve been trying to steal time for it at pretty much every chance I get. Reading in bed has become my new favorite pastime, and also led to some unplanned naps. All in all I’m reasonably confident about the 24 books a year reading goal now which was looking a little rough a couple of months ago.</p>
<p>The office was shockingly empty on Wednesday, so I stayed back for an extra 2 hours just to read in comfort and managed to <a href="https://bookwyrm.social/user/msfjarvis/generatednote/11975508">finish Mother of Learning: ARC 1</a>. No spoilers, but the ending was a crazy cliffhanger to leave the reader with. I can’t imagine the anxiety of being a web series reader when this story was being written live and having to wait weeks to know what happened to the protagonist.</p>
<p>Thankfully, I can just flip over to the next book, which <a href="https://bookwyrm.social/user/msfjarvis/generatednote/11989593">I did</a>, and it’s just as great.</p>
<h2 id="fediverse-migrations">Fediverse migrations</h2>
<p>I had to deal with some data migrations this week as I switched to <a href="https://fantastic.earth">Abhinav’s Mastodon server</a>, away from <a href="https://androiddev.social">androiddev.social</a> which could be shutting down in December, and I’d rather deal with the associated pains sooner than later. Abhinav runs a <a href="https://stic.earth">bunch of services</a> at cost for friends and family, and I’m grateful he helped me out here.</p>
<p>That said, my new Fediverse account is at <a href="https://fantastic.earth/@msfjarvis">msfjarvis@fantastic.earth</a>! I have my old post history saved which I <em>might</em> put up as a static archive somewhere so I can replace the links to my old posts, but that’s a future yak to shave.</p>
<p>I also tried migrating out of <a href="https://bookwyrm.social">Bookwyrm</a> to Abhinav’s server, but ran into a lot of problems with missing books on this server failing the user import. I’m slowly adding the missing books so I can get my user import done, but it has <a href="https://fantastic.earth/@msfjarvis/116896699738136166">been rather frustrating</a>, so I might stick it out with the old server after all.</p>
<p>One might wonder why I bother dealing with the Fediverse when so much of it is a pain in the ass? Well, the Fediverse has Odin.</p>
<blockquote class="mastodon-post" lang="en" cite="https://infosec.exchange/@0xabad1dea/116900098449254586" data-source="fediverse" data-astro-cid-hgg3ctr5=""><header class="mastodon-post__author" data-astro-cid-hgg3ctr5=""><span class="mastodon-post__name" data-astro-cid-hgg3ctr5="">abadidea</span><span class="mastodon-post__account" data-astro-cid-hgg3ctr5="">@0xabad1dea@infosec.exchange</span></header><div class="mastodon-post__content" data-astro-cid-hgg3ctr5=""><p data-astro-cid-hgg3ctr5="">Odin got a bit hyper this morning when he realized that mommy had *not* snuck out the door at the crack of dawn this time</p></div><div class="mastodon-post__media-grid" data-astro-cid-hgg3ctr5=""><figure class="mastodon-post__media" data-astro-cid-hgg3ctr5=""><img src="https://media.infosec.exchange/infosec.exchange/media_attachments/files/116/900/098/232/693/858/original/306f8447de78adee.jpeg" alt="Odin the Newfie full of love, wonder and drool " loading="lazy" data-astro-cid-hgg3ctr5=""></figure></div><footer class="mastodon-post__footer" data-astro-cid-hgg3ctr5=""><time datetime="2026-07-11T07:12:23.625Z" data-astro-cid-hgg3ctr5="">11 Jul 2026, 07:12</time><a href="https://infosec.exchange/@0xabad1dea/116900098449254586" data-astro-cid-hgg3ctr5="">View original post <span aria-hidden="true" data-astro-cid-hgg3ctr5="">↗</span></a></footer></blockquote>
<h1 id="work">Work</h1>
<p>With two incidents in quick succession we’ve ended up in a deployment freeze and a big list of hardening work to prevent such problems in the future. I’m planning to get involved with the backend side of things to help out as the SDK workload has drastically reduced with all our major roadmap items already shipped out.</p>
<h1 id="meta">Meta</h1>
<p>I resisted the urge to do too much to the site, only working to restore the search feature that I hadn’t ported over from the old Hugo site. It’s still built on <a href="https://pagefind.app">Pagefind</a>, but I’ve styled the UI to match the site a bit better.</p>
<p>On Friday night I accidentally deployed my drafts site to production while working on the site locally and didn’t realize until I saw notifications from my RSS reader picking up duplicate posts. Sorry again for everyone else who got spammed by that mistake 🙇</p>
<h2 id="writing">Writing</h2>
<p>Shockingly productive week on the writing front! I wrote <a href="https://msfjarvis.dev/posts/my-first-spam-webmention/">about a spam Webmention</a> I received some time ago and the moderation UI I had to build to combat future instances, and a <a href="https://msfjarvis.dev/posts/julyreply-re-stuck-in-draft/">reply post</a> as part of the <a href="https://robertbirming.com/julyreply-2026-blog-connecting/">JulyReply blogging event</a>. I also had to write a small <a href="https://msfjarvis.dev/posts/apologies-for-the-rss-mishap/">apology post</a> for the spam I spread via my RSS mishap.</p>
<h1 id="cooking">Cooking</h1>
<p>Yash’s stash of Instagram recipes continues to keep us fed. No blender-based recipes yet, will definitely try to find one soon™.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/instagram-egg-curry.MIUiqfvc.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/instagram-egg-curry.MIUiqfvc.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="We flubbed like 4 separate steps on this recipe and it still came out delicious, definitely a candidate for the permanent rotation." aria-label="Egg curry served over rice in a metal bowl." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/instagram-egg-curry.MIUiqfvc.webp" alt="Egg curry served over rice in a metal bowl." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">We flubbed like 4 separate steps on this recipe and it still came out delicious, definitely a candidate for the permanent rotation.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/veggie-pasta.BwZfBp8c.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/veggie-pasta.BwZfBp8c.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Veggies, spices, some sauces and a carb in a pan. Unbeatable combination every single time." aria-label="Penne pasta with vegetables in a metal bowl." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/veggie-pasta.BwZfBp8c.webp" alt="Penne pasta with vegetables in a metal bowl." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Veggies, spices, some sauces and a carb in a pan. Unbeatable combination every single time.</figcaption></figure></div>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #27 (2026)</title>
      <link>https://msfjarvis.dev/weeknotes/week-27-2026/</link>
      <guid>https://msfjarvis.dev/weeknotes/week-27-2026/</guid>
      <description>Lots of socialising, food, and getting back into reading</description>
      <pubDate>Sat, 04 Jul 2026 18:33:17 GMT</pubDate>
      <content:encoded><![CDATA[<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/da-moon.jvWTltdx.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/da-moon.jvWTltdx.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="I don't think I did justice to how pretty the Moon looked that night" aria-label="Bright moon glowing through palm leaves against a dark night sky" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/da-moon.jvWTltdx.webp" alt="Bright moon glowing through palm leaves against a dark night sky" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">I don't think I did justice to how pretty the Moon looked that night</figcaption></figure>
<h1 id="personal">Personal</h1>
<p>My health was finally good enough this week to return to the gym, felt nice to be back in the swing of things. Hopefully the weather does not screw me over and I can work up to my old schedule again.</p>
<h2 id="reading">Reading</h2>
<p>I’ve been ramping up my reading so I can hit my self imposed 24 books a year goal. I finished reading the 3rd book of the Chaos Walking trilogy, <a href="https://en.wikipedia.org/wiki/Monsters_of_Men">Monsters of Men</a>. On <a href="https://kat.bio">Amogh</a>’s recommendation, I’ve now started the <a href="https://en.wikipedia.org/wiki/Draft:Mother_of_Learning">Mother of Learning</a> series. I’m 200 pages in already, the story’s great and I’ve found myself choosing to climb into bed with the Kobo at times where I’d usually pull up Steam or a terminal. I’m also making a change and <a href="https://masto-archive.msfjarvis.dev/@msfjarvis/116851965538384554">reading this on KOReader</a> since I’ve had it installed for a while now and never really spent time with it to find what reading settings work for me.</p>
<h2 id="socialising">Socialising</h2>
<p>The group chat had planned a visit to <a href="https://thezaitoon.com/">Zaitoon</a> last week which kept getting put off for one reason or another, but we finally were able to make time this week. The food was excellent, even though I’m not usually a mutton enjoyer I quite liked the curry we got. Will definitely be visiting again!</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/curries-at-zaitoon.UJVjEfpo.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/curries-at-zaitoon.UJVjEfpo.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Everything in the main course was delicious" aria-label="Restaurant table with a variety of naan, and two rich curries in white bowls" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/curries-at-zaitoon.UJVjEfpo.webp" alt="Restaurant table with a variety of naan, and two rich curries in white bowls" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Everything in the main course was delicious</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/kebabs-at-zaitoon.BbjcZ7UY.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/kebabs-at-zaitoon.BbjcZ7UY.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="A little drier than I would've liked but still quite tasty" aria-label="Plate of grilled kebabs with dipping sauces, fries, and onions" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/kebabs-at-zaitoon.BbjcZ7UY.webp" alt="Plate of grilled kebabs with dipping sauces, fries, and onions" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">A little drier than I would've liked but still quite tasty</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/faluda-at-zaitoon.CXtswHrY.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/faluda-at-zaitoon.CXtswHrY.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="We made a mess trying to split this four ways lol" aria-label="Tall faluda dessert with ice cream, wafers, fruit, and a small paper umbrella" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/faluda-at-zaitoon.CXtswHrY.webp" alt="Tall faluda dessert with ice cream, wafers, fruit, and a small paper umbrella" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">We made a mess trying to split this four ways lol</figcaption></figure></div>
<p>We decided to burn the calories by walking back home, and came across a ClickHouse ad on a billboard, definitely “only in Bengaluru”! Funnily enough the very next day I saw this post on <a href="https://lobste.rs">Lobsters</a> : <a href="https://matduggan.com/clickhouse-is-winning-the-observability-wars/">“ClickHouse is winning the observability wars”</a>.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/clickhouse-ad.wCefYGRZ.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/clickhouse-ad.wCefYGRZ.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Only in Bengaluru am I subjected to database companies advertising on the streets" aria-label="Large ClickHouse billboard above a road at night with streetlights and trees" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/clickhouse-ad.wCefYGRZ.webp" alt="Large ClickHouse billboard above a road at night with streetlights and trees" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Only in Bengaluru am I subjected to database companies advertising on the streets</figcaption></figure>
<p><a href="https://www.sasikanth.dev/">Sasikanth</a> is back in Bengaluru, he visited me on Saturday to catch up for a bit, then we went for lunch to the nearby <a href="https://maravanthe-coastal-cuisine.eatwithnia.com/">Maravanthe Coastal Cuisine</a> with Yash tagging along.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/chicken-meal-at-maravanthe.CHZJYVcI.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/chicken-meal-at-maravanthe.CHZJYVcI.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Not the best meal we've had but you can't really beat their prices" aria-label="Chicken meal on a banana leaf with rice, curry, papad, and side dishes" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/chicken-meal-at-maravanthe.CHZJYVcI.webp" alt="Chicken meal on a banana leaf with rice, curry, papad, and side dishes" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Not the best meal we've had but you can't really beat their prices</figcaption></figure>
<h1 id="work">Work</h1>
<p>Work was pretty quiet this week as we continued stumbling through one access problem after another trying to get new releases out for our Flutter SDK. Maybe next week 😔✊</p>
<p>In our weekly sync with the US team I got the chance to talk about some LLM-driven performance improvements I had made to our native SDKs, bringing our meeting join times down by ~20%. I still consider it to be somewhat slower than I’d like, so work on this front will continue.</p>
<p>We had a “minor” <a href="https://new.cloudflarestatus.com/incidents/4sfv79jntx9d">incident</a> on Thursday night, our backend team spent multiple hours mitigating the fallout. Being on call in a company of this size is a scary prospect, and I’m always impressed with how incident response happens at Cloudflare.</p>
<h1 id="meta">Meta</h1>
<p>The site has received some upgrades! The image component now has the ability to have separate images for light/dark mode, which I’ve started using for UI screenshots; light mode users rejoice. There’s now an unobtrusive ToC UI, and mermaid diagrams are now rendered using <a href="https://kroki.io">Kroki</a> instead of the Mermaid JS library. Thanks to <a href="https://yashgarg.dev">Yash</a> for the tip about Kroki!</p>
<h1 id="writing">Writing</h1>
<p>I published a new post on Monday about the changes I made last week to <a href="https://msfjarvis.dev/posts/keeping-ai-crawlers-off-my-forgejo-server/">keep AI crawlers off my Forgejo server</a>. So far all the mitigations have borne fruit, and the number of IPs that need to be banned by my server has stopped going up. Since the penalty for the 404 ban lasts a full month, that graph will hold at that level until the end of July and hopefully never climb back up 🤞</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/cloudflare-security-rules-light.BbH5z4KN.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/cloudflare-security-rules-light.BbH5z4KN.webp" data-pswp-dark-src="https://msfjarvis.dev/_astro/cloudflare-security-rules-dark.CFlpA9FG.webp" data-pswp-width="1322" data-pswp-height="452" data-pswp-caption="I still don't know why those two repos specifically are so interesting to the crawlers" aria-label="Cloudflare dashboard showing a series of security rules and the number of individual requests being handled by them" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><source media="(prefers-color-scheme: dark)" srcset="/_astro/cloudflare-security-rules-dark.CFlpA9FG.webp" data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/cloudflare-security-rules-light.BbH5z4KN.webp" alt="Cloudflare dashboard showing a series of security rules and the number of individual requests being handled by them" loading="lazy" decoding="async" width="1322" height="452" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">I still don't know why those two repos specifically are so interesting to the crawlers</figcaption></figure>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/fail2ban-light.DN8NaTB0.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/fail2ban-light.DN8NaTB0.webp" data-pswp-dark-src="https://msfjarvis.dev/_astro/fail2ban-dark.CTWcRiBM.webp" data-pswp-width="2148" data-pswp-height="1230" data-pswp-caption="The Cloudflare mitigations have taken care of most of the problems so far, I might take off the nuclear 404 -> ban rule from the server" aria-label="Grafana dashboard showing over 30 thousand bans issued by fail2ban" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><source media="(prefers-color-scheme: dark)" srcset="/_astro/fail2ban-dark.CTWcRiBM.webp" data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/fail2ban-light.DN8NaTB0.webp" alt="Grafana dashboard showing over 30 thousand bans issued by fail2ban" loading="lazy" decoding="async" width="2148" height="1230" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">The Cloudflare mitigations have taken care of most of the problems so far, I might take off the nuclear 404 -&gt; ban rule from the server</figcaption></figure>
<h1 id="cooking">Cooking</h1>
<p>We cooked all nights we were at home, other than one where I fell asleep reading 😬. Nothing new this week, but Prime Day finally had a discount on a blender Yash and I had been eyeing so there are many a blended cottage cheese recipes in our future.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/egg-rice.CZ4qMr5s.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/egg-rice.CZ4qMr5s.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="The Instagram egg rice recipe continues to deliver" aria-label="Bowl of egg rice with a spoon, held in one hand" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/egg-rice.CZ4qMr5s.webp" alt="Bowl of egg rice with a spoon, held in one hand" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">The Instagram egg rice recipe continues to deliver</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/chickpea-curry.CK8RAQ1M.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/chickpea-curry.CK8RAQ1M.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="TIL baking soda speeds up pressure cooking of chickpeas" aria-label="Steel plate with chapatis, a bowl of chickpea curry, and a glass of buttermilk" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/chickpea-curry.CK8RAQ1M.webp" alt="Steel plate with chapatis, a bowl of chickpea curry, and a glass of buttermilk" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">TIL baking soda speeds up pressure cooking of chickpeas</figcaption></figure></div>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #26 (2026)</title>
      <link>https://msfjarvis.dev/weeknotes/week-26-2026/</link>
      <guid>https://msfjarvis.dev/weeknotes/week-26-2026/</guid>
      <description>Another week of bad health days :(</description>
      <pubDate>Sun, 28 Jun 2026 11:51:11 GMT</pubDate>
      <content:encoded><![CDATA[<h1 id="personal">Personal</h1>
<p>I’ve been cooped up at home for most of this week due to health problems and just general ~~<em>vibes</em>~~ so there wasn’t a lot happening to talk about. However, I did manage to, at least, successfully navigate the passport portal and apply for one. Hopefully I’ll be done with the process well in time for the Singapore trip a few friends and I have been planning. I also finally decided to try filing my own taxes and immediately ran into problems, so I’m back to having my CA deal with it. Maybe next year 🫡</p>
<p>On Saturday <a href="https://yashgarg.dev">Yash</a> and I met up with <a href="https://github.com/mayankofficial999">Mayank</a> and <a href="https://github.com/swapnilmadavi">Swapnil</a> to watch Supergirl. The movie was <em>okay</em>, it’s pretty clear that it was a minor subplot setting up for something bigger but DC does not have a good track record on delivering here, so I’m not very hopeful.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/krypto-supergirl.XzIANB5P.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/krypto-supergirl.XzIANB5P.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Krypto is the absolute goodest boy. Give him more screen time!" aria-label="A movie theater screen showing a dog beside a record player and a flying bottle." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/krypto-supergirl.XzIANB5P.webp" alt="A movie theater screen showing a dog beside a record player and a flying bottle." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Krypto is the absolute goodest boy. Give him more screen time!</figcaption></figure>
<h2 id="getting-into-skin-care">Getting into skin care</h2>
<p>I’ve struggled with oily skin for a long time so this week after going through yet another bout of feeling sorry for myself, I decided to clean up the vanity and order some things. I went back to read some messages I had exchanged with my sister on the topic, and got a nice moisturizer, a salicylic acid thing and a mild face wash. Results are supposed to show up in 6 to 12 weeks, so I guess I’ll know then. Why does everything take so long!!</p>
<h1 id="work">Work</h1>
<p>Had a minor scare at work where I thought I was in trouble but as it turns out I had been doing things fine, and it was someone else causing confusion 😮‍💨. Other than that we finally managed to get our <a href="https://developers.cloudflare.com/realtime/realtimekit/release-notes/android-core/">big 3.x release</a> out! This was a lot of work over multiple months, and I’m glad we can now do something else for a bit :)</p>
<h1 id="personal-projects">Personal Projects</h1>
<p>Most of my week was spent mitigating the well documented constant barrage of AI scrapers doing a number on my <a href="https://git.msfjarvis.dev">Git server</a>. After a few missteps with <a href="https://github.com/fail2ban/fail2ban">fail2ban</a> and Cloudflare’s IP Access Rules, I’ve managed to land on the right rulesets on Cloudflare to keep the worst of it from hitting the server. According to Cloudflare’s statistics, in the past week I’ve <em>blocked</em> over 500K requests and even then I continued seeing problems until this morning when I finally got a comprehensive set of protections in place. I want to write a blog post about this since this was an annoying problem to deal with, but ultimately most of it is just “use Cloudflare” and I don’t want it to come off as shilling. I am easily influenced, so reach out to express your interest if you want to read about it.</p>
<h1 id="meta">Meta</h1>
<p>The site is now running on Astro 7! Nothing user-facing should’ve changed, I’ve tried to not switch to any of the newer stuff like <a href="https://satteri.bruits.org/">Sätteri</a> so I can evaluate it more comfortably. I did try out migrating to Sätteri, and was able to <a href="https://github.com/msfjarvis/msfjarvis.dev/commit/2b1e6c22ae7b801e458a3846e20420d07736b8c9">get it done</a> but ultimately the UnifiedJS/Remark/Rehype ecosystem is much more mature and I don’t currently feel the need for Sätteri’s promised speedups.</p>
<p>I’ve had Atom, RSS and JSON feeds for most taxonomies but was shockingly missing one for posts, so that has now <a href="https://msfjarvis.dev/posts/feed.atom">been added</a> (thanks Yash for letting me know). After some discussion with Yash I’ve also decided to update the main feeds at <code>https://msfjarvis.dev/feed.[extension]</code> to start including my shorter <a href="https://msfjarvis.dev/notes">notes</a> as well, so expect a minor wave of spam in your feed readers. If you want to only follow a specific type of writing, you can provide its listing page to your feed reader (like <code>https://msfjarvis.dev/posts</code>, <code>https://msfjarvis.dev/weeknotes</code>, or <code>https://msfjarvis.dev/tags/NixOS/</code>) and the feed reader will pick up a specialized feed for it.</p>
<p>I had also forgotten to put back my analytics script when the site was moved to Astro, that’s now back so I can continue ignoring the stats it’s recording.</p>
<div class="markdown-alert markdown-alert-note" dir="auto">
<p class="markdown-alert-title" dir="auto"><svg class="octicon" viewBox="0 0 16 16" width="16" height="16" aria-hidden="true"><path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg>NOTE</p>
<p>Oh, we also have these now.</p>
</div>
<h1 id="gaming">Gaming</h1>
<p>I played out my Marvel Rivals placement games with <a href="https://akhilnarang.dev">Akhil</a> this week and got placed at Gold 2, then didn’t touch ranked again this week. I’ve been logging in to keep up with the barrage of summer events in-game but not really doing much else. Most of the gaming time has gone into Helldivers with <a href="https://kat.bio">Amogh</a>, <a href="https://staticvar.dev">Shreyansh</a>, and my friend Prajwal. The new Supply FRV has been infinitely fun, and I’ll miss when it inevitably stops being a permanent free stratagem :(</p>
<h1 id="cooking">Cooking</h1>
<p>Cooking this week was a mixed bag, I ate pepperoni and cheese sandwiches for most breakfasts, and dinner ranged from a delectable and rich chicken gravy to the humble khichdi. Regardless, here are some of the highlights.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/salad-nacho-dip.J22A1mTa.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/salad-nacho-dip.J22A1mTa.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Veggies with a non-fat dressing, some Feta cheese on top and nachos on the side. Perfect dinner" aria-label="A bowl of chunky salad with corn, tomatoes, onions, and cheese." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/salad-nacho-dip.J22A1mTa.webp" alt="A bowl of chunky salad with corn, tomatoes, onions, and cheese." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Veggies with a non-fat dressing, some Feta cheese on top and nachos on the side. Perfect dinner</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/ham-and-cheese-sandwich.D5JXhMIi.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/ham-and-cheese-sandwich.D5JXhMIi.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="I like having small things of Greek yogurt in the fridge to make impromptu dips" aria-label="Two toasted sandwiches on a steel plate with a dip and a soda can." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/ham-and-cheese-sandwich.D5JXhMIi.webp" alt="Two toasted sandwiches on a steel plate with a dip and a soda can." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">I like having small things of Greek yogurt in the fridge to make impromptu dips</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/tomato-and-egg-rice.Dt7qAEDG.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/tomato-and-egg-rice.Dt7qAEDG.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="This tomato and egg rice dish was delicious, Yash's stash of Instagram recipes continues to deliver" aria-label="A bowl of tomato egg rice next to sliced cucumbers." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/tomato-and-egg-rice.Dt7qAEDG.webp" alt="A bowl of tomato egg rice next to sliced cucumbers." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">This tomato and egg rice dish was delicious, Yash's stash of Instagram recipes continues to deliver</figcaption></figure></div>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #25 (2026)</title>
      <link>https://msfjarvis.dev/weeknotes/week-25-2026/</link>
      <guid>https://msfjarvis.dev/weeknotes/week-25-2026/</guid>
      <description>Ow, my neck…</description>
      <pubDate>Sun, 21 Jun 2026 13:27:02 GMT</pubDate>
      <content:encoded><![CDATA[<p>Rough week in the health department but the brain juices have held up against all odds. Also games!</p>
<h1 id="personal">Personal</h1>
<p>I woke up on Monday with a lot of pain in my neck and decided to take the day off for some rest and relaxation. In the midst of aforementioned R&amp;R <a href="https://yashgarg.dev/">Yash</a> asked me if I wanted to meet up with his girlfriend and him for breakfast at Toit, where we got some pancakes and waffles. Not the typical idea of resting an injury, but it was nice to be out and about in the sun. From there we walked the length of the 100 Feet road to end up at Lenskart for some new glasses for Yash. I got one of their complementary eye checkups which confirmed that despite my best efforts to the contrary I still have a 5/5 eyesight, having two bespectacled friends with me and receiving that result was funny.</p>
<p>The neck problem did not improve throughout the day, so I had to get a hot watter bottle and a neck brace, which have helped with the problem as the week progressed. Really starting to feel like a proverbial unc with these random aches, and had to skip the gym for the whole week.</p>
<p>I’m planning to finally take a proper holiday sometime next month, and have already taken some recommendations from <a href="https://rohanarthur.com">Rohan Arthur</a> for lake houses near Bengaluru. Reach out to me if you have ideas for any idyllic places close by where I can be <em>mostly</em> offline for a couple of weeks!</p>
<p>I am also working on my passport application in anticipation of a trip to Singapore for the PGL Counter Strike 2 Major with Yash, <a href="https://github.com/anunaym14">Anunay</a>, and <a href="https://github.com/akhilnarang">Akhil</a>. I have one failed application under my belt and no other real knowledge of the matter to speak of, so I am also open to someone helping me out here as well!</p>
<h1 id="media">Media</h1>
<p>Continued reading <a href="https://bookwyrm.social/book/1586797/s/the-ask-and-the-answer">The Ask and the Answer</a>, no more power cuts to help but illness has covered for that.</p>
<p>Started watching <a href="https://www.imdb.com/title/tt33332385/">Widow’s Bay</a> on Yash’s recommendation as well as an <a href="https://aftermath.site/widows-bay-apple-tv-matthew-rhys/">Aftermath post</a> I had read a month ago. With all the downtime this week I was able to finish the first season quickly, albeit in Italian for 9 of 10 episodes because I am a dumbass. Genuinely could not tell you how I came to think the show is meant to be Italian but at least not understanding the language made me actually watch instead of it being second monitor content.</p>
<p>Watched <a href="https://www.imdb.com/title/tt26657236/">Backrooms</a> with Yash, <a href="https://fknil.pages.dev/">Fenil</a>, and <a href="https://wantguns.dev/">Gunwant</a>. The movie was <em>awesome</em>, I fully get why these new age directors are rocking the boat in the upper echelons of Hollywood. Make some non-horror movies now!!</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/backrooms-movie.DL0OUNbu.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/backrooms-movie.DL0OUNbu.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Found footage is one of my favorite narrative devices" aria-label="A tilted shot of a yellow backrooms hallway on a screen" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/backrooms-movie.DL0OUNbu.webp" alt="A tilted shot of a yellow backrooms hallway on a screen" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Found footage is one of my favorite narrative devices</figcaption></figure>
<h1 id="meta">Meta</h1>
<p>The site has had some minor changes this week. <a href="https://github.com/msfjarvis/msfjarvis.dev/commit/99325e9a151f220e59c80dc2af3de30f700d3bde">Share buttons have been removed</a> since they don’t get used, and all text on the home page is now about <a href="https://github.com/msfjarvis/msfjarvis.dev/commit/db047f21b6101184abacc8dfe8f6fae296d5fafd">1.3x larger</a>, since I was starting to feel very old trying to squint at the text. I also noticed a bunch of my received webmentions were being incorrectly cut off during parsing, and weren’t being rendered as proper HTML; this has been <a href="https://github.com/msfjarvis/msfjarvis.dev/commit/450ec0d14f2f46b4ce6c69b71e85358872233515">fixed retroactively</a> on all posts.</p>
<p>I wrote <a href="https://msfjarvis.dev/weeknotes/week-24-2026">last week</a> about being overwhelmed by my <a href="https://miniflux.app">Miniflux</a> RSS reader, and my attempts at clanking something to identify the problem. That was unsurprisingly useless, but I did find out some good quality of life changes to improve the scenario which have been documented in <a href="https://msfjarvis.dev/posts/taming-my-intimidating-rss-reader-queue/">this blog post</a> I wrote this week.</p>
<h1 id="projects">Projects</h1>
<p><a href="https://github.com/msfjarvis/compose-lobsters">Claw</a> had a minor change to add a smoke-tests JVM-only CLI that runs daily to validate the HTML parsing code, hopefully to catch any regressions early.</p>
<p><a href="https://github.com/android-password-store/kage">kage</a> received an external PR this week <a href="https://github.com/android-password-store/kage/pull/539">to improve memory usage</a> in the streaming API, which motivated me to catch up on some pending work there. Kotlin is <a href="https://github.com/android-password-store/kage/pull/540">upgraded to 2.4.0</a>, the upstream test vectors <a href="https://github.com/android-password-store/kage/pull/541">have been updated</a> and the bugs uncovered by that fixed, and a longstanding TODO to <a href="https://github.com/android-password-store/kage/pull/542">properly handle some invalid inputs</a> been resolved.</p>
<h2 id="-clank-clank-clank-">🤖 CLANK CLANK CLANK 🤖</h2>
<p>The <a href="https://github.com/rohitg00/agentmemory">agentmemory</a> experiment has concluded in <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/44e880d63bf897502f35425ac36e169e7f7ccff0">failure</a>. Clankers failed to find any meaningful information in the saved memories because they couldn’t figure out how to get them in a non-truncated form. I stole some <a href="https://pi.dev">Pi</a> extensions from <a href="https://lucumr.pocoo.org">Armin Ronacher</a>, adding <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/ec1802ee1b8334f8da5ac0790944896507a12363">some whimsy</a>, a <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/b524ccd460a7e94d2984a3639cbed8c901cf1531">session analyser</a>, and a <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/dee979282d5d67997741c627d0c78b349d8199d6">Q&amp;A widget</a>. I also added a <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/82e1980f2c7044fcbb8817d7a2391e27565ebec6">Markdown viewer overlay</a> to make it easier to review specs and plans inline.</p>
<h1 id="gaming">Gaming</h1>
<p><a href="https://store.steampowered.com/app/553850/HELLDIVERS_2/">Helldivers 2</a> had a big update this week with a ton of buffs across the board, had a great time playing the Illuminate faction with the new Supply FRV.</p>
<p>I played even more <a href="https://controlgame.com/">CONTROL</a> this week, and finally finished the Foundation DLC just before writing this weeknote. In celebration of this feat I pre-ordered CONTROL Resonant, something I typically don’t do. The mêlée hack and slash combat simply looks sick, and I am fully invested in the story.</p>
<h1 id="food">Food</h1>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/paper-dosa-the-filter-coffee.BKh2pfIA.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/paper-dosa-the-filter-coffee.BKh2pfIA.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Been a while since I've been back at The Filter Coffee" aria-label="A crisp paper dosa on a banana leaf with chutneys and sambar" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/paper-dosa-the-filter-coffee.BKh2pfIA.webp" alt="A crisp paper dosa on a banana leaf with chutneys and sambar" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Been a while since I've been back at The Filter Coffee</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/pizza-toast.DdtlO_AW.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/pizza-toast.DdtlO_AW.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="The air fryer browns the sausages a little too much for my preference" aria-label="A slice of pizza toast topped with chicken sausages and herbs" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/pizza-toast.DdtlO_AW.webp" alt="A slice of pizza toast topped with chicken sausages and herbs" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">The air fryer browns the sausages a little too much for my preference</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/egg-sandwich.B-m7RANL.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/egg-sandwich.B-m7RANL.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="A simple egg sandwich just hits some days" aria-label="Two toasted egg sandwiches on a steel plate with ketchup" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/egg-sandwich.B-m7RANL.webp" alt="Two toasted egg sandwiches on a steel plate with ketchup" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">A simple egg sandwich just hits some days</figcaption></figure></div>
<p>For all the Toit breakfast images, head to <a href="https://yashgarg.dev/weekly-notes-25-2026/">Yash’s weeknote</a> who is much more diligent about these things than I ever will be.</p>
<p>Since I was by myself on Monday I made myself a pretty sloppy salad of corn, cucumbers, onions, and tomatoes all doused in some crumbled feta cheese and a Greek yogurt dressing.</p>
<p>On Tuesday the whole team at work went out to Meghna Foods for lunch since our PM <a href="https://www.linkedin.com/in/korinne-alpers">Korinne Alpers</a> was getting read to head back to the US and wanted to sample some great biryani. For dinner, we just made our regular okra.</p>
<p>Thursday was feeling like a sandwich kind of day, so I just made an egg sandwich at home during our morning standup. Turns out there’s a lot of downtime in a 10-person meeting :P</p>
<p>I had been craving pizza toasts this week, so I decided to make some on Friday morning, I kinda screwed up by accidentally ordering sausages instead of pepperonis, but it was delicious regardless.</p>
<p>This morning I joined Mayank, Yash, and <a href="https://github.com/swapnilmadavi">Swapnil</a> for some dosas at The Filter Coffee which were great.</p>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #24 (2026)</title>
      <link>https://msfjarvis.dev/weeknotes/week-24-2026/</link>
      <guid>https://msfjarvis.dev/weeknotes/week-24-2026/</guid>
      <description>Another lazy week dedicated entirely to gaming and programming</description>
      <pubDate>Sun, 14 Jun 2026 12:22:08 GMT</pubDate>
      <content:encoded><![CDATA[<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/angy-cat.C9v_lvFD.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/angy-cat.C9v_lvFD.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Saw this angry fuzzball after a long while" aria-label="Ginger cat resting on a mat beside a plaid cushion." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/angy-cat.C9v_lvFD.webp" alt="Ginger cat resting on a mat beside a plaid cushion." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Saw this angry fuzzball after a long while</figcaption></figure>
<h1 id="life">Life</h1>
<p>I didn’t do much this week, owing to busy times at $DAYJOB and then having my semiannual burst of motivation which had me doing a lot of work on <a href="https://git.msfjarvis.dev/msfjarvis/compose-lobsters">Claw</a>.</p>
<p>I finished reading <a href="https://bookwyrm.social/book/192589/s/the-knife-of-never-letting-go">The Knife of Never Letting Go</a>, after which <a href="https://bookwyrm.social">Bookwyrm</a> helpfully reminded me that I was halfway through the year but only a quarter of the way through my reading goal of 24 books a year 😔✊</p>
<p>That said I have been reading more frequently (started the sequel: <a href="https://bookwyrm.social/book/1586797/s/the-ask-and-the-answer">The Ask and The Answer</a>) during the multiple hour-long power cuts throughout the week (thanks Indiranagar) so hopefully I’ll catch up at some point. Or cheat by reading short stories, I don’t know.</p>
<h1 id="meta">Meta</h1>
<p>This site has seen some minor tweaks: the “divider” between the header and the content should be slightly better aligned now, and we can now render Mermaid diagrams!</p>
<p>I’m working on a blog post about the stuff I’ve been doing on Claw where those will come in handy, stay tuned for that to be published soon™ <sub>psst you can read the current draft <a href="https://drafts.msfjarvis.dev/posts/rewriting-claw-html-parser-for-over-the-air-updates/">here</a></sub></p>
<h1 id="work">Work</h1>
<p>I’m finally free of my self-inflicted deadline jail, and went right back to my cosy janitorial duties of refactoring ugly code and accidentally stumbling upon latent bugs. All in all a great week at work!</p>
<h1 id="personal-projects">Personal Projects</h1>
<p>Energized by the aforementioned periodic burst of motivation, I managed to wrap up a handful of large changes to Claw.</p>
<ul>
<li>The search button now expands in-place rather than taking you to a separate full screen destination [<a href="https://github.com/msfjarvis/compose-lobsters/pull/1197">PR</a>]</li>
<li>All the HTML parsing logic is now delegated to a <a href="https://github.com/cashapp/zipline">Zipline</a>-based module, which means I can now do over-the-air updates of that code without a new app release. This will significantly improve the time-to-fix for site markup changes, and also ended up being a pretty interesting exercise in general. The draft post I linked above covers this work, and I hope to finish it off in a few days. <a href="https://github.com/msfjarvis/compose-lobsters/pull/1183">[PR]</a></li>
<li>I <a href="https://masto-archive.msfjarvis.dev/@msfjarvis/116687510122725010">talked on the Fediverse</a> some time ago about how the ability to log into the app was causing my pre-login tagging feature to break down. This week I implemented a simple solution to it after being <a href="https://masto-archive.msfjarvis.dev/@msfjarvis/116692105799028538">massively disappointed by Codex’s</a> attempt at it. [<a href="https://github.com/msfjarvis/compose-lobsters/pull/1203">PR</a>]</li>
</ul>
<p>I checked my <a href="https://miniflux.app">Miniflux</a> unread count at the start of this week: it had breached the 100 posts mark again, which made me wonder how that keeps happening because I look at it at least once a day, often more. To determine the issue, I sketched up a very basic “algorithm” involving gathering all entries for a specified period, calculating the time it takes for them to go from created → read and bucket those based on feed and tags. This gives me a very rough idea of what kinds of posts stay unread for long, which was good enough for what I had in mind. I let Codex loose on the problem, and obviously it was unable to follow a detailed spec and implementation plan, instead writing an empty shell that just had a bunch of no-op methods where the actual analysis would go 🙂</p>
<p>It took a lot of prodding to get it all to a proper spot, and I’m still tweaking it as I’m writing this weeknote because I like to suffer or something. You can find the slop code <a href="https://git.msfjarvis.dev/msfjarvis/acceptable-vibes/src/branch/main/miniflux-analyzer">here</a> if this seems interesting for any reason. My own instance is behind Cloudflare Access because I don’t trust even this fully static HTML by a clanker.</p>
<h1 id="gaming">Gaming</h1>
<p>This week was even more <a href="https://controlgame.com/">CONTROL</a> with <a href="https://kat.bio">Amogh</a> as we finished the base game and explored the DLC, getting my ass kicked by random side missions and continuing to unravel the mysteries of The Oldest House. I enjoyed this playthrough a <em>lot</em> more than any of the previous attempts by a huge margin, who knew companionship makes things more fun. Since Amogh also hasn’t done much of the DLC it’s been a fun time for the both of us to come across abominations beyond mortal comprehension.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/control-warped-rooms.C4hP-eZG.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/control-warped-rooms.C4hP-eZG.webp" data-pswp-width="2560" data-pswp-height="1440" data-pswp-caption="This game has some of the most mindbending visuals I've encountered" aria-label="A character stands in a warped office space with tilted rooms and floating papers." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/control-warped-rooms.C4hP-eZG.webp" alt="A character stands in a warped office space with tilted rooms and floating papers." loading="lazy" decoding="async" width="2560" height="1440" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">This game has some of the most mindbending visuals I've encountered</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/control-final-boss.Dk39bQSJ.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/control-final-boss.Dk39bQSJ.webp" data-pswp-width="2560" data-pswp-height="1440" data-pswp-caption="The final fight was honestly pretty easy but the atmosphere kept me on my toes the whole time" aria-label="A lone figure walks through a huge red-lit hallway toward a bright opening." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/control-final-boss.Dk39bQSJ.webp" alt="A lone figure walks through a huge red-lit hallway toward a bright opening." loading="lazy" decoding="async" width="2560" height="1440" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">The final fight was honestly pretty easy but the atmosphere kept me on my toes the whole time</figcaption></figure></div>
<h1 id="food">Food</h1>
<p><a href="https://msfjarvis.dev/weeknotes/week-23-2026/#food">As promised</a>, the pasta from last Sunday in all its glory (I ate a second serving on Monday so it counts as this week, hush). With Yash <a href="https://yashgarg.dev/weekly-notes-23-2026/">back from his Europe trip</a> we were back in the kitchen, and made a big pot of Shakshouka with 6 eggs instead of our usual 4. I was working from home on Friday, so I whipped together some plain ham and cheese sandwiches for breakfast and a simple garlic-based Greek yogurt dip, with a nice Coke Zero to round it all off. Sandwiches are awesome 😄</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/chicken-spinach-pasta.oXIogctX.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/chicken-spinach-pasta.oXIogctX.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="My first time cooking spinach and I'm blown away by how quickly it wilts and how little you get out of it" aria-label="Pot of creamy chicken and spinach pasta on a stovetop." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/chicken-spinach-pasta.oXIogctX.webp" alt="Pot of creamy chicken and spinach pasta on a stovetop." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">My first time cooking spinach and I'm blown away by how quickly it wilts and how little you get out of it</figcaption></figure><figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/shakshouka.D9QUIlIp.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/shakshouka.D9QUIlIp.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Protein maxxing" aria-label="Bowl of shakshouka topped with herbs, served with toast on the side." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/shakshouka.D9QUIlIp.webp" alt="Bowl of shakshouka topped with herbs, served with toast on the side." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Protein maxxing</figcaption></figure><figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/ham-and-cheese-sandwich.hu161OHk.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/ham-and-cheese-sandwich.hu161OHk.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Now that I think about it this kind of looks like a struggle meal..." aria-label="Ham sandwich, yogurt, and a can of Coke on a metal plate at a desk." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/ham-and-cheese-sandwich.hu161OHk.webp" alt="Ham sandwich, yogurt, and a can of Coke on a metal plate at a desk." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Now that I think about it this kind of looks like a struggle meal...</figcaption></figure></div>
<p>I was feeling the feels this morning for some reason so decided to treat myself to a nice breakfast at the nearby Cafe Muziri’s and also get some reading done under the pleasant sunlight. Eternally grateful to <a href="https://rohanarthur.com/">Rohan</a> for introducing me to this place, the vibe is always nice and cosy and the hash browns are to die for.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/breakfast-at-cafe-muziris.CMNU_JK-.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/breakfast-at-cafe-muziris.CMNU_JK-.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="The scrambled tofu in the center was just the right amount of rich" aria-label="Cafe breakfast plate with toast, eggs, vegetables, fruit, and coffee on a table." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/breakfast-at-cafe-muziris.CMNU_JK-.webp" alt="Cafe breakfast plate with toast, eggs, vegetables, fruit, and coffee on a table." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">The scrambled tofu in the center was just the right amount of rich</figcaption></figure>
<p>See you next week!</p>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #23 (2026)</title>
      <link>https://msfjarvis.dev/weeknotes/week-23-2026/</link>
      <guid>https://msfjarvis.dev/weeknotes/week-23-2026/</guid>
      <description>The most productive yet unhealthy week in a while</description>
      <pubDate>Sun, 07 Jun 2026 11:25:00 GMT</pubDate>
      <content:encoded><![CDATA[<p><a href="https://yashgarg.dev/">Yash</a> has been out this week for his trip to Europe, so I’ve been by myself and mostly filled that time with work and games.</p>
<h2 id="personal">Personal</h2>
<p>With all the free time this week I decided to sort out the discrepancies in my budgeting software and made some rather upsetting discoveries. The egregious one was me having flubbed my SIP changes last month, which meant I hadn’t actually ramped up my investments and was just blindly counting money as invested which was still sitting in my savings account. Thank you, ICICI Direct for a definitely-not-confusing UI.</p>
<p>The other one was mostly just annoying, but was caused by a very subtle interaction within Actual Budget that I wasn’t aware of. To make a long story short; when using enveloped budgeting and overspending a category, even if you add money back in the next month to zero it out, Actual will continue seeing it as overspent until you explicitly roll over the overspent month into the next one where you reimbursed it. I had a very confused 3 days after having to recreate an old account and its transactions.</p>
<p>I also watched the first season of <a href="https://en.wikipedia.org/wiki/Spider-Noir">Spider-Noir</a> this week, was surprised by how good it was. Definitely a little miffed that Amazon dumped it all in one go instead of letting the suspense build week over week but 🤷</p>
<h2 id="projects">Projects</h2>
<p>This website received some important updates:</p>
<ul>
<li>Webmentions are now <a href="https://git.msfjarvis.dev/msfjarvis/msfjarvis.dev/commit/bab9074b33d9a152a08ebc4509916477212d1e6f">grouped by type</a> to make the UI more compact</li>
<li>As part of that change, I discovered that I wasn’t capturing the full content of Fediverse posts being sent via <a href="https://brid.gy">brid.gy</a> in my Webmentions server, which has <a href="https://git.msfjarvis.dev/msfjarvis/acceptable-vibes/commit/b1110c8f115c0dd71d39c9a4d12c6c3becc41460">since been fixed</a>.</li>
<li>I discovered the <a href="https://www.brailleinstitute.org/freefont/">Atkinson Hyperlegible</a> font family last week, and finally <a href="https://git.msfjarvis.dev/msfjarvis/msfjarvis.dev/commit/792f1ae90afe73d43a18428a226951d1689f9152">switched over</a> the site to them. As part of the change I’ve also made the site text a bit bigger since I had started to feel like I needed to squint to read some of it.</li>
<li>The dark theme is now using a <a href="https://git.msfjarvis.dev/msfjarvis/msfjarvis.dev/commit/68b48529e20f3b5e05d1ac84f0ea272920162488">slightly lighter tone</a> to improve readability.</li>
</ul>
<p><a href="https://github.com/msfjarvis/compose-lobsters/">Claw</a> had a new release and some new features added later.</p>
<ul>
<li>The app now has the ability to upvote and reply to comments, provided you’re logged in.</li>
<li>The release also fixed a bug caused by the use of certificate pinning by foolish past me.</li>
<li>The comment UI has been tweaked to match the now-defunct app <a href="https://www.reddit.com/r/BoostForReddit/">Boost for Reddit</a>, which does a far better job of using mobile screen real estate than I ever did.</li>
<li>The search UI is now a proper “search bar” style experience instead of being a separate navigation destination.</li>
</ul>
<h2 id="work">Work</h2>
<p>Things at work were pretty chill. I went to one of the client meetings I <a href="https://msfjarvis.dev/weeknotes/week-22-2026/">mentioned last week</a>, and let <a href="https://github.com/mayankofficial999">Mayank</a> sub in for me on the other one. After my visit we ended up at Burma Burma for lunch, where I focused too much on the food to actually take any pictures. Unsurprisingly, the food was incredible.</p>
<p>Other than that I mostly focused on a bunch of refactoring work and dealing with customer reports.</p>
<h2 id="gaming">Gaming</h2>
<p>I spent a <em>lot</em> of time gaming this week since I was home alone, and it was raining every time I wanted to do anything else.</p>
<p>I found this short and emotionally moving pixel art game called <a href="https://store.steampowered.com/app/4515660/Control_Im_Not_Coming_Back/">Control, I’m Not Coming Home</a> and played through it in around 30-40 minutes which was on par with their 45-minute estimate. The game and its story are too beautiful to not be experienced, so I’m not going to explain anything here. The only thing I can share is that the game does not have a keybind to walk backwards, make of it what you will :)</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/control-im-not-coming-back-1.BllL-OZh.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/control-im-not-coming-back-1.BllL-OZh.webp" data-pswp-width="2560" data-pswp-height="1440" data-pswp-caption="&nbsp;" aria-label="Pixel art astronaut gloves reaching toward a floating person near a green planet." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/control-im-not-coming-back-1.BllL-OZh.webp" alt="Pixel art astronaut gloves reaching toward a floating person near a green planet." loading="lazy" decoding="async" width="2560" height="1440" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">&nbsp;</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/control-im-not-coming-back-2.DM-uO5RA.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/control-im-not-coming-back-2.DM-uO5RA.webp" data-pswp-width="2560" data-pswp-height="1440" data-pswp-caption="&nbsp;" aria-label="Pixel art view of Earth in space with text about drifting farther away." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/control-im-not-coming-back-2.DM-uO5RA.webp" alt="Pixel art view of Earth in space with text about drifting farther away." loading="lazy" decoding="async" width="2560" height="1440" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">&nbsp;</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/control-im-not-coming-back-3.CpUe6XBu.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/control-im-not-coming-back-3.CpUe6XBu.webp" data-pswp-width="2560" data-pswp-height="1440" data-pswp-caption="&nbsp;" aria-label="Bright pink and teal game scene with a small figure facing a dark tree." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/control-im-not-coming-back-3.CpUe6XBu.webp" alt="Bright pink and teal game scene with a small figure facing a dark tree." loading="lazy" decoding="async" width="2560" height="1440" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">&nbsp;</figcaption></figure></div>
<p>After seeing the gameplay trailer for <a href="https://store.steampowered.com/app/3669870/CONTROL_Resonant/">CONTROL Resonant</a> I decided to finally best my oldest foe, and beat the original game: <a href="https://store.steampowered.com/app/870780/CONTROL_Ultimate_Edition/">CONTROL</a>.</p>
<p>Some backstory: CONTROL was the first game I bought after being cyberbullied by my friends into getting a GPU, and I was so dogshit at it that I got stuck on a minor boss for <em>weeks</em> until I just gave up. I tried again a few years later, and got my ass beat again by the same boss, and the game was uninstalled in shame once more.</p>
<p>This week I decided to play it on a Discord stream with <a href="https://kat.bio">Amogh</a> watching alongside who could at least help me since he’s beaten the game already. Shockingly I was no longer absolute ass at the game, so things have been smooth sailing so far. Hopefully I’ll be done long before the release of Resonant 🤞</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/control.DsZO9y41.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/control.DsZO9y41.webp" data-pswp-width="2560" data-pswp-height="1440" data-pswp-caption="The Mold gives me the creeps" aria-label="Titular character Jesse Faden aims a gun at enemies known as The Mold in a dark green cave." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/control.DsZO9y41.webp" alt="Titular character Jesse Faden aims a gun at enemies known as The Mold in a dark green cave." loading="lazy" decoding="async" width="2560" height="1440" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">The Mold gives me the creeps</figcaption></figure>
<p>I also got mildly addicted to this spin off on Werewolf called <a href="https://store.steampowered.com/app/3803820/Demon_Bluff_Demo/">Demon Bluff</a>. It’s only available as a demo, but I’ve sunk 5-6 hours into it in less than 10 days, and it makes for a great screen share game in a Discord call.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/demon-bluff.Cq2ebJZO.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/demon-bluff.Cq2ebJZO.webp" data-pswp-width="2560" data-pswp-height="1440" data-pswp-caption="Every character has its own unique abilities, and the game packs in a lot of depth through those even in this limited demo" aria-label="Card-based puzzle game board with numbered characters and speech bubble clues." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/demon-bluff.Cq2ebJZO.webp" alt="Card-based puzzle game board with numbered characters and speech bubble clues." loading="lazy" decoding="async" width="2560" height="1440" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Every character has its own unique abilities, and the game packs in a lot of depth through those even in this limited demo</figcaption></figure>
<h2 id="food">Food</h2>
<p>With Yash away I kept finding excuses to not cook since it was boring to just cook for myself. I finally decided today that it was enough dilly-dallying and finally made some air fried chicken nuggets with the chicken breast that had been sitting in the freezer for 5 days.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/chicken-nuggets.E2_tNwhe.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/chicken-nuggets.E2_tNwhe.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="I had to do something to remind myself I can cook" aria-label="Breaded chicken nuggets on a steel plate with a bowl of creamy dipping sauce." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/chicken-nuggets.E2_tNwhe.webp" alt="Breaded chicken nuggets on a steel plate with a bowl of creamy dipping sauce." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">I had to do something to remind myself I can cook</figcaption></figure>
<p>I’m also finally cooking a proper dinner tonight, but that’ll be revealed next week :D</p>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #22 (2026)</title>
      <link>https://msfjarvis.dev/weeknotes/week-22-2026/</link>
      <guid>https://msfjarvis.dev/weeknotes/week-22-2026/</guid>
      <description>The first anniversary of IndieWebClub!</description>
      <pubDate>Sun, 31 May 2026 13:05:36 GMT</pubDate>
      <content:encoded><![CDATA[<p>Pretty “happening” week this time around! Let’s get right into it…</p>
<p>After a couple of weeks of frustrating silence, <a href="https://yashgarg.dev/">Yash</a> got <a href="https://yashgarg.dev/weekly-notes-22-2026/">his Visa</a> and will be heading out to Europe for a couple of weeks. Last time he was away for a similar trip I found myself somewhat struggling being by myself, but I’m much better prepared this time around so hopefully things will go smoothly back here. I got a sneak peek at his itinerary, and you should definitely be keeping an eye out for his next weeknote!</p>
<p>My colleague Tarush is leaving Cloudflare at the end of this week, so we had an impromptu farewell party followed by a trip to Karachi Bakery with the boys on our way back.</p>
<p>In some more fun news, it was the first anniversary of <a href="https://blr.indiewebclub.org">IndieWebClub</a> this week! There was a <a href="https://blr.indiewebclub.org/2026-se/">special session</a> on Saturday where we had a series of 13 lightning talks across the whole spectrum of the IndieWeb. Most talks were recorded, so hopefully there will be a public playlist on YouTube or PeerTube at some point 🤞</p>
<p>I took some awful pictures which I’ll attach here, but you can find the ones taken by smarter people in the <a href="https://photos.app.goo.gl/YNR9iQCzWV3kaD6X6">shared Google Photos album</a> and this <a href="https://lightroom.adobe.com/shares/836ab564df1e468c80ed1d3570dd66b5">Adobe Lightroom album</a>.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/iwc_arpit.Dpwroror.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/iwc_arpit.Dpwroror.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Arpit talking about obsessively building a website with Claude but forgetting to actually use it" aria-label="Arpit speaking at IndieWebClub, standing beside a projected slide showing his website." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/iwc_arpit.Dpwroror.webp" alt="Arpit speaking at IndieWebClub, standing beside a projected slide showing his website." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Arpit talking about obsessively building a website with Claude but forgetting to actually use it</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/iwc_sagrika_1.D-IMsmVC.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/iwc_sagrika_1.D-IMsmVC.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Sagrika's guide to finding your writing voice. Let the hate flow through you..." aria-label="Slide from Sagrika Padha’s talk about finding one’s writing voice, with notes on collecting sentences and writing in a continuous flow." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/iwc_sagrika_1.D-IMsmVC.webp" alt="Slide from Sagrika Padha’s talk about finding one’s writing voice, with notes on collecting sentences and writing in a continuous flow." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Sagrika's guide to finding your writing voice. Let the hate flow through you...</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/iwc_sagrika_2.w6K1nr2h.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/iwc_sagrika_2.w6K1nr2h.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="The importance of honesty in writing feels very underappreciated these days" aria-label="Sagrika Padha speaking into a microphone beside a slide about specific, emotional writing and developing a distinct voice." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/iwc_sagrika_2.w6K1nr2h.webp" alt="Sagrika Padha speaking into a microphone beside a slide about specific, emotional writing and developing a distinct voice." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">The importance of honesty in writing feels very underappreciated these days</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/iwc_yash.DqHnR1sg.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/iwc_yash.DqHnR1sg.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="That's my roommate!" aria-label="Yash giving a talk titled “Owning Conversations on the Open Web” at IndieWebClub." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/iwc_yash.DqHnR1sg.webp" alt="Yash giving a talk titled “Owning Conversations on the Open Web” at IndieWebClub." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">That's my roommate!</figcaption></figure></div>
<p>After the talks everyone got together to hang out on the terrace and there was cake! And also some very ominous clouds, forcing Yash and I to dip back home to avoid getting stuck in the rain.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/post_iwc_rain.C0QCfE5o.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/post_iwc_rain.C0QCfE5o.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Anything for some rain in the AM instead of evenings..." aria-label="Very gray clouds overhead, some light gray buildings and the top of a very lush tree are visible towards the bottom of the image" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/post_iwc_rain.C0QCfE5o.webp" alt="Very gray clouds overhead, some light gray buildings and the top of a very lush tree are visible towards the bottom of the image" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Anything for some rain in the AM instead of evenings...</figcaption></figure>
<h2 id="work-stuff">Work Stuff™</h2>
<p>Work has been somewhat chaotic this week as I chased self-imposed tight deadlines, but I was ultimately able to get everything that was within my control to the finish line. I did however fully exhaust myself due to compulsively working late nights, and by Friday I just needed to take an afternoon nap or risk falling asleep at my home desk. Definitely not the healthiest week I’ve had with respect to work but these should be very rare, since it was my own decision to take on just a <em>little</em> more than I was really capable of delivering 😅</p>
<p>Next week is going to involve visiting some clients which has the potential to be interesting, looking forward to the experience.</p>
<h2 id="personal-projects">Personal Projects</h2>
<p>Big week for the tens of users of my <a href="https://lobste.rs">lobsters</a> app <a href="https://msfjarvis.dev/g/compose-lobsters">Claw</a> as I had to make two releases in quick succession. The first release had been baking for nearly 2 months, and added the ability to log into the app to lay the groundwork for building interactive features in the future. I also switched the app over to not rely on the JSON API the site exposes due to a Ruby on Rails misfeature (according to the site admin) and instead just scrape the HTML itself. As my luck would have it, the markup changed literally 2 days after I made the release after having been perfectly stable for <em>weeks</em> since I made the initial swap, so I had to do an emergency hotfix. Grrr</p>
<p>I’ve continued hacking on the app, making a big range of changes to bring it up to parity with the website experience. In no particular order:</p>
<ul>
<li>Screenshot testing to make it easier to do iterative improvements</li>
<li>Changed the comments UI and UX to closely resemble the defunct Reddit client <em>Boost</em> — big thanks to Yash for that suggestion</li>
<li>(Unsuccessfully) <a href="https://github.com/msfjarvis/compose-lobsters/pull/1183">attempt</a> to move the parsing logic to a <a href="https://github.com/cashapp/zipline">Zipline</a>-backed module that would let me hot patch it without making users update the app</li>
<li>(In progress) add the ability for users to <a href="https://github.com/msfjarvis/compose-lobsters/pull/1184">reply to comments</a>. I paused work on it to write this weeknote!</li>
</ul>
<h2 id="clanker-things">Clanker things</h2>
<p>I talked <a href="https://msfjarvis.dev/weeknotes/week-21-2026">last week</a> about experimenting with <code>agentmemory</code> to remove the need for <code>AGENTS.md</code> files, so far that has yielded exactly 0 value. I haven’t had any luck in steering LLMs into autonomously persisting facts and decisions into memory, and <code>AGENTS.md</code> files themselves have been feeling useless as LLMs seem to mostly ignore them even in projects that do have the files. I did some tweaks to the prompt today to improve <code>agentmemory</code> usage, and will report back next week on how that went.</p>
<p>I also made one major-but-not-really change to the harness by <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/3045be0afc8bff4cea4fb148e39840bd360b9861">vendoring every single skill I use</a> into the Git repository itself rather than having them be symlinks to an untracked <code>~/.agents</code> directory. This makes the setup more portable and easier to make modifications to should I need to.</p>
<p>I don’t always agree with <a href="https://lucumr.pocoo.org">Armin Ronacher</a>, but I like to keep up with his excellent writing regardless. This week he posted a <a href="https://lucumr.pocoo.org/2026/5/26/clankers/">great article</a> about his persistent use of the word “Clankers” for what the AI pilled call <em>agents</em>, and I found myself nodding along to everything he was saying. I’m not going to do him the injustice of distilling his argument down to a couple of lines, so please go give it a read.</p>
<h2 id="the-obligatory-food-section">The obligatory food section</h2>
<p>This week had more Instagram recipes and me finally going back to my scoopable veggie salad. Expect more salads in coming weeks when I only have myself to feed :D</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/instagram_recipe_onions.D5d5_RCN.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/instagram_recipe_onions.D5d5_RCN.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Still can't believe this was just onions in a pan" aria-label="Creamy onion gravy or masala cooking in a frying pan with a spoon and spatula." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/instagram_recipe_onions.D5d5_RCN.webp" alt="Creamy onion gravy or masala cooking in a frying pan with a spoon and spatula." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Still can't believe this was just onions in a pan</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/instagram_recipe_chicken.SJCbKqKM.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/instagram_recipe_chicken.SJCbKqKM.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="For how few steps were involved in this recipe it was incredibly delicious, can't do better in <15 minutes" aria-label="Chicken pieces browning in a frying pan on a stovetop during cooking" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/instagram_recipe_chicken.SJCbKqKM.webp" alt="Chicken pieces browning in a frying pan on a stovetop during cooking" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">For how few steps were involved in this recipe it was incredibly delicious, can't do better in &lt;15 minutes</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/veggie_salad.BeNa7W3q.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/veggie_salad.BeNa7W3q.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="My beloved bowl of chopped veggies..." aria-label="A bowl of chopped vegetable salad with cucumber, tomato, onion, and sweet corn, held in one hand with a spoon inside." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/veggie_salad.BeNa7W3q.webp" alt="A bowl of chopped vegetable salad with cucumber, tomato, onion, and sweet corn, held in one hand with a spoon inside." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">My beloved bowl of chopped veggies...</figcaption></figure></div>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #21 (2026)</title>
      <link>https://msfjarvis.dev/weeknotes/week-21-2026/</link>
      <guid>https://msfjarvis.dev/weeknotes/week-21-2026/</guid>
      <description>Honestly not even sure how I feel about this week</description>
      <pubDate>Sun, 24 May 2026 12:58:09 GMT</pubDate>
      <content:encoded><![CDATA[<p>As I’m sitting down to write this weeknote and looking through <a href="https://msfjarvis.dev/notes/collating-entries-in-my-obsidian-journal-for-week-notes/">my outline</a>, I’m realizing that I remember basically nothing I am reading. I can’t remember the last time a week has felt this long, but hey at least it’s over and I have words to prove it happened.</p>
<p>This week I had decided to be in the office every single day instead of our usual 3, so obviously I got rewarded for it on day 1 itself with very heavy rains. Thankfully an expensive taxi saved my hide before the traffic jams really started to materialize, and I was very grateful to be back inside before it really started pouring.</p>
<video controls="" loading="lazy"><source src="https://media.msfjarvis.dev/rain_on_monday-2026-05-24.mp4" type="video/mp4"></video>
<p>This was admittedly a little scary, but I came back home to the news that <a href="https://yashgarg.dev">Yash</a> had finished printing the Rocktopus I had requested last week. Here it is, guarding my workstation at the office the next day.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/the_rocktopus.9DfEGoKi.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/the_rocktopus.9DfEGoKi.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="He's perfect" aria-label="A 3D printed octopus with the head of Dwayne 'The Rock' Johnson, perched neatly on top of my monitor" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/the_rocktopus.9DfEGoKi.webp" alt="A 3D printed octopus with the head of Dwayne 'The Rock' Johnson, perched neatly on top of my monitor" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">He's perfect</figcaption></figure>
<p>A few weeks ago, Yash had come across a Reddit post from someone wanting to sell the mangoes they were growing, and we had decided to get some. They got delivered on Wednesday and goddamn were they huge. Unfortunately still raw and will take a few days to be ready to eat, but I feel it’ll be worth the wait.</p>
<figure data-image-modal-root="" class="half" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/massive_mango.BT1tpmnj.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/massive_mango.BT1tpmnj.webp" data-pswp-width="960" data-pswp-height="1280" data-pswp-caption="That's a thick boy" aria-label="A large raw mango in Yash's hand, him barely managing to hold on to it because of how huge it is" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/massive_mango.BT1tpmnj.webp" alt="A large raw mango in Yash's hand, him barely managing to hold on to it because of how huge it is" loading="lazy" decoding="async" width="960" height="1280" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">That's a thick boy</figcaption></figure>
<p><a href="https://github.com/swpanilmadavi">Swapnil</a> and I got stuck debugging something after a late work meeting, after wrapping it up Swapnil decided to start a group call with the lads. We did a solid half hour plus of just shooting the shit which was a nice way to wind down before bed. I had forgotten how much I love group calls with friends, it’s so hard to get people together these days. Damn you capitalism!</p>
<p>On Friday the entire RealtimeKit team got together for lunch at <a href="https://thepizzabakery.in/">Pizza Bakery</a>, where I was too focused on the pizza to actually take more than one picture. As usual, Yash <a href="https://yashgarg.dev/weekly-notes-21-2026/">has you covered</a> on that front.</p>
<p>I try to keep Sundays free so I can just exist for a day, no thoughts head empty. Unfortunately Mayank had other plans, so we went and watched The Mandalorian and Grogu today. I found the movie to be a fine spectacle, but it doesn’t really advance the wider world too much which seems to be my constant problem with Star Wars.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/the_mandalorian_and_grogu.BNOxHuqB.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/the_mandalorian_and_grogu.BNOxHuqB.webp" data-pswp-width="4064" data-pswp-height="3056" data-pswp-caption="I am convinced Grogu being a puppet instead of CGI is the entire reason this character ever got traction" aria-label="A frame from the movie The Mandalorian And Grogu" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/the_mandalorian_and_grogu.BNOxHuqB.webp" alt="A frame from the movie The Mandalorian And Grogu" loading="lazy" decoding="async" width="4064" height="3056" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">I am convinced Grogu being a puppet instead of CGI is the entire reason this character ever got traction</figcaption></figure>
<h2 id="reading">Reading</h2>
<p>It took me 2 months of <em>very</em> distracted reading, but I managed to finishing reading <a href="https://www.couldshouldmightdont.com">Could Should Might Don’t</a>. I think the book itself is great, but with so many distractions available I found myself struggling to read it regularly. According to the statistics on my Kobo I averaged 9 minutes per session on the book which is significantly lower than my usual of 15-20 minutes. My usual fare of Science Fiction works better here by having continual suspense drawing me in, so I started reading <a href="https://bookwyrm.social/user/msfjarvis/generatednote/11327057">The Knife of Never Letting Go</a> instead of going for more non-fiction books. I’ll see if I can piece together a book review for Could Should Might Don’t, and definitely see what I can change to make non-fiction stick better. I can’t have great books take me 2 months to go through 400 pages when I typically manage that in under 2 weeks.</p>
<h2 id="food">Food</h2>
<p>With a lot of busy evenings we didn’t get to cook a lot this week. Yash has finally started whipping out the Instagram reels, and we had a couple of successes. It was nice to break up our usual cycle of the same 4-5 dishes in rotation, I think we’ll keep pulling one or two items off his evergrowing list every week.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/classic_chhole_rice.C4df4Q6D.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/classic_chhole_rice.C4df4Q6D.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Another staple of this household, just can't beat the ease." aria-label="A bowl of chickpea curry and rice" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/classic_chhole_rice.C4df4Q6D.webp" alt="A bowl of chickpea curry and rice" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Another staple of this household, just can't beat the ease.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/instagram_egg_rice_recipe.Cyfv1uXm.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/instagram_egg_rice_recipe.Cyfv1uXm.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="This one's off Instagram and a bit of a sleeper hit, go pester Yash for a link" aria-label="A pan with rice that has been cooked in a bunch of spices to an almost biryani like appearance" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/instagram_egg_rice_recipe.Cyfv1uXm.webp" alt="A pan with rice that has been cooked in a bunch of spices to an almost biryani like appearance" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">This one's off Instagram and a bit of a sleeper hit, go pester Yash for a link</figcaption></figure></div>
<h2 id="random-llm-experiments">Random LLM experiments</h2>
<p>Just wanted to have some place to dump info about what shenanigans I have been up to, so I’ll probably just make this an ongoing section.</p>
<p>I’ve written previously about <a href="https://msfjarvis.dev/weeknotes/week-19-2026/">switching to OpenAI Codex</a> and the associated GPT-5 laziness problems that I had to deal with. In the two weeks since, I’ve had multiple incidents of the extension I wrote either not firing when it should or misfiring when it shouldn’t so I decided to make it entirely too complicated. As I say <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/b243e6caf15ae2bfd648a65a2143429e9da1eda7">in the commit message</a>; what more RegEx can’t solve, more AI definitely can. Now instead of putting every message through an impenetrably complicated RegEx, the extension instead pipes it through an impenetrably complicated text classifier LLM. This approach also hasn’t been foolproof so far either, but iterating over the prompt (<a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/7347bf2b607ca71d8682e853f0db95844660422a">here</a> and <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/commit/59d79e9892ac6c04c9ee02a0e09daf2db300dc71">here</a>), has been helpful when paired with a proper test suite.</p>
<p><a href="https://agents.md/">AGENTS.md</a> files have been the de-facto way of giving LLMs persistent knowledge of codebases, but I find it somewhat annoying to have a bunch of them in my repositories. This week I’ve been looking at alternatives, and unfortunately mostly came up empty. Only one thing stood out to me, which was <a href="https://github.com/rohitg00/agentmemory">agentmemory</a>. So far I’ve only put “memories” into it, and I’ll see if during the next week LLMs actually use this or continue reading all files from scratch.</p>
<p>I’ve been going all in on <a href="https://agentskills.io">skills</a> as a way of steering LLMs, and found an adversarial reviewer skill from my colleague <a href="https://mk.gg/">Matt Kane</a> in the <a href="https://github.com/emdash-cms/emdash/blob/283bcf059e8c6889d14292e822953f13eaf6a6b0/skills/adversarial-reviewer/SKILL.md">EmDash CMS repo</a>. I had it run across the full diff of <a href="https://github.com/msfjarvis/compose-lobsters">Claw</a> since the last release, and it was able to identify <a href="https://git.msfjarvis.dev/msfjarvis/compose-lobsters/commit/1b6ae68e0d4a27d99709a09b7ef759f6bcda5b17">a couple of valid problems</a>. Obviously like any LLM usage, it also fully made up how to properly detect login sessions but that wasn’t too difficult to rectify early on.</p>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #20 (2026)</title>
      <link>https://msfjarvis.dev/weeknotes/week-20-2026/</link>
      <guid>https://msfjarvis.dev/weeknotes/week-20-2026/</guid>
      <description>Ignorance is bliss</description>
      <pubDate>Sun, 17 May 2026 12:10:00 GMT</pubDate>
      <content:encoded><![CDATA[<p>This week was relatively quiet all things considered, all the “excitement” was at work related to things I cannot share yet :)</p>
<p>We had two big meetings this week with leadership, first the R&amp;D All Hands with our engineering leadership and then celebrating the Bengaluru office’s 1st year with the people who helped make it happen. The All Hands was used to peddle some more apologia for the <a href="https://msfjarvis.dev/weeknotes/week-19-2026/#work">layoffs</a> last week and lay the path forward. Wasn’t super convincing, and I think I was better off not hearing any of it. The other call was less depressing, but I could’ve done without that one too. Not great for the brainworms :)</p>
<p>What I can share though, is that our Product Manager <a href="https://www.linkedin.com/in/korinne-alpers">Korinne Alpers</a> is visiting the India office, and we’ve been having a lot of productive discussions about the team and product’s future. I’ve come out of the week feeling much more hopeful about what’s in store for my team and I.</p>
<p>Other than that, I started the week off by discovering the <a href="https://www.genesispc.in/products/wobkey-rainy75-mechanical-keyboard?variant=43852369068085">keyboard</a> that I <a href="https://msfjarvis.dev/weeknotes/week-12-2026/">bought for my birthday</a> did have wireless support, hidden behind a switch whose position I can only describe as chaotic evil.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/the-betrayal-of-the-keyboard.BxcfvAPL.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/the-betrayal-of-the-keyboard.BxcfvAPL.webp" data-pswp-width="3278" data-pswp-height="3072" data-pswp-caption="I was so mad at this" aria-label="A keyboard with a light blue aluminium frame, with its Caps Lock keycap removed. Below where the key would sit, next to the key switch there is a physical on/off switch that enables the keyboard's wireless features." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/the-betrayal-of-the-keyboard.BxcfvAPL.webp" alt="A keyboard with a light blue aluminium frame, with its Caps Lock keycap removed. Below where the key would sit, next to the key switch there is a physical on/off switch that enables the keyboard's wireless features." loading="lazy" decoding="async" width="3278" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">I was so mad at this</figcaption></figure>
<p>Surprisingly I received <a href="http://msfjarvis.dev/apsg/kage/pull/517">a pull request</a> for a project of mine: <a href="https://msfjarvis.dev/apsg/kage">kage</a>. It’s a Kotlin library that implements the <a href="https://c2sp.org/age">age</a> cryptography protocol, originally written for use in <a href="https://passwordstore.app">Android Password Store</a>. <em>Unsurprisingly</em>, the CI pipeline needed some fixing :) Glad to see people using this library though, given I don’t get to work on this too much.</p>
<p>On Friday, the boys got together for a movie in a very long time! <a href="https://yashgarg.dev">Yash</a>, <a href="https://github.com/mayankofficial999">Mayank</a>, <a href="https://github.com/swapnilmadavi">Swapnil</a> and I went to see <a href="https://en.wikipedia.org/wiki/Hokum_(film)">Hokum</a>. We all liked it a lot, the horror elements felt very well done without relying too much on the trite jumpscares that seem to be the only way horror gets done these days.</p>
<p>Having read the <a href="https://en.wikipedia.org/wiki/Silo_(series)">Silo books</a> this year I was excited to finally pick up the <a href="https://en.wikipedia.org/wiki/Silo_(TV_series)">Silo TV series</a> this week. I got through a couple of episodes, and I’m starting to realise why so many people say they felt checked out pretty quickly. Already knowing the story makes it easy to maintain some suspense for what’s coming but for someone who hasn’t read the books there seems to be next to nothing to hook them into it. I’m told Season 2 is even worse at this so maybe I won’t end up finishing the whole thing.</p>
<p>Not a lot of cooking this week, contributed in part by cooking bigger portions, being lazy, and just not being home on time. You’re still owed pictures though :)</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/good-old-dal-chawal.CGxAEXbC.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/good-old-dal-chawal.CGxAEXbC.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Some days a good old bowl of dal chawal just hits right" aria-label="A bowl of hearty lentils and white rice. The lentils were cooked with some sauted onions and tomatoes." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/good-old-dal-chawal.CGxAEXbC.webp" alt="A bowl of hearty lentils and white rice. The lentils were cooked with some sauted onions and tomatoes." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Some days a good old bowl of dal chawal just hits right</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/rajma-makes-a-return.0YMKhsLs.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/rajma-makes-a-return.0YMKhsLs.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="The rajma is just a staple at this point" aria-label="A spicy curry made with red kidney beans, sitting in a big saucepot. It clearly looks half empty, since we had already served ourselves." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/rajma-makes-a-return.0YMKhsLs.webp" alt="A spicy curry made with red kidney beans, sitting in a big saucepot. It clearly looks half empty, since we had already served ourselves." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">The rajma is just a staple at this point</figcaption></figure></div>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #19 (2026)</title>
      <link>https://msfjarvis.dev/weeknotes/week-19-2026/</link>
      <guid>https://msfjarvis.dev/weeknotes/week-19-2026/</guid>
      <description>Super busy week of work, fun, not-fun work and a lot in between.</description>
      <pubDate>Sun, 10 May 2026 13:12:00 GMT</pubDate>
      <content:encoded><![CDATA[<p>I’m dreading starting this weeknote because the cliff notes I auto-generate from my daily journal (explained <a href="https://msfjarvis.dev/notes/collating-entries-in-my-obsidian-journal-for-week-notes/">here</a>) are effectively two pages long. Either a lot more happened than I remember or I was feeling <em>very</em> strongly about a lot of inane things at the start of the week. Only one way to find out…</p>
<h1 id="meta">Meta</h1>
<p>The week started with an RSS feed mishap on this very site that caused mismatched GUIDs to spam all subscribers of the feed. I got rather fed up with trying to patch this all, so I took <a href="https://yashgarg.dev">Yash’s</a> help and copied the code for his RSS feeds. Massive thank you to him for that, I was at the end of my rope.</p>
<p>Since then, I’ve also added Atom and JSONFeed support, and brought back the per-category and per-tag feeds that had gone missing in the transition away from Hugo. I’ve manually checked as much as I could, please reach out if things are still out of place.</p>
<h1 id="life-and-people">Life and People</h1>
<p>This week I’ve been trying out going to the gym early in the morning instead of the evening. So far that has made a very positive impact in both my schedule for the day and how I feel at the gym itself, so I intend to stick with it. This also forces me to sleep at a better time which is always a win.</p>
<p>I did however roll my ankle <em>pretty</em> badly on my way back from the gym on Wednesday, which continued to be a problem well into Friday. Never felt older in my life.</p>
<p><a href="https://rohanarthur.com/">Rohan Arthur</a> took us out this week to <a href="https://rageroom.in/">Rage Room</a> which was shockingly close to our house in a rather secluded corner. Wrecking some shit on Friday evening (context in next section) was very cathartic and couldn’t have been any more well-timed, despite being a complete accident.</p>
<h1 id="work">Work</h1>
<p>Hoo boy, was this a week. I spent the first half of the week debugging what seemed like an endless stream of bugs while trying to cut a new release. One of these debugging sessions ran for a full 5 hours focused on a single bug, which I thought was gonna be my worst problem this week…</p>
<p>Lo and behold, <a href="https://blog.cloudflare.com/building-for-the-future">Cloudflare announces layoffs</a> for nearly 20% of the workforce bright and early on Friday. Nobody in my team was affected, but holy fuck did this completely annihilate the vibes in the office and company chat room. Seeing so many profile pictures just disappear overnight felt like walking through a graveyard. My heart goes out to everyone affected, they’re all incredibly talented people who did not deserve this treatment.</p>
<h1 id="personal-projects">Personal projects</h1>
<p>Talking about AI and LLMs after Cloudflare cited it as the reason for decimating the workforce and organisational structure feels rather tone-deaf, but I wanted to come out and be honest about where my own head is at. It’s a well accepted sentiment that continued usage of AI and LLMs causes some amount of skill atrophy and the formation of unhealthy dependence, and I never felt that more than I did this week.</p>
<p>So far I’ve been relying on unsustainably subsidised access to GitHub Copilot Pro via GitHub’s Open Source program for coding-related LLM usage, which recently received <a href="https://github.blog/news-insights/company-news/changes-to-github-copilot-individual-plans/">changes</a> that reduce usage limits significantly. While working on this very site I ran afoul of those limits pretty quickly in the first week, and then again in the second week. I had to go without access to an LLM for a few days, and I found myself being unreasonably anxious about not having this tool that I’ve lived without just fine for nearly a decade of programming.</p>
<p>I wasn’t liking how this made me feel, and the layoffs didn’t exactly help, but I did ultimately concede and admit to myself that like a rat to cheese, I have been trapped. For the first time, I had to take out my wallet and shell out the cash for a monthly subscription to OpenAI’s Codex. My sole reason for preferring it over Claude was that it lets you use third-party harnesses, so that I could use it with <a href="https://pi.dev">pi</a>. Pi is far from the most featureful coding agent you will come across, but it does that by choice and instead focuses on being incredibly extensible so you can build something exactly as per your needs. You can check out my customisations on top of pi in <a href="https://git.msfjarvis.dev/msfjarvis/my-pi">this repository</a>.</p>
<p>This transition was obviously not sunshine and rainbows, after all there’s a reason Claude Sonnet is my consistent workhorse choice at work over GPT models. GPT-5 has a widely known problem of not executing tasks and just kind of sitting around, which is something OpenClaw has worked around, so I <a href="https://git.msfjarvis.dev/msfjarvis/my-pi/src/commit/90b58cf63a7d3a411b0f84ba1d1fef0517a27214/pi/extensions/openai-codex-execution-bias.ts">implemented a Pi extension</a> to replicate those fixes. Since adding this, things have been much more reliable on longer sessions.</p>
<p>This week I’ve shipped changes in <a href="https://git.msfjarvis.dev/msfjarvis/compose-lobsters">Claw</a> to switch out the use of unsupported JSON endpoints on lobste.rs to scraping the actual HTML instead, which is hopefully more in line with the site admin’s preferences. I will reach out and verify before doing a wide rollout.</p>
<h1 id="food">Food</h1>
<p>Thankfully this week had rather quiet evenings so a lot of home cooked food was had, but obviously I was terrible at documenting it all. We made pulao one day, a high protein salad the next, and a beautifully executed shakshouka on Thursday. On Saturday we did burritos as per our usual and managed to not make too much of a mess.</p>
<p>On Friday we ate dinner at the Amicii Bar and Restaurant where I had a citrus-y mocktail and a chicken burger that was honestly kind of mid. On Sunday I went to Cafe Mizuri’s to try out their English breakfast platter, which was also very delicious and the portion size was just right. I followed it up with a Vietnamese Coffee as a treat to myself :)</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/boring-protein-shake.Cdq3tJp3.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/boring-protein-shake.Cdq3tJp3.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="I finally had the totally original idea of blending frozen fruits into my protein shakes, total game changer." aria-label="A lavender colored protein shake in a plastic shaker cup" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/boring-protein-shake.Cdq3tJp3.webp" alt="A lavender colored protein shake in a plastic shaker cup" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">I finally had the totally original idea of blending frozen fruits into my protein shakes, total game changer.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/usual-burrito-bowl.B-kt3nE7.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/usual-burrito-bowl.B-kt3nE7.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Nothing super exciting about this burrito bowl, but it keeps me fed and that's all that matters." aria-label="A simple burrito bowl of rice, beans, corn, salsa and jalapeno and some cilantro" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/usual-burrito-bowl.B-kt3nE7.webp" alt="A simple burrito bowl of rice, beans, corn, salsa and jalapeno and some cilantro" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Nothing super exciting about this burrito bowl, but it keeps me fed and that's all that matters.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/shakshuka.BFcAOjRH.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/shakshuka.BFcAOjRH.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="I only remembered to take a picture after Yash had served himself :'D" aria-label="A pan of bright red shakshouka and two eggs nestled into it. The pan is clearly half empty." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/shakshuka.BFcAOjRH.webp" alt="A pan of bright red shakshouka and two eggs nestled into it. The pan is clearly half empty." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">I only remembered to take a picture after Yash had served himself :'D</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/mocktail-at-amicii.DV3X7-RX.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/mocktail-at-amicii.DV3X7-RX.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="This hit all the right citrus notes but was a little too sweet for my liking. The branding on the basil leaf was a nice touch!" aria-label="A pink/red drink in a short glass cup. There's a single basil leaf on top with the name Amicii branded onto it" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/mocktail-at-amicii.DV3X7-RX.webp" alt="A pink/red drink in a short glass cup. There's a single basil leaf on top with the name Amicii branded onto it" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">This hit all the right citrus notes but was a little too sweet for my liking. The branding on the basil leaf was a nice touch!</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/english-breakfast-at-mizuri.Z-DseHkM.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/english-breakfast-at-mizuri.Z-DseHkM.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="The bread didn't feel like it belonged but everything else on that plate was perfectly done." aria-label="An English breakfast spread of sausages, hashbrows, salami, baked beans, toasted bread, baked tomato, an egg, some fruits and a cappuccino on the side." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/english-breakfast-at-mizuri.Z-DseHkM.webp" alt="An English breakfast spread of sausages, hashbrows, salami, baked beans, toasted bread, baked tomato, an egg, some fruits and a cappuccino on the side." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">The bread didn't feel like it belonged but everything else on that plate was perfectly done.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/vietnamese-coffee-at-mizuri.jXlfH9cn.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/vietnamese-coffee-at-mizuri.jXlfH9cn.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Yep, that's white chocolate at the bottom." aria-label="A tall glass of Vietnamese coffee with a thick layer of white chocolate at the bottom, and filled up the rest of the way with an Americano coffee" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/vietnamese-coffee-at-mizuri.jXlfH9cn.webp" alt="A tall glass of Vietnamese coffee with a thick layer of white chocolate at the bottom, and filled up the rest of the way with an Americano coffee" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Yep, that's white chocolate at the bottom.</figcaption></figure></div>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #18 (2026)</title>
      <link>https://msfjarvis.dev/weeknotes/week-18-2026/</link>
      <guid>https://msfjarvis.dev/weeknotes/week-18-2026/</guid>
      <description>A brand new website, powered by Astro and Cloudflare! And a lot of other things...</description>
      <pubDate>Sat, 02 May 2026 21:02:00 GMT</pubDate>
      <content:encoded><![CDATA[<p>Welcome to the new website! It’s powered by <a href="https://astro.build">Astro</a> but still fully static to the highest extent possible, and performs impeccably on synthetic benchmarks. I was growing increasingly frustrated with both Hugo and Netlify, so this was a great opportunity to kill 2 birds with one stone and also move the site to Cloudflare.</p>
<p>I’ve painstakingly tried to keep all old links working even as I reorganized things, but please please let me know if you find anything out of place. There are still missing features due to technical and human limitations, which will be restored slowly over time:</p>
<ul>
<li>Automatically generated OpenGraph images</li>
<li>GitHub Discussions powered comments (Not sure I want to bring this back TBH)</li>
<li><del>The glorius post footer that let you share my writing to LinkedIn, boosting my street cred</del> Back without LinkedIn, RIP my king</li>
<li><del>Incoming Webmentions viewer</del></li>
<li><del>The build-time integration that I had on Netlify to queue pages for outgoing Webmentions</del> Cron is good enough for this.</li>
</ul>
<p>Onwards to the weeknotes!</p>
<h1 id="life-and-people">Life And People</h1>
<p>HOLY SHIT WE FINALLY HAD RAIN BLESSED BY THE GOD WHO RELENTED FOR A SINGLE DAY</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/thunderstorms.BtmnEozG.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/thunderstorms.BtmnEozG.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Seeing this right outside the office building felt almost surreal after the incessant heat we've had for the past month" aria-label="A thunderstorm outside my office building, the picture shows trees being buffeted by strong winds and heavy rainfall that's started to waterlog the area a bit" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/thunderstorms.BtmnEozG.webp" alt="A thunderstorm outside my office building, the picture shows trees being buffeted by strong winds and heavy rainfall that's started to waterlog the area a bit" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Seeing this right outside the office building felt almost surreal after the incessant heat we've had for the past month</figcaption></figure>
<p>This however did cause our taxi back home to take a total of 2.5 hours from being booked to dropping us off, which usually takes 15 minutes to arrive and 15 more to reach our home.</p>
<p>Not a lot of socializing happened during the week until Saturday when <a href="https://yashgarg.dev">Yash</a> and I invited <a href="https://hachyderm.io/@vi_mi">Fenil</a> to IndieWebClub. I was a little reluctant since I didn’t feel that the discussion topics were going to be particularly interesting to me but I was pleasantly surprised and had a great time.</p>
<p>Fenil convinced us to do a watch party of <a href="https://www.imdb.com/title/tt1327035/">Dev D</a> at our apartment, we invited over Kunwar to join us and it ended up being quite the fun night.</p>
<p>Also since there’s no better place than this, my childhood friend Prajwal got a raise, promotion and bonus; go friendo 🎉</p>
<h1 id="work-and-career">Work And Career</h1>
<p>Things at work have been moving along quite well, after a long period of working exclusively on documentation and such we’re back to doing good old engineering and it’s nice to be back. I’ve been managing my increased responsibilities okay so far but it’s barely been 2 weeks so who’s to say things will stay the same.</p>
<p>Our last sprint was planned around culling our backlog and I’m pleased to report it has gone under 100 issues for the first time in maybe 2 or 3 years. A lot of important but low-key improvements have landed and we’re on track to ship in the coming week with a casual 60 or so tickets shuffled out of the backlog.</p>
<p>We had CI problems the whole week with macOS runners failing to boot up which was causing a lot of trouble in merging backlogs, so I had Claude write a bash script that just waits for jobs to fail and retries them until the pipeline is green. I jokingly spun out a side business of lending this service to my colleagues and made my first sale: ₹5 off Mayank to get his release PR through. If I still used LinkedIn this could make an excellent motivational post.</p>
<p>On Thursday Yash, Mayank and I decided to work together out of Cafe Grey again which was a fun and surprisingly productive time. Mayank was shocked we actually got so much shit done! We tried some new items off the menu this time and they were all pretty solid.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/breakfast-sandwiches.CLEwKyIH.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/breakfast-sandwiches.CLEwKyIH.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="This sandwich was delicious, and surprisingly the thick cut chips they gave on this plate had more seasoning than the actual Peri Peri fries we ordered later" aria-label="This sandwich was delicious, and surprisingly the thick cut chips they gave on this plate had more seasoning than the actual Peri Peri fries we ordered later" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/breakfast-sandwiches.CLEwKyIH.webp" alt="" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">This sandwich was delicious, and surprisingly the thick cut chips they gave on this plate had more seasoning than the actual Peri Peri fries we ordered later</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/breakfast-french-toast.C0Qg-4Ml.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/breakfast-french-toast.C0Qg-4Ml.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Mayank really wanted french toast and we all sampled the goods, looking at it almost convinced me that I could pull this off at home" aria-label="Mayank really wanted french toast and we all sampled the goods, looking at it almost convinced me that I could pull this off at home" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/breakfast-french-toast.C0Qg-4Ml.webp" alt="" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Mayank really wanted french toast and we all sampled the goods, looking at it almost convinced me that I could pull this off at home</figcaption></figure></div>
<h1 id="games">Games</h1>
<p><a href="https://www.playstation.com/games/helldivers-2">Helldivers 2</a> dropped a new update this week with a new biome and enemy class, we were getting wiped pretty frequently on difficulty 10 where we usually play so we toned it down to 8 and have been having a much more acceptable time since. The new Bullet Storm stratagem is absolutely busted and will definitely catch a nerf in the next patch.</p>
<p><a href="https://store.steampowered.com/app/3509230/Gambonanza/">Gambonanza</a> also released this week which is a chess roguelike that looks super interesting, I’ve been meaning to give it a try but I already have enough roguelikes taking over my life at the moment…</p>
<h1 id="personal-projects-and-tech-stuff">Personal Projects And Tech Stuff</h1>
<p>Rebuilding this website occupied my whole week and I’m still not remotely done, which is just going to be a constant problem I suppose. No wonder people say rewrites don’t fix anything.</p>
<p>My Forgejo instance was being absolutely pummeled this whole week by spammers which was a problem because I rely on it constantly and can’t afford downtime. I tried using <a href="https://anubis.techaro.lol">Anubis</a> which didn’t make much of a dent and ended up just letting it be and accepting that Cloudflare will have to take care of it.</p>
<p>I finally caved and ordered a new set of earbuds since my existing ones have gotten very unreliable in terms of charging both buds at the same time and pairing properly. I went with the OnePlus Nord Buds 4 Pro which are a massive upgrade from my CMF Buds. The fast pairing feature actually works, they have a Spotify integration and the active noise cancelation blows the CMF Buds out of the water. I am very impressed!</p>
<h1 id="food">Food</h1>
<p>I am writing this weeknote after attempting to pressure cook a batch of chickpeas with no water in the cooker so please excuse my lack of enthusiasm.</p>
<p>On Tuesday I was too tired to cook and Yash too hungry, so we decided to not do any cooking. I still needed to eat though, so I channeled my inner <a href="https://www.youtube.com/@coachjohnnoel/">John Noel</a> and mixed together whatever I could find in the fridge, into a bowl and ripped open a pack of nachos. The beans were pre-boiled and from a packet, which I didn’t know was a thing that was sold here and was pleasantly surprised by.</p>
<p>We had gotten some potatoes after I complained about its lack in our diets so I decided to make a classic aloo bhujia for us, which was also when I discovered how intensely Bihari/Western UP this dish is because Yash had never heard of it. It was hard having to find words for something you’ve gone 27 years assuming people just knew. Came out nice though! Could’ve made Mom proud.</p>
<div class="gallery" data-pswp-gallery="" style="--gallery-min-width: 250px; --gallery-gap: 1.5rem" data-astro-cid-rj65ajc3=""><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/bean-and-corn-nacho-dip.CFVQqX3Z.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/bean-and-corn-nacho-dip.CFVQqX3Z.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Bar none the coldest nacho dip I've ever eaten, next time I'm throwing some of this shit in a pan." aria-label="A bowl of beans, corns, cheese and some salsa that was used as a nacho dip" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/bean-and-corn-nacho-dip.CFVQqX3Z.webp" alt="A bowl of beans, corns, cheese and some salsa that was used as a nacho dip" loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Bar none the coldest nacho dip I've ever eaten, next time I'm throwing some of this shit in a pan.</figcaption></figure><figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/aloo-bhujia.BEHzPCwW.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/aloo-bhujia.BEHzPCwW.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Next time I'll have to remember to slice the onions instead of dicing them" aria-label="A glass bowl of the aloo bhujia sabzi" data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/aloo-bhujia.BEHzPCwW.webp" alt="A glass bowl of the aloo bhujia sabzi" loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Next time I'll have to remember to slice the onions instead of dicing them</figcaption></figure></div>
<p>And that’s kind of all! I will continue fucking around with this site as I find more nooks and crannies where things are broken, but hopefully it all functions well enough for people watching at home. Thanks for reading!</p>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #17 (2026)</title>
      <link>https://msfjarvis.dev/posts/weeknotes-week-17-2026/</link>
      <guid>https://msfjarvis.dev/posts/weeknotes-week-17-2026/</guid>
      <description>Adapting to changes at work and doing a bunch of gaming</description>
      <pubDate>Sun, 26 Apr 2026 10:00:00 GMT</pubDate>
      <content:encoded><![CDATA[<p>On Wednesday 22nd April this site was down for a few hours in the morning India time thanks to Netlify failing to renew its certificate. Why they thought it was not an operation that should be retried is beyond me, because when I logged into the dashboard and pressed the renew button it was able to provision a certificate in under 2 minutes. Netlify has been a good host for nearly 4 years now (logs say I signed up on Sep&nbsp;23,&nbsp;2022), but at this point I’ve had one too many problems to continue here. I’ve set up a Cloudflare Pages project with this site already, and will cut over the DNS in a week or so when I’ve ported the <a href="https://github.com/msfjarvis/netlify-webmentions-extension/">WebMentions Publisher</a> build plugin I wrote to a Cloudflare native solution. Onward to the actual week notes now!</p>
<h1 id="work">Work</h1>
<p>This was my first week assuming full responsibilities of my team as part of the <a href="https://msfjarvis.dev/posts/weeknotes-week-16-2026/#work">transition</a> I talked about last week. There’s still a bit of chaos and new processes we’re having to work up to but it has not been as disruptive as I had expected. I’ve continued to mostly focus on my engineering work and burn down our backlog as part of a bug bash sprint, inspired by a similar thing Lalit Maganti <a href="https://lalitm.com/fixits-are-good-for-the-soul/">wrote about</a> some time ago. LLMs have been quite useful here, both for identifying low hanging fruit to work through as well as actually implementing solutions. One of the tickets I worked on this week was so old that half the code it was meant to change is gone already.</p>
<p>On the flip side I had an absolutely abysmal time getting release PRs through our mandatory AI reviewer since it tries to understandably be extra paranoid for those. The issue is that these are PRs that go from one protected branch to another, so I have to raise <em>another</em> PR to fix its (often benign) complaints for multiple rounds. There’s a lot of complaints across the org about this specific issue so hopefully there’s some improvements on this front soon.</p>
<h1 id="personal-projects">Personal Projects</h1>
<p>I lightly maintain a small Telegram bot named <a href="https://github.com/msfjarvis/linkleaner">linkleaner</a> which rewrites URLs sent by users to have better link previews and optionally redirect to privacy preserving frontends, which saw a <a href="https://github.com/msfjarvis/linkleaner/issues/70">little more</a> <a href="https://github.com/msfjarvis/linkleaner/issues/72">external attention</a> than I’m used to so I took some time to work on addressing the reported issues and fighting the bitrotted deployment pipeline.</p>
<p>Work on <a href="https://git.msfjarvis.dev/msfjarvis/my-pi">my-pi</a> continued this week, I’ve continued adding features to the harness. First up was a robust permissions system for the Bash tool so I can control what commands LLMs can run. I took care to ensure I was learning from the ways OpenCode falls short here, so the extension takes care of handling pipelines, “proxy” commands like `sudo` and `exec`, and much more. I also ported <a href="https://github.com/obra/superpowers">superpowers</a>, and a very rough implementation of the <a href="https://github.com/anthropics/claude-code/tree/main/plugins/ralph-wiggum">Ralph Loop technique</a> that has so far been rather terrible.</p>
<h1 id="people">People</h1>
<p>On Friday I worked out of <a href="https://www.bangaloreeats.com/place/cafe-grey-by-dongle-and-co-indiranagar">Cafe Grey</a> with <a href="https://yashgarg.dev/">Yash</a> and <a href="https://github.com/anunaym14">Anunay</a>, which was pretty nice and let us beat the heat for a few hours. The food was decent, coffees were great and the pricing was not as eye watering as I’ve come to expect from Bengaluru cafes.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/nachos-at-cafe-grey.ChHVbYkf.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/nachos-at-cafe-grey.ChHVbYkf.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="These nachos were tasty but also obviously fresh out of a bag." aria-label="A white ceramic plate with a pile of nachos in the middle. There's melty white cheese all over the top." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/nachos-at-cafe-grey.ChHVbYkf.webp" alt="A white ceramic plate with a pile of nachos in the middle. There's melty white cheese all over the top." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">These nachos were tasty but also obviously fresh out of a bag.</figcaption></figure>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/chicken-popcorn-at-cafe-grey.BKv3hfpH.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/chicken-popcorn-at-cafe-grey.BKv3hfpH.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Can't really complain about fried chicken." aria-label="A plate of fried chicken popcorn with small bowls of mayonnaise and ketchup. There's a lemon half sitting on top of the chicken, which itself is on thin bed of lettuce." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/chicken-popcorn-at-cafe-grey.BKv3hfpH.webp" alt="A plate of fried chicken popcorn with small bowls of mayonnaise and ketchup. There's a lemon half sitting on top of the chicken, which itself is on thin bed of lettuce." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Can't really complain about fried chicken.</figcaption></figure>
<p>On Saturday I went to watch <a href="https://www.imdb.com/title/tt11378946/">Michael</a>, with Yash, Anunay, <a href="https://github.com/mayankofficial999">Mayank</a> and Anunay’s friend Harshit. The movie was great, and I only learned after the movie that Michael Jackson was portrayed by his nephew Jaafar who is also making his debut with this film. One hell of a start to an acting career!</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/michael.3Um9NKhl.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/michael.3Um9NKhl.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="The picture's a little lopsided because of letterboxing, my positioning and most importantly my ineptitude." aria-label="A scene from the movie Michael showing him singing on stage in a black jacket." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/michael.3Um9NKhl.webp" alt="A scene from the movie Michael showing him singing on stage in a black jacket." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">The picture's a little lopsided because of letterboxing, my positioning and most importantly my ineptitude.</figcaption></figure>
<p>When the movie finished we noticed some ruckus erupting in the front of the theater and apparently it was knock-off mascots just dancing away?!?? We still don’t know what the hell was happening there.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/knock-off-mascots-at-michael.fmzRP3Vz.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/knock-off-mascots-at-michael.fmzRP3Vz.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="For how random this was, the mascots were having fun with it." aria-label="A slightly blurry zoomed in photo of the front of a movie theater, showing mascots in costumes: Hello Kitty, Mickey Mouse and a nondescript mouse I cannot identify immediately." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/knock-off-mascots-at-michael.fmzRP3Vz.webp" alt="A slightly blurry zoomed in photo of the front of a movie theater, showing mascots in costumes: Hello Kitty, Mickey Mouse and a nondescript mouse I cannot identify immediately." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">For how random this was, the mascots were having fun with it.</figcaption></figure>
<h1 id="gaming">Gaming</h1>
<p>Big week of games news for me, Hades 2 got a couple of updates adding post end-game content that I checked out and loved being terrible at.</p>
<p>Marvel Rivals got another limited time zombies event which I will be sinking a lot of hours into, like last time. It will also probably be a solo affair, again like last time. Had a chance to play some Rivals ranked with <a href="https://www.sasikanth.dev/">Sasikanth</a> which validated our theory that the correct time to win games are the weeknights when the proverbial electricians and plumbers are playing (people who are too employed to be great at the game, to put it more directly).</p>
<h1 id="food">Food</h1>
<p>We didn’t do anything particularly new this week with food. We had an early mishap with a veggie pulav that we both put too much spice into and also failed to cook that spice out so it was borderline inedible. Yash and I found ourselves quietly eating mangoes right after to soothe our burning palates.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/dangerous-pulav.C7iqMW9y.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/dangerous-pulav.C7iqMW9y.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="This thing was genuinely close to being radioactive." aria-label="A bowl containing pulav, an Indian rice dish that's typically pressure cooked rice with misc veggies and spices. Ours doesn't look particularly different from what you'd expect, but the flavor was abysmal. We fucked up big time here." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/dangerous-pulav.C7iqMW9y.webp" alt="A bowl containing pulav, an Indian rice dish that's typically pressure cooked rice with misc veggies and spices. Ours doesn't look particularly different from what you'd expect, but the flavor was abysmal. We fucked up big time here." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">This thing was genuinely close to being radioactive.</figcaption></figure>
<p>On Friday I only had myself to make dinner for so I went for a classic nacho dip/salad thing which was incredibly easy to put together and tasted delicious, validated by resident protein maxxer Yash.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/nacho-dip-at-home.C8w95JLZ.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/nacho-dip-at-home.C8w95JLZ.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="I could eat this every day and not tire of it, veggies in a bowl is a pretty versatile canvas." aria-label="A bean nacho dip with red beans, cucumbers, onions, tomatoes, and corn; all wrapped up in a dressing made with a some jarred salsa, olive oil, apple cider vinegar, onion powder, and a bit of hot sauce." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/nacho-dip-at-home.C8w95JLZ.webp" alt="A bean nacho dip with red beans, cucumbers, onions, tomatoes, and corn; all wrapped up in a dressing made with a some jarred salsa, olive oil, apple cider vinegar, onion powder, and a bit of hot sauce." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">I could eat this every day and not tire of it, veggies in a bowl is a pretty versatile canvas.</figcaption></figure>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #16 (2026)</title>
      <link>https://msfjarvis.dev/posts/weeknotes-week-16-2026/</link>
      <guid>https://msfjarvis.dev/posts/weeknotes-week-16-2026/</guid>
      <description>Big week for watching movies and being outdoors!</description>
      <pubDate>Sun, 19 Apr 2026 13:42:00 GMT</pubDate>
      <content:encoded><![CDATA[<p>This week was a bit of a roller coaster, lots of fun and not-so-fun things happened but I’ve come out of the other end feeling good and that’s all that really matters.</p>
<h1 id="absolute-cinema">Absolute Cinema</h1>
<p><a href="https://yashgarg.dev/">Yash</a> and I finally managed to grab tickets for an IMAX screening of <a href="https://www.imdb.com/title/tt12042730/">Project Hail Mary</a> for Monday morning. Taking the half day off work felt worthwhile for how long we’ve had to wait for this, and by sheer coincidence I ran into <a href="https://www.rahulgonsalves.com/">Rahul Gonsalves</a> at the theatre who also agreed that Monday mornings are the best show times :P</p>
<p>On Thursday I watched <a href="https://www.imdb.com/title/tt39139925/">Dhurandhar 2</a> with Yash and <a href="https://github.com/swapnilmadavi">Swapnil</a> which was honestly quite a letdown. The first movie was <em>obviously</em> military and BJP propaganda, but the second one in so in-your-face about it that it really dampened my enjoyment of it. Since they were shot together, my complaints about the <a href="https://msfjarvis.dev/posts/weeknotes-week-51-2025/#:~:text=I%20watched%20Dhurandhar">first movie’s CGI</a> also apply to this one. The shock factor of the incredibly gory movie constantly getting interrupted by god awful CGI that fully breaks your immersion makes for a very lame viewing experience.</p>
<h1 id="personal-stuff">Personal stuff</h1>
<p>Not a lot of things happened since I was so busy hopping from one thing to the next.</p>
<p>Anunay and Yash had bought me a mouse pad for my birthday that arrived this week, it’s super cute and pretty high quality.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/mouse-mat.BIZBXVAF.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/mouse-mat.BIZBXVAF.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="I fear the day I spill anything on this beauty." aria-label="A cyberpunk style image of a girl with white hair and a can of paint in her hand. She has a lot of temporary tattoos all over her visible arm and a cute black cat reaching for the paint can. My mouse is resting next to her face." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/mouse-mat.BIZBXVAF.webp" alt="A cyberpunk style image of a girl with white hair and a can of paint in her hand. She has a lot of temporary tattoos all over her visible arm and a cute black cat reaching for the paint can. My mouse is resting next to her face." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">I fear the day I spill anything on this beauty.</figcaption></figure>
<p>Getting increasingly frustrated at <a href="https://opencode.ai">OpenCode</a> shipping showstopper bugs that go unfixed for weeks and months I decided to switch to using <a href="https://pi.dev">pi</a> as my coding agent of choice. For the uninitiated, it’s a very robust but minimal coding agent that is also at the heart of OpenClaw. It is designed to be extended by the very LLMs that the harness manages, and users are encouraged to build their own custom UIs, extensions, commands and what not on top of this. I have started my <a href="https://git.msfjarvis.dev/msfjarvis/my-pi">custom distribution of pi</a> where I’m mostly focusing to first implement features that I’ve come to rely on in OpenCode, then go from there as my imagination takes me.</p>
<h2 id="people">People</h2>
<p>The big highlight this week was RustIndia Conference on Saturday, which sadly overlapped with IndieWebClub so I had to ditch this week’s session :(</p>
<p>RustIndia was great, met a lot of people I’ve talked to online for years and generally had a pleasant time. Niko Matsakis’ <a href="https://nikomatsakis.github.io/rusts-big-moment-2026/">keynote</a> was very illuminating, he talked at length about Rust’s current limitations and the work they’re doing to address things not just with the language but at the ecosystem level itself. I’m excited to see how these things shake out over the next year or two!</p>
<p>There were a lot of quizzes and prizes going around at the stalls so I tried my hand at them but massively fumbled on the e6data booth manned by my friend <a href="https://github.com/feniljain">Fenil</a> by knowing enough Rust but being horrible at mathematics.</p>
<h1 id="work">Work</h1>
<p>As I mentioned <a href="https://msfjarvis.dev/posts/weeknotes-week-15-2026/">last week</a>, my manager <a href="https://rohanarthur.com/">Rohan Arthur</a> is leaving the company which has, to put it mildly, caused some problems. I’ve spent the week figuring things out with him, planning next steps, and talking to our director <a href="https://www.linkedin.com/in/willigeiger">Willi</a> about the future of my team. Obviously can’t divulge much here, but things are looking as good as they can be in the circumstances. Rohan prepared us well in making himself redundant in our day to day work but it’s still quite a sad transition to navigate.</p>
<h1 id="games">Games</h1>
<p>With how much I was out gaming ended up being rather sparse, but I managed to eke out a Platinum rank up in Marvel Rivals with <a href="https://github.com/akhilnarang">Akhil</a> right before the season ended. I also tried <a href="https://www.graveyardkeeper.com/">Graveyard Keeper</a> since it was free for a while on Steam but it doesn’t seem like something I’ll go back to. Genuinely just feels like a morbid Stardew Valley and I didn’t quite gel with that game either.</p>
<h1 id="food">Food</h1>
<h2 id="at-home">At home</h2>
<p><a href="https://github.com/anunaym14">Anunay</a> is still in Bengaluru which means we’ve been away more nights than not doing things (what can I say he’s just a fun loving guy), so we’ve only had one night where we really got to cook anything. <a href="https://yashgarg.dev/">Yash</a> pitched that we make a chickpea salad and so that’s what we did. During cooking this somehow became an exercise in how much protein one can fit into a single salad, and that’s how we have this abomination of chicken, chickpeas, cottage cheese, and broccoli.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/how-much-protein.CIGVpRmq.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/how-much-protein.CIGVpRmq.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="How much protein could this bowl possibly contain?" aria-label="A chickpea salad bowl containing strips of air fried chicken, some impeccably blanched broccoli, cubes of cottage cheese, corn, onions, and tomatoes. All of this is coated in a greek yogurt based sauce which had some random spices added to it." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/how-much-protein.CIGVpRmq.webp" alt="A chickpea salad bowl containing strips of air fried chicken, some impeccably blanched broccoli, cubes of cottage cheese, corn, onions, and tomatoes. All of this is coated in a greek yogurt based sauce which had some random spices added to it." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">How much protein could this bowl possibly contain?</figcaption></figure>
<h2 id="away-from-home">Away from home</h2>
<p>Got to try lots of fun stuff at great restaurants during the week! On Tuesday we were at Burma Burma:</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/burma-burma-lotus-biscoff-boba-tea.D8E5Z0op.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/burma-burma-lotus-biscoff-boba-tea.D8E5Z0op.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Lotus Biscoff Boba Tea, still as good as ever." aria-label="A glass of boba tea with a thick straw in it. The black boba is visible near the bottom, and the drink is a very faded cream color with some biscoff biscuit crumbs on top as a garnish." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/burma-burma-lotus-biscoff-boba-tea.D8E5Z0op.webp" alt="A glass of boba tea with a thick straw in it. The black boba is visible near the bottom, and the drink is a very faded cream color with some biscoff biscuit crumbs on top as a garnish." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Lotus Biscoff Boba Tea, still as good as ever.</figcaption></figure>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/burma-burma-hummus-thing.a6n8e9TE.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/burma-burma-hummus-thing.a6n8e9TE.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Some hummus thing that I fully forgot the name of, all I know is that it was a banger." aria-label="A basket of pita bread next to a plate of a bowl of hummus that has some big chillies and a red colored seasoning for garnish." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/burma-burma-hummus-thing.a6n8e9TE.webp" alt="A basket of pita bread next to a plate of a bowl of hummus that has some big chillies and a red colored seasoning for garnish." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Some hummus thing that I fully forgot the name of, all I know is that it was a banger.</figcaption></figure>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/burma-burma-papaya-thing.LrRdIT52.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/burma-burma-papaya-thing.LrRdIT52.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Another papaya thing that I can't remember the name of." aria-label="A plate of small poppers that have a pile of cured papaya shreds on top." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/burma-burma-papaya-thing.LrRdIT52.webp" alt="A plate of small poppers that have a pile of cured papaya shreds on top." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Another papaya thing that I can't remember the name of.</figcaption></figure>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/burma-burma-khowsuey.BA6kiyXX.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/burma-burma-khowsuey.BA6kiyXX.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="A bowl of khowsuey which again I have forgotten the exact name of." aria-label="A bowl of khowsuey next to a condiments platter. The gravy is a bright yellowish orange in color and has regular flour noodles in it." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/burma-burma-khowsuey.BA6kiyXX.webp" alt="A bowl of khowsuey next to a condiments platter. The gravy is a bright yellowish orange in color and has regular flour noodles in it." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">A bowl of khowsuey which again I have forgotten the exact name of.</figcaption></figure>
<p>On Wednesday we had an impromptu company dinner at Amicii, where we mostly chatted around and picked at some starters.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/amicii-pepperoni-pizza-thing.B33oFTTs.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/amicii-pepperoni-pizza-thing.B33oFTTs.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="This pizza was delicious." aria-label="A regular pepperoni pizza with a ball of burrata cheese in the middle." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/amicii-pepperoni-pizza-thing.B33oFTTs.webp" alt="A regular pepperoni pizza with a ball of burrata cheese in the middle." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">This pizza was delicious.</figcaption></figure>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #15 (2026)</title>
      <link>https://msfjarvis.dev/posts/weeknotes-week-15-2026/</link>
      <guid>https://msfjarvis.dev/posts/weeknotes-week-15-2026/</guid>
      <description>A shockingly eventful week that I was not quite prepared for</description>
      <pubDate>Sun, 12 Apr 2026 15:59:00 GMT</pubDate>
      <content:encoded><![CDATA[<p>It was my birthday this week! I was expecting the weekend to be a little chaotic but my whole week ended up being crazy.</p>
<h1 id="life-and-people">Life and People</h1>
<p><a href="https://github.com/feniljain">Fenil</a> and <a href="https://github.com/anunaym14">Anunay</a> dropped by the office one day to meet with their ex-colleagues (they were both at Dyte for a while). Had a small group hanging out, was a fun time catching up with everyone.</p>
<p><a href="https://yashgarg.dev/">Yash</a> and I met with Anunay a few more times throughout the week, had a work-from-cafe day on Friday. We were at <a href="https://www.concu.in/location/849622919">Concu</a>, which was pleasant other than an obnoxiously loud table that was annoying everyone for half an hour or so.</p>
<p>On Saturday (my birthday) we made the rather painful trip to Meco Kartopia for go karting. I wasn’t originally a big fan but managed to get the hang of it. The worst part of it is definitely the 1 to 1.5 hour long car trip to get to the place, and the lack of a cafeteria. I don’t think I’ll ever go back there, but am open to trying it again somewhere that is a more reasonable distance from me. We tried doing dinner at some of the upscale establishments like Burma Burma, but it being a weekend they were all fully occupied. I ended up just pushing through Yash’s suggestion of <a href="https://www.zomato.com/bangalore/element3-indiranagar-bangalore">Element 3</a>, a pure vegetarian place Yash and I have been to many times and everyone loved the food there. A lot of food related escapades were had, which as usual you can head on over to <a href="https://yashgarg.dev/weekly-notes-15-2026/">Yash’s weeknotes</a> to take a peek at.</p>
<h1 id="work">Work</h1>
<p>My manager <a href="https://rohanarthur.com/">Rohan Arthur</a> informed us that he’s leaving at the end of this month which was a bit of a shock. It’s a massive bummer to have such little time with one of the few leaders who have measurably improved me as an engineer and a person but I’ll focus on making the best of the time we have left. Still feels a bit unreal.</p>
<h1 id="games">Games</h1>
<p>I continued playing through bits and pieces of <a href="https://store.steampowered.com/app/3081840/Chrono_Gear_Warden_of_Time/">Chrono Gear</a> when I could find the time. <a href="https://github.com/akhilnarang">Akhil</a> pulled me back into the dungeons of <a href="https://www.marvelrivals.com/">Marvel Rivals</a> ranked queue where we managed to make a good run at our placement games. As of writing we’ve climbed up from Gold 3 to Gold 1, in touching distance of Platinum 3.</p>
<details><summary>Somewhat frustrating health stuff that you probably don’t care for</summary><h1 id="health">Health</h1><p>The doctor I was seeing for my flu had asked me to come in for another consultation to help me with my weight and sleeping, and I decided to go. Historically doctors have pinned that as a personal failing instead of actually giving any helpful advice so I was willing to give someone earnest a shot. After I got blood tests and a sleep study (<a href="https://www.sleepapnea.org/diagnosis/sleep-studies/">polysomnography</a>) done, the doctor told me to get a C-PAP machine that was gonna set me back by 80K INR and to start on the equivalent of Ozempic next month. Wasn’t really a fan of either options there so I took that prescription to another doctor who had a significantly better take on the issue, and gave me helpful tips on lifestyle changes I could make. I’ve started working on meal plans and such, and hope to start on their suggested plan in a week or so.</p><p>I also got diagnosed with an extremely severe Vitamin D deficiency and had to get a shot for it, that one hurt. Intramuscular injections are no joke!</p></details>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #14 (2026)</title>
      <link>https://msfjarvis.dev/posts/weeknotes-week-14-2026/</link>
      <guid>https://msfjarvis.dev/posts/weeknotes-week-14-2026/</guid>
      <description>Finally over my sickness!</description>
      <pubDate>Sun, 05 Apr 2026 18:06:00 GMT</pubDate>
      <content:encoded><![CDATA[<p>Barely managing to squeeze this in thanks to a super packed Sunday.</p>
<h1 id="sickness-update">Sickness Update</h1>
<p>I finally got through the rough week of dealing with the Flu, and used that down time to catch up with TV shows I was behind on. Finished watching <a href="https://www.imdb.com/title/tt27444205">Paradise</a>, and caught up with <a href="https://www.imdb.com/title/tt18923754">Daredevil: Born Again</a> and <a href="https://www.imdb.com/title/tt6741278/">Invincible</a>. I also started reading <a href="https://www.couldshouldmightdont.com/">Could Should Might Don’t</a>, my first non-fiction read in a long time. So far I’m not completely sold on the whole premise, but the topics the author chooses to break down are well presented.</p>
<h1 id="games">Games!</h1>
<p>I’ve also picked up some of my half-completed games while I was sick. I’m almost done beating <a href="https://store.steampowered.com/app/3081840/Chrono_Gear_Warden_of_Time/">Chrono Gear: Warden of Time</a>. I also resumed playing <a href="https://store.steampowered.com/app/2420110/Horizon_Forbidden_West_Complete_Edition/">Horizon Forbidden West</a> but the clunky combat pissed me off again. I love the story too much to let this detract from my enjoyment of it, so I opted to cheese my way using a trainer mod for a boss that was genuinely anti-fun. I’m not no-clipping around the place, just using invulnerability to get past a fight that feels more annoying than skill based. I’ve only used it once so far, maybe in the future I’ll get too lazy and start using it for all bosses, who’s to say. Either way I’d rather enjoy the game this way than not play it at all.</p>
<h1 id="writing">Writing</h1>
<p>In my Flu-stricken stupor I completely forgot about <a href="https://aprilcools.club">April Cools</a> this year, and had to scramble at the last minute to put a <a href="https://msfjarvis.dev/posts/i-guess-i-cook-now/">post together</a>. Admittedly, I tried to cheat my way out of the spirit of the thing by having an LLM convert my rough outline to a post but I found the writing to be so genuinely sickening to read that I threw it all away and just tanked the effort of writing through a fever to get this out.</p>
<h1 id="work-and-career">Work and Career</h1>
<p>I got the increment I was expecting at work, which was nice. I took most days off while recovering from the Flu so not a whole lot got done, but I helped grease things along wherever I could manage to spare some time to review the documentation changes we were working on.</p>
<h1 id="miscellaneous-tech-things">Miscellaneous Tech Things</h1>
<p>I’m planning to redo my room layout to open up some space in the center following Yash’s example, so I had to get a multi-plug extension for my extension so I could neatly tuck away all the power cables that go into my — extension-ception. I didn’t know <a href="https://www.amazon.in/Eveready-Everprotect-Multiplug-i4/dp/B0CQPDT6RT?nsdOptOutParam=true">this</a> was a thing!</p>
<p>I also worked a bit on <a href="https://github.com/msfjarvis/compose-lobsters">Claw</a>, my Android app for <a href="https://lobste.rs">Lobsters</a>. I removed a data migration path that had done its job in the past two releases, and added the very initial bits of login support in the app. Eventually the goal is for the app to be able to let you upvote and save posts directly to Lobsters instead of just the local store, and to maybe let you reply to comments/posts if I take on the daunting task of handling WYSIWYG Markdown input.</p>
<h1 id="people">People!</h1>
<p>The weekend was packed with a lot of socializing. <a href="https://blr.indiewebclub.org">IndieWebClub</a> on Saturday was a discussion focused session and we traded a lot of hot takes about editors, LLMs, writing tools and everything in between. It was a great time! Sadly I was not able to finish my writing draft within the allotted time, but I hope to have it out by next week.</p>
<p>On Sunday Yash and I met up with <a href="https://github.com/anunaym14">Anunay</a> and a friend of his for lunch at <a href="https://www.instagram.com/23rdstreet_pizza/">23rd Street Pizza</a> which was rather underwhelming. We meandered around a fair bit after that for some dessert and much needed steps, then got back to our place to chill for a bit. Aforementioned friend introduced us to <a href="https://boardgamegeek.com/boardgame/420087/flip-7">Flip 7</a>, which was a hilarious time with just 4 players and we fully lost track of time until it had been 3 hours. This game made me fully understand how gambling addictions come to be. The temptation to got for just one more flip is too damn high!</p>
<h1 id="the-food-section">The food section</h1>
<p>For this week I will choose to be lazy and delegate the responsibility for capturing our week’s food to my roommate <a href="https://yashgarg.dev/">Yash</a>, who is far more diligent about this than I can ever hope to be. Check out his <a href="https://yashgarg.dev/weekly-notes-14-2026/">week note</a>!</p>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #13 (2026)</title>
      <link>https://msfjarvis.dev/posts/weeknotes-week-13-2026/</link>
      <guid>https://msfjarvis.dev/posts/weeknotes-week-13-2026/</guid>
      <description>A Flu is no joke...</description>
      <pubDate>Sun, 29 Mar 2026 14:42:00 GMT</pubDate>
      <content:encoded><![CDATA[<p>This week has been a bit of a roller coaster, was having a pretty normal week then got hit with a <em>nasty</em> Flu to cap it off in the worst way possible.</p>
<h3 id="boring-tech-stuff">Boring tech stuff</h3>
<p>I’ve been trying out <a href="https://github.com/obra/superpowers">superpowers</a>, which takes gaslighting-via-markdown (otherwise known as Agent Skills) to a logical extreme, forcing LLMs to behave like a very disciplined senior engineer.</p>
<p>I used this to change a longstanding misfeature in Claw that caused it to mark comments as unread when you first view a post, which is quite redundant. superpowers spent a solid hour on this, during which I also manually reviewed a spec and an implementation plan, but the <a href="https://github.com/msfjarvis/compose-lobsters/commit/83db9bb8a8f7f1ae7dc3df305ab599f15fa7d512">result</a> is quite exhaustive and has robust test coverage which I definitely wouldn’t have bothered with.</p>
<p>I also let it loose on our work codebase by feeding it a list of prior issues we had faced in a particularly brittle component and had it refactor the code to follow the popular <a href="https://testing.googleblog.com/2025/10/simplify-your-code-functional-core.html">“functional core, imperative shell”</a> pattern and then unit test the core to prevent regressions along the bug categories we’ve been chasing for quite a while. That refactor ran even longer, but ultimately the result was again rather impressive. LLMs are (for the most part) really good at fixing tests, and superpowers forces the LLM to follow a red-green-refactor cycle for all changes which means it’s always trying to fix tests.</p>
<p>I finally finished running the full gauntlet of <a href="https://webmention.rocks">webmention.rocks</a> tests against my <a href="https://git.msfjarvis.dev/msfjarvis/acceptable-vibes/src/branch/main/webmentions-server">WebMentions server</a>. It exposed a few gaps in the implementation but I’m at 100% compliance now, the only remaining issue is now with my site not returning HTTP 410 for deleted posts because I don’t really know how to make it happen.</p>
<h3 id="boring-not-tech-stuff">Boring not-tech stuff</h3>
<p>I finished reading <a href="https://bookwyrm.social/book/102060/s/project-hail-mary">Project Hail Mary</a>, super good read. I hadn’t realized Andy Weir also wrote The Martian! The book was great, the movie’s promised to be even better but good lord has it been hard to find a way to watch it with the lack of IMAX screens.</p>
<p>The keyboard I had ordered last week arrived, completing the new set :)</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/keyboard-and-mouse.DOzaS--P.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/keyboard-and-mouse.DOzaS--P.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="The white mouse honestly works better than the lavender" aria-label="The new keyboard and mouse on top of a wooden particle board desk. The keyboard has an aluminum frame coated in blue, with a mix of blue, purple and white keys with white being the most common one. The mouse rests on a cheap RedGear mousepad." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/keyboard-and-mouse.DOzaS--P.webp" alt="The new keyboard and mouse on top of a wooden particle board desk. The keyboard has an aluminum frame coated in blue, with a mix of blue, purple and white keys with white being the most common one. The mouse rests on a cheap RedGear mousepad." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">The white mouse honestly works better than the lavender</figcaption></figure>
<p>I hadn’t spotted our Metro station cat in a while, so it was nice to come across it again.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/orange-loaf.CSe5CmjY.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/orange-loaf.CSe5CmjY.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Angy loaf" aria-label="A ginger cat loafing in the middle of two bar stools." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/orange-loaf.CSe5CmjY.webp" alt="A ginger cat loafing in the middle of two bar stools." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Angy loaf</figcaption></figure>
<h3 id="health-woes">Health woes</h3>
<p>I caught a fever on Thursday at the office which was starting to feel concerning right away, and by night had gotten bad enough that I had to arrange to see a doctor in the morning. Got diagnosed with a Flu and got a big dose of medicines to work through the weekend and see the doctor again on Monday. Was not expecting the throat problems, even my damn uvula had swollen and I could barely drink or breath. Super rough 3 days so far, the fever’s settled down now but I still have a very sore mouth and have trouble eating and swallowing. <em>Pain</em></p>
<h3 id="and-finally-the-food">And finally, the food</h3>
<p>Before I got absolutely mauled by the Flu I did do some cooking, which mostly was burrito prep that lasted us two days.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/burrito-bowl-v1.DmUyeqDC.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/burrito-bowl-v1.DmUyeqDC.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="I feel burrito bowls are kind of underrated" aria-label="A typical burrito bowl with rice, corn, lettuce, beans, diced jalapenos and some condiments." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/burrito-bowl-v1.DmUyeqDC.webp" alt="A typical burrito bowl with rice, corn, lettuce, beans, diced jalapenos and some condiments." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">I feel burrito bowls are kind of underrated</figcaption></figure>
<p>I had some chicken breasts sitting in the freezer that I wanted to finish off, so I used some of the rice from the large batch we made for the burrito bowl meal prep and made a basic tomato and cream curry for the chicken which came out pretty delicious for being basically 20 minutes of work</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/chicken-curry.D1dPL1k4.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/chicken-curry.D1dPL1k4.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Scrumptious and filling. This cooking shit is easy :P" aria-label="A plate of two chicken breasts and some rice with gravy over it. The gravy is reddish-orange in color due to the tomatoes, turmeric and heavy cream coming together. There are also bits of onion visible in the gravy." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/chicken-curry.D1dPL1k4.webp" alt="A plate of two chicken breasts and some rice with gravy over it. The gravy is reddish-orange in color due to the tomatoes, turmeric and heavy cream coming together. There are also bits of onion visible in the gravy." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Scrumptious and filling. This cooking shit is easy :P</figcaption></figure>
<hr>
<p>Hopefully the next weeknote will find me healthier :(</p>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #12 (2026)</title>
      <link>https://msfjarvis.dev/posts/weeknotes-week-12-2026/</link>
      <guid>https://msfjarvis.dev/posts/weeknotes-week-12-2026/</guid>
      <description>Movies, food, rain, and an early birthday present to myself!</description>
      <pubDate>Sun, 22 Mar 2026 10:32:00 GMT</pubDate>
      <content:encoded><![CDATA[<h2 id="life">Life</h2>
<p>As I mentioned <a href="https://msfjarvis.dev/posts/weeknotes-week-11-2026/">last week</a>, I watched <a href="https://www.imdb.com/title/tt27564844/">Iron Lung</a> on Monday. Only the premium cinemas were running shows so I had to buy an expensive ticket at PVR Director’s Cut, and got to watch it in a reclining chair that was basically a bed. Loved the movie, Markiplier did great work as both director and actor. Hopefully we can get a couple more of these authentic video game recreations from individual creators before the suits at Hollywood figure out how to ruin them even more.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/iron-lung.CbQn8qrl.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/iron-lung.CbQn8qrl.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Iron Lung was a great watch" aria-label="A scene from the movie Iron Lung, showing Markiplier inside a submarine. The subtitle reads &quot;I'm seeing some voltage irregularities&quot;." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/iron-lung.CbQn8qrl.webp" alt="A scene from the movie Iron Lung, showing Markiplier inside a submarine. The subtitle reads &quot;I'm seeing some voltage irregularities&quot;." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Iron Lung was a great watch</figcaption></figure>
<p>I was back in the office this week, work was mostly CI and suffering. On Wednesday I got caught out in the hailstorm on my way back from the office. Thankfully I didn’t catch anything from that, but I did have to figure out how to wash my shoes which was surprisingly easy — thanks Skechers.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/rain-and-hail.dscc5DRz.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/rain-and-hail.dscc5DRz.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="It was 30 degree Celsius at noon, and by 6 PM I was getting pelted by hail!" aria-label="A short video of rain and hail falling on a slightly waterlogged asphalt road. A red Maruti Suzuki Zen car is visible in the top left corner, with a partial number plate." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/rain-and-hail.dscc5DRz.webp" alt="A short video of rain and hail falling on a slightly waterlogged asphalt road. A red Maruti Suzuki Zen car is visible in the top left corner, with a partial number plate." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">It was 30 degree Celsius at noon, and by 6 PM I was getting pelted by hail!</figcaption></figure>
<h2 id="toys">Toys</h2>
<p>I had been saving up to gift myself a new keyboard and mouse for my birthday, and ended up making it an early gift by placing the orders this week. I went with the <a href="https://www.genesispc.in/products/wobkey-rainy75-mechanical-keyboard?variant=43852369068085">Wobkey Rainey75</a> keyboard and a <a href="https://meckeys.com/shop/mouse/vxe-r1-series/?attribute_pa_variations=r1-pro-max&amp;attribute_pa_colour-style=white">VXE R1 Pro Max</a> mouse. The mouse arrived today, surprisingly in white rather than the purple/lavender I thought I had chosen. Clearly I made a mistake during the order, but I’m quite happy with it regardless. It’s been a long time since I had a wireless mouse and it’s such a massive difference from my wired <a href="https://www.razer.com/gaming-mice/razer-viper-mini">Razer Viper Mini</a>. Also nice to have a working scroll wheel again :’)</p>
<p>I also bought myself a microphone arm so I could get a bit more desk space, and struggled through a few bouts of stupidity before realizing that I needed an additional screw to plug my Blue Yeti into the standard 3/8 inch mounts that feature in the microphone arms. I ordered said screw from Amazon, set it all up today and when I went to put the old desk stand in the box I realized that the screw actually came with the microphone and I am just a one-of-a-kind dumbass.</p>
<p>I had been bracing for pricing changes for my Netcup VPS, and it <a href="https://www.netcup.com/en/priceadjustment">finally arrived</a> this week. I run a pretty small ARM VPS at Netcup so my costs are only going from 5.84 EUR to 6.92 EUR, a hit I can take for the time being. Really unfortunate that the unprofitable companies propping up the AI bubble have so much access to free capital that they’re destabilizing the whole industry.</p>
<h2 id="books">Books</h2>
<p>I installed <a href="https://github.com/janeczku/calibre-web/">Calibre-Web</a> last week, and spent most of this week doing manual housekeeping on the 40 or so books I own. Cleaning up metadata, syncing read states, setting up shelves — a lot of frankly pointless work that will hopefully make life easier in the long run. At IndieWebClub I tried to give <a href="https://tanvibhakta.in">Tanvi</a> her own account on my instance, but hadn’t realized that we’d have to share the library. I’ve set up a shelf for my books so we can hopefully rely on that to work around the problem.</p>
<p>With my reading goal quite lagging, I finally finished off <a href="https://bookwyrm.social/book/235804/s/the-wizard-hunters-the-fall-of-ile-rien-book-1">The Wizard Hunters</a> that I started <a href="https://bookwyrm.social/user/msfjarvis/generatednote/9824676">reading on February 6</a>. I usually get through a book in 2 to 3 weeks, but this was slow both because it was technically two books in one and hence around 700 pages in length, and because I was just not reading as often the past few weeks. I want to read <a href="https://bookwyrm.social/book/102060/s/project-hail-mary">Project Hail Mary</a> before I watch the movie, so hopefully reading this in the next week will put me back on track for my goal of reading 24 books a year.</p>
<h2 id="writing">Writing</h2>
<p>At IndieWebClub this week I finished off and published the post about securing <a href="https://msfjarvis.dev/posts/setting-up-forward-auth-with-caddy-and-pocket-id/">Calibre-Web behind Caddy and Pocket ID</a>.</p>
<h2 id="and-finally-the-food">And finally, the food</h2>
<p>As I promised last week, with the missing Cloudflare R2 integration in my CMS no longer being an excuse for not showing off the food I keep talking about, here is some of the food I made this week.</p>
<p>I had some chicken breast lying around in the freezer and an overwhelming desire to consume it, so I threw together a pretty simple pasta sauce using tomato and cream, cooked the chicken in it and then tossed it with pasta and some spices. I used the air fryer to quickly toast some sourdough bread I had and that was dinner and the next day’s breakfast.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/chicken-pasta.Cw6z6eI6.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/chicken-pasta.Cw6z6eI6.webp" data-pswp-width="4080" data-pswp-height="3072" data-pswp-caption="Behold, the pasta." aria-label="A bowl of Fusilli pasta in a creamy and tomato rich sauce with some chicken pieces and a couple of slices of sourdough bread poking out from it." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/chicken-pasta.Cw6z6eI6.webp" alt="A bowl of Fusilli pasta in a creamy and tomato rich sauce with some chicken pieces and a couple of slices of sourdough bread poking out from it." loading="lazy" decoding="async" width="4080" height="3072" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Behold, the pasta.</figcaption></figure>
<p>Another night I ordered some nachos with my groceries so I put together a simple salad to go with the nachos. Apparently this is called <a href="https://www.spendwithpennies.com/cowboy-caviar/">“cowboy caviar”</a> in the US of A. I made this on a whim so I didn’t have kidney beans, but I did get some feta cheese and it came out very nice. Bright flavors, super satiating, lots of fiber. What’s not to like?</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/cowboy-caviar.DfEIbnCT.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/cowboy-caviar.DfEIbnCT.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Breakfast of champions or something I don't know." aria-label="The cowboy caviar salad containing diced onions, cucumbers, cherry tomatoes, corn, feta cheese and a simple sauce made with olive oil, apple cider vinegar, lemon juice and onion powder." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/cowboy-caviar.DfEIbnCT.webp" alt="The cowboy caviar salad containing diced onions, cucumbers, cherry tomatoes, corn, feta cheese and a simple sauce made with olive oil, apple cider vinegar, lemon juice and onion powder." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Breakfast of champions or something I don't know.</figcaption></figure>
<p><a href="https://yashgarg.dev/">Yash</a> was back home on Saturday so we went back to our classic rajma (kidney beans) gravy which I supplemented with a side of raita.</p>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/rajma-and-raita.20X7Zp9P.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/rajma-and-raita.20X7Zp9P.webp" data-pswp-width="3072" data-pswp-height="4080" data-pswp-caption="Feels like home." aria-label="A plate with a bowl of raita, a bowl of rajma gravy and two chapattis." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/rajma-and-raita.20X7Zp9P.webp" alt="A plate with a bowl of raita, a bowl of rajma gravy and two chapattis." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a><figcaption data-astro-cid-xekddyko="">Feels like home.</figcaption></figure>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #11 (2026)</title>
      <link>https://msfjarvis.dev/posts/weeknotes-week-11-2026/</link>
      <guid>https://msfjarvis.dev/posts/weeknotes-week-11-2026/</guid>
      <description>Would you believe it, even more travel!</description>
      <pubDate>Sun, 15 Mar 2026 14:07:00 GMT</pubDate>
      <content:encoded><![CDATA[<p>I am starting to realize that every other week I talk about traveling somewhere, in the midst of which I also threw in the part about being somewhat lonely and depressed when I had to be by myself in one place for a couple of weeks. This is probably giving people the impression that I love to travel and despise being a homebody, which is quite literally the exact opposite of who I really am. Hopefully this week was my last trip for the next few months and I can reclaim my nerdy homebody persona.</p>
<p>As hinted above, I was back home this week! My friend Rohan was getting married and I couldn’t imagine not being there, especially when our whole friend group was getting together. It was a great time, he sounded genuinely excited and happy which is all I care for. I got to see a lot of friends I haven’t met in person for over a year now, and it was very nice catching up and being a little rowdy over some drinks :)</p>
<p>While at home I also took the opportunity to hack some more on the homelab server and try out <a href="https://microvm-nix.github.io/microvm.nix/">microvm.nix</a> to enable running more than one instance of things on the same machine which has historically been a problem on NixOS. I intended to use all that preparatory work to try out <a href="https://github.com/booklore-app/booklore">Booklore</a> in a microVM since it uses MariaDB which I had no plans to run on my host, but that fell through when my suspicions around the quality issues in the v2 release were <a href="https://www.reddit.com/r/selfhosted/comments/1rs275q/psa_think_hard_before_you_deploy_booklore/">validated</a> by the revelation that the developer has let Claude run rampant over what was honestly a pretty decent bit of software. The following <a href="https://www.reddit.com/r/selfhosted/comments/1rs4nx0/my_side_of_the_story_from_the_developer_of/">meltdown from the developer</a> cemented my decision to stay away from it entirely. Instead, I set myself up with <a href="https://github.com/janeczku/calibre-web">Calibre-Web</a>.</p>
<p>It was quite straightforward, and most of my time tinkering with it actually went into setting up forward authentication using Caddy and Pocket ID. The end result of it can be found <a href="https://github.com/msfjarvis/dotfiles/blob/d4d81b24cd37456194c2e1a7ca8dde90fa19a986/modules/nixos/caddy/default.nix#L72-L107">here</a>, and I intend to write a post about it next week so others have to suffer a little less than I had to :’)</p>
<p>At home, I do my gaming on Linux where I ran into a peculiar bug involving Discord and Tailscale, which didn’t let me join any voice calls. I investigated this a bit online, and apparently it was <a href="https://github.com/tailscale/tailscale/issues/10396">reported already</a> and the <a href="https://github.com/tailscale/tailscale/issues/10396#issuecomment-3871203280">fix</a> was to hide the <code>tailscale0</code> interface from the Discord client?? That was also how I found about <a href="https://github.com/netblue30/firejail">firejail</a>, and like most things there was already a NixOS module <a href="https://github.com/msfjarvis/dotfiles/commit/d2ea971bd1276e1f47510711a7c5e813c24a50f9">to make the setup easy</a>.</p>
<p>On Saturday I flew back home via a morning flight, which is weirdly the first time I realized that the flight between Bengaluru and Hindon is closer to 3 hours than 2. Always thought otherwise, don’t know why.</p>
<p>I found out about <a href="https://izzyondroid.org/docs/general/AppInclusionPolicy/#ai-policy">IzzyOnDroid’s AI policy</a> yesterday and since I’ve <a href="https://msfjarvis.dev/posts/coming-around-on-the-utility-of-llms/">written before</a> about using LLMs for the development of Claw, I filed <a href="https://codeberg.org/IzzyOnDroid/repodata/issues/60">an issue</a> to ask for its removal from the repository. I massively appreciate the work they do for the FOSS ecosystem for Android (having donated a not-insignificant amount to their OpenCollective through Android Password Store) and I would hate to take that for granted and knowingly ignore their policies. There hasn’t been a decision made yet on it, but I’ve provided all the necessary context to aid the process.</p>
<p><a href="https://github.com/swapnilmadavi">Swapnil</a> and I went to watch <a href="https://www.imdb.com/title/tt33035197">Boong</a> right before I sat down to write this weeknote. Very cute and heartwarming, really loved it. It also made me realize how much I’ve missed going to the movies this past month, so I’m remedying it by watching <a href="https://www.imdb.com/title/tt27564844/">Iron Lung</a> tomorrow.</p>
<p>More meta stuff: I’ve <a href="https://msfjarvis.dev/posts/weeknotes-week-8-2026/">previously talked</a> about how my CMS does not have an integration with Cloudflare R2 as an excuse to not attach pictures of my food, which obviously meant that <a href="https://github.com/sveltia/sveltia-cms/commit/ff7aa3d885b4733d87c64c3a4fad350e325c6c99">the feature got shipped</a> so I have no reason to be lazy anymore. Prepare for diabolical salads next week!</p>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #10 (2026)</title>
      <link>https://msfjarvis.dev/posts/weeknotes-week-10-2026/</link>
      <guid>https://msfjarvis.dev/posts/weeknotes-week-10-2026/</guid>
      <description>The most boring week I've had this year</description>
      <pubDate>Sun, 08 Mar 2026 16:37:00 GMT</pubDate>
      <content:encoded><![CDATA[<p>Barely anything of note happened this week as practically my whole team was out-of-office so I was both working <em>and</em> living alone which made for an incredibly boring time.</p>
<p>My phone woes continued into this week, with the Pixel 8 seemingly forgetting my home Wi-Fi network entirely and refusing to connect to it. For two days I had it connect to my spare phone’s hotspot for Wi-Fi. Just like last week, this problem also magically resolved itself in two days and things went back to normal. I hate software even more.</p>
<p>I finally had to go bug my landlord to get some maintenance work done in the flat when my ceiling fan broke down, not a fun time in 32 degree Celsius weather. That took entirely too many phone calls than one would expect, but I managed to take the opportunity and get other stuff fixed around the apartment as well. Hopefully that’ll be the end of this.</p>
<p>At work I kept fighting with CI related things, which were made slower by the fact that I had to reach out to a different team to help with reviews since nobody in mine was working. Eventually I think I’ve got it all working but what a colossal waste of time it has been throughout this week. We had a <a href="https://www.cloudflarestatus.com/incidents/cs9vyjjj4trx">minor scare</a> with the Android SDK from a user report about crashes when attempting to join a meeting but thankfully we were able to debug it and identify that the problem wasn’t as widespread as we initially suspected and required a very specific setup to trigger. I fixed the root cause and cut a release, I’ll probably write a blog post about it once I’ve completed the internal incident report.</p>
<p>I had to fly back home via an early flight on the 8th and hadn’t packed for it yet so I was debating if I should go to IndieWebClub but thankfully I did end up going, the <a href="https://underline.center/t/indiewebclub-21/723">topics on the agenda</a> were great and a lot of thoughtful discussion happened that I enjoyed participating in.</p>
<p>I packed for the trip at a definitely-not-too-late 8 PM, stayed up till 2 AM playing games with friends while waiting for my taxi and managed to reach the airport in an astonishing 45 minutes. All the airport staff was still there but the foot traffic was maybe a fifth of what I usually see in Kempegowda airport, so I basically speedran through check-in and security. Time from taxi to departure gate, maybe 30 minutes.</p>
<p>And that was kind of it! I’m back home in Ghaziabad for a week to attend a friend’s wedding and will be back in Bengaluru next weekend.</p>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #9 (2026)</title>
      <link>https://msfjarvis.dev/posts/weeknotes-week-9-2026/</link>
      <guid>https://msfjarvis.dev/posts/weeknotes-week-9-2026/</guid>
      <description>Getting a little honest about my mental health</description>
      <pubDate>Sun, 01 Mar 2026 14:07:00 GMT</pubDate>
      <content:encoded><![CDATA[<blockquote>
<p>Warning: Feelings</p>
</blockquote>
<p>My roommate <a href="https://yashgarg.dev/">Yash</a> is back with his parents for a couple of weeks, which has left me alone in the house and quite severely exposed my delusion of being a loner. I’ll probably write a separate post about this at some point, but I’ve been quite overwhelmed with feelings of loneliness which aren’t helped at all by me being a general homebody so this week has been quite rough, and forced me to start training myself to address the things that feed into it. I ended up finally utilizing the free therapy options offered at Cloudflare, and make sure to have at least one cleaning related task on my daily to-do to ensure I do not spiral into my room becoming a depression nest (shoutout <a href="https://www.youtube.com/watch?v=WjsX_BfhRSo">Geega</a> my goat). This has helped so far, and will likely be plenty to tide me over until I myself go back to my family at the end of next week. I also reached out to my colleagues at work and have scheduled a day of working together out of a cafe since our teams agreed to work from home for the next week due to most people taking off for Holi.</p>
<p>I promise I’ll be okay, it’s a bit of a sad boy funk, I’ll get over it.</p>
<hr>
<p>Onward to the rest of the weeknote!</p>
<ul>
<li>I had to email the customer support for one my credit cards when I realized I needed to use my registered email, and had <em>helpfully</em> used one of DuckDuckGo’s disposable aliases for the job 😅. Figuring that one out was thankfully pretty quick, and has been <a href="https://msfjarvis.dev/notes/til-sending-emails-from-my-duckduckgo-email-alias/">put down in a note</a> for future Harsh.</li>
<li><a href="https://kat.bio/">Amogh</a> helped me figure out how to be able to pay for stuff on Steam (the aforementioned credit card being at fault) again, so any irresponsible gaming purchases I talk about in the coming weeks are his fault.</li>
<li><a href="https://msfjarvis.dev/posts/weeknotes-week-8-2026/">Last week</a> I talked about adding WebMentions support to this site, this week I kept iterating on it and it now properly extracts comment text when available and correctly attributes to the real user instead of the brid.gy relay.</li>
<li>I shipped a new release of <a href="https://github.com/msfjarvis/compose-lobsters/commit/a3d8d5b4d3dfd115b85dba7010393354543b14ee">Claw</a> this week, incorporating some UI feedback from <a href="https://abhinavsarkar.net/">Abhinav</a> and my first attempt at a (mostly) LLM generated feature: <a href="https://github.com/msfjarvis/compose-lobsters/commit/a3d8d5b4d3dfd115b85dba7010393354543b14ee">Temporary tag blocks</a>. I had to get my hands dirty at the end anyway because the LLM just completely forgot about data migration and integrity, but having it do 80% of the work while I was at the gym is pretty cool. I also have to admit that the UI flow that Claude came up with is miles better than anything that had been floating around in my brain. I don’t know much it helped, but I used <a href="https://skills.sh/wshobson/agents/mobile-android-design">this “skill”</a> as part of the prompt.</li>
<li>Someone on the payroll team at Cloudflare probably discovered <a href="https://en.wikipedia.org/wiki/Idempotence">Idempotence</a> this week as everyone at our office got paid twice :P
<ul>
<li>Fret not, the extra money is already back with Cloudflare. Cheers to a brief taste of unearned wealth, the closest I will come to sharing an emotion with a billionaire.</li>
</ul>
</li>
<li>While trying to make that bank transfer I realized that my SIM had stopped working altogether, suspiciously after the Android 17 Beta 2 upgrade. Mild panicking ensued, and I had to add an additional side quest for a duplicate or a new SIM the next morning when I was meeting <a href="https://github.com/swapnilmadavi">Swapnil</a> and <a href="https://github.com/mayankofficial999">Mayank</a> for breakfast.
<ul>
<li>The boys helpfully accompanied me to the Jio store where I got the unfortunate news that the SIM owner has to be present in-person for a duplicate (which happened to be my mother), so I went to get a new Airtel SIM instead which was a relatively quick affair.</li>
<li>Of course right after that when I get home, the Jio SIM starts working again so all of the struggle was for naught. I fucking hate software sometimes.</li>
</ul>
</li>
<li>My weekly NixOS upgrades were basically impossible this week, there was a <a href="https://github.com/NixOS/nixpkgs/pull/494816">bad Linux regression</a>, and home-manager <a href="https://github.com/nix-community/home-manager/issues/8786">also has a severe bug</a> so I just reverted everything and will deal with it next week.</li>
</ul>
<hr>
<p>In case anyone is missing the food talk, this week was rather light on the experimentation front due to the aforementioned sad boy hours. I mostly ate salads and air fried a chicken breast or two a couple of times. I did try air fried potato wedges one night and they came out pretty nice, albeit slightly dry since I got the temperatures wrong. Lesson learned!</p>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #8 (2026)</title>
      <link>https://msfjarvis.dev/posts/weeknotes-week-8-2026/</link>
      <guid>https://msfjarvis.dev/posts/weeknotes-week-8-2026/</guid>
      <description>The kitchen is my new comfort space</description>
      <pubDate>Sun, 22 Feb 2026 15:26:00 GMT</pubDate>
      <content:encoded><![CDATA[<p>I’ll apologize upfront: I’m going to talk about food a lot and not share any pictures because I have the excuse of <a href="https://github.com/sveltia/sveltia-cms/issues/586">my CMS</a> not supporting the asset pipeline I want to establish. Soon™️</p>
<p>Now, onward to the real content. A lot of time was spent in the kitchen this week, with <a href="https://yashgarg.dev/">Yash</a> and me continuing our burrito escapades. On Monday, I decided to try air-frying some tortilla chips to see how it would go, and despite the obvious problems caused by overcrowding the rather tiny fryer basket, I’d consider it a success overall. Definitely a good option for dinner in a pinch.</p>
<p>A couple of days later, we went back in for even more burritos, building on our previous experience. The beans got a more generous round of seasoning, the rice was cooked and cooled ahead of time, and we were more mindful about how much we tried to shove into each burrito. This was remarkably successful, with both of us managing to create fully wrapped burritos by the end of the ordeal. I opted for a veggie-heavy burrito bowl with my remaining portions instead of wrestling with the tortilla again, which felt like the smarter choice. Throwing in some air-fried chicken sausages elevated the whole situation, but there was a definite lack of carbs, which I’ll have to keep in mind for the future.</p>
<p>On Friday, I had zero energy to cook, so I just chopped up the remaining lettuce along with some onions, tomatoes, and cucumbers, tossed it all in some sauces we had lying around, and pretended it was a gourmet salad. 10/10, would do again.</p>
<p>Yash is back home for a couple of weeks, which means I’m left to fend for myself in terms of sustenance. So I’m making a U-turn back to the Mediterranean phase of my life and already have big batches of falafel and hummus sitting in my fridge. This time I did remember to use the appropriate amount of greens and—shocked Pikachu face—it’s actually come out way nicer than my last mishap. Who knew following the recipe was the way?</p>
<p>With all the food talk out of the way, the boys and I have been getting back into <a href="https://www.playstation.com/games/helldivers-2">Helldivers 2</a>, and things have been <a href="https://masto-archive.msfjarvis.dev/@msfjarvis/116087678608961557">going (not) great</a>. Super fun, though!</p>
<p>Relatedly, my laptop is back to its fortnightly cycle of throttling at the most inopportune moments, which has made gaming frustrating every so often. Since Windows is fairly out of my wheelhouse, I decided to commit the sin of letting an LLM replace the usual experience of stumbling through outdated forum articles. I had it run a gamut of debugging scripts to try and diagnose the problem. Everything that came out of this multi-day rigmarole is archived in <a href="https://git.msfjarvis.dev/msfjarvis/nvidia-struggles">this Git repository</a>. I’m not yet 100% confident that what Claude Sonnet 4.5 identified as the problem has truly resolved the issue, but it’s been fine for the past day or so.</p>
<p>Continuing the theme of tying things into the next entry, I have more LLM nonsense to share! I use <a href="https://jtx.techbee.at/">jtx Board</a> to manage my TODOs via CalDAV and wanted a simple way to show them in my <a href="https://github.com/glanceapp/glance">Glance</a> dashboard, which supports <a href="https://github.com/glanceapp/glance/blob/6c5b7a3f4cc409e31739b2914bb6636d08299126/docs/custom-api.md">custom APIs</a>—but unsurprisingly, only JSON. I had Claude try to write a simple proxy that could massage the CalDAV response into a suitable JSON format that I could plug into Glance. On its first pass, it took the credentials I had explicitly provided in a separate gitignored file for integration tests and put them into config.example.yml. When I asked it to remove them, it also included them in the LLM response text itself, causing them to be leaked twice instead. It also tried to claim that integration tests were passing when they obviously weren’t. Somewhere along the way, it lost the ability to issue write tool calls, which resulted in hilarious scenarios where it would attempt a write that never went through, run a test that still obviously failed, and then crash out about it. Fun for the whole family.</p>
<p><a href="https://underline.center/t/indiewebclub-20/720">IndieWebClub #20</a> was this weekend! I had missed the last two installments because I was out of Bengaluru, so I was super excited to catch up with people again. I met a bunch of new folks, had some great conversations—just a really good time. I would wholeheartedly recommend it to anyone who wants to have their own website, regardless of their technical expertise. You can get any level of help from the nicest, most patient people and become part of a small but growing community. It’s really special to me! The next one’s on the 7th of March—mark your calendars 🙂</p>
<p>And finally, this site now supports <a href="https://www.w3.org/TR/webmention/">WebMentions</a>! The server-side of this is built on top of the Cloudflare Developer Platform, leveraging Workers, the D1 SQLite database and Workers Queues. It was a nice way to finally dive back into Cloudflare’s compute offerings since I had last used them in 2022 and I was quite pleased with how much better everything is now. A lot more things are now possible to run on Workers than before, and the local development experience is <strong>really</strong> good now. I’ll probably build some more things on Workers in the future, and hopefully write about them.</p>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #7 (2026)</title>
      <link>https://msfjarvis.dev/posts/weeknotes-week-7-2026/</link>
      <guid>https://msfjarvis.dev/posts/weeknotes-week-7-2026/</guid>
      <description>Back to work and getting really into burritos</description>
      <pubDate>Sun, 15 Feb 2026 14:52:00 GMT</pubDate>
      <content:encoded><![CDATA[<p>This was my first week back in the office after an absence of 3 weeks which was a nice return to my usual routine. Catching up with 10 days of emails and messages wasn’t as herculean of a task as I had expected :D</p>
<p>I was finally able to put in a replacement request for the defective Pixel Watch 4 I had purchased <a href="https://msfjarvis.dev/posts/weeknotes-week-4-2026/">a couple of weeks ago</a> now that I was in Bengaluru and delivery was a more straightforward affair. Finding the chat option for this was an absolute nightmare trying to navigate Google’s endless mazes but once I was in there it was a pretty easy process. Blue Dart’s speed was quite the savior, and I got the replacement device back in just 3 days.</p>
<p>Now that I have a more capable fitness tracker I’ve been trying to be more mindful about staying active, which has been going less than stellar because I had been away from the gym for nearly a month so building back my endurance and stamina is gonna take a few more days. Definitely going to try and push for 10K steps a day again.</p>
<p>On Wednesday I fell on my way back from the gym by getting my foot stuck in an uneven footpath, which left me with some light but painful bruises. Thankfully they seem to have buffed out over the week, and the only permanent damage is going to be to my phone case :’)</p>
<p>On Friday, my roommate Yash and I decided to try out making burritos which were quite scuffed but ultimately rather delicious. The 8 inch burrito wraps that we got ended up being rather small, and the absence of any burrito wrapping skill between the two of us did not help the situation. Would like to try it again sometime if we can find bigger wraps, or maybe make our own.</p>
<p>Valentine’s day was spent enjoying my own company and working on some homelab stuff I had been putting off. My Git server is constantly being spammed by Chinese and Vietnamese spammers, which I <a href="https://masto-archive.msfjarvis.dev/@msfjarvis/116069080640569258">tried to mitigate unsuccessfully</a>. Will take another stab at it soon.</p>
<p>I also put out a <a href="https://github.com/msfjarvis/compose-lobsters/releases/tag/v1.60.0">new release of Claw</a> since it had been a month since the previous one, and it seems to have not exploded right away so that’s a relief.</p>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #6 (2026)</title>
      <link>https://msfjarvis.dev/posts/weeknotes-week-6-2026/</link>
      <guid>https://msfjarvis.dev/posts/weeknotes-week-6-2026/</guid>
      <description>Finally back in Bengaluru!</description>
      <pubDate>Sun, 08 Feb 2026 14:09:00 GMT</pubDate>
      <content:encoded><![CDATA[<p>After 3 weeks of being away, I am finally back in Bengaluru this weekend. I was also off work for the past ~10 days, so I am looking forward to spending half of my Monday sorting through emails and unread Google Chat messages. I may never hit Inbox Zero ever again…</p>
<p>To start off the week, I finally got my first <a href="https://www.playbalatro.com/">Balatro</a> win off an extremely lucky draw of jokers – one which gave “mult” equal to the sell value of all jokers and another that gained sell value each turn. I also hit an extremely lucky spectral card that replaced a whole hand with jesters. The seed for that run was <code>A7IBENU9</code>, in case anyone wants to show me up :P</p>
<p>I also introduced Balatro to my sister who got the hang of the Poker aspect of it, but doesn’t quite get the Roguelike part yet.</p>
<p>Outside Balatro and the occasional ceremony for the wedding I was attending, I occupied my time in trying to finish reading the minor behemoth that was <a href="https://bookwyrm.social/book/1584147/s/book-of-ile-rien">Book of Ile-Rien</a>. When I finally got done with it, I realized I had basically every Martha Wells book on the Kobo <em>except</em> the sequels to the Ile-Rien series which I wanted to read next :’D</p>
<p>The eBook edition was not available on the Kobo India store so I had to get it from Barnes &amp; Noble, then figure out how to transfer it to the Kobo which also became a quick note <a href="https://msfjarvis.dev/notes/til-easily-sending-ebooks-to-a-kobo/">on the blog</a>.</p>
<p>The flight back to Bengaluru was a Boeing which didn’t quite inspire confidence, and the rather rough turbulence in the last 15 minutes of the journey had me genuinely fearing for my life but I made it down in one piece. I had to wait a while for the 3:30 PM bus back to Indiranagar but it was made pleasant by the AC lounge in the basement bus pickup area of the Kempegowda Airport.</p>
<p>Earlier in the week I had discovered (via <a href="https://indiewebify.me/">IndieWebify</a>) about the existence of the <a href="https://microformats.org/wiki/h-entry">h-entry</a> standard, and the site implements it now.</p>
<p>I was planning to be at <a href="https://underline.center/t/indiewebclub-19/708/1">IndieWebClub #19</a> today, having been away for the last 2 iterations of it but I woke up with the sniffles and didn’t have the energy for it. Hopefully next time 🤞</p>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #5 (2026)</title>
      <link>https://msfjarvis.dev/posts/weeknotes-week-5-2026/</link>
      <guid>https://msfjarvis.dev/posts/weeknotes-week-5-2026/</guid>
      <description>I swear all this travel is against my will</description>
      <pubDate>Sun, 01 Feb 2026 15:09:00 GMT</pubDate>
      <content:encoded><![CDATA[<p>This week was mostly spent back in my ancestral village with effectively zero internet, so this weeknote is being typed up on my phone at 8:40 PM because I completely forgot about it.</p>
<p>The most interesting part of my week was me getting involved in some Discourse™ over a Cloudflare blog post that made dubious claims about a vibe coded Matrix implementation that was written to run on Workers. Needless to say I will not be exercising my “Disclaimer: I’m a CF employee but do not speak for the company” rights in the future.</p>
<p>On a positive note despite the biting cold and fog I’ve been able to get a solid 3-4 hours in the sun every day which were often translated into <em>heavenly</em> naps. To put it in perspective how rare it is for me to sleep out of turn, I’ve owned my Amazfit tracker for 2 years and this week is when I first discovered it tracks naps. During all the sun bathing I also managed to get through the first half of <a href="https://en.wikipedia.org/wiki/Ile-Rien#The_Element_of_Fire">The Book of Ile-Rien</a>.</p>
<p>And that’s kinda it! Having little to no access to the Internet has been kind of driving me crazy but I preloaded the Kobo with enough material to have no excuse to not just be reading, so that’s what I’ve been using my time for. The entirety of next week is going to be wrapped up in the festivities for the wedding I’m here for so I expect to have another light weeknote which will thankfully be written from Bengaluru :)</p>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #4 (2026)</title>
      <link>https://msfjarvis.dev/posts/weeknotes-week-4-2026/</link>
      <guid>https://msfjarvis.dev/posts/weeknotes-week-4-2026/</guid>
      <description>A slow week back at home</description>
      <pubDate>Sun, 25 Jan 2026 10:16:00 GMT</pubDate>
      <content:encoded><![CDATA[<p>I’m still back at home so there’s not been a whole lot happening with my life other than being unable to deal with the cold.</p>
<ul>
<li>
<p>I started reading <a href="https://bookwyrm.social/book/1584147/s/book-of-ile-rien">The Book of Ile-Rien</a>, without realizing that the copy I bought is actually a combined version of <a href="https://en.wikipedia.org/wiki/Ile-Rien#The_Element_of_Fire">The Element of Fire</a> and <a href="https://en.wikipedia.org/wiki/Ile-Rien#Death_of_the_Necromancer">Death of the Necromancer</a> so I have a 900+ page behemoth on my hand that is a departure from the science fiction fare I usually consume. In six chapters I’m up to 17 unique words describing medieval things that I had to look up so overall this has been quite the experience.</p>
</li>
<li>
<p>The Pixel Watch I ordered last week came in on Tuesday and by Thursday its display had already developed horrid discoloration that forced me to put it in for an <a href="https://en.wikipedia.org/wiki/Return_merchandise_authorization">RMA</a> and get a replacement. It’s particularly bad timing since I will be traveling to my hometown soon for a marriage and then head back to Bengaluru, so I tried to have it be picked up from here and get it delivered in Bengaluru. Unfortunately the support executive I talked to got the wires crossed on that and scheduled the pickup from Bengaluru 🥲. Still trying to get that sorted.</p>
</li>
<li>
<p>We had a fair amount of thunder and rains on Friday which immediately knocked out both me and the power grid. The power came back 7-8 hours later but I continue to have the worst cold.</p>
</li>
</ul>
<p>Being away from work for a couple of weeks now hasn’t been as isolating as I would’ve expected which says good things about the team, but it has still been quite the drudgery being stuck inside what with the cold and the rain. I already miss the fabled Bengaluru weather…</p>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #3 (2026)</title>
      <link>https://msfjarvis.dev/posts/weeknotes-week-3-2026/</link>
      <guid>https://msfjarvis.dev/posts/weeknotes-week-3-2026/</guid>
      <description>A relatively quiet week mostly spent traveling and reading</description>
      <pubDate>Sun, 18 Jan 2026 06:50:00 GMT</pubDate>
      <content:encoded><![CDATA[<p>As I mentioned <a href="https://msfjarvis.dev/posts/weeknotes-week-2-2026/">last week</a>, I’ve been traveling most of this week to attend the last rites of some immediate family that passed away at the start of this year. This has meant limited access to my computer and taking the week off work which might’ve been a blessing in some part.</p>
<ul>
<li>When I was leaving Bangalore, I tried taking a <a href="https://kia.bengawalk.com/">KIA BengaWalk</a> electric bus to the airport but it never showed up so I ended up in an expensive taxi instead. My experience with the bus network was pretty good when I used it last time to return from the airport so this was quite disappointing.</li>
<li><a href="http://obsidian.md/">Obsidian</a> updated this week to use rounded elements everywhere which I have mixed feelings about. It hasn’t felt too disruptive this week but I also didn’t use it all that much due to being mostly offline, so we’ll see in the next couple of weeks what side of the fence I end up on.</li>
<li>Finished reading <a href="https://bookwyrm.social/book/225118/s/shift">Shift</a> on the flight to Varanasi.</li>
<li>Immediately picked up <a href="https://bookwyrm.social/book/65228/s/dust">Dust</a> once I reached the village.</li>
<li>The generally poor mobile network at the village exposed a failure condition for the home screen widget in my app <a href="https://github.com/msfjarvis/compose-lobsters/">Claw</a>, so I took a crack at having <a href="https://github.com/copilot">Copilot</a> implement a caching feature to make the updates tolerant of transiently bad network. It took some prodding to make it all work, but in the end I was mostly satisfied with its ability to copy existing code <a href="https://github.com/msfjarvis/compose-lobsters/pull/1041">[PR]</a>.</li>
<li>The day before we were supposed to head back home, I got roped into assembling wedding invites with my Dad which ended up taking most of our time but it was nice to catch up with Dad for an extended period that I usually don’t get the opportunity for.</li>
<li>We ended up splitting our drive back home with a pit stop in Allahabad at a family friend, and I ashamedly used that time to catch up with work. I had completely forgotten about the Q1 kickoff meetings so there’s a couple of hours of recordings to watch when I’m back next week.</li>
<li>We left bright and early for the drive back which was rather rough with the heavy fog. I used the time in the car to finish off reading <a href="https://bookwyrm.social/book/65228/s/dust">Dust</a>, which might’ve been the fastest I’ve gotten through 300+ pages. The Silo series is written in quite a cliffhanger-heavy style where every chapter keeps you hooked, so I found it hard to put down. No complaints though, I loved all 3 books.</li>
<li>My Amazfit fitness tracker fell apart <a href="https://msfjarvis.dev/posts/weeknotes-week-1-2026/">again</a> so I finally ordered the Pixel Watch 4 I had been eyeing, with a <a href="https://www.amazon.in/dp/B0FWT8ND63">sturdy case</a> to protect it from my neglect.</li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #2 (2026)</title>
      <link>https://msfjarvis.dev/posts/weeknotes-week-2-2026/</link>
      <guid>https://msfjarvis.dev/posts/weeknotes-week-2-2026/</guid>
      <description>Rounding up a rather depressing week</description>
      <pubDate>Sun, 11 Jan 2026 14:08:00 GMT</pubDate>
      <content:encoded><![CDATA[<p>This week has been quite difficult on the mental, with the death of my maternal grandmother and my childhood best friend’s father in quick succession. I’ll be going home for their last rites next week, and probably miss the weeknote posting schedule. Despite the horrible start, other things did happen during the rest of the days as listed out below.</p>
<ul>
<li>I had to shave my beard because of some skin irritation that I am medicating for, which apparently was enough to confuse my landlord into wondering who I was.</li>
<li>As I am in a quite Mediterranean time of my life, another batch of hummus was created, this time with a lot of more spices and it came out quite delicious indeed.</li>
<li>My phone has had the “pink line of dead pixels” syndrome for a while but it finally became enough of a problem for me to get it repaired, and in the process Android’s <a href="https://support.google.com/pixelphone/answer/14266732?hl=en">Repair Mode</a> bugged out and forced me to wipe my device to get it out of repair mode. Quite the annoyance to put onto a person already in the dumps, made worse by a Firefox bug that <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=2009251">caused passkeys to not work</a>.</li>
<li>The aforementioned data wipe also exposed a bug in <a href="https://github.com/msfjarvis/compose-lobsters/">Claw</a> which prevented auto backup from working, so at least <a href="https://github.com/msfjarvis/compose-lobsters/commit/e07bd441a8801bbb5b633636076dc36a154fe30d">something good</a> came out of me losing 3 months of saved posts since I had last backed things up manually.</li>
<li><a href="https://www.linkedin.com/in/willigeiger">Willi Geiger</a>, the head of the Cloudflare Media team was visiting the Bengaluru office this week. He took a session explaining the Media business as well as 1:1 meetings with every one of us who works in the Media team. Was nice having him around, shadowing how we do things in the Bengaluru office.</li>
<li>Watched <a href="https://en.wikipedia.org/wiki/Avatar%3A_Fire_and_Ash">Avatar Fire and Ash</a> with a couple of friends, as usual it’s a great spectacle with a flimsy story. Hollywood, keep giving this guy money to justify the existence of IMAX.</li>
<li>Last week I had ordered some accessories for the <a href="https://www.ikea.com/in/en/cat/skadis-series-37813/">IKEA Pegboard</a> which arrived on Saturday, and I was finally able to fill out the thing and put up some of the stuff that was cluttering my desk.</li>
<li><a href="https://yashgarg.dev">Yash</a> and I have been experimenting on the cooking front to start making more things than our usual 4 dishes and made some <a href="https://www.vegrecipesofindia.com/baingan-bharta-recipe-punjabi-baingan-bharta-recipe/">baingan bharta</a> on Saturday. Definitely burnt some of my fingertips off while roasting and peeling the eggplants but completely worth it.</li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #1 (2026)</title>
      <link>https://msfjarvis.dev/posts/weeknotes-week-1-2026/</link>
      <guid>https://msfjarvis.dev/posts/weeknotes-week-1-2026/</guid>
      <description>Starting off the year being VERY lazy</description>
      <pubDate>Sat, 03 Jan 2026 10:50:58 GMT</pubDate>
      <content:encoded><![CDATA[<ul>
<li>
<p>I put out a new post this week <a href="https://msfjarvis.dev/posts/coming-around-on-the-utility-of-llms/">on my changing my stance on LLMs as coding assistants</a>. I talked myself out of it a few times because the discourse around generative AI is so polarized but I ended up deciding that I shouldn’t have to censor myself for fear of some angry mentions on Mastodon.</p>
</li>
<li>
<p>The Steam Winter Sale is ending early next week, so I finally pulled the trigger and bought the stuff in my cart, likely to sit in my backlog forever. I ended up cutting out ARC Raiders because the extraction shooter genre isn’t very appealing to me. The games I did buy are listed below:</p>
<ol>
<li>Balatro</li>
<li>PEAK</li>
<li>Slay The Spire</li>
<li>The Witcher trilogy</li>
<li>No Mans Sky</li>
</ol>
</li>
<li>
<p>Of the games I bought, Balatro ended up being the obvious first pick and has replaced Marvel Snap as my casual 15 minute game. I’m pretty sad that the mobile versions don’t sync with my Steam copy of the game so I don’t play it on mobile anymore.</p>
</li>
<li>
<p>My sister called me out of the blue asking why her laptop is not as easily repairable anymore, and we had quite a nice conversation about <a href="https://en.wikipedia.org/wiki/Enshittification">enshittification</a> and <a href="https://en.wikipedia.org/wiki/Planned_obsolescence">planned obsolescence</a>. Pretty proud of her for being so cognizant about the state of consumerism in everyday life.</p>
<ul>
<li>We ended up having another conversation later in the week around copyright law, because she wanted to find a book on <a href="https://en.wikipedia.org/wiki/Anna%27s_Archive">Anna’s Archive</a> and was distraught to discover that the only domain she was aware of had been blocked. Having to explain why domains people paid for can just be taken away was, to say the least, <em>interesting</em>.</li>
</ul>
</li>
<li>
<p>My cheap and reliable fitness tracker, the <a href="https://www.amazon.in/dp/B094NDV47Z">Amazfit GTS 2e</a>, <em>almost</em> succumbed to its 2 years of abuse. Thankfully I was able to seal it back shut with some superglue, but the vibration motor no longer works which means I don’t get reminded to get off my ass every hour and the alarm functionality is useless. Maybe this is the universe’s way of reinforcing my financially irresponsible desire of buying a Pixel Watch and adding <a href="https://wearos.google.com/">WearOS</a> to my skill set.</p>
</li>
</ul>
<figure data-image-modal-root="" data-astro-cid-xekddyko=""><a class="pswp-gallery-item image-modal__trigger" href="https://msfjarvis.dev/_astro/my-broken-watch.C603NOsx.webp" data-pswp-light-src="https://msfjarvis.dev/_astro/my-broken-watch.C603NOsx.webp" data-pswp-width="3072" data-pswp-height="4080" aria-label="A picture of the aforementioned watch on my arm, with its display precariously detached from the rest of the body and only attached on the left side. The watch is kind of scuffed and filthy." data-astro-cid-xekddyko=""><span class="image-modal__media" data-astro-cid-xekddyko=""><picture data-astro-cid-xekddyko=""><img src="https://msfjarvis.dev/_astro/my-broken-watch.C603NOsx.webp" alt="A picture of the aforementioned watch on my arm, with its display precariously detached from the rest of the body and only attached on the left side. The watch is kind of scuffed and filthy." loading="lazy" decoding="async" width="3072" height="4080" data-astro-cid-xekddyko=""></picture><span class="image-modal__hint" aria-hidden="true" data-astro-cid-xekddyko="">Expand image</span></span></a></figure>
<ul>
<li>
<p>I <a href="https://bookwyrm.social/user/msfjarvis/generatednote/9326045">started reading</a> the next part of the <a href="https://en.wikipedia.org/wiki/Silo_(series)">Silo series</a>: <a href="https://en.wikipedia.org/wiki/Silo_(series)#Shift">Shift</a>. With the constant power cuts happening here in Indiranagar, this book on my Kobo has been the only thing I can do reliably without the threat of an arbitrary interruption.</p>
</li>
<li>
<p><a href="https://yashgarg.dev/">Roomie</a> and I met up with <a href="https://github.com/feniljain">Fenil</a> this week for some tea and snacks, was lovely catching up and yapping about stuff. Hopefully we can make it a regular thing!</p>
</li>
</ul>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #52 (2025)</title>
      <link>https://msfjarvis.dev/posts/weeknotes-week-52-2025/</link>
      <guid>https://msfjarvis.dev/posts/weeknotes-week-52-2025/</guid>
      <description>The final edition of the 2025 weeknotes</description>
      <pubDate>Sun, 28 Dec 2025 14:35:00 GMT</pubDate>
      <content:encoded><![CDATA[<ul>
<li>With some help from my roommate, I’ve started doing some proper weight training at the gym to speed up my weight loss journey and help build up some muscle definition. Way too early for any results, but the burn of a good workout feels nice until the soreness sets in :P</li>
<li>The Periodic Notes plug in I use for Obsidian has a bug with how it handles week alignments (<a href="https://github.com/liamcain/obsidian-periodic-notes/issues/238">here</a>) which prevented the “Open weekly note” command from working. Thankfully I realized that Obsidian plugins are just regular files in my vault so I was able to go in and fix the bug and have it fully work again!</li>
<li>My Telegram account was suspended last week under dubious circumstances, and I was finally able to get it back on Thursday by appealing the suspension again. Apparently this time round my appeal got accepted in 1 minute flat, but I didn’t notice until way later in the day because I had no expectations from them.</li>
<li>I’ve been having a bit of a monster week working on <a href="https://github.com/msfjarvis/compose-lobsters/">Claw</a>, my Android client for <a href="https://lobste.rs">Lobsters</a>. I fixed every single crash logged on Sentry, did a long-pending migration to drop a deprecated dependency injection library, and added a chunky suite of end-to-end tests using <a href="https://maestro.dev">Maestro</a> to paper over the lack of unit testing. Soon™</li>
<li>Making hummus at home has been a longstanding goal of mine which I finally acted on this week, and it came out quite nice! Originally I planned to make my own <a href="https://en.wikipedia.org/wiki/Tahini">Tahini</a> as well but I realized quite quickly that I don’t have the patience to roast sesame seeds for an hour :)</li>
</ul>
<p>I’m writing this at 9 PM on a Sunday which for a weeknote feels like turning in an assignment at 11:59 PM on the due date, going forward I’ll try to block a chunk of time earlier in the day to work on this. The <a href="https://msfjarvis.dev/notes/collating-entries-in-my-obsidian-journal-for-week-notes/">Obsidian setup I created</a> to help with these weeknotes is still coming in quite handy, makes me quite happy that I chose to <a href="https://msfjarvis.dev/posts/migrating-from-logseq-to-obsidian/">migrate out of Logseq</a> earlier this year.</p>]]></content:encoded>
    </item>
    <item>
      <title>Weeknotes: Week #51 (2025)</title>
      <link>https://msfjarvis.dev/posts/weeknotes-week-51-2025/</link>
      <guid>https://msfjarvis.dev/posts/weeknotes-week-51-2025/</guid>
      <description>My very first weeknotes, ironically for the second last week of the year :D</description>
      <pubDate>Sat, 20 Dec 2025 10:55:00 GMT</pubDate>
      <content:encoded><![CDATA[<p>I got inspired by <a href="https://abhinavsarkar.net/notes/tags/weeknotes/">Abhinav</a> and <a href="https://ankursethi.com/">Ankur</a> last week to start writing weeknotes, so I spent that weekend setting up my existing journaling system to expose weeknote-relevant entries in a nice single page view (you can read about that <a href="https://msfjarvis.dev/notes/collating-entries-in-my-obsidian-journal-for-week-notes/">here</a>). This is the first weeknote as a direct result of that, being written at <a href="https://underline.center/t/indiewebclub-16-with-ankur-and-tanvi/622">IndieWebClub #16</a>!</p>
<ul>
<li>I finished my personal reading goal of 24 books this year, being tracked <a href="https://bookwyrm.social/user/msfjarvis/goal/2025">here</a>. Next year I wanna blend in a bit more non-fiction into this, and hopefully raise the count by a few more.</li>
<li>Continuing on the book front, I finished the last two short stories from the Murderbot series: <a href="https://torpublishinggroup.com/home-habitat-range-niche-territory/?isbn=9781250838865&amp;format=ebook">Home: Habitat, Range, Niche, Territory</a> and <a href="https://torpublishinggroup.com/rapport-friendship-solidarity-communion-empathy/?isbn=9781250425362&amp;format=ebook">Rapport: Friendship, Solidarity, Communion, Empathy</a>, and started reading <a href="https://en.wikipedia.org/wiki/Silo_(series)#Wool">Wool</a>.</li>
<li>There was an alumni dinner for <a href="https://www.obvious.in/">Obvious</a> on Wednesday where we ended up with 20+ people at <a href="https://www.idylllindia.com/">Idylll</a>. Met a lot of people from before my time at Obvious, and caught up with the ones I did work with. Super fun experience, was very glad that I could make it.</li>
<li>My Telegram account got banned for no particular reason, likely by mass reporting by someone I pissed off and forgot about? I’ve reconvened on Discord for now but it’s clearly a problem that my primary communication platform can just evaporate overnight. I can set something up for myself but moving over friends is gonna be the real pain.</li>
<li>I watched <a href="https://en.wikipedia.org/wiki/Dhurandhar">Dhurandhar</a> on Thursday with a couple of friends and it was great! Bit more gory than I expected from Bollywood and the CGI was a little iffy but the story and acting more than make up for it.</li>
<li>I tried getting back into <a href="https://www.hollowknight.com/">Hollow Knight</a> but the combat is not really working for me, so I’ll let the roguelike fever die down for a bit and pick up <a href="https://en.wikipedia.org/wiki/Control_(video_game)">Control</a> or <a href="https://en.wikipedia.org/wiki/Horizon_Forbidden_West">Horizon Forbidden West</a> which I’ve been sitting on for a while.</li>
<li>At work I’ve mostly been busy with the <a href="https://kotlinlang.org/docs/whatsnew23.html">Kotlin 2.3.0</a> upgrade which has a lot performance improvements and additions relevant to our needs. I was able to get everything to work, but unfortunately can’t ship it without a compatible <a href="https://github.com/touchlab/SKIE/issues/173">SKIE</a> release. Hopefully soon!</li>
<li>I finally added search to this blog! It’s something I had wanted for a long while and being at IndieWebClub finally motivated me to execute on it. I’m pretty happy with the result, but I intend to customize the UI and search result ranking a bit since I saw some instances of tag pages being prioritized over the actual blog post using the tag.</li>
</ul>]]></content:encoded>
    </item>
  </channel>
</rss>