<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>Raghul Jagannathan</title>
  <subtitle>A minimal personal blog about code, technology, and craftsmanship.</subtitle>
  <link href="https://raghulj.com/feed.xml" rel="self"/>
  <link href="https://raghulj.com/"/>
  <updated>2025-08-10T00:00:00Z</updated>
  <id>https://raghulj.com/</id>
  <author>
    <name>Raghul Jagannathan</name>
    <email>madjokr@gmail.com</email>
  </author>
  <entry>
    <title>Current development setup</title>
    <link href="https://raghulj.com/posts/2025-08-10-development-workflow/"/>
    <updated>2025-08-10T00:00:00Z</updated>
    <id>https://raghulj.com/posts/2025-08-10-development-workflow/</id>
    <content type="html">&lt;p&gt;My development workflow has changed recently, mainly because of the usage of Claude Code and other terminal-based coding agents. I used to be a great fan of VS Code. One of the indispensable features in VS Code is &lt;a href=&quot;https://code.visualstudio.com/docs/remote/ssh&quot;&gt;Remote-SSH&lt;/a&gt;. The only reason I still have VS Code on my computer is because of this feature. It comes in quite handy when you want to view and change a few files in a convenient way. VS Code used to be my Notepad, code editor, and general-purpose editor.&lt;/p&gt;
&lt;p&gt;There are a few other tools that make my whole development different these days:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Docker:&lt;/strong&gt; Back-end development was never complete without me running the local development server along with Postgres or any other database installed locally on my machine. There was a period where local development still happened only by manually starting the dev server without Docker, installing all the dependencies by hand. As Claude manages the whole development process, every single change that happens on my system happens inside Docker. This is done by using a local Docker Compose stack.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Database tool:&lt;/strong&gt; &lt;a href=&quot;https://eggerapps.at/postico2/&quot;&gt;Postico&lt;/a&gt; used to be my go-to database viewer for managing and viewing structures. I feel satisfied only when I view those structures visually and confirm whether the models designed using frameworks like Django, SQLAlchemy, or Drizzle (Node.js) really exist. I do love querying the database and seeing what&#39;s going on in production as well. There are scenarios where I had to vacuum the production database for a legacy codebase. Nowadays, I tend to lean more towards the TUI — specifically, &lt;a href=&quot;https://github.com/jorgerojas26/lazysql&quot;&gt;Lazysql&lt;/a&gt;. I can edit almost any column, including JSON fields, similar to what I could do with Postico.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Git viewer:&lt;/strong&gt; The most underestimated tool that comes free with VS Code. I occasionally use Sublime Merge once in a while. These days, it&#39;s &lt;a href=&quot;https://github.com/jesseduffield/lazygit&quot;&gt;Lazygit&lt;/a&gt;. With Lazygit, I mostly use it for viewing the diff of files.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tmux:&lt;/strong&gt; The terminal multiplexer that changes the way I work. As LLMs become the standard for coding, I try more than a few applications and projects in multiple sessions. Tmux is a game changer for all my needs. Switching between sessions, windows, and panes is more comfortable compared to tabs in a GUI. And why tmux? It&#39;s because all my development happens on a single Mac mini. A Mac mini runs all my projects inside a tmux server, which is created when you start a session. Things become quite handy when all your projects are running in a single box on Docker.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Tailscale:&lt;/strong&gt; I access my Mac mini from the office, home, and anywhere I go. That&#39;s possible only because of Tailscale — one of the best tools that makes your networking a breeze. I connect to my Mac mini through Tailscale and open a tmux session on any remote computer.&lt;/p&gt;
&lt;p&gt;I did try lots of tools, like &lt;a href=&quot;https://herdr.dev/&quot;&gt;herdr&lt;/a&gt; (not comfortable yet) and different terminals like Alacritty. Again, the terminal doesn&#39;t matter when you use tmux. I switch between Ghostty and Kitty a lot these days.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Using Apple fonts in Linux</title>
    <link href="https://raghulj.com/posts/2024-06-23-changing-default-font/"/>
    <updated>2024-06-23T00:00:00Z</updated>
    <id>https://raghulj.com/posts/2024-06-23-changing-default-font/</id>
    <content type="html">&lt;p&gt;It&#39;s without a doubt that Apple has a great eye for aesthetics. When you migrate from the Apple ecosystem to another platform, the first thing you notice is the font. Windows and Linux fonts are beautiful in their own ways, but if you are as picky as I am about certain fonts in your browser and shell, there is a way to handle this on Linux.&lt;/p&gt;
&lt;p&gt;For the file manager, terminal, and editor, it&#39;s not hard to change the font. If you are using GNOME or MATE, gnome-tweaks is a great application for choosing specific fonts for the interface and documents. I recommend downloading your favorite fonts to the &lt;code&gt;~/.fonts&lt;/code&gt; folder and running &lt;code&gt;fc-cache -fv&lt;/code&gt; to let the system know about the new fonts. GNOME Tweaks is a fantastic tool for that. My go-to option, which is close to the &#39;Helvetica&#39; font, is &#39;Inter var&#39;.&lt;/p&gt;
&lt;p&gt;The most important thing is the browser. Even though you change the interface and document fonts, it doesn&#39;t affect the browser&#39;s default font. Without a tool, it&#39;s a bit harder to make that work. However, you can still do it by creating an alias file in &lt;code&gt;~/.config/fontconfig/conf.d/some-alias.conf&lt;/code&gt;. The easiest way is to use a tool called Font-Manager. Install it with sudo apt install font-manager. Once installed, create three &#39;Substitutions&#39; in &#39;Settings&#39;:&lt;/p&gt;
&lt;pre&gt;
system-ui - &#39;prefer&#39; -&gt; &#39;Inter&#39;
BlinkMacSystemFont - &#39;prefer&#39; -&gt; &#39;BlinkMacSystemFont&#39; (if you have Apple fonts)
system-ui - &#39;prefer&#39; -&gt; your font preference
&lt;/pre&gt;
&lt;p&gt;This will automatically write an alias file in the fontconfig folder. You might need to restart your browser and shell for the changes to take effect.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Ubuntu - my new home</title>
    <link href="https://raghulj.com/posts/2024-06-ubuntu-my-new-home/"/>
    <updated>2024-06-19T00:00:00Z</updated>
    <id>https://raghulj.com/posts/2024-06-ubuntu-my-new-home/</id>
    <content type="html">&lt;p&gt;For a few months now, I have been using Ubuntu as my default desktop. I am quite comfortable with Linux, Windows, and MacOS. To get a general idea of what machine learning is, I assembled a PC with a graphics card - RTX 4090 and Intel i9-1400k CPU. This system is a beast, and I am loving it so far.&lt;/p&gt;
&lt;p&gt;Instead of spending money on a Windows license, I thought I would make Ubuntu my home. It&#39;s not like I am new to Linux. I started my career in computers because of Linux. My first distribution was Knoppix live CD, and I have been a Debian user ever since. I did try more than 40+ distros, but I can&#39;t get rid of my first love. All my servers run Debian. It&#39;s one of the communities and distributions to which I owe my career. You may wonder why Ubuntu now.&lt;/p&gt;
&lt;p&gt;I am at a stage in my life where my priorities have changed. These days, I hardly find time to muck around with distributions and desktops/laptops. So to keep it simple, my next go-to is Ubuntu. This is mostly to avoid driver issues. I hate snap, but I still trust snap in some aspects. Some of my GNOME apps are from Flatpak. I always stick to deb packages from the distribution because of stability issues.&lt;/p&gt;
&lt;p&gt;I am limiting myself to not using single OS software to keep my hopping easier. I love iTerm and Postico from Mac. They are well-polished and stable. On Linux systems, I am using Tilix. I am still in search of a decent and stable PostgreSQL GUI client.&lt;/p&gt;
&lt;p&gt;The list goes like this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tilix&lt;/li&gt;
&lt;li&gt;Obsidian&lt;/li&gt;
&lt;li&gt;VSCode&lt;/li&gt;
&lt;li&gt;Thunderbird&lt;/li&gt;
&lt;li&gt;Firefox&lt;/li&gt;
&lt;li&gt;Sublime Text&lt;/li&gt;
&lt;li&gt;Sublime Merge&lt;/li&gt;
&lt;li&gt;Beekeeper Studio (Not convinced yet)&lt;/li&gt;
&lt;li&gt;Calibre&lt;/li&gt;
&lt;li&gt;Safe Eyes&lt;/li&gt;
&lt;li&gt;KeePassXC&lt;/li&gt;
&lt;li&gt;Nextcloud client (I run my own server)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I might have missed a few, but overall, these are some applications that I use on a day-to-day basis.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Attempt to write and maintain a blog</title>
    <link href="https://raghulj.com/posts/2024-05-14-attempt-to-maintain-blog/"/>
    <updated>2024-05-14T00:00:00Z</updated>
    <id>https://raghulj.com/posts/2024-05-14-attempt-to-maintain-blog/</id>
    <content type="html">&lt;p&gt;This marks my ninth attempt to manage my online presence through a blog. Yes, I have tried posting content in the form of long articles on different platforms. Most of the time, I failed not because of the platform but due to the challenge of posting articles regularly. I often get distracted, primarily by building and reading articles.&lt;/p&gt;
&lt;p&gt;How will this attempt be different? I struggled to answer this question for quite some time before launching this blog. The primary reason will be my commitment to improving my writing. While I am confident in my English skills, writing something that others want to read is an entirely different challenge, and I am determined to conquer it.&lt;/p&gt;
&lt;p&gt;Distraction, as mentioned earlier, is also a key issue when reading long-form articles. After analyzing my reading habits, I discovered the cause: technology. The technology and tools used for building the websites I read capture my attention. Developers are naturally curious about the tech stack behind websites. I go a step further, inspecting fonts, CSS frameworks, web frameworks, and colors. When your focus is more on tools than on the article you are supposed to read, you lose the essence of the post. It&#39;s challenging to ignore, but I am actively working on it.&lt;/p&gt;
&lt;p&gt;I&#39;ll keep my first post short as I have other things to sort out—tasks like tweaking the website design, icons, and footer. I hope to find time to maintain this blog regularly, even with the demands of playing with my little ones.&lt;/p&gt;
</content>
  </entry>
</feed>
