Iterative Development with Gemini CLI

31 December 2025

Models and Expectations

I’ve had Gemini CLI installed on my workstation since August 2025.

Originally, it would default to use the gemini-2.5-pro model and your "access" to that would run out for the day, and it would switch to using gemini-2.5-flash. I found the flash model to be adequate for the way I’d use it to do Clojure and ClojureScript, so most the time I’d override it to just use flash from the beginning. I thought I could kick over to pro if I found a problem for which I’d need more power.

Eventually, Gemini CLI started switching back and forth between models more intelligently, so it didn’t burn through your limited access to pro, so I no longer override it with 3.0 models.

Pairing with a Junior Developer

The AI agent by itself has read lots of documentation, and it’s pretty good at Googling the answers to questions and picking something to try. (I often get a bit of analysis paralysis when trying to choose a library.) It can be surprisingly good at translating sample usage of some JavaScript library it finds into a simple bit of ClojureScript.

In my experience, it’s sometimes bad at matching parentheses, so I just fix them myself. Recently, it may be getting better, and some Clojure MCP projects can cleanup parentheses automatically.

I only ask it to do small tasks, and I closely review and test the code it generates. When it looks good, I commit and push the code, but I know I can always easily go back to a previous working version when the AI goes off the rails. I don’t have to worry too much about it getting too confused or destroying something. I tell it to forget what we were doing, /clear the context, or just restart the agent completely, and recover my known good state from git.

I find that even if it fails to complete a task, I at least learn a little from what it did, and often have an initial direction or two to explore.

It’s pretty good at keeping my momentum when working and keeping me from spinning my wheels, like pairing with another programmer.


The Friendly Orange Glow

02 January 2023

The Friendly Orange Glow

Obscurity

The Friendly Orange Glow tells the history of a piece of educational software, PLATO, that grew into a whole microcosm of the internet and cyber culture years before the internet we’ve known for the past 25 years.

Brian Dear attributes the obscurity of PLATO to it having been built and developed at University of Illinois in the Midwest and not at a school on the coast. The PLATO system also used dedicated client hardware with integrated slide projectors, and it ran on a single mainframe. Everything was coded in a programming language called TUTOR, which was primarily designed for authoring interactive lessons using the orange gas plasma display, a rudimentary touch input for the screen, the keyboard, an slide projector integrated into the display, and even occasional peripherals like some sort of synthetic woodwind sound device. It was all very specialized from the beginning.

I loved the time the author dedicated to describing technical details, like how the orange gas plasma display was developed: the grids of wiring, pockets of noble gases trapped between them, and the way accidental contamination allowed them to discover a memory effect they could use to keep each pixel lit. Fixing the contamination lost the memory effect. He presented a wonderful level of detail for my interest.

Cyber Culture

Donald Bitzer showed off PLATO to anyone who would take a moment to try it. He wanted people to learn and get creative, seldom shutting down experiments. He’d embrace the high school and university hackers who would wander into the labs, and he put some of them to work building hardware or testing. These people would go on to build all sorts of multiplayer games and other software to be used by other users on the system. Bitzer recognized the value in observing what people did with the spare cycles of the system at night. From that freedom sprung an entire hacker culture similar to what I found in my youth, so I felt great nostalgia for this work. Again though, I was discovering this culture in the 1990s with bulletin board systems and the internet in college, and Bitzer’s revolution had already happened in the 1970s. We were always pushing the limits of what we were supposed to do with these systems. It looked like wasted time, but we learned the most.

Discovering new lessons or software on the PLATO system seemed akin to our exploration of BBSes via our modems in the 1990s. We’d stumble around trying to find some new phone number or new corner of an existing BBS, and these kids in the 1970s were exploring PLATO to find games or long threaded discussions in notes that others were developing.

PLATO started as a way to display some slides and teach a self-paced lesson, but grew into games, forums, and email before such things existed. It could have grown into one of the great online services that followed, but they may have gotten too tied up in their centralization and specialized hardware. The management of their commercial partner may not have helped either, because they just wanted to sell mainframes, and didn’t recognize the value of community that had been built around the system.

The book was an exciting listen, and I blasted through the whole thing in about 2 days, because I just couldn’t put it down. It reminded me of my childhood and all the potential of the systems of the day and the creativity that came from the limitations of the day. PLATO evolved in an alternate universe in the middle of the country away from the technology hubs.


Podcast List for November 2022

03 November 2022

I have 73 feeds I currently follow. I have a whole system of prioritization, so I can listen to important things first. I’ve listed them alphabetically here:


2018-07-24 Podcast List

24 July 2018


All the Posts

December 2025

January 2023

November 2022

July 2018

October 2016

February 2016

January 2016

November 2012

December 2010

June 2010

February 2010

January 2010

August 2009

July 2009

March 2009

February 2009

November 2008

October 2008

June 2008

March 2008

January 2008

October 2007

August 2007

July 2007

June 2007

April 2007

March 2007

February 2007

January 2007

December 2006

November 2006

October 2006

September 2006

August 2006

July 2006

June 2006

May 2006

April 2006

March 2006

February 2006

January 2006

November 2005

October 2005

September 2005

August 2005

July 2005

May 2005

April 2005

March 2005

February 2005

January 2005

December 2004

October 2004

September 2004

August 2004

July 2004

June 2004

May 2004

April 2004

February 2004

January 2004

September 2003

August 2003