The Two Parts of Stenography

Stenography broadly works on two layers: the parsing layer and the explanation layer.

The Parsing Layer

If you're familiar with Kolmogorov complexity, you'll know that not all code patterns are created equal.

Some code is MUCH more dense than other code, and a lot of it comes down to the author that wrote the code, their mindset around code abstraction and obfuscation, and how long it is until lunch.

The goal of the parser layer is to find sufficiently complex code blocks up to the level of expertise that the AI can break down into a helpful explanation. (wait, what? ._.)

In other words, the parser layer uses my and other developer's expertise in their native coding language (JS, Python, C, etc.) to capture the idiosyncrasies of the code and determine where the RIGHT code is for the AI to step in.

This requires human creativity, and an expert who can grasp where humans and the AI tend to get stuck/bundle functionality of code.

The Explanation Layer

The explanation layer requires another strategy. The first (and most important) question to ask: What IS a good explanation? The answer: it depends.

An explanation is only good IF the target audience understands it AND can act upon it. The explanation cannot be too simple or too complex. It cannot be too short, or two long. It must stay focused, but it must supply external resources when necessary.

This part of Stenography is fun because not only is it more subjective, it requires an understanding of the psychology of the reader. In addition, the AI often just doesn't want to cooperate, so cajoling it to return a helpful explanation is much more art than science.

Both of these layers serve the overall goal of Stenography: developer productivity.

Developer Productivity

Finally, the most important part of designing Stenography for me was to create a tool that integrated seamlessly into the development workflow.

Too often tools will make you go out of your way to supply value, or forcibly change the habits of their host.

Stenography Autopilot API runs automatically on save in the VSC extension. It writes CodeLenses and gives developers the option to add the comment to the file if they want to. It reads multiple languages, and tries to stay out of the way as much as possible, while supplying a nice buzz when the AI not only correctly describes code, but teaches the developer something new.

Most importantly, Stenography gives developers a jumping off point to get back to doing what they actually want to do: WRITE CODE.

If you made it this far into the essay, download the extension and try Stenography on your own code!

To end on an anecdote: I git pulled a file I've never seen before, opened it in VSC for the very first time and was greeted by a wall of unfamiliar code. I held in my heart the hope of adding to it, leaving it in a better place than I found it, but it stared back cold and imposing.