John Carmack .plan Archive (2014)
github.com
github.com
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...
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.
I don't mind. It totally deserves it.
Twitter is what you are doing.
I wonder if in some alternate universe 'finger' would have became mainstream.
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?>. Remind me again why nobody uses it (finger) anymore?
People wanted "shiny" for their things.
Even more apropos was finger's .project file: it was meant to be a single-line status update about your current project.
http://rtpg.co/files/carmack-plan.epub
For those interested in the script, here's that:
https://gist.github.com/rtpg/4eb757c2c71ab20946bbd8156cd0533...
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.
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.
For no real reason other than I thought it was fun.
After all, it requires that a port is exposed to the world for someone to read it.
It's a neat idea but if you want to share information about yourself, why not have a webpage?
In the Waiting Line - Zero 7: https://www.youtube.com/watch?v=Cq336zk2cZk
It looks so brown and blocky and crude now, but it was huge at the time. Good memories.