14 ms·
John Carmack .plan Archive (2014)
- qwertyuiop924 10y agoThis 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.
- krat0sprakhar 10y agoPrevious discussion: https://news.ycombinator.com/item?id=3367230 https://news.ycombinator.com/item?id=3367230
- wj 10y agoLots of big news in August 1996.
- feld 10y agoKeeping an archive of .plan files and making it web accessible is why Ryan wrote IcculusFinger. A shame finger died out :-)
- erlehmann_ 10y agoGNU coreutils contains pinky(1), a lightweight finger(1) replacement.
- eriknstr 10y agoAt 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.
- ucs 10y agoA 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.
- LeoPanthera 10y agoYou 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.
- digi_owl 10y agoFinger 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.
- ucs 10y agoMuch like email, finger was a service usually hosted by your ISP/university/workplace. The daemon did not run on your own machine.
- bananaboy 10y agoYeah 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!
- tinus_hn 10y agoThe 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?
- nailer 10y agoFunny 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.
- nandhp 10y agoWell, there's always something like this Finger-to-Twitter proxy: https://gist.github.com/mcroydon/519344 https://gist.github.com/mcroydon/519344
- AckSyn 10y agobut then i'd have to use node.js
- nandhp 10y agoTrue. 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?
- AckSyn 10y agoThat'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.
- ucs 10y agoFunny 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.
- stesch 10y agoIn current times people feel uncomfortable fingering someone.
- segmondy 10y agoIt'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.
- dopeboy 10y agoI'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.
- kinleyd 10y agoAbsolutely. Masters of Doom was a compelling read. And reread.
- dejv 10y agoThere is also Making of Prince of Persia book, which is great read as well.
- RBerenguel 10y agoTotally agree, also The making of Karateka is worth a read
- dejv 10y agoI hope he will publish third book about development of The Last Express.
- RBerenguel 10y agoI'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)
- petercooper 10y agoI 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.)
- k__ 10y agoWhat do the * and + mean?
- oskarth 10y agoIf I recall correctly, * means it was done that day and + that it was done at a later date.
- siavosh 10y ago"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-archive/master/by_year/johnc_plan_2007.txt https://raw.githubusercontent.com/ESWAT/john-carmack-plan-ar...
- eksemplar 10y agoI 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.
- mhomde 10y agoPff, 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 :)
- EA 10y agoI recall reading his and a lot of other companies' and developers' .plans over at https://www.bluesnews.com https://www.bluesnews.com
- jnordwick 10y agoI miss .plan and finger :(
- petercooper 10y agoOne 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).
- eswat 10y agoI 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.
- atemerev 10y agoI keep my orgmode main file in ~/.plan
- rtpg 10y agoFor Kindle users like myself, I've bundled up the plan archive into a nice e-book format (one chapter per entry) to read through all of these: http://rtpg.co/files/carmack-plan.epub http://rtpg.co/files/carmack-plan.epub For those interested in the script, here's that: https://gist.github.com/rtpg/4eb757c2c71ab20946bbd8156cd05332 https://gist.github.com/rtpg/4eb757c2c71ab20946bbd8156cd0533...
- becomevocal 10y agoInteresting tidbit about a music video his future wife, Katherine Anna Kang, animated that used the Quake engine in the Feb 7, 2003 plan. In the Waiting Line - Zero 7: https://www.youtube.com/watch?v=Cq336zk2cZk https://www.youtube.com/watch?v=Cq336zk2cZk
- MrZongle2 10y ago* 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.