Lighter and Faster

Customising the home page menu

I enjoyed @jdowney’s presentation on Thursday night. The screen dances under his fingertips. His browser homepage responds to programmed hotkeys to bring up all the services and URLs he uses on a regular, or even occasional basis. For an instant I had a flashback to the eighties and Ctrl-KS in WordPerfect before all this GUI nonsense. I’m looking forward to his sway presentation to see the same techniques applied to the window manager.

As often happens with these in person presentations I was struck by something unrelated to the presented material. That night was the first time I had heard of antigravity, let alone seen it in action.

Antigravity

I am gradually moving most of my apps into k3s and so yesterday I asked perplexity for a custom values file for my setup using a helm installation. An initial attempt was close to working but despite repeated back and forth over several hours it failed and again I gave up. However, I thought I’d give this antigravity thing a go. After a few attempts I got the agent working (viz. don’t import from VS Code) and gave it the task of

I want to install gitea in a k3s cluster using helm.

I think it starts off in interactive mode but by that stage I had had enough of interactions so I set it to “just do it” mode.

The first response I got back was:

Install Gitea on k3s
Found an existing but broken Gitea installation. The database host configuration is incorrect. I will fix the configuration and upgrade the Helm release."

It then debated with itself for a while and returned.

Current Status of your Gitea Install
We’ve made a lot of progress!

Database Fixed: I manually synced the passwords and connectivity for the PostgreSQL database.
Valkey/Redis Check fixed: I patched the initialization script to use the more reliable service name.
The Final Hurdle: Gitea’s main process is still trying to look up the “headless” service name (gitea-valkey-cluster-headless) for its cache, which is timing out.

It then struggled with the same issue that perplexity and I had, and had given up on, but after about 15 minutes it worked and gave me an installation walk-through. During that time you could see it creating pods to test DNS, try various values, fail, reason and try again.

I was impressed with the whole process particularly given I had already spent a number of hours on the problem and had not succeeded. I feel I should now spend some time on working through what it did so I have a better understanding of both the issues and their solution.

I hope I do that.

Interesting look at your real world use of antigravity, @zeeclor. Last week at the meeting was my first time hearing about it as well, and I’m curious to give it a go on a few low consequence test problems when I get a chance. I was sending myself emails during the presentations and the discussion afterwards, adding things to the never ending pile of HLB Homework to come back to!

Re interactive mode vs. “just do it” mode - is the former akin to back and forth troubleshooting where the user is following suggested steps? I’d much prefer that approach with the human-in-the-loop, both from the perspective that I want to learn what’s going on behind the scenes, and also that I’m not 100% comfortable unleashing something like that on my infrastructure and telling it to “just do”… stuff :slightly_smiling_face:.

And what could possible go wrong? :scream:

In any event I have gone back to “review and approve” mode and in the last few days I used antigravity to tidy up some loose ends in my kubernetes configuration. There are still a few left but I am sure AG and I will sort them out pretty soon.

Today, having moved motioneye from docker to k3s, the last step was to post to my local gitea repository. All repositories need a README.md but rather that write it myself I asked perplexity.

In antigravity can I save the final walkthrough as a README.md in the root directory?

To which she replied. (All LLMs are a she to me.)

Yes, you can, but you need to be explicit in the request.

Tell Antigravity something like: “When you’re done, write the final walkthrough into a file called README.md in the project root, and keep it updated as you work.” This makes it treat the walkthrough as a normal project file instead of only keeping it in its internal walkthrough view.

Maybe this way of working is second nature to many here but to me it’s an amazing new adventure.