I'd call my lack of output and inconsistency the last week me taking a pseudo-vacation. It's finally objectively cold here in Austin and I want to end the year strong.

Knowledge Lab (code)

My goals with this project today are finishing the note tagging feature. This means parsing, indexing (for search), and filtering with an accompanying UI. Speaking of which, here's the splash screen! Iceberg.vim's palette is really becoming sort of a personal brand colorscheme for me.

This is already out of date because I've added a Create Workspace button that populates the workspace with a nice (in my opinion) self-guided tutorial.

I've also been working on a undo/redo implementation today. I was on the fence about whether or not to persist it in the app data directory (in a manner similar to zsh) but opted to keep it in memory held by the Elmish state machine. In my own experience, I don't find myself traveling too far forward or backwards in history, even with version control systems.

Next up here would be search/discovery/filtering of notes based on work I've previously done related to bm-25 & td-idf in a small project called okapinote. While the command palette remains unimplemented, it's important that search runs reasonably well in a predictable way. I'm a little worried about the "feel" of the UI & UX. The request-response lifecycle in wails is very straightforward, but nailing the Elmish DSL with fine-grained event handling is tricky. Animations beyond Tailwind utilities have already been difficult. Those may be the last thing I work on before version 1.

I'm curious if its worthwhile to release binaries while this is still in rapid development. Please let me know what you think! I'll share more screenshots between now and whenever I make a few builds, and map out a Wails version of tauri-updater to deploy to Cloudflare or something.

Beacon (code/docs)

It has to be the complexity of this project that made me take a break from it last week. Scout's honor: today will have a cut v0.5.0! Just kidding, it's out already.

The work today is to work on improving static analysis to work across workspaces (not just open files). I'm also going to map out what it would take for me to at least push a release up to an extension marketplace like VSCode or the Zed extensions repo. I'd like to point out though that if you're interested in using it, the project can be built from source. You can invoke the lsp binary after building it or use the full toolchain CLI.

The CLI does a lot of stuff, acting as an entry point to type checking and static analysis (and gives me some treesitter based debugging tools). It was actually what inspired the language agnostic code analyzer I wrote a few weeks ago. We have this whole bed of test files right there whenever we do any work. It's a wonder why more people don't make more tools of that ilk.

I've added sponsorship for this project as well! It's linked to my github sponsors profile.

Advent of Code

I'm planning on working on advent of code in F# this year! More significantly, I plan on completing it because its the first year with a smaller number of problems and well, FOMO. It's cool seeing all the AoC repos pop up on the tangled feed.