It's definitely not a charity. Dan offered to pay me a contract rate, but I was such a mess at the time that – and this an impressive fumble – I managed not to say "Yes, thanks! How do you feel about $x?" and instead launched off the deep end somewhere. (I was working on Emacs indentation in between Uber rides, since I was a driver at the time; much hacking ended up being done in a Best Buy parking lot under the actual moonlight. So at the time I was a little, uh, "eccentric" is probably the nicest way to phrase it.)

If I made HN/YC sound weird, it's only because I'm weird; sorry about that. My path through life was nontraditional. At the top of my salary history (https://news.ycombinator.com/item?id=27109946) is "unpaid intern for a year" – I still think that unpaid internship was the best thing that ever happened in my life, especially at 17. (Incidentally, I was paid a few hundred bucks under the table; the problem was child labor laws, which are somewhat onerous in America.) A lot of people would feel that that's unfair. I say that in exchange for them putting up with a sometimes-goofy 17 year old, I was able to learn almost as much in that first year as I have in all subsequent years.

HN is similar in that there's an astonishing variety of interesting, unintuitive infrastructure tasks that you'll be exposed to. (I still rely on Emacs occasionally; that skill wouldn't have been in my arsenal.)

One reason I said anything at all is because Dan has been saying for several years that one day he might open source the moderation browser extension he uses; think of it like an IDE for HN. I was thinking perhaps someone could show up and say "Hey, I'd be willing to help package it up for release!" or something, because I personally think that it would be Hella Cool, as they say, to have some kind of power-user mode for HN. But since it has possibly sensitive moderation features, trust is of course a crucial issue, which takes time to establish remotely.

The other aspect was that Scott Bell (a former mod) was basically my only friend at that time. "Associate" is probably a better description, since he had an almost Vulcan-like detachment; nothing seemed to phase him. He was so cool that he was ice cold when it came to work, yet friendly and interesting when it came to life in general. Much of my present style was influenced by him. I think he put in a good word for me, and I ended up wasting a lot of their time instead, which I've felt badly about for years.

So some of those feelings were coloring my writing a bit; I'm certain that the HN team is a well-oiled corporate machine, as you'd expect.

It was interesting that an opportunity like that was even on the radar for me at one point, since as you allude to, it's somewhat unusual. But it's due to a confluence of factors, and they've likely had an influx of help (and business expense) since then.

But of course, business expense means business priority. And that leaves no time for interesting yeoman work like open-sourcing a neat HN browser extension. (It's pretty rad: https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...)

So if work like that sounds interesting, email 'em and say something. But a word of advice: go into it with a chill mindset, and realize that it'll take time to earn trust. https://news.ycombinator.com/item?id=20176460 mentions factoring out moderation-only features, so it's understandable that they can't simply say "Here's the code!" to anyone who shows up and asks.

"Hacker News" definitely lives up to the "Hacker" part of the name. It's not too often that such impactful infrastructure is written in Lisp. I think that's super neat, so maybe someone else will too.

EDIT: Oh yes, I should probably mention Numen. If you do end up needing to learn Emacs for random esoteric jobs, Dan's old Node.js debugger is an amazing resource: https://github.com/gruseom/numen/blob/master/numen.el

It stopped working after Node 0.6 I think, when Node dropped the old debug API. But I got it working once, and holy moly it was cool. It was like Indium (https://github.com/NicolasPetton/Indium) in that it was a JS debugger on steroids, and IMO had nicer features than even Chrome. It was even superior to Indium in a certain aspect related to cross referencing function names in the debugger with the actual files/lines they were defined at. I don't remember why, but the new Node debugger system made that super difficult for some reason.

Numen's a great example of the type of work that you'd be in a position to do. Much like Lisp itself, Numen seemed to have an extraordinary amount of power, yet few people noticed. Neat code.