2019-03-03

Why use the command line?

In my Lambda School, cohort, we are learning the basics of git/github. Github actually has a very friendly GUI desktop app, but a lot of git actually assumes you are using the command line (specifically the command line on a *nix machine). I’ll get into some details about the *how* of the command line in a bit, but I think it’s interesting to very briefly address the *why* of the issue.

The command line allows an experienced user to have an “in-depth”/unabastracted level of control over their machine.


So, what the heck do I mean by that? I watch a lot of autosports, and I think a car metaphor is very apt here: the GUI is to an automatic transmission, as the command line is to a stick shift/manual. That is, for a casual user (going to the grocery store, or just browsing Facebook), the manual transmission (or the CL) is an annoying, difficult-to-understand, complication. They just want it simple, and they have no use for that low-level of control. For an experienced user, however (basically any race car uses manual of some sort; and, I think similarly, most experienced computer users know at least a bit of CLI stuff), the extra level of control allows them to use the machine to its fullest capabilities.


There are some other good arguments for using the command line, and I might also touch on those later. Feel free to offer pointers (to those reasons, or to books/articles that offer those reason) in the comments.

2019-03-02

Hello, Lambda

I have not done any writing, longer than 280 characters, on the public internet for years now. I recently enrolled in Lambda School, however, and I keep having long-form thoughts that I think might be useful/trenchant/helpful to be shared publicly. Hello, again, public Internet. And, hello, my Lambda classmates.

image from: https://xkcd.com/1760/

On-Target?


I plan to primarily blog about things that come up during class here (primarily advice: they’ll all be tagged with “Lambda School”), but I’m sure I’ll have off-topic stuff, possibly even unrelated to tech, I want to write about. As usual, just follow the tags for stuff you are or are not interested in.

Who are you, Ian?


Since I’ll be offering advice here (albeit couched as contingent suggestions, more than absolute rules), it’s quite reasonable to be curious about my background and qualifications. In brief, I have about a decade of in-class and self-taught experience in various sub-disciplines of computer science. So, if I have such extensive experience already, why am I not working as a dev? There are a few reasons, but a big one is that I have the pain and privilege of being a serious polymath: that is, I find such a wide variety of topics (in and out of computer science) interesting, I have trouble focusing on the topics that actually would get me hired as a dev!

So, a big part of my motivation in going with Lambda is to make myself focus on the discipline of web development. It’s not only a good-paying and in-demand career, but my personal preference is for a open web of sites; rather than a “walled garden” of mobile apps: I am trying, in my small way, to build the future I want.

Beyond web dev, I have a smattering of knowledge in a variety of other areas (computational ling, Python/scientific programming, Linux operations, etc): I am very definitely a jack of all trades. Since some of you coming into the cohort might be very new at doing “technical” things on a computer, I’m happy to help you learn.

I look forward to journeying with all of you in my cohort!