I tried setting up sqlite-vss with Deno following these instructions but got stuck on this error ❯ deno task dev Task dev deno run --allow-env --allow-read --allow-write --allow-net --unstable-ffi --allow-ffi --watch main.ts Watcher Process started. error: Uncaught (in promise) TypeError: readCstr is not a function export const SQLITE_VERSION = readCstr(sqlite3_libversion()); ^ at https://deno.land/x/[email protected]/src/database.ts:101:31 at eventLoopTick (ext:core/01_core.js:169:7) so I pivoted to Python. That effort eventually turned into this post.
I’ve spend almost a week, on and off, trying to install ollama using Nix in such a way that ollama serve will be run and managed automatically in the background. Initially, I had tried to install ollama via home-manager. This was straightforward, but finding a way to have ollama serve run automatically so that I didn’t need to do it myself every time I wanted to interact with or pull a model.
I spent some time exploring Deepgram’s Next.js starter app. I was hoping I could use it to generate a transcription in realtime but it was more like real-time captions. The responses from the server were sometimes corrections of previous transcriptions. Maybe there is a way to make this a transcription but I wasn’t sure. I also tried out vocode’s Python library for building voice-based LLM applications. By far the hardest part of this was getting an Azure account, which I believe is used to synthesize the LLM response as speech.
I played around with AgentGPT using Reworkd’s cloud hosted instance. I tried a few different goals. The first was travel related. I was pleasantly surprised (unnerved) to see the agent return links for flights to my proposed location from my actual current origin (I guess they used my IP to determine this). One of my first impressions was the likeness to Perplexity, particularly in how the links were displayed. It turns out, Reworkd open sourced code for this exact thing.

2024-03-08

I tried to get claude-3-opus to solve today’s Connections. It did well enough that I am going to try doing this more consistently. I grew tried of Nix and decided to setup Homebrew as well. I finally gave in after trying to install llm and not being able to figure out how to install plugins despite the message If you want to install extra llm plugins, use llm.withPlugins([]) expression. In tracing this error, I also learning nixpkgs can apply patches to libraries in its registry.
I like Nix a lot. I still don’t understand a lot about it. I cannot lose an hour to installing a dependencies when that is a solved problem using Homebrew. Ok fine, I will manage Homebrew with nix.
Ideal bookmarking from Swyx on Latent Space with Soumith Chintala. create synthetic data off of your retrieved documents and then fine tune on that Today I installed Homebrew. It’s the longest I have ever gone since I learned to code without installing Homebrew on my system. I’ve been able to rely on Nix for so much, but it’s been time consuming to get everything the way I want it, and I don’t want perfect to be the enemy of good.
I was using an LLM to assist when playing with Alacritty and tmux configs. The LLM (gpt-4-turbo) gave some amusing advice Embrace the Limitation In some cases, the minor visual imperfections may be something to adjust to. Given tmux’s text-based nature and dependency on terminal emulator behavior, some display quirks can be challenging to eliminate entirely.

2024-02-28

While Karabiner/Goku can be a fun way to try and configure my keyboard as an app launcher, I’ve found skhd to be much more straightforward. I’ll probably keep Karabiner for the caps lock to hyper key mapping only for now.

2024-02-25

Github Code Search is an indispensable part of my workflow that I don’t think gets mentioned enough. There are so many great projects out there that solve or may help you solve what you are currently working on. I was looking to write a shell script to invoke the caffeinate command on macOS to keep my system awake. The default, this tool runs an blocks forever in the terminal while it does its job.