December First and Second
02 Dec 2023 - Daniel Ramirez
December Build Club
December Build Club?
* Work on a project everyday for a month (December) to get it off the ground.
Day 1
Stepped into an old project, Bubble Chess, which has the goal of helping a Chess novice develop an intuition for Algebraic notation. This will be done in the terminal using the Terminal UI framework named Bubbletea which implements a Model-View-Update pattern that I haven’t worked with before this but quite like.
Wins for the day:
- Documented the debugging process before I forgot about it forever
- Had to use
cat ~/.githistory | fzf
to figure out what I had been doing months ago
- Had to use
- Descoped the project
- I will be targeting MacOS/Zsh/Alacritty and making no consideration for the weird color behavior in VSCode/xterm.js
- I will be solely creating a terminal app during this December, the in-browser WASM app will have to wait
Next:
- Refactor color handling given scope change
- Create tutorial notifications (errors, hints, etc)
- Create highlighting system
- Start with highlighting column when user types in column header
- Create data structure for highlight state (bitboard?)
Day 2
Wins:
- Updated visuals
- Colors now using
lipgloss.CompleteColor{}
which gives granular control over colors used for various levels of color-support
- Colors now using
- Fixed long-standing bug
- I wasn’t updating the move history when the enemy moved
- Working on highlightBoard using bitboard
- I confirmed this was a reasonable starting point by reading the chess go pkg source. At this point I have a copy locally that I check frequently.
- With this window include I am now using 3 instances of VSCode at a time, it has struck me that maybe I could find a better way to do this but maybe much later.
- I confirmed this was a reasonable starting point by reading the chess go pkg source. At this point I have a copy locally that I check frequently.
Notes:
- Unfocused
- I spent a lot of time working on my blog just cause I had it open writing the DBC post.
- Created my own problem by updating the Gemfile to include ruby-lsp and then quickly having to reinstall the Github support Ruby to bundle after a few failed deploys
- I spent a lot of time working on my blog just cause I had it open writing the DBC post.
- Time-eater
- Didn’t define timeblock for project work so that ate into rest of the day
Next:
- Find good strategy for reading and writing to/from a bitboard
- Implement popover notifications
- likely using lipgloss formatting utils