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 »

How to define task dependencies in justfile

It has been more than 20+ years since I used Makefiles seriously. I did use them later, but they were very simple.

Then I found and moved just task runner, which is supposed to be replacement for make

My justfiles were also simple.

and today, I needed to define a task that we dependent on another.

Turns out, it is same as Makefile

task1:
  @echo "Task1"

task2: task1
  @echo "Task2"

In the above example, task2 depends on task1, and thus when we say just task2, task1 will get executed, as it is a dependency for task1

What does demunge mean in clojure repl ?

I started learning clojure yesterday.

Initial useful (for me) command in clojure REPL : dir 1

As per the example given in the documentation, (dir clojure.repl) produced list of commands (?) - one of which is demunge

I had no idea about it, and so I tried dir(demunge) and it returned nil 😆

I could not find it in the documentation, so I asked ChatGPT about it, and it explained the following: 2

Since clojure runs on top of JVM, compiler converts the code into java bytecode.

Continue Reading »

.NET Package Management

I recently started writing C# code at work. While I can read and understand the sample code (and modify partially per my requirement) I still trip up by new-ness (to me) of the ecosystem.

So while I intuitively understand that using is equivalent of require in Ruby (or import in python), I didn’t know which ones are “standard library” and which ones are not.

The sample code worked with standard library, but writing to Azure Service bus requires external library. Just adding using Azure.Messaging.ServiceBus is not enough. One also needs to install the package.

Continue Reading »

Language Before Framework

Several years ago, I came across a quote1 about how learning python via Django. The author said that if you don’t properly know python, you may not understand what is Django specific and what is not.

FWIW, even after working with python, I never used Django in any of my main project. But I did learn python first before the frameworks.

Fast forward to few days ago. I am working on Ruby code to read from Azure Service Bus.

Continue Reading »