[personal profile] writerkit
I've been learning command line, and also rereading fanfic.

One fic I've been reading features this quotation from Socrates: "You are providing for your disciples a show of wisdom without the reality. For, acquiring by your means much information unaided by instruction, they will appear to possess much knowledge, while, in fact, they will, for the most part, know nothing at all; and, moreover, be disagreeable people to deal with, as having become wise in their own conceit, instead of truly wise."

He's talking about reading in general, which I can't agree with in full-- I do think having access to information is important, however easy it is to misinterpret when you're teaching yourself. But I've been very focused on building my computer skills for about four days now, and I've been finding an interesting set of applications applied to that, because I started out with a big book on systems administration. I also have several people in my life who code for a living. I'm not even an entire chapter into the systems administration book and I've already had several things happen to me because of talking about what I'm doing with various other people who are willing to provide insight about it:

A long discussion about open-source ideology, sexism, racism, and classism, and the history of these things in the computing community
The man command exists
You'll probably wind up Googling everything anyway because the man command isn't informative
Bash is both a shell and shell scripts and you should know which one you're trying to learn (the first one is what you start with)
Some amount of "this is what a shell is"
A book on Linux command line that's explicitly a teaching book rather than a reference book
Scala is amazing and you should consider learning it / Scala is a niche language only occupied by very specific people so don't bother with it and definitely don't do it *first*
Rust is the first language to permit truly good code / Rust isn't quite that amazing but plays nicely with Scala / Rust is lower-level than Scala and so closer to system administration but still not quite "a thing you're likely to be using"
The entire structure of the internet prohibits genuinely good security practices
Python is an up-and-coming language; Ruby is on its way out
Lots of the recommended additional reading in the sysadmin book was written by people with Opinions and you should consider the authors before deciding to read them or take them seriously
Some history of GNU versus Linux
Linux distributions fall into broad categories of Debian, Redhat, and Other
Open-source has weird purity culture attached to it
As a result of the weird purity culture, some people don't like that Redhat makes money
A website with some silly zines and printable posters with Linux commands
Being able to speak both programmer and librarian is actually a valuable skill in some segments of the programming world
Vim is a hobby that happens to edit text, and text editors in general have a *really weird* Culture around them

All in the last FOUR DAYS, and I'm not even spending my entire day on it; I'm still spending a lot of time working at my currently-still-extant day job, reading, starting to look at apartment listings, and panicking. (And when I can pull it off, some writing fiction, as I am theoretically still doing that.)

And none of that would have happened if I were only working from the book I originally took out of the library! I'm not sure I would have necessarily come to a lot of this at *all* if I were *only* working from books, and certainly it would have taken longer. I'm sure my views of a lot of it will change and reform as I gain more depth of knowledge (right now I have cd, ls, file, and less, in command line, and 33 chapters to go in the command line book), but having other people of more experience around to discuss with is definitely valuable in helping form that depth of knowledge.

Date: 2020-05-07 07:23 pm (UTC)
jducoeur: (Default)
From: [personal profile] jducoeur
The man command exists

Ah, sorry -- this is one of those things that most of us picked up by osmosis a million years ago, such that it never even occurred to me to mention it. While not as deathly critical as it was in the pre-Web days, I still think of `man` as the single most important command when doing stuff in the *nix world. (And as you get more used to the environment, and how to read man-page-ese, it will probably become more useful, although it's rarely on the level of Real Documentation.)

Scala is amazing and you should consider learning it / Scala is a niche language only occupied by very specific people so don't bother with it and definitely don't do it *first*

Hah! Both common viewpoints. Obviously, I hold to the first.

There's a myth that Scala is hard; the reality is that it's often wretchedly taught, by people who fail to understand that you need to teach people to walk before they can run. (One of my small claims to fame in the Scala community is that I've been loudly making this point since 2008.)

It also has the problem that it is *different*, and a bit ahead of the curve, so folks who are used to older languages sometimes find it uncomfortably challenging -- it breaks the casual "I know three languages so I can work in all languages" assumption that many programmers delude themselves with. A fellow teacher once observed to me that absolute beginners sometimes find Scala easier than experienced programmers do, because they don't have all the bad habits to unlearn.

It actually is a pretty great language to learn first (I know a few teachers who do exactly that), but it requires serious pedagogic discipline. ScalaBridge (an international group that I'm moderately involved with) uses Scala to teach absolute beginners how to get started, and the book Creative Scala is designed for specifically this purpose. It's quite short and rather fun; you might want to give it a skim. (Although with the usual warning: getting your environment fully set up is about three-quarters of the effort.)

The entire structure of the internet prohibits genuinely good security practices

A bit of an exaggeration, although with a fair grain of truth. Certainly the structure of the *web* is problematic, and there are hard problems that tend to get brushed under the rug by almost everyone everywhere.

Python is an up-and-coming language; Ruby is on its way out

I would probably say that Python is roughly at its peak right now -- there are lots of folks who think that it is The One True Language and everyone will wind up writing everything in it, but that trick never works. It is Very Very Good at certain kinds of problems, and has largely taken over that problem space. (As well as some other spaces that it is less obviously perfect for, but was in the right place at the right time with a good attitude, like big data.)

Open-source has weird purity culture attached to it

Not a way I've seen it phrased before, and a bit exaggerated: "open source" is really big, and this only applies to certain wings of it. (Largely not the areas where I hang out, which tend to be more commercial and therefore perforce more practical.) But it is *very* true of those wings, and I like the phrase there.

Being able to speak both programmer and librarian is actually a valuable skill in some segments of the programming world

Oh, absolutely. "Speaker to geeks" is a real job title in some places, and being able to conduct good reference interviews is central to it.

Vim is a hobby that happens to edit text

Hah! Yes, just so. As opposed to Emacs (my traditional editor of choice), which is an operating system that happens to edit text. (And also a hobby.)

having other people of more experience around to discuss with is definitely valuable in helping form that depth of knowledge.

Yep. Keep in mind that I learned all of this through, essentially, apprenticeship -- while I've read a few books here and there, I tend to ignore them. Finding experienced people -- preferably a variety of them -- and asking questions is totally essential to really figure out what you're doing, so you're on the right track. And yes, feel free to keep pinging me with this stuff...

Date: 2020-05-08 12:17 pm (UTC)
jducoeur: (Default)
From: [personal profile] jducoeur
Right -- and so the FSF / GPL end of things tends towards open-source purity culture. The metaphor largely fits -- heaven knows I've come across people who castigate me for preferring the MIT license...

Date: 2020-05-18 12:13 pm (UTC)
squirrelitude: (Default)
From: [personal profile] squirrelitude
Zines with Linux stuff... that's gotta be Julia Evans. She's a treasure. I love her enthusiasm and just whole attitude towards learning.

Date: 2020-05-18 12:22 pm (UTC)
squirrelitude: (Default)
From: [personal profile] squirrelitude
Heads-up on Bash: When you start working with variables and quoting, it's going to be completely baffling. This is due to a combination of the history of how shells evolved and their creators' desire to have the most common commands be easy and fast to type. The resulting programming language—and it is a programming language—is an *utter pile of dogshit* and would never be considered acceptable if it had been created today, fully formed. So if you're confused, you're on the right track. :-P

(After about 15 years of using Bash, I *mostly* understand quoting and escaping rules, but I still get hung up sometimes!)

Date: 2020-05-18 09:33 pm (UTC)
squirrelitude: (Default)
From: [personal profile] squirrelitude
That is really quite horrifying. D-:

Profile

serakit

November 2025

S M T W T F S
      1
2345678
9101112131415
161718192021 22
23242526272829
30      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jan. 15th, 2026 01:09 pm
Powered by Dreamwidth Studios