Hacker News new | ask | show | jobs
by jff 3592 days ago
In my opinion, the Jargon File is a fun look back at historical hacker lifestyles, but it's also a microcosm of a very few schools in the 60s and 70s. Teenagers have a bad habit of reading the Jargon File and thinking that's how they MUST behave to be a hacker--I did it, to my embarrassment, and a trip to Defcon or most any freshman CS course will find others doing the same.

You don't have to start saying "grok" to be a hacker, or adopt the idiotic "-p convention" which doesn't even really exist in Lisp any more.

Both the Hacker Manifesto and to a lesser extent the Jargon File also tend to perpetrate an "us vs. them" ("freaks vs. squares", "hackers vs. normies") mindset that's pretty outdated these days. You know the only people who give a shit about categories like "geeks and jocks" any more? The ones who are so tied up in their manufactured geek identity that they don't realize the jocks are also learning Python after football practice these days.

4 comments

> I did it, to my embarrassment

You're not the only one. I give esr a lot of credit for having written the Jargon File at all, because I would not be what I am today had I not encountered it in childhood. But I also give him a lot of blame for writing it in a way that, however satisfactory it must be to his many and multifarious personal prejudices, militates directly against its value in the role he purports to intend that it fill.

He didn't create it, he just more or less appointed himself maintainer after 1990-ish.
I think it's reasonable to argue that he's revised it so thoroughly away from its original form that he can be considered to have written it. Perhaps it would help to distinguish the Jargon File and TNHD, although the former has for a very long time merely been the latter without the cartoons.
> adopt the idiotic "-p convention" which doesn't even really exist in Lisp any more.

Do you have a better way of signaling to the reader that a function is a predicate? I don't write a ton of Common Lisp, but I do still see quite of a bit of foop when I read Common Lisp. Possible that most of the code I'm reading was written when this was still a thing though...

I think the only reason this doesn't exist in Clojure (which is the lisp I used the most) is that ? is a valid identifier. Similarly Scheme includes ? as a valid identifier (at least R5RS as implemented by Chicken).

See first 25 entries or so in the permuted CL symbol index:

http://www.lispworks.com/documentation/lw51/CLHS/Front/X_Per...

Scheme does use ?, and you can in CL if you really want. But CL reserves ? as a programmable reader macro [1]. It is often used, for example, to designate a stand-in domain variable designation in, say an embedded Prolog.

Another reason that CL avoids the "?" convention is that it's "unpronounceable" [2]. CL is the only language spec I've seen that discusses pronunciation; they actually gave thought to how programmers might converse about their code unambiguously [3]. Another manifestation of this is CL's sort-of case-insensitivity [4].

--

[1] The other reserved characters are !, [ ], and { }

[2] Although at least one wag suggested pronouncing it as "eh?", like a good Canadian.

[3] CLtL2 provides quite a bit of this. My fav is a brief excursion into how some hackers pronounce "macrolet" to rhyme with Chevrolet. :)

[4] This is not actually the case, but appears to be true to new Lispers, until they understand that by default, the reader converts everything to upcase.

Did you miss the Hoon language and their pronunciation table that works for other languages too? http://urbit.org/docs/hoon/syntax/ They suggest pronouncing '?' as 'wut'.
You can name your symbol as you want in Lisp, "(make-symbol s)" works for all string "s". With the reader, if you need to define symbols with spaces or otherwise not treated as symbols, or if you want to ensure the names are not upcased (it depends on the readtable), you enclose the name in bars: |anything, whatever| is a single symbol, as well as || (the empty symbol).

The convention for predicates is to use "-p" (there is a hyphen if the rest of the symbol has hyphens, otherwise no hyphen). I think I saw a few libraries that define "thing?" predicates, but that is quite rare. People generally tend to not break conventions in practice, even though "?" can be regarded as a logical prefix for predicates.

You may be right, maybe I've just only looked at Scheme lately and thought "?" had migrated to Common Lisp.

https://www.cs.cmu.edu/Groups/AI/html/cltl/clm/node188.html seems to indicate that you could use ? in a common lisp function name, though.

You could, but I've never seen it. Convention seems to be to suffix 'p' if the predicate name is a single word, and '-p' otherwise.
In languages without '?', it's common to prefix the predicate function's name with "is", for example is_empty or isEmpty.
A lot of people have adopted "grok" without understanding its subversive connotations. The shade of Robert Heinlein is laughing at us all.

Edit: just checked the Jargon File on "grok," and it mentions neither sexual congress nor ritual cannibalism. I think ESR may be chuckling as well.

> The shade of Robert Heinlein is laughing at us all.

Hardly a new state of affairs. I mean, he invented the Rapture of the Nerds back in the fifties!

Wow, really? I haven't read enough Heinlein - what was that in? I always thought Rapture of the Nerds was grounded in Vinge's "The Coming Technological Singularity" (https://www-rohan.sdsu.edu/faculty/vinge/misc/singularity.ht...)
I honestly don't recall the name of the specific piece, but I do remember that it's anthologized in his collection Expanded Universe, and it was clearly the "Singularity" he described, although of course not by that name - there's even a chart and a curve for those readers not yet familiar with the concept of exponential growth! I remember it quite well, not least because I'd thought I was years past learning anything further from Heinlein, and here he was teaching me that there's nothing new under the sun.

Unfortunately I can't give a page reference right this minute, because my last paper copy of the book disintegrated under heavy use some years ago and the samizdat electronic version doesn't have charts or page numbers. But it's in there, and when the new paper copy I've just ordered arrives on Monday, I'll look up the page and reply to this comment with a link to a photo or something.

That's not the only thing in Expanded Universe, of course; it's quite a long book and contains a great deal of other worthwhile material - short stories, articles, and transcripts of various talks, which together both entertain the reader and lend insight into the qualities of the author. It's not the first book I'd recommend if you're only going to read one Heinlein - that would have to be The Door into Summer. But if you're only going to read two, I'd suggest this be the second one.

The book got here a day early:

http://i.imgur.com/BIfImA3.jpg

This is from the 1950 edition of "Where To?" - if there's an earlier example of the central concept of the "Singularity", I am not familiar with it.

Not sure I'd suggest The Door into Summer, it's one of the weakest books from Heinlein imho together with the Number of the Beast and I Will Fear No Evil. I'd usually recommend the Moon is a Harsh Mistress or one of his juveniles as the first book.
The Moon is a Harsh Mistress is definitely my favorite. I don't think Fear no Evil was that bad -- I think it was the last decent book he wrote.

I remember reading the serialization of the first few chapters of Number of the Beast in Omni magazine, and thinking how great it was. Then I got the book and read the rest, and was sad.

Don't get me started on _Friday_.

That's good advice and I appreciate it.
Back then those wher the only schools /universities that mattered