What does HackerNews think of john-carmack-plan-archive?

Collection of John Carmack’s .plan files

there are a bunch of features in slack beyond the core chat stuff, like:

1. being connected to multiple communities and switching between them instantly

this can be of course simply replaced by connecting to different servers in a tabbed terminal and use the terminal's built-in cmd-1/2/... shortcut, which happens to be the same as in slack.

2. meta data about others, like their timezone or how to pronounce their name is quite important for distributed team work

this can be approximated by a world readable file on the chat server in every user's home, like .plan or motd files (https://github.com/ESWAT/john-carmack-plan-archive)

3. automatic idleness detection

im actually not sure how reliable is this even in slack, but in general, it can be useful, but im not sure how to solve it elegantly, when the chat runs remotely...

maybe we should just spawn a loop at the background, which gathers idleness status from the OS and uploads it when it changes, into world readable files and the remote clients can just check those file whenever they want.

4. extra status indication with automatic expiry, eg when someone is away from the keyboard, coz they are having lunch

we do use this feature often and it's a really helpful regarding when can we expect a response from someone.

again, quite simple to model this as a plain text file and we can even use emojis, to have a very similar effect to setting " lunch" on slack. ppl would need to know what's the emoji selector shortcut though... like cmd-ctrl-space on macos.

5. text search across all channels/rooms

assuming the chat is being logged into files, then a recursive (rip)grep could work to some extent, but then from the search results one might want to get back to the context of the result too.

6. threads

this complicates implementation a lot more, but we found it an obvious improvement over the single threaded IRC model of communication

7. having threads open on the side, so ppl can track 2 streams of comms at once at least

it would require starting the chat app multiple times and do some window management to see them side-by-side

now obviously all this can be done a lot simpler, but those implementations typically always lack somehow. not sure why is that...

see https://cancel.fm/ripcord/ or http://www.altme.com/what.html

the REBOL 3 programming language even had a quite full featured, text-mode chat built in: http://www.rebol.com/r3/docs/functions/chat.html !

John Carmack's .plan files were the first "blog" I ever really paid attention to.

https://github.com/ESWAT/john-carmack-plan-archive

.plan files were a great way to follow Quake development.

https://github.com/ESWAT/john-carmack-plan-archive

> I think the biggest failure of the open web is simply the lack of a "Publish" function.

The simplest approach to something like this is Apache homedirs or finger plan files [0]: you write some text in a file in your home directory and a service makes it accessible to anyone who connects to your machine. Apparently plan files were somewhat popular thing at one point; you could finger the machines at id Software and read what John Carmack was doing on any given week [1].

The problem with this approach is that the internet (not just the web) is not end-to-end. Assuming your ISP isn't using CGNAT, I have to:

- Punch a hole in my firewall or setup up a DMZ host. Unless my workstation is the only thing on my network and hooked directly into my modem, but nobody does that. Everybody has a LAN with private addressing.

- Setup dynamic DNS, since there's no guarantee that my ISP has given me a static address. In practice this isn't that bad, but if I lose power in a thunderstorm you need to have the same name you had before.

- Harden and update whatever service I run. It'll get probed regularly, and is a high value target since it presumably runs on the same machine where I run my password manager or buy things using I credit card.

A VPS is just a convenience and security measure here. You get a public IP address without any additional management (default-deny firewall, NAT) and can isolate your private data from the VPS which is more likely to be compromised.

The alternative would be to make a new network which gets rid of all the extra layers of management - just your machine, with a publicly accessible name that you can point people to. No smart network appliances in-between imposing NAT, DHCP, or firewalls beyond the one on your machine. I think there are P2P networks which work like this, or Tor if you give your machine a name in the .onion namespace. I don't know of any which are better on the security aspect though.

[0] http://www.catb.org/jargon/html/P/plan-file.html

[1] https://github.com/ESWAT/john-carmack-plan-archive

He did. There are numerous archives of them, and they seem to do well on HN when they're posted every year or two.

https://github.com/ESWAT/john-carmack-plan-archive

GET OFF MY LAWN.

If we are gatekeeping, THIS (was) blogging like a hacker:

https://github.com/ESWAT/john-carmack-plan-archive

Link to the origin repo if you’d like to read the entire .plan archive: https://github.com/ESWAT/john-carmack-plan-archive
This somehow reminded me of John Carmack's .plan files [0].

[0] https://github.com/ESWAT/john-carmack-plan-archive

We owe a lot to John Carmack in many ways - but I hope one of his enduring legacies will be the amount of programmers he inspired with both the games he helped make, and the code he made available. It helped many of us to get started somewhere.

I never ended up going into games myself, but in no small part I owe my career to him.

As well as the Doom book, his plan files are a fascinating time capsule to go back over, particularly if you 'came of age' during that golden age of PC games development.

https://github.com/ESWAT/john-carmack-plan-archive

    sudo apt install finger
    finger [email protected]
    finger [email protected]
sigh. his old ones have been archived https://github.com/ESWAT/john-carmack-plan-archive

Finger was really great microblogging platform.

Back when I was a kid, I used to regularly use finger check Carmack's .plan to see what he was up to.[1] Having never given this much thought, if you asked me about the origins of social media, I would have talked about MySpace and Friendster. Now I'd probably begin with talk and finger.

[1] https://github.com/ESWAT/john-carmack-plan-archive

id Software used finger heavily during the 90s with regular .plan updates.

There's an archive of John Carmack's .plan files here:

https://github.com/ESWAT/john-carmack-plan-archive

The man, the myth, the legend Steve Yegge's blog(s) are worth reading if you haven't yet:

https://sites.google.com/site/steveyegge2/blog-rants

http://steve-yegge.blogspot.com/

Armin Ronacher's blog is also excellent:

http://lucumr.pocoo.org

For the Schemer, or the compiler hacker, Andy Wingo's blog is fantastic

http://wingolog.org

For insights into debugging, kernels, and debugging kernels, Bredan Gregg's blog is fantastic.

http://www.brendangregg.com/blog/index.html

Finally, I wish to list a non-blog: and unblog, or perhaps the remnants of a blog once passed. This is an archive of John Carmack's .plan between 1996, and about 2005.

https://github.com/ESWAT/john-carmack-plan-archive

It is still a fascinating read.