2023 Feb 15
Honestly, I don’t need to use NeoVim. I like helix. I should just make my own theme.
- I like vim bindings a little more I think, and I like the universality of vim. But if I even want to migrate, I will need to configure most of the defaults of helix in neovim…
My focuses in the near future
Continue to mature as a developer, absorb the codebase, help where I can.
Eventually come to informed understandings of what is important for the codebase and protocol etc.
Interesting how rust implements ranges: basically just denotes an inclusive/exclusive starting and ending point, with shorthand of
..
. And set data structures can return a range of keys/items based on their values denoted with a range even if the full range isn’t present.Ohhhh that’s what a
short_channel_id
is…block height, tx index, output index of the funding tx in 8 bytes. Human readable format is decimal conversions of the three fields separated by x’s.Spent like 2-3 hours making my own theme in helix. It doesn’t feel like there’s a great way to develop a theme, i.e. if only there were hot reload haha. In the end there are still several things to customize and I feel like it’s still sort of half baked so I’m just using my other default theme I was already using. I’ve got some newfound respect for the theme builders.
Learned about routing gossip query messages. Nodes can query for gossip messages by short_channel_id, by block range, or by timestamp. It’s important to note that by needing to support querying by block range, the implementation will want to store some sorted order of gossip messages. I was confused when just looking at the implementation today because I didn’t realize this was part of the spec.
Stubbing in programming often means implementing a mock version of something for testing, or to make a thin wrapper for testing (say, in rust-lightning, the debug_sync crate has wrapped Mutex and RwLock for testing lock orders).