sometimes I wonder if I should learn to make GUIs (Gtk or Qt, for example, or maybe even FE and mobile) – if it won’t cost a lot of time, it might be handy; but it just seems like it may be pretty complicated, after all (G)UI designer is an entire profession
then I guess I better stick to making libraries with a clean APIs or servers with a clean protocols, so the application developers could use that, or register blocks which aren’t PITA for the OS driver developers to deal with
the reason why I’d ever think about it is because occasionally the employers ask if I could update the JS (implying that it’s easy) or make a simple Wi*ws application…
the answer is no and no, but still I kinda want to be able to do everything by myself, ranging from the RTL to the interface humans would use to interact with it
below the RTL there are transceivers, which are analog circuits, I can’t make them, but otherwise
medium, exposes a serial bus/channel (differential pairs or radio)
transceivers/PHY/RF, expose a parallel bus (e.g. PIPE)
RTL/user logic, exposes a register block(s)
OS kernel driver, exposes a kernel ABI/syscalls
userland library, exposes an API
server/daemon, exposes a sockets-based interface
applications, expose GUI, TUI, CLI/shell
human user, exposes him/herself to human language
of course shortcuts are possible in this chain^, but they’re better not taken; another questions if I forgot a layer
re: GUIs, computer architecture
@dpwiz this¹ may be the reason why I want to cover the entire stack, from the analog h/w to user-facing s/w, because if the latter is taken as-is, I can’t really do much to the h/w
ideally I’d hire a team where everyone would be responsible for the respective layer, this would be more efficient, but I’m not in a position to do this, and even if I would, I should still have an idea of what it is to decide whom (not) to hire – I can’t evaluate a candidate without being at least somewhat familiar with the topic
¹ https://stereophonic.space/notice/AYv5R6TFRUc5vxIId6