Hacker News

Top stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Claude Code now reads AGENTS.md if there is no Claude.md(claude.com ↗)
    64comments
  2. Android 17 is the first since 3.x to add new APIs without releasing to the AOSP(grapheneos.social ↗)
    153comments
  3. Saving another 100TB of RAM(cloudflare.com ↗)
    22comments
  4. Cloudflare Quick Tunnels(cloudflare.com ↗)
    208comments
  5. Xcode 27.1 Beta Release Notes(developer.apple.com ↗)
    51comments
  6. Cache-to-Cache: Direct Semantic Communication Between LLMs (2025)(arxiv.org ↗)
    10comments
  7. Photon-Emission-Guided Laser Fault Injection Enables RP2350 Secure Debug(ledger.com ↗)
    40comments
  8. How to Write with an LLM(sockpuppet.org ↗)
    230comments
  9. Show HN: Cactus Needle 3: 8-29MB automation models can match DeepSeek V4 Flash(cactuscompute.com ↗)
    69comments
  10. OpenJev(openjev.com ↗)
    234comments
  11. The Implications of Linguistic Illegibility for LLM Security(arxiv.org ↗)
    13comments
  12. Our brain evolved from two primitive nervous systems that merged: Study(newscientist.com ↗)
    44comments
  13. C++26: Trivial infinite loops are no longer undefined behaviour(sandordargo.com ↗)
    153comments
  14. Cyclomatic Complexity in C#(ndepend.com ↗)
    3comments
  15. The first new cat species discovered in 100 years(nationalgeographic.com ↗)
    26comments
  16. From Geometry to Algebra and Back Again: 4000 Years of Papers (2023) [video](youtube.com ↗)
    discuss
  17. How SpaceX streamlined the Raptor engine(construction-physics.com ↗)
    17comments
  18. Korea raises data breach fines to 10% of revenue(koreajoongangdaily.com ↗)
    52comments
  19. A search-and-inference database from scratch in pure Zig(antfly.io ↗)
    12comments
  20. I vibed a proof of Conway's conjecture(overreacted.io ↗)
    171comments
  21. Minimal Phone 2(minimalcompany.com ↗)
    127comments
  22. Inside ZCode: Silently uploading your Git history to the cloud(ferstar.org ↗)
    87comments
  23. US Military had close call after using AI for hallucinated intelligence report(cnn.com ↗)
    249comments
  24. Warez: The Infrastructure and Aesthetics of Piracy (2021)(archive.org ↗)
    8comments
  25. Border agents can search cellphones without a warrant or reasonable suspicion(lawandcrime.com ↗)
    113comments
  26. Cekura (YC F24) Is Hiring(ycombinator.com ↗)
    discuss
  27. Show HN: Ax-check.com – Can agents use your product?(ax-check.com ↗)
    25comments
  28. North Korean nuclear test sets off years of earthquakes(science.org ↗)
    144comments
  29. Mathematicians Build Long-Awaited Graph Sandwich(quantamagazine.org ↗)
    15comments
  30. Show HN: Scry, programmable internet search w/ congestion pricing(scry.io ↗)
    16comments

John Carmack .plan Archive (2014)

153 pointsby 10y agogithub.com
50 comments
10y agoHN ↗

This gets posted to HN roughly every few months or so. Or something similar, like when I posted the quakeworld post.

I don't mind. It totally deserves it.

10y agoHN ↗

Keeping an archive of .plan files and making it web accessible is why Ryan wrote IcculusFinger. A shame finger died out :-)

10y agoHN ↗

GNU coreutils contains pinky(1), a lightweight finger(1) replacement.

10y agoHN ↗

At one university where I studied at for a bit around the period of 2009 - 2012, they had and, judging from their Wiki, still do have, finger daemons running on most Linux servers and workstation -- perhaps even on all of them.

Furthermore, the vast majority of workstation computers at the department for informatics and at the department of mathematics are running RHEL, so it's not just a handful of computers.

As for how many were actually making active use of finger and in particular .plan files, that was probably just a handful of people. I was one such person for a while after having learned about it and thinking it was kind of neat, but I eventually gave up on maintaining my .plan file and focused on other ways to share things.

10y agoHN ↗

A shame finger died out :-)

To be fair, it never had much of a life to begin with. I bet I can count on one finger (sorry) the number of folks who ever saw the cute ASCII art in my .plan.

Carmack may well have been the only person in history to have put finger to good use. Even back in those days, using your .plan for actual status updates was virtually unheard-of.

10y agoHN ↗

You can finger my email address (david [at] gloveraoki [dot] net) to read my Twitter.

For no real reason other than I thought it was fun.

10y agoHN ↗

Finger is one of those ideas that worked only while the internet was a playground for the university labs.

After all, it requires that a port is exposed to the world for someone to read it.

10y agoHN ↗

Much like email, finger was a service usually hosted by your ISP/university/workplace. The daemon did not run on your own machine.

10y agoHN ↗

Yeah when I was at university (1998 - 2002) .plans were used by a lot of students as a primitive blogging mechanism. I also wrote some perl scripts to show .plans on the web, and even added some basic markup features. I bet a lot of people did that as their first experiments in cgi programming!

10y agoHN ↗

The problem with finger is that it exposes information that is now considered sensitive while it provides very little benefit. And of course because it is an old protocol there were some security issues with the daemon.

It's a neat idea but if you want to share information about yourself, why not have a webpage?

10y agoHN ↗

Funny thing: finger and .plans were what you are doing.

Twitter is what you are doing.

I wonder if in some alternate universe 'finger' would have became mainstream.

10y agoHN ↗

True. So maybe it would be better to stick this one-liner in your inetd.conf.

    perl -MLWP::Simple -MCGI=escape -MHTML::Entities -MEncode -e '$u="";read(STDIN,$u,1,length($u)) while length($u)<128 and $u!~/\n/;$u=~s/^\/w//i;$u=~s/\s//g;if(!$u){print "This server cannot enumerate users.\r\n";exit}elsif(length($u)>128){exit}elsif($u=~/@/){print "Finger forwarding denied.\n";exit}foreach (split /\r?\n/,get("https://twitrss.me/twitter_user_to_rss/?user=".escape($u))) { if(/<title>([^<]+)/){$title=decode_entities($1)}elsif(/<dc:creator>.*\(@([^)<]+)\)/){$author=decode_entities($1)}elsif(/<\/item>/){print encode("utf8","$author: $title\r\n")}}'

On the bright side, Finger is a simple enough protocol you can implement a full-featured RFC1288-compliant server (except for some optional features) in under 600 characters. Remind me again why nobody uses it anymore?

10y agoHN ↗

That's one heck of a 1-liner! I like it.

. Remind me again why nobody uses it (finger) anymore?

People wanted "shiny" for their things.

10y agoHN ↗

Funny thing: finger and .plans were what you are doing. Twitter is what you are doing.

Even more apropos was finger's .project file: it was meant to be a single-line status update about your current project.

10y agoHN ↗

The protocol is so simple and the client so pervasive (it's even on Windows by default) that you could still do something semi-interesting with it today, I reckon (for command line dwellers only though, it's just as easy to hit a URL and get some text back..)

10y agoHN ↗

In current times people feel uncomfortable fingering someone.

10y agoHN ↗

It's unfortunate that this comment got down-voted. If you wanted to see someone's .plan file. You use the finger command. ie, finger jcarmack@facebook.com. Of course, very few people if any still run the finger service. The above post was a subtle humor that needs a history lesson.

10y agoHN ↗

I'll pass on the recommendation that previous HNers have to me: if you haven't read Masters of Doom yet, do it. Whether you're an entrepreneur or an engineer or both, it's a really inspirational and informative tale. It also talks about these .plan files.

10y agoHN ↗

Absolutely. Masters of Doom was a compelling read. And reread.

10y agoHN ↗

There is also Making of Prince of Persia book, which is great read as well.

10y agoHN ↗

Totally agree, also The making of Karateka is worth a read

10y agoHN ↗

I hope he will publish third book about development of The Last Express.

10y agoHN ↗

I'm definitely getting it if he does. For others, I never played Karateka (got the retro iOS version a while ago) but the book stands on its own without having played any of the involved games (of course, having lived through it helps, so you know what games in those days involved)

10y agoHN ↗

I enjoyed both Master of Doom and the two Mechner books (for Karateka and PoP). Can anyone suggest similar long-form blogs or books where a single developer talks about a programming journey they took? (Nat Friedman - Ximian - had a great blog 2002-2006ish of this nature, but it has since gone down.)

10y agoHN ↗

I can recommend Stay Awhile and Listen by David L. Craddock which tells the story of how the original Diablo was made. It's mostly told in interviews, so while it's not a single developer's story a lot of it is first hand.

10y agoHN ↗

About half way through so far, thanks! :)

10y agoHN ↗

Fantastic book. Find the audiobook version, narrated by Wil Wheaton — it's a captivating listen. (And a joy for anyone who grew up with PC shareware back in the 90's.)

10y agoHN ↗

If I recall correctly, * means it was done that day and + that it was done at a later date.

10y agoHN ↗

If it was done later, how did it enter that file?

10y agoHN ↗

I think he just went back and changed the text file a few days later. I don't know how this works with the finger protocol (never used it), so it might just've been for himself.

10y agoHN ↗

"I probably had my personal "moment of truth" around the beginning of Doom 3's development, when it became clear that it is no longer possible to deeply understand every single part of a modern application. There is just too much. Nevertheless, I found that I could still enjoy my work when confined to a subset of the entire project, and I have thus remained committed to the high end. However, the appeal of smaller systems still lingers." [0]

I am very much having this moment with the current state of web/app development. Being a generalist, you end up primarily working to meet a product end, be it new user features or product milestones. All the time making many compromises along the way, as any good engineer should. Yet the depth of the web/mobile stack, the sprawl of libraries, and the abundance of computation for most tasks makes you operate at a very high level (30,000 ft) and only dive down to the bits when absolutely necessary. This has its own joys, primarily one of productivity, but it does starve a primordial part of most developers' brains that craves order/perfection/optimality/complete understanding.

I never understood why some people would play with a low level language like C or assembly outside of work in their free times. After 10 years of professional application coding, I get it.

[0] https://raw.githubusercontent.com/ESWAT/john-carmack-plan-ar...

10y agoHN ↗

I feel this is especially true in a web/API world, where a lot of what isn't automated is usually rather similar between projects.

I deal with some daily major systems and some critical security architectures, but most of the time I feel like a digital janitor who is mainly making sure the SOA pipeline doesn't clog up.

10y agoHN ↗

Pff, 2014. I remember the good 'ol days when you read Carmack's plan on Blues News as he was discovering BSP tree's and firing Romero :)

10y agoHN ↗

Blues News? You mean you didn't finger his account directly from a shell prompt?

10y agoHN ↗

One of my favorite parts is when he talks about buying a gigantic $10,000 "portable" computer (an early Pentium, I believe) and just going to an out-of-state hotel and working for a few days with no contact with the outside world. On his return, he decides to repeat the exercise every few months. I've been considering the same (but with Internet access).

10y agoHN ↗

I was doing this every few weekends, while living/working in Toronto but getting a hotel for a weekend in one of the suburbs. I used this time to work on my own projects and long-term reflection, since I was working on the client work so much it was hard to detach enough to work on my own stuff in the same environments I worked on other people's work in.

10y agoHN ↗

* John Carmack's .plan for Feb 24, 1996 ... * RELEASE QTEST1

It looks so brown and blocky and crude now, but it was huge at the time. Good memories.