A few sessions into JWRD, it occurs to me that I’ve never really understood what I’m doing when it comes to computers. I don’t mean the more obvious case of ‘smart’ phones – even proper desktop computing has been GUI-based my entire life (excepting C:\Windows to get into 3.1, pre-Win95). Pointing and clicking; clicking and clucking; herping and derping. Windows Updates, .exes, plug-n-play and who even knows what else? Everything’s abstracted – it ‘just works’™; no need to understand what – let alone how – things are operating behind the shiny buttons and slick graphical interfaces.
What’s more, the GUI has the peculiar property of not requiring much *thought* as to what one is doing (and this by deliberate design – ‘everyone should be able to use computers!’; ‘So simple grandma can use it!’ Never mind the deleterious effects lowering the bar to entry has on quality). By substituting visual for verbal, the GUI devolves the user into a kind of pre-language ape – spared the tricky work of writing down (ie. thinking about) what he’s doing.
The command line interface, on the other hand, is essentially writing; writing IS thinking. This ties in with the virtues of plain text as the universal interface: with plain text files, things really do just work; what you see is what you get – the content is directly and clearly grokkable; nothing’s hidden/abstracted. Of course, this format requires more thinking, but it actually hasn’t felt like more work (possibly because it’s so much more efficient than the GUI I’m transitioning from).
On the topic of thinking, a few sessions in things are already getting deep – with lots of opportunities for further study in areas such as graph/set-theory. I’ve been making note of possible sidetracks, but am avoiding the rabbit holes for now. I’ve also been learning to use – not abuse – tools, and while the handling of new instruments is not without accidents (having managed to quit vim without saving the first draft of this article), I’m beginning to see their power once properly learned. Again, I’m struck by how much return there is in going deeper with stuff – in this case, taking the time to learn the options/arguments/modes for ls, grep, cat, vim…
Certainly, at least parts of this first module could’ve been learned alone, but I want to build relationships with actual people; not waste time learning idiotic stuff from idiots. Jacob and Dorion have been great so far – problems/issues have been quickly rectified, and they’ve been radically transparent – owning up to and correcting unnoticed mistakes that they could’ve gotten away with/silently failed to put right.
[…] original article is merely a fragment; the following is a work in progress – to be integrated into the […]
Pingback by JWRD Sessions 1&2 Revision « Young Hands Club — November 6, 2020 @ 2:48 am