<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Arjun Mahishi</title>
    <link>https://arjunmahishi.com/</link>
    <description>Software &amp; other interests by Arjun Mahishi</description>
    <language>en</language>
    <atom:link href="https://arjunmahishi.com/feed.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>PromQL over offline metric dumps</title>
      <link>https://arjunmahishi.com/posts/promql-over-offline-metric-dumps/</link>
      <guid isPermaLink="true">https://arjunmahishi.com/posts/promql-over-offline-metric-dumps/</guid>
      <pubDate>Sun, 26 Jul 2026 00:00:00 GMT</pubDate>
      <description>A few months ago, on the first day of a &quot;breather week&quot; (a week we get every few quarters at Cockroach Labs to step away from our usual work and build whatever we want), I set out to do something that sounded slightly ridiculous: make a static file full of database metrics answer PromQL queries.…</description>
    </item>
    <item>
      <title>append: to copy or not to copy</title>
      <link>https://arjunmahishi.com/posts/append-behaviour/</link>
      <guid isPermaLink="true">https://arjunmahishi.com/posts/append-behaviour/</guid>
      <pubDate>Tue, 04 Feb 2025 00:00:00 GMT</pubDate>
      <description>I got to do some tricky string manipulation involving non-unicode characters last week. While working on that, I came across an unexpected behaviour of the append function in Go. Consider this code snippet:</description>
    </item>
    <item>
      <title>2024 wrapped</title>
      <link>https://arjunmahishi.com/posts/2024-wrapped/</link>
      <guid isPermaLink="true">https://arjunmahishi.com/posts/2024-wrapped/</guid>
      <pubDate>Tue, 31 Dec 2024 00:00:00 GMT</pubDate>
      <description>2024 was very kind to me. It was probably the best year so far. I would not change a thing about it. Travelled to interesting places, ran, hiked, met goals, and did so much more. Unlike the previous years, I spent a lot of time outdoors. Writing this post to remember some of it.</description>
    </item>
    <item>
      <title>Meghalaya on a scooter</title>
      <link>https://arjunmahishi.com/posts/meghalaya-solo/</link>
      <guid isPermaLink="true">https://arjunmahishi.com/posts/meghalaya-solo/</guid>
      <pubDate>Sun, 17 Sep 2023 00:00:00 GMT</pubDate>
      <description>After quitting my job at Last9, I decided to take a month off (which I&apos;m still in the middle of, at the time of writing this post). During this time, I wanted to travel solo. The idea of solo travel has always fascinated me. Traveling in groups is fun. But the plan/itinerary becomes an aggregate…</description>
    </item>
    <item>
      <title>Using a Golang package in Python using Gopy</title>
      <link>https://last9.io/blog/using-golang-package-in-python-using-gopy/</link>
      <guid isPermaLink="true">https://last9.io/blog/using-golang-package-in-python-using-gopy/</guid>
      <pubDate>Tue, 23 May 2023 00:00:00 GMT</pubDate>
      <description>Read Using a Golang package in Python using Gopy on last9.io.</description>
    </item>
    <item>
      <title>Using Golang&apos;s Stringer tool (take 2)</title>
      <link>https://last9.io/blog/golang-stringer-tool/</link>
      <guid isPermaLink="true">https://last9.io/blog/golang-stringer-tool/</guid>
      <pubDate>Mon, 12 Dec 2022 00:00:00 GMT</pubDate>
      <description>Read Using Golang&apos;s Stringer tool (take 2) on last9.io.</description>
    </item>
    <item>
      <title>Remote Write Dummy Metrics</title>
      <link>https://arjunmahishi.com/posts/remote-write-dummy-metrics/</link>
      <guid isPermaLink="true">https://arjunmahishi.com/posts/remote-write-dummy-metrics/</guid>
      <pubDate>Wed, 31 Aug 2022 00:00:00 GMT</pubDate>
      <description>While working on any system built on top of prometheus based storage, you might want to use dummy data for testing. But prometheus based storages (prometheus, victoriaMetrics, m3db etc) don’t support “insert” queries like SQL. So, this doc will walk you through how to remote_write data into prome…</description>
    </item>
    <item>
      <title>Returning empty interfaces in Golang</title>
      <link>https://arjunmahishi.com/posts/empty-interfaces-golang/</link>
      <guid isPermaLink="true">https://arjunmahishi.com/posts/empty-interfaces-golang/</guid>
      <pubDate>Sat, 08 Jan 2022 00:00:00 GMT</pubDate>
      <description>This week I ran into a bug with an empty interface{} which highlighted a smell in the code. This post describes what the bug is, how I fixed it, and the lessons learned.</description>
    </item>
    <item>
      <title>Rewriting my existing neovim config in lua</title>
      <link>https://arjunmahishi.com/posts/vimscript-to-lua-migration/</link>
      <guid isPermaLink="true">https://arjunmahishi.com/posts/vimscript-to-lua-migration/</guid>
      <pubDate>Fri, 05 Nov 2021 00:00:00 GMT</pubDate>
      <description>I&apos;ve been wanting to rewrite my neovim config in Lua for a really long time. I didn&apos;t really know why. Just wanted to do it. Lua has a more sane and intuitive syntax compared to vimscript. So, it ends up being easier to maintain, refactor and extend. Plus, I think the entire neovim community is m…</description>
    </item>
    <item>
      <title>Prettify JSON in Vim</title>
      <link>https://arjunmahishi.com/posts/prettify-json/</link>
      <guid isPermaLink="true">https://arjunmahishi.com/posts/prettify-json/</guid>
      <pubDate>Sun, 10 Oct 2021 00:00:00 GMT</pubDate>
      <description>If you have ever opened a large auto-generated JSON file, you probably would have wanted to pull your hair out. To be able to read it easily, you would have to copy the whole thing, open an online JSON formatting tool, paste it, get the formatted output and read it.</description>
    </item>
    <item>
      <title>Initialization Loop in Golang</title>
      <link>https://arjunmahishi.com/posts/initialization-loop-golang/</link>
      <guid isPermaLink="true">https://arjunmahishi.com/posts/initialization-loop-golang/</guid>
      <pubDate>Sun, 22 Aug 2021 00:00:00 GMT</pubDate>
      <description>A couple of days ago, I was writing a program in Go and ran into an initialization loop. I was able to quickly fix it with 1 google search which landed on this StackOverflow question. But it didn&apos;t explain what an init loop is and why it occurs. So, this post is an attempt to explain the what and…</description>
    </item>
    <item>
      <title>Tapping into the system clipboard</title>
      <link>https://arjunmahishi.com/posts/tapping-into-system-clipboard/</link>
      <guid isPermaLink="true">https://arjunmahishi.com/posts/tapping-into-system-clipboard/</guid>
      <pubDate>Sun, 11 Jul 2021 00:00:00 GMT</pubDate>
      <description>Copying text to and from vim and the outside world is a pain in the ass. This is because vim&apos;s default register where it stores text copied with y is scoped only to that perticular vim session.</description>
    </item>
    <item>
      <title>Using Golang&apos;s Stringer tool</title>
      <link>https://arjunmahishi.com/posts/golang-stringer/</link>
      <guid isPermaLink="true">https://arjunmahishi.com/posts/golang-stringer/</guid>
      <pubDate>Tue, 28 Jan 2020 00:00:00 GMT</pubDate>
      <description>Straight from the documentation:</description>
    </item>
    <item>
      <title>Test-driven development with Golang</title>
      <link>https://arjunmahishi.com/posts/tdd-with-golang/</link>
      <guid isPermaLink="true">https://arjunmahishi.com/posts/tdd-with-golang/</guid>
      <pubDate>Tue, 31 Jul 2018 00:00:00 GMT</pubDate>
      <description>Testing — An activity hated by most human beings Testing is an investigation done to make sure that the code we have written is reliable and meets the given requirements. The most common way to test code is to write unit tests for different units of the codebase. This makes it easy to isolate the…</description>
    </item>
  </channel>
</rss>
