pg

Joined 20 years ago

Karma
157,316
Submissions
15,565
Member since
Oct 9
Bug fixer.
View on Hacker News

Recent submissions

Comment · 2 years ago
In earlier drafts I wrote "the existence of some set of best essays follows necessarily" but it sounded so pedantic that it didn't seem worth keeping just to protect myself from being accused of not understanding the distinction between a partial and total order. I assumed anyone reading it in good faith would understand what I was saying.
Comment · 3 years ago
It's not available yet. And in any case if this is the future there should be multiple companies doing it, not just Apple.
Comment · 3 years ago
Thanks, but as I learned when I was running HN, being a regular user of a forum (which the moderator necessarily is) and writing essays are fundamentally incompatible.

If you're known to be a regular user of a forum, then when someone says something about you and you don't reply, it reads as a tacit admission that they're correct. And when you write essays people say all kinds of things about you. The combination is a disaster. Forum users can sense that you're compelled to respond, and it encourages them to pick fights with you.

Back when I used to moderate HN, hitting publish on an essay was usually followed by several hours of saying various forms of "No, what I said was..." Life is much better now that I never look at the HN threads on them.

Comment · 3 years ago
I'm not leaving Twitter. It seems more likely than not that Elon will reverse the ban on links to other social media sites. I just don't want to hang out there in the meantime. Plus given the way things are going, it seemed like a good time to learn about alternatives.

I still think Elon is a smart guy. His work on cars and rockets speaks for itself. Nor do I think he's the villain a lot of people try to make him out to be. He's eccentric, definitely, but that should be news to no one. Plus I don't think he realizes that the techniques that work for cars and rockets don't work in social media. Those two facts are sufficient to explain most of his behavior.

He could still salvage the situation. He's the sort of person it would be a big mistake to write off. And I hope he does. I would be delighted to go back to using Twitter regularly.

Comment · 6 years ago
Yes. The root of the problem is that the hospitals' supply chain is brittle, and broke under the stress. One hopes it will get redesigned to be more robust. But in the meantime Flexport can get PPE now, and now is when it's needed.
Comment · 7 years ago
This looks pretty good. The only thing I don't like is the coloring of tokens in the examples. It doesn't make them easier to read; it's just distracting.
Comment · 7 years ago
As names, car and cdr are great: short, and just the right visual distance apart. The only argument against them is that they're not mnemonic. But (a) more mnemonic names tend to be over-specific (not all cdrs are tails), and (b) after a week of using Lisp, car and cdr mean the two halves of a cons cell, and languages should be designed for people who've used them for more than a week.
Comment · 7 years ago
This was something I'd meant to do for a long time, and wanting to work on it was one of the reasons I retired from YC. Being overtly ambitious would have provoked haters, but few will see this thread now, so I'll tell you: the goal was to discover the Platonic form of Lisp, which is something I could always sense lurking beneath the surface of the many dialects I've used, but hidden by mistaken design choices. (T was probably the best in this respect.)

I don't know how much my experience translates to other people, because my "career" has been unusually random, but when I retired from YC what I was thinking was that at 49, if there was something I'd been meaning to do, I'd better do it.

Comment · 7 years ago
It would not be clearer to use 1 instead of car when you were using a pair to represent a tree, rather than a list, and you were traversing the left and right branches using car and cdr.
Comment · 7 years ago
An infinite number, in theory. Even (sign n d) does, since you can have anything in d.
Comment · 7 years ago
What this

  (def typecheck ((var f) arg env s r m)
    (mev (cons (list (list f (list 'quote arg)) env)
               (fu (s r m)
                 (if (car r)
                     (pass var arg env s (cdr r) m)
                     (sigerr 'mistype s r m)))
               s)
         r
         m))
says is, first create a function call

  (list f (list 'quote arg))
in which the function describing the type (e.g. int) is called on the argument that came in for that parameter. Its value will end up on the return value stack, r. So in the next step you look at the first thing on the return value stack

  (car r)
If it's true, you keep going as if the parameter had been a naked one, with no type restriction

  (pass var arg env s (cdr r) m)
and if it's false, you signal an error

  (sigerr 'mistype s r m)
Comment · 7 years ago
You wouldn't learn much more from reading it, because (to an almost comical extent in retrospect) the internal code was just like HN. In fact, not just like; it was mostly the same code.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton