3 min read 569 words 5 links

💻 Key Projects & Progress

Wrapped up big, exciting client project that I am really happy with. They had a lot of cool ideas and pushed for some really radical features that I ended up really proud of.

Compiling framework docs for informed AI context

There are two libraries that I use a lot that I often want the robot to think about first when helping me find solutions: VueUse and Nuxt UI - these frameworks are full of components and composables that make repeated patterns really easy, but often I find the robot doesn't know to use them, or how to call them properly, and they will always be changing and improving faster than an LLM corpus.

Step one to giving the robot the context is to clone the documentation, and combine all of the documentation markdown files into one markdown file that can be easily moved elsewhere.

cat $(find . -name "*.md" -type f) > combined.md
wc -l combined.md # 6945 combined.md

Maybe we also want to know how many tokens that is, we can use the TikToken CLI

$ cat ~/code/nuxt-ui/docs/content/combined.md | ~/code/tiktoken-cli/./tiktoken-cli
# 37163 tokens

Evaluating command-running capabilities

As I look into non-OpenAI LLMs to power parts of Coach Artie how-i-built-coach-artie I think that I need to create some repeatable tests that help me evaluate how well alternatives do in a few areas.

One thing that I do now is allow the robot to call capabilities in the text of the response. If I detect a capability, I run it with the arguments supplied by the model, and add the response as a system message. Right now calling a capability looks like module:method(arg1, arg2) - but the robot has sometimes struggled with that. I've also heard that due to the way that characters tokenize, it's easier to get the robot to improvise new method calls by using spaces, rather than special characters. I am also curious at how an XML style approach like <Module method arg2="test"> arg1 </Module> might compare to other syntaxes. I would also like to test different models abilities to "chain" capabilities, that is, call for other functionalities repeatedly until they get their answer.

EXIF Photo Printer

I want to build a tool that will easily allow me to take a folder of images, and add a border and some metadata that I can then send to be printed as 4x5s at Walgreens. I like having the metadata on the physical photos, but it's annoying to do this, and I don't want to have to rely on third party tools like Lightroom for it.

Experiments with Tres JS

TresJS is a Vue/Nuxt wrapper for Three.js and makes it pretty easy to make reactive 3D scenes without spending a ton of time writing animation loops and importing a thousand things. Definitely want to play around with using it more.

🎨 Creative Endeavors

Bought some small wood panels to try to do gouache on - treated the surface with 2 coats of mod podge so that the wood pattern is still visible.

💡 Technical Accomplishments

NPM Search Visualization

I want an easier way to compare different npm packages that solve the same problem; I want to visualize various properties like the size, last commit, and other indicators and make a more intuitive interface for selecting a package over the default search.