Apparently it's smart troll day on HN. (Xah is just down the page right now.) It's like a celebration of the kind of person I admired before I realized that other people are real too.
I don't believe that's true. Several of the smartest people I know are among the most socially-capable and personally engaged. I think a healthy person recognizes value in aspects of a person additional to their intellect.
For those who may not be familiar with Erik's thinking and style, here is a sample post[1] from Erik on Paul Graham's Arc dialect of Lisp, which, I recall, still powers HN:
I have briefly looked at Arc. It is yet another demonstration of the
problem of too strong an ego that cannot live with what somebody else has
made. Be it the standard conditionals, nil versus false versus the empty
list, or whatever else this purportedly strong ego is too weak to accept,
it is nothing more than proof of the core problem of the IT world -- the
hardness of its pillars makes them brittle, not strong, so they cannot be
used to build upon. What was it that stood so much in the way that Paul
Graham could not have accomplished it without creating a new language?
Why was creating a new language and starting from scratch better than
building on what had come before? Why is the IT world defined by people
who are unable to deal with the concepts of continuity, longevity, and
design for long-term stability? Why do they believe they are so much
smarter than everything that has gone before them, when they clearly are
not and repeat mistakes that take years to undo, if not replaced by
another stupid "revolution" that itself starts from scratch?
If people built societies the way computer people build communities, we
would still live have small warring tribes and no concept of a law that
binds all people and absolutely no concept of a constitution that binds
lawmakers. For all the talk about the Internet changing the world, we
lag the real world by about 40,000 years when it comes to how we make
lots of people who do _not_ agree to everything live and work together.
Like the Perl takedown downthread, this is pretty disappointing milquetoast stuff. It's sentence after sentence repeating the same question --- "why another new language?" --- that was literally one of the first Paul Graham answered when he did Arc. It reads as if Naggum believes he's the first to have thought of asking. Embarrassing.
Yes. That wasn't what I was thinking when I chose that word, but, come to think of it, that's exactly what I think. He's got, like, half a sentence of actual Arc critique (I'm not a fan either!).
Thanks for the quote. As @tptacek has said, I don’t think his argument is very strong: it seems that he focuses mostly on the reasons for making it, bordering on an ad hominem.
I agree with him in principle; it’s better to use what others have made, than to reinvent (a slight variation of) the wheel. I personally believe that pg’s reasoning was mostly because it was just fun to make, and as someone as active in the startup ecosystem as him, making something new rather than using the status quo makes a lot of sense.
Regardless, I would have found it much more interesting if he gave some concrete examples, and/or focused on facts.
I also don’t know Erik Naggum that well, and I’m wondering if this quote is an accurate representation of his style.
I believe societies weren't that different, they probably tried to reinvent rules and laws too. Cycling around, massaging ideas until they provided enough social stability to stay.
It's easy to assume ego is behind making a new language, but many languages were imperfect creations based on a set of strange constraints.
It's also a honest path too, you don't like something, you make your own. Some people would rant about the existing state of things which is not helping. A working website was made with it so it's not a toy.
Most things exist because the status quo felt not good enough that someone tried another path.
And in the context of lisp it's a very strange attack.. lisp explicitly embedded the foundation for people to build their own dialects so they wouldn't have to suffer prior decisions too much.
I picked this quote because it is actually a better than average represention and shows Naggum's thinking and writing at its best without the bitterness and meanness that often crept in.
I saw this post of his as not so much a criticism of Graham and Arc in particular, as a lament over the tendency in computing to dismiss the good work done in the past and just start over all the time.
> the hardness of its pillars makes them brittle, not strong, so they cannot be used to build upon
I think this is generally correct. Most of the time starting over from a clean sheet leads to something that will be discarded by history. And you're much more likely to build something of lasting value if you look for a small contribution to make within the general scaffold of the status quo.
But this leaves open an interesting question: When does a clean sheet reset lead to something the work can build upon?
In my opinion, tech progresses in phases of expansion and contraction. In the expansion phase, people take the status quo for granted, and add useful refinements in niche areas. In the contraction phase, the status quo has calcified a bit, and there are many unnecessary assumptions baked into the architecture. This phase in the cycle is ripe for someone to come in, tear out all of those assumptions and start new foundations.
Those foundations will be weak in many areas, but users can stomach that because the status quo was already beginning to really slow them down. This is the classic "disruptive technology" moment.
The question I think for anyone wanting to make a contribution is: When you look at your problem domain, where in the cycle do we seem to be?
But Arc does use what others have made: it's hosted inside another implementation like Racket.
> If people built societies the way computer people build communities, we would still live have small warring tribes and no concept of a law that binds all people and absolutely no concept of a constitution that binds lawmakers.
If people built societies the way Eric Naggum wanted them to build communities, we would all be Roman citizens speaking Latin.
Also, if computer people built the way Eric Naggum wanted, we wouldn't have ARM chips for embedded, for instance. Your mobile phone's chip would be running IBM 704 instructions. We wouldn't want to invent some new, incompatible machine language instruction set, right?
I read comp.lang.lisp from 1998 - 2006. Lot's of interesting technical material. Many of Erik's technical posts are insightful. A few of these quotes make him look like a doofus keyboard warrior, but I could tell after reading his writing for so long that he was a genuine good guy, albeit at times a bit abrasive.
Can't believe that it has been twenty years since I was introduced to common lisp. Think that I will go back to it after I retire.
At least Naggum's was creative and entertaining in his abrasiveness. I'm not sure if I would have enjoyed actually interacting with him, but I always chuckle a bit reading through his old rants. If you read these things with a bit of humour it's quite funny.
I was a denizen of c.l.l deep into the Naggum era.
And, yes he could be abrasive. Notably he did not suffer idiots well.
But if you read many of the threads, you'll notice that the provocateur upon which Erik focused his attention, the majority of the time, is talking past what Erik was saying. Most of those threads are folks yelling past each other, rather than actually addressing the points being made (and most of the folks he was directing his attention too dumped the technical side of the, uh, "discussion", almost immediately). He didn't suffer those people well either.
My friends used to get into these spittle flying, lips shaking, table rattling lunch arguments at high volume. And whenever that happened, they were always talking (or, rather, shouting) past each other. And this happened face to face, 2 feet away from each other.
The internet just makes that dynamic all the worse.
I never had a bad interaction with Erik. He was always responsive and respectful to any communications I had. I wasn't close to him, but more than not enjoyed his commentary and his typically well thought out point of view (even if I didn't agree with it).
He certainly doesn't need someone like me to defend him, but I do miss him. I consider his loss a blow.
I had another friend, a closer friend, also an Erik. He had a caustic side to him as well, and we lost him just as the pandemic was starting. I miss him dearly as well.
I did interact with Naggum in a limited fashion back in the mid/late 90s when I briefly worked as a writer. I can't recall the specifics, but he was deeply involved in a number of heated discussions on the no.general Usenet group. I sought his opinions in relation to one of these as it made for an interesting story.
I found him fiercely intelligent, strongly opinionated - and he probably made himself vulnerable by getting too personally involved in the topics. Yet, he spoke to me respectfully. I was very sorry to read of his early passing only just a decade and a bit later.
> People search for the meaning of life, but this is the easy question: we are born into a world that presents us with many millennia of collected knowledge and information, and all our predecessors ask of us is that we not waste our brief life ignoring the past only to rediscover or reinvent its lessons badly
Yeah the Not Invented Here mindset is hard to avoid. So many people ignorant of the whole body of knowledge on various subjects before them, and the best they can do is re-invent the wheel and cry 'Eureka!' (e.g Like when stumbling upon a yoga asana/posture that was committed to text 2000 years ago or accidentally coding Bubble Sort with no prior knowledge of algorithms).
When I worked as a patent examiner, it seemed to me that the bottleneck in searching is usually the searcher, not the specific search technology. Many technical people (for example, HN folks) tend to severely overestimate their own search ability. I certainly did.
With the right search query, one can frequently find exactly what they are looking for very quickly. In some sense having a dumber search engine than Google is advantageous here as you won't become dependent on the "magic" of the search engine and will have to craft a good search strategy.
The most valuable technical feature of the internal search tools (PE2E Search or EAST) was speed, not anything fancy. I imagine this was the motivation: If the results can't easily be ranked (and they couldn't in my experience), make handling a ton of results as easy as possible. That's what the USPTO did.
You could "flip" through documents quickly using only the keyboard, and if what you were looking for was easily visible in a drawing then this usually was the best approach. For text they had a good way to show what you were looking for in context. I'd love to see a similar setup for web search but I don't think it would appeal to most, so it probably won't happen.
AI/ML based search tools were interesting but usually not helpful. I'd always try at least some of them. I think the main limitation for these in my technology area (mostly water heaters and ventilation) was that they didn't look at the drawings at all, just the text and citations. That's missing a lot. (When they were helpful they did save a lot of time.)
I think the big difference between such a dataset and the web is, that the web is polluted with useless stuff like spam. How do you decide what is relevant, and what not, if not with some statistical/ML methods? It seems like only a whitelisting approach would work then, severely limiting the scope of such a system.
> How do you decide what is relevant, and what not, if not with some statistical/ML methods?
To be clear, you're referring to software determining relevance. I can determine relevance on my own, though it may be time consuming. Making manually determining relevance as quick as possible worked okay in my experience at the USPTO.
Right now there probably are reliable signals about the relevance of a document/webpage/etc. But Goodhart's law suggests that any ranking signal used would be unreliable in the long run. Without AI on par or better than a human, I think the equilibrium would tend to be that search results can't be ranked well.
If ranking doesn't work, then each result is roughly as plausibly useful as the next. Given that, figuring out how to efficiently manually handle a lot of results is reasonable strategy, one that worked in my experience at the USPTO. It's not for everyone, mind you, but search software for serious searchers should consider this approach.
> I think the big difference between such a dataset and the web is, that the web is polluted with useless stuff like spam.
While patent attorneys aren't actively SEOing their patent applications, they do tend to write legal/technical gibberish that's basically just as useful as spam. (I wish patent attorneys did some mild SEO like adding relevant keywords as it would make examining patents easier...)
Re-inventing can be good for your personal learning. But if you're building something that others are going to have to deal with, those others will usually be better off if a classical solution or approach is used. The classical solution will usually be less buggy and better explained than whatever you roll for yourself.
I noticed on his websites that he likes to write dates in a format like "2009-121" or "2006-257", i.e., year and then day of year (1..366).
I also use that concept, though I write it as XXYYY where XX is years post 2000 and YYY is the day number. For example, today is 22100.
Why do I like this? I find this is more "mentally ergonomic" to use for software tooling I have made for myself only. I usually don't care about the month or date of the month; I care about offsets (e.g. tomorrow is 22101 and ten days from now is 22110). If I'm computing an offset in my head, I don't have to account for wrap-arounds due to month (e.g. 10 days from March 25 is April 4 because March has 31 days.) The XXYYY format is about as concise as you can get (i.e., takes up minimal space on the screen) while still capturing all the information I care about. XXYYY sorts easily (though that's also true of YY.MM.DD which is my second favorite format).
It's weaksauce for 2000, no? Pretty much everything in Unix Haters Handbook (1994) is better than this. In the more usenetty vein, Christiansen's C-shell Considered Harmful is easily much better.
There's a lot of filler in it, it's not very pointed, and it's mostly handwavy. You could substitute almost any other language in there and it would read the same. "This is your brain on Perl"?
I think "A Fractal of Bad Design" ruined me for these.
People call Perl a "write-only language". That's a good takedown! And in just a couple words! I don't get why people have so much reverence for Naggum.
Probably it's just me, but after 2016 and all that idiotic internet edgelord-ery that enabled and accompanied it, and the repercussions we will still feel for decades, I've lost all patience and interest with these type of 14-and-this-is-deep edgelords, especially when they're in their 20s or even older.
They don't add anything that for instance Houellebecq hasn't formulated before them, and way more poignantly. Just because they don't read literature but stew in the muddy waters of forums and usenet and other places, doesn't mean their pontificating can be excused.
These types drove me away from IRC and and Computing environments all together. I met a whole bunch of them and the whole vibe was very dismissive. I became an economist and later returned to computing again. Edgelords is an accurate term for these types!
I'm going through a similar situation. I'm very reluctant to tell new people I meet that my job is internet-related. Many nontechnical friends have come to know the internet mainly as either a cesspool of disturbed people, or a silly pastime for kids with an attention whore syndrome - and anyone who works in the field, even on unrelated projects, is basically fueling the fire.
Can't say I even blame them.
Erik was like a predator who contributed to the ecosystem. He ate frequent low quality shitposters from comp.lang.lisp and then swam in circles preventing them from emerging.
His rants were educating or entertaining. Usually both. They came from deep technical knowledge. When was the last time you followed a Internet flamewar and learned something?
The culture on com.lang.lisp was pretty toxic at times. I remember having Erik telling me to have a late abortion (I was 13) in a discussion about '() being false.
He had ulcerative colitis. People more or less use "having an ulcer" as slang for being in a bad mood. Maybe he was like the giant with a thorn in its foot - something bothered him, and that made him less than in a good mood.