

What do you think Project Support is?


What do you think Project Support is?


Eh, that looks like typical take home for a staff level engineer in a big city.
Edit: Assuming they get paid every two weeks, that’s an annual take home of $161,122. Depending on state taxes, insurance coverage, 401k contributions, dependents, etc, that’s a base salary of $200-250k. Which, yeah, that’s what I budget for a staff salary.


Plausible? Absolutely. The questions are what and why?
For notes, it seems like most people have settled on one of three things: org-mode, markdown, or free form plain text. There are some closed source tools that use a proprietary format, but fuck them.
So then the question becomes what does the backend do? Provide a way to query notes for links, topics, and todos? Keep a versioning system? Synchonization? Something else? Answer those questions and you have a project.
For references, take a look at nb, Joplin, Logseq, org-mode, anytype.


Generally, yes, adapting to the size of the window is pretty easy. Most of those libraries have a layout engine, so you define the size of things relative to the size of the window and each other, then the layout engine takes care of the rest.
As for discoverability, well, it’s a hard issue in all UI schemes, and tends to be particularly difficult in CLI/TUI applications due to layout and input constraints. In a GUI application users can click on buttons, scroll, and generally figure things out. For a tui, there are probably going to be a large number of (possibly reconfigurable) keyboard shortcuts and maybe some sort of command system. How you let the user know about all of them without having to memorize a giant table can be difficult. The common options I’ve seen are a “?” popup (lazygit), a context-aware small popup during multi-key commands (helix), a command palette with search (lots), a top menu bar with accelerator keys (old school WordPerfect), or a bottom bar with context available options (lots). They all have their respective tradeoffs, and can make something go from “useable after hours of practice and reading” to “oh, this is intuitive!”.


Most languages have a fancy TUI library nowadays that makes it pretty easy. Here are a few:
The difficult parts are generally:


There are dozens of us!


Helix when I can install things, vi when I can’t.
Oh yeah. I’ve had to do a small amount of it on much simpler systems for work from time to time, and it’s always been damn hard. Often rewarding in a weird way, but very difficult.