Opencode: Second Impression

Last time I wrote about my first experience using opencode, I was using (and learning) opencode CLI

This time, I switched to Zed editor.

Zed is so amazing that it can work with “Agents” installed on your machine (or it can install them for you) via ACP - Agent Control Protocol

It recognized that opencode was already installed on the machine, and show it in the drop down.

I decided to take it for spin.

Continue Reading »

Opencode: First Impressions

Everyone is praising opencode - It is like Claude Code, or Codex (or Gemini CLI) except it is not tied to a corporation. It works with models from all of them, and other models, not from these corporations.

I had installed opencode long time ago, but never used it.

Today, I decided to give it a go.

As I was exploring, I came across /editor command. 1 I had expected /editor command to open a file in an editor

Continue Reading »

Finally got Auto Complete working in Helix

I have been using Helix as an editor, not as an IDE. One of the USP of Helix is LSP support out of the box

Recently, I’ve been programming in rust.

Helix is also written in rust.

So I think it is natural that they would support rust LSP rust-analyzer and it does.

But I wasn’t getting auto completions ๐Ÿ˜ž

Continue Reading »

Jujutsu: Working With Git

After reading (not done) Steve’s Tutorial and Official doc 1 (which mentions Steve’s tutorial anyway) I decided that actually using it on real projects is the way to go.

Here is the workflow (after a few 2 iterations 3) that works

  1. jj new : Declare your intention to start new work.
  2. jj describe : Intention alone is not enough ๐Ÿ˜€. What will you be working on ?
  3. Now work. Make changes.
  4. Time to make our “change” available in git. Get the change id from jj log
  5. jj bookmark set main -r <change_id_from_previous_step>
  6. jj bookmark track main@origin (or appropriate branch on origin). You’ll need this step only once.
  7. jj squash -i : Select the files that need to be “added” to the commit
  8. jj git push --allow-new -b main --remote origin 4 Done!

Finally, I must say that I’m blown away (and humbled) by the fact that “The Steve Klabnik” who wrote the Jujutsu tutorial and the Rust book, helped me 5 (Near real time responses) with my problem.

Continue Reading »

Jujutsu : git compatible but better DVCS

I learnt about Jujutsu from the “Rust in Production” podcast episode about Git Butler

One of the attractive quality about it is that it works with existing git repos 1

First superpower : Start using it with existing git repo locally cloned using jj git init --git-repo=. 2

This creates a .jj folder in the existing repo. .jj and .git co-exist peacefully

But I didn’t know that.

So for the first project to try Jujutsu, I jj git cloned my existing repo in a new folder, so that I have “old” git repo as well as jujutsu repo.

Continue Reading »

Waydroid

I wanted to use Openvibe - an app that allows having a single timeline across multiple social media networks like mastodon and bluesky. It also supports cross posting (and more)

But currently it only has mobile apps (for both iOS and Android)

While the Desktop app is “in the works” - no specifics are provided.

I do not use mobile apps if at all possible. (Except for podcast and messeging apps to keep in touch with Family - on the go. If I’m at my desk, I use the Desktop version)

Continue Reading »

How to Turn Off Inlay Hints in VS Code

I initially tried to turn off the type hints via rust-analyzer extension setting, but that did not work ๐Ÿ˜ž

Turns out it is very complicated (at least for me) documentation did not help ๐Ÿ˜ž

Here is what worked for me. Thanks to SO 1

  • Open Command Palette Cmd+Shift+P
  • Select Preferences: Open User Settings (JSON) from the drop down
  • Add the following to existing settings
    • Or create new one, if empty. You may need to enclose it within { } though.
	"editor.inlayHints.enabled": "offUnlessPressed"

This will turn off the type hint inlays.

Continue Reading »

Better History Search

No, I’m not talking about Atuin. 1

I improved my search experience with just one tool - fzf

As you might know, fzf is a general purpose fuzzy finder. 2

But adding just source <(fzf --zsh) at the end of ~/.zshrc (and/or running it in your existing session) improves your Ctrl+r experience.

See the demo yourself.


  1. I must confess that I’m tempted multiple times. But I think their USP is history sync, which is not my use case right now. For now, I’m happy with my current solution. ↩︎

Continue Reading »

How to use Google Keep for Quick Capture with Obsidian

Problem

While I use 1 Obsidian to capture everything while I’m at the desktop, it gets tricky when I’m away from the Desktop. Especially during my morning walk, I listen to Audiobook, and want to capture either a quote or some of my own related thoughts. 2

Solution

Today, I came across a YouTube Video 3 which addresses this issue.

Zsolt goes on to explain how see sought suggestions on Twitter 4

Important components of his solution are to use Google Keep on mobile (Voice assistant if need be)

Continue Reading »

direnv with python

What is direnv

direnv is a tool that allows you to change your environment based on the configuration in that folder.

e.g. You can set different environment variables for different folders.

The reason I revisited direnv is because for python project, we need to switch to different virtual environment each time we change a project.

Wouldn’t it be nice if correct virtual environment was activated when you change to that directory

Continue Reading »