[HN Gopher] Closure, from why the lucky stiff (2013)
       ___________________________________________________________________
        
       Closure, from why the lucky stiff (2013)
        
       Author : rchaves
       Score  : 133 points
       Date   : 2023-07-07 14:08 UTC (8 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | cobaltoxide wrote:
       | What is this?
        
         | bloopernova wrote:
         | Why the lucky stiff wrote a great, poignant guide to Ruby. A
         | lot of people loved it and demanded more from Why. They decided
         | they didn't want to be in the public eye even a little, and
         | wrote a goodbye. I think CLOSURE is that goodbye?
        
           | steveklabnik wrote:
           | This is broadly correct, yes. _why decided to leave, and did
           | so. Years later, his website reappeared, containing the
           | information I've collected here. CLOSURE is the title I gave
           | it, because that is what I think it represents.
        
             | bloopernova wrote:
             | Thank you for the clarification. I was hoping someone would
             | correct me because I don't know the whole story. (But of
             | course I wanted to help answer the question)
        
             | local_crmdgeon wrote:
             | Has he ever reached out to you? His identity isn't that
             | hard to work out - though he's no longer an engineer.
             | 
             | I think it's good to leave him alone, that's what wants.
        
               | steveklabnik wrote:
               | We have never spoken. He came to my hometown once, for an
               | event, but I could not attend as I was out of town that
               | weekend.
               | 
               | Part of me would love to talk to him someday, and part of
               | me would prefer that we don't. I am incredibly thankful
               | that he braved the danger to give us this; in some ways I
               | do feel like this was us talking.
               | 
               | It's complicated.
        
       | joeatwork wrote:
       | _why offered a vision of computing, art and delight that we could
       | maybe use more of nowadays. For more reference see "This Hack Was
       | Not Properly Planned" here:
       | https://web.archive.org/web/20080512050317/http:/hackety.org...
        
       | boolueah wrote:
       | He and I went to high school together, and he was really funny
       | then too. In our seminary class, I would always ask him to play
       | the Peanuts theme song on piano. I loved how he didn't care what
       | anybody thought and he just did his own thing. I lost track of
       | him after we graduated.
        
       | th0ma5 wrote:
       | My complicated feelings is that producing it and consuming it was
       | all very unhealthy. There is nothing mystical about a machine and
       | it isn't curious or interested that you can make a universal
       | machine do the logic of any conceivable machine.
       | 
       | I feel these works did a lot to hobble people in their growth by
       | putting too much emphasis on fantasy and not enough of actual
       | understanding. I blame our mess of a JavaScript ecosystem on this
       | idea that if you can dream it you can do it, and should do it,
       | and that's wrong. It is like the old toddler wielding a knife
       | thing, just because you found it doesn't mean you know what you
       | have.
        
         | rescripting wrote:
         | This take reads like you've never created anything for the
         | intrinsic joy of creation. Not everything must be utilitarian.
         | Art is still art even if its clumsily made or seen only by the
         | artist.
         | 
         | Most of us do this to feed and clothe ourselves and our
         | families. Its easy to lose sight of the fact that we're often
         | engaged in creative, artistic pursuits. If you were lucky
         | enough to become enchanted by computers before you had to keep
         | a roof over your head you likely stayed up late writing code,
         | tweaking parameters and watching the pixels or the numbers fall
         | out the other end. Late nights driven only by your own
         | curiosity and the joy you felt while doing it. No feature
         | requests, design documents, or stakeholders except yourself.
         | 
         | Of course there is also the code that keeps the planes in the
         | sky and the electricity in the wires, necessary and beautiful
         | in its own right, but that isn't what this is about.
        
           | th0ma5 wrote:
           | There are many replies to this story about how it got people
           | into the field of programming? Art is one thing, and I'm sure
           | it was a great feeling to create leftpad but these writings
           | sell a mystique that doesn't exist. It has always been people
           | and relationships. I guess I don't know how to explain how it
           | appeared to experienced professional working developers. It
           | was like, here have a ticket for the burnout ride.
        
       | akkartik wrote:
       | Page 17 mentions a link and then goes off on a poignant
       | meditation about its likelihood of breaking:
       | 
       |  _" It feels like I may have just gone ahead and ruined what I am
       | by [dumping this link]. Has all of this writing lost its
       | timelessness, to have this relic here? But maybe this link will
       | never break, maybe it will stay there for all time. Maybe it's
       | me. I'm a relic which is already out of his time in the present
       | age."_
       | 
       | The link is now broken. You weren't the relic, _why.
        
       | runjake wrote:
       | (2013) dang
        
         | dang wrote:
         | Added. Thanks.
        
       | steveklabnik wrote:
       | Hey folks. Not sure why this is here today, but happy to answer
       | questions.
       | 
       | I've long held... complicated feelings about a lot of all of
       | this. For an analysis I did of the work at the time,
       | https://www.youtube.com/watch?v=MaWHVceDbFo
        
         | echelon wrote:
         | Time well spent.
         | 
         | Thanks for the talk!
        
       | sillysaurusx wrote:
       | GitHub is one of the most frustrating platforms to try to read a
       | pdf on. Would anyone mind posting a direct link? It's basically
       | impossible to get it to show on my iPad, and I forget the raw url
       | syntax at the moment.
       | 
       | Sorry for the unrelated comment, but maybe the direct pdf link
       | will help others too.
        
         | forks wrote:
         | Does this link from the repo's README help?
         | https://www.dropbox.com/s/c0n2dljz8anih62/CLOSURE.pdf?dl=0
        
           | sillysaurusx wrote:
           | Thank you for the attempt. On an iPad it's only a small step
           | up from GitHub. Dropbox's renderer doesn't load in all the
           | pages, so most of it is blank.
           | 
           | We live in interesting times. Everyone wants to invent their
           | own pdf renderer instead of letting the host OS do it. :)
        
         | kryptiskt wrote:
         | When you open it, there is a download button on the top right
         | of the frame around the PDF.
        
         | zimpenfish wrote:
         | https://raw.githubusercontent.com/steveklabnik/CLOSURE/maste...
         | might work
        
           | elSidCampeador wrote:
           | this worked! thanks
        
           | sillysaurusx wrote:
           | Perfect, thank you. Somehow the download button didn't lead
           | here, or at least didn't trigger this for me. It might be
           | because I have the GitHub iOS app installed.
        
       | otikik wrote:
       | Chunky Bacon forever!
        
       | masto wrote:
       | Would anyone be willing to explain this? Who is "us", what is a
       | PCL, what is a spool, what are these random words? Is this
       | supposed to be a puzzle?
        
         | kayodelycaon wrote:
         | From: https://github.com/steveklabnik/CLOSURE/issues/3
         | 
         | --
         | 
         |  _vi commented on Sep 30, 2015_
         | 
         | What is CLOSURE.PDF? Readme is not helpful. I don't even
         | understand is it a scientific paper, a book, a program or a
         | game. My first thought was "Fed up! I'm closing! Here is my
         | closure manifesto."
         | 
         | Along with Thanks, _why. there should be answer to What is
         | CLOSURE? question in repository description.
         | 
         | --
         | 
         |  _mikehenrty commented on Aug 13, 2016_
         | 
         | I think the problem is that nobody except for _why and perhaps
         | a few people close to him know the context of this material. It
         | just showed up on his blog one day after years of online radio
         | silence. These hacker news posts show some of the confusion and
         | excitement from that time:
         | 
         | https://news.ycombinator.com/item?id=5015087
         | 
         | https://news.ycombinator.com/item?id=5571387
         | 
         | Note that the link from Hacker News, _why's original blog, is
         | now operated by some Australian guy with no apparent relation
         | to _why.
        
         | pailey wrote:
         | A few weeks/months before _why published this book, this page
         | appeared on his "public print queue" on his site, hinting that
         | the print queue would become active on April 18:
         | https://github.com/steveklabnik/CLOSURE/blob/master/PDF/DESO...
         | 
         | A day or two before April 18, this page appeared containing a
         | hand-written OCaml script you could use to hook up your own
         | printer to _why's public print queue:
         | https://github.com/steveklabnik/CLOSURE/blob/master/PDF/HOME...
         | 
         | On April 18, a bunch of us gathered in an IRC chat room
         | (https://viewsourcecode.org/why/CLOSURE/ircLog.html). A few of
         | us got the script working on our machines, and so every 10-15
         | minutes our printers would suddenly start up and print the next
         | page as _why slowly published them one at a time throughout the
         | day. Steve Klabnik gathered all the pages into one PDF and gave
         | it the name "CLOSURE".
         | 
         | This article does a good job of giving more context around the
         | book itself (as well as a partial summary):
         | https://kev.town/2013/04/30/why-did-why-the-lucky-stiff-quit...
        
           | steveklabnik wrote:
           | I am still kinda sad that the only place I kept the video of
           | my printer printing out pages was Vine. Oh well.
           | 
           | EDIT: I am now realizing that, ironically, maybe that is
           | appropriate...
        
             | tekknolagi wrote:
             | As far as I can tell, many (all?) Vine videos are still
             | available if you have the link
        
               | steveklabnik wrote:
               | Oh wow! Okay hmmm, thank you, I will see what I can do...
        
         | anyfoo wrote:
         | Others already explained this, I just wanted to add that you
         | make me feel old...
        
           | masto wrote:
           | I'm 48. I don't think age has anything to do with knowing the
           | context behind this. From the other explanations, you
           | apparently had to follow a very specific subculture dedicated
           | to a specific individual. I did not, rather the opposite. I
           | tried to read his Ruby book when it came out and I simply
           | couldn't. No offense to the vast army of folks who enjoyed it
           | -- I think we're all allowed to like what we like.
           | 
           | There's something wrong with the way my brain is wired. I am
           | by accounts an intelligent, capable, successful person, but I
           | am completely unable to "read" comic books. I might as well
           | be staring at a foreign language. When I'm trying to learn a
           | technical topic, I thrive on dry reference material. Put a
           | cartoon in and it's like running into a brick wall.
           | 
           | I don't know where I was going there except I feel like any
           | time this comes up, I have to over-explain myself for not
           | liking that book, because _everybody loves that book_ and I
           | will be burned at the stake for not regarding it as the
           | greatest programming book ever written. It 's just my
           | personal experience, and I accept that I'm totally wrong
           | about it, ok? Anyway, shorter version is that I had such a
           | visceral reaction, any time I see "why_" mentioned, my
           | reading comprehension reverts to that of a toddler.
           | 
           | If that's all irrelevant and the point you were making was
           | more like "kids today don't know what PCL is", I am very
           | familiar with PCL and print spoolers, but detached from any
           | context that would suggest printers, they failed to take on
           | any semantic value.
        
             | bvanderveen wrote:
             | Idem. I remember not being able to get past the first page
             | of the guide way back in the day, and indeed cannot today
             | either. The signal to noise ratio is just abysmal.
             | 
             | I also cannot read comic books and, with perhaps the
             | exception of the systemd man pages, likewise thrive on
             | reference material.
             | 
             | Somewhat relatedly, I can't really do podcasts or
             | audiobooks, either, unless they're in a foreign language,
             | and then the challenge of comprehension provides something
             | for my brain to latch onto.
        
             | bagels wrote:
             | You can be perfectly capable of reading a comic book and
             | not really care to try to learn technical information by
             | way of a comic book.
             | 
             | I'd much rather learn from concise code examples, with
             | short explanations for new concepts. It's a lot more
             | efficient than wading through all the irrelevant prose and
             | illustration.
        
         | steveklabnik wrote:
         | 1. "Us" is the Ruby community (and arguably programming at
         | large)
         | 
         | 2. https://en.wikipedia.org/wiki/Printer_Command_Language
         | 
         | 3. https://en.wikipedia.org/wiki/Spooling#Print_spooling
         | 
         | 4. They are individual titles of each page
         | 
         | 5. yes, this was a puzzle of sorts, though the answers were
         | kind of given to us beforehand, so you can argue that it wasn't
         | a difficult puzzle. The PDF is the "answer" to the puzzle, if
         | you will.
        
         | aconbere wrote:
         | I believe the conceit here is that _why is communicating to us
         | through a printer queue or "spool". PCL files are a form of
         | printer data file.
        
           | [deleted]
        
         | ornornor wrote:
         | PCL is postscript common language or something like that,
         | basically an alternative to PDF as far as I know.
        
           | kjs3 wrote:
           | No, it's HP Printer Command Language[1]; it's the 'native
           | tongue' of things like HP LaserJets. It predates and is
           | different from PS and PDF[2] and isn't an alternative for PDF
           | in that you don't store documents 'in PCL'.
           | 
           | [1] https://developers.hp.com/hp-printer-command-languages-
           | pcl [2] https://support.hp.com/us-en/document/c06242096
        
           | anyfoo wrote:
           | Printer Common Language. More an alternative to PostScript
           | than to PDF, in that it's a language that a lot of printers
           | understand (as the name suggests).
        
       | tboyd47 wrote:
       | Worth reading through for a chuckle. Don't deprive yourself.
       | 
       | Why_ had a type of character we can easily forget used to exist,
       | in this modern world where everyone is either slammed through
       | cookie-cutters to become over-socialized slimy corporate people
       | or medicated into a zombie-like state of partial existence.
        
         | dash2 wrote:
         | "Everyone"!
        
           | tboyd47 wrote:
           | Some human beings may still roam free, but we try to keep a
           | low profile :)
        
             | meepmorp wrote:
             | [flagged]
        
         | [deleted]
        
       | maxfurman wrote:
       | I'll take this opportunity to link to Why's Poignant Guide to
       | Ruby - https://poignant.guide - one of the most unique and
       | inspiring programming language tutorials you'll ever read.
        
         | lquist wrote:
         | I would argue that it is the only programming tutorial that
         | could be called literature.
        
         | ornornor wrote:
         | I never got it. Everyone says it's fantastic, I feel like an
         | idiot for absolutely not getting it at all when it came out and
         | still not today.
        
           | throw_pm23 wrote:
           | I loved it and found it super funny and inspiring. Never
           | cared about Ruby though.
        
           | thom wrote:
           | It was very much of a time and place, and obviously people
           | are welcome to take or leave it. I certainly cringe that
           | every language now seems to need its own twee, jokey, book-
           | long tutorial, like Learn You a Haskell for Great Good and
           | Clojure for the Brave and True. But Why's (Poignant) Guide
           | captured the playfulness and nostalgia for lost time that the
           | Ruby community evoked for a lot of people back then,
           | especially those that had grown up with computers but drifted
           | into enterprise software and watched the joy of technology
           | slowly seep out of their lives. Whether it's a good way to
           | learn Ruby the language, I don't really remember.
        
             | dionidium wrote:
             | In case it makes anybody feel better, I was "around" at the
             | time and I never got it, either. Tried to read it many
             | times and never could finish.
        
             | mjw1007 wrote:
             | I don't think the jokey book-long tutorial is a new
             | phenomenon.
             | 
             | I learned Fortran in the 80s from the Fortran Coloring
             | Book.
        
               | kbutler wrote:
               | 1981 Getting Started with TRS-80 Basic was also playful -
               | https://archive.org/details/Getting_Started_with_TRS-80_B
               | asi...
        
               | thom wrote:
               | I now also see Comic Pascal from 1984, fair enough.
        
               | steveklabnik wrote:
               | Computer Lib / Dream Machines, 1974.
        
           | sillysaurusx wrote:
           | For what it's worth, I felt the same way, but never dared
           | voice it.
           | 
           | I think it's worth appreciating as a thing of beauty. The raw
           | talent required to make it is just incredible, and it
           | probably takes a Rubyist to fully see the intricacies of what
           | we're meant to "get". There's a place for this kind of work,
           | and it's one of the delights of life that it exists at all.
        
           | preseinger wrote:
           | it characterizes programming in a way that is basically
           | incoherent to most stereotypical programmers
           | 
           | (i agree with you, for the record, it was gobbledegook to me
           | too)
           | 
           | the question is: does programming represent some kind of
           | subjective expression, or some kind of objective precision?
           | why's little zine says it's the former, but that's not how i
           | see it at all
           | 
           | programming is, for me, like working on math problems, or
           | balancing equations, it's strict and pure and precise, and
           | that's what i love about it, there's no connection to
           | anything like art, or writing (in the novel sense), or other
           | kinds of subjective expression
           | 
           | but for some people, programming is like art, or writing a
           | novel, or in any case a subjective expression of some
           | abstract idea (or ideas) that they have
           | 
           | at least this is what i see as the discrepancy
        
             | lubujackson wrote:
             | Worth noting that mathematicians also argue over the art
             | vs. science approach to math itself. Ask one what makes a
             | formula "elegant", for example, can lead to some hand-
             | waving that boils down to "you know it when you see it."
             | 
             | My take: the art is always about the human communication
             | through the medium. As soon as programming is abstracted
             | beyond the 1s and 0s, every choice represents a mental
             | model for communicating intent from a human to a computer
             | and by extension, from a human to a human. Writing "elegant
             | code" is all about communicating intent to other
             | programmers.
             | 
             | You can say the same about math - so much of the human-ness
             | of math is backed into the symbols we use to represent
             | things and relationships. Just think of the human impact of
             | doing multiplication in Arabic numerals vs. Roman numerals
             | and you can understand how math is totally a human
             | construct.
             | 
             | But underneath it, the logic of multiplication is non-human
             | and those that focus on that are the "science-minded" ones.
             | But so much of our human understanding comes from the "art-
             | minded" ones, for obvious reasons.
        
               | Tainnor wrote:
               | Mathematicians love arguing about which proof is the most
               | elegant or most insightful, and which definitions are the
               | ones that most captivate the essence of a concept (ask
               | three mathematicians from different fields to define
               | Euler's constant e, for example).
               | 
               | So yeah, there is very clearly a human and subjective
               | element in mathematics, even when the results themselves
               | are objective (modulo axioms and inference rules).
        
             | rcme wrote:
             | Programming, objectively speaking, is nothing like
             | balancing equations. When balancing equations, there is
             | only one right answer. When programming, there is a goal
             | and a series of subjective choices need to made in order to
             | reach the goal. There are many right answers. The art and
             | craft is in those subjective decisions. You might not
             | _care_ about the craft in those decisions, but, objectively
             | speaking, I don't think you can reduce programming to
             | something like balancing equations.
        
               | preseinger wrote:
               | woosh
        
               | spc476 wrote:
               | What type of programming do you do? Because in my
               | experience, programming is as much an art as it is a
               | science (or mathematics). In my previous job, I had to
               | classify phone numbers as either 1) valid NANP [1], 2)
               | invalid NANP [2], or international, and it wasn't clear
               | cut like balancing equations. I was surprised that the
               | Oligarchic Cell Phone Company (our customer) didn't even
               | send us valid phone numbers!
               | 
               | [1] North American Numbering Plan, 10 digits, with a
               | three digit area code, a three digit exchange and a four
               | digit number. From what I was able to understand (there
               | wasn't a single document that described this), the three
               | digit exchange had to start with 2-9, and the second two
               | numbers couldn't be 1 (so no area code like 211, 311,
               | 411, etc., but 201, 210 were valid), and the same for the
               | three digit exchange, _EXCEPT_ maybe for toll-free
               | numbers (like 800-xxx-xxxx or 866-xxx-xxxx) where the
               | exchange could be 211, 311, 411 (I never did get a
               | clarification on that point).
               | 
               | [2] A number that might present itself as a NANP but
               | doesn't follow the actual NANP specification.
               | 
               | [3] In telephony, there are two concepts, international
               | numbers that can be dialed world wide, and "local", which
               | can only be dialed from inside a region (like North
               | America) or country. A number that starts with a "+" is
               | considered international, which should be followed by a
               | country code (one to four digits, starting with 1 to 9,
               | with no rhyme nor reason as to length). If it doesn't
               | start with a "+", it's a "local" number, limited to, as I
               | stated, a region or country.
               | 
               | There is also no requirement that a "local" number be
               | related in any way, shape, or form, to an international
               | number. For instance, a "local" NANP number like
               | 305-867-5309 can be represented as a international number
               | as +1-305-867-5309, but for several countries, just
               | taking the "local" number and adding a "+<country code>"
               | won't work. Different rules for different
               | regions/countries.
        
             | booleandilemma wrote:
             | There's a reason one of the most famous computer scientists
             | and programmers titled his series of books "The Art of
             | Computer Programming".
        
               | preseinger wrote:
               | it's definitely possible to model programming as an art,
               | and there is value in that model, but (imo) that model is
               | neither productive nor accurate in most programming
               | contexts
        
               | jhbadger wrote:
               | Knuth doesn't mean "art" as in "fine art to be admired"
               | but rather "art" as in a description of something about
               | which it is not possible to be purely scientific about.
        
             | rahoulb wrote:
             | I always said "Python is like writing maths, ruby is like
             | writing english"
        
               | preseinger wrote:
               | right! and, to build on that: people who see programming
               | as maths understand it _fundamentally differently_ than
               | those who see it as prose, they approach every aspect of
               | programming differently, evaluate  "quality" on entirely
               | different metrics, etc.
               | 
               | in my experience, this is a major source of friction in
               | programming teams, and deserves to be addressed more
               | directly -- if i had it my way, i'd prefer that those who
               | see programming as prose would be disabused of this
               | incorrect notion, but i understand that this is my bias
               | speaking, and not any objective truth :)
        
               | tyg13 wrote:
               | As both a writer and someone who has a degree in math, I
               | see the segregation of prose and mathematics into
               | fundamentally different categories as arbitrary, perhaps
               | even incorrect. I see an artistic element to mathematics,
               | just as much as I see a mechanical element to prose. The
               | mechanics of the thing tell us what we _can_ do, the art
               | of it tells us what we _want_ to do. Perhaps even _why we
               | do it.
        
               | Tainnor wrote:
               | I find the strict separation of human intellectual
               | activities into "soft" humanities and "hard" sciences
               | kind deeply sad. I'm not claiming that writing is the
               | same thing as performing a physics experiment, but to me,
               | humanity is at its best when it combines both of these
               | elements instead of keeping them apart.
        
             | jes5199 wrote:
             | math is like writing a novel, though
        
           | partdavid wrote:
           | That's okay.
           | 
           | Another senior DBA lived on a boat, so I took my DBAs over to
           | his boat and we spent the afternoon, then went for a walk in
           | the tony seaside town at which his boat was moored. We went
           | to an art gallery.
           | 
           | One of the pieces was a semi-abstract gradient, but the
           | colors could definitely remind one of the sky, and the steely
           | gray of the ocean. I loved the way you looked at it and kind
           | of got lost in the middle. It "felt" like the ocean more than
           | "looking" like the ocean to me.
           | 
           | Another DBA was standing there looking at it and said, "I
           | don't get it."
           | 
           | "I'm not sure there's something to 'get', exactly."
           | 
           | "Is there a boat or a person hidden in it? I can't find it."
           | 
           | For this person, looking at a picture had to have a point--a
           | subject. It was, on some level, a "Where's Waldo?" exercise
           | and since he didn't solve the problem of finding Waldo, he
           | didn't get it.
           | 
           | But not everything's like that. It's okay to not like
           | something. It's okay to not get it. You can still be a DBA.
           | You can still have a picnic on the boat.
        
           | eddieroger wrote:
           | I did get it, and I would argue this book made me a better
           | engineer. People learn different ways and retain knowledge
           | differently. Some folks do really well with technical manuals
           | and minimal but factual informational, and some folks respond
           | better to more novel approaches. _why's guide was definitely
           | the latter, and a vocal group of people seemed to agree.
           | While _why's version was definitely on the far side of novel,
           | the approach itself was used in a whole series[0] of books.
           | It's all good that it wasn't your thing, and you're not an
           | idiot, it just wasn't your style.
           | 
           | 0. https://en.wikipedia.org/wiki/Head_First_(book_series)
        
           | JackFr wrote:
           | Mostly the same, except I don't feel like an idiot for not
           | getting it. I thought it was self-indulgent and too clever by
           | half. But I admit that's just taste and not a measure of its
           | objective worth.
           | 
           | I have a theory about _why's popularity though. I think a lot
           | of it comes from the cohort of us who were strictly trained
           | in a C/Fortran/Knuth Art of Computer Programming style old-
           | school approach. When your first presented with the mind
           | blowing ideas of what programming can be when you start to
           | liberate yourself from the machine -- if the source has a
           | quirky voice, there always remains a soft spot in your heart
           | for them, be it the Little Schemer, SICP or _why.
        
           | q845712 wrote:
           | I said this elsewhere too -- while in general I like things
           | _like_ the poignant guide, and appreciate its existence, I
           | never actually finished reading it.
           | 
           | To me it's an interesting touchstone work showing/reminding
           | that the "invisibly neutral" tone we've collectively adopted
           | is still an editorial choice and cultural moment.
           | 
           | I'm sure writing and communication styles will drift back and
           | forth over the next few decades. Sometime soon (if not
           | already) another generation of younger developers will
           | coalesce around some document that feels authentically
           | counter-cultural, like their own late-night jokes and dreams
           | have been given just enough coherence to hook them in, and
           | then I probably still won't get it because I'll be out of
           | touch.... :)
        
           | esaym wrote:
           | Seriously, same here.
        
           | gosukiwi wrote:
           | Yeah not my thing either, I'd rather see a cheatsheet and a
           | few examples lol
        
             | anyfoo wrote:
             | You can't learn a programming language like that, unless it
             | already has very similar paradigms to languages you already
             | know. For example, try to learn APL[1] or Haskell like that
             | (or just assembly if you haven't done any kind of assembly
             | yet).
             | 
             | [1] And that's not just because of the arcane symbols.
        
               | marginalia_nu wrote:
               | I think assembly is probably the one language family
               | you'd find most success learning from a reference sheet.
        
               | Cerium wrote:
               | Yeah, sure - as long as that reference sheet is the CPU
               | reference manual.
        
               | anyfoo wrote:
               | Once you've been told what a register, a stack, and an
               | addressing mode is (among other details), sure. But then
               | you do know the paradigms already.
               | 
               | But of the languages I mentioned, assembly is certainly
               | the one where the required concepts can be explained
               | quickest, probably by far...
        
       | jes5199 wrote:
       | interesting timing, I've been thinking about _why lately; Brett
       | Victor's recent update
       | https://news.ycombinator.com/item?id=36596095 gave me _why vibes.
       | 
       | a thing I realized recently is that _why's disappearance ends up
       | making his work more "Poignant" - the tech stuff washes away, but
       | the story lives on. In that sense, it's a success.
       | 
       | if you look at old technology, the descriptions and documentation
       | tend to outlast the artifacts. I like to imagine us as stage
       | performers - any given implementation of a Shakespeare play only
       | lasts a couple hours, but the structure of it is timeless.
       | Perhaps we should all be writing more, implementing less.
       | 
       | also, it's always good to consider what fame is, and what it does
       | to people. In an attention economy, we imagine that fame is
       | wealth - but it's clearly not so straightforward
        
         | steveklabnik wrote:
         | Permanence is a major theme of _why's work. Some of his final
         | tweets were about comparing computer programs to works of
         | literature, specifically Kafka. A longer meditation on this
         | appears in this work.
         | 
         | Kafka asked his friend Max to burn all of his works and not
         | have them published, but he was betrayed, and so we have
         | Kafka's books.
         | 
         | _why burned his own works, but thanks to git, we were able to
         | posthumously un-burn them.
         | 
         | And then this work was temporary, and what I did was make it
         | permanent. Again.
         | 
         | Most of _why's projects don't really work on modern hardware,
         | or with up to date compilers, or up to date versions of Ruby.
         | Yet we can still read this book today.
        
       | Arubis wrote:
       | _why's work was much of what got me into Ruby in the first place.
       | Not so much quirky as proudly both hyperliterate and unhinged,
       | like the computing world's extension of depressed indie bands
       | meeting David Foster Wallace in the early aughts.
       | 
       | Most of us that would've been into _why's stuff now have more
       | traditional-looking jobs and responsibilities. But I'm so
       | grateful for what he showed us then, and miss the more genuinely
       | human, broken and vulnerable community he represented.
        
         | local_crmdgeon wrote:
         | I miss that in general. Everyone has become a Cool Internet
         | Person who acts like a celebrity, or at least in a homogenized
         | way. I miss the internet of weirdos, that felt separate from
         | the real world.
         | 
         | I worry a lot that I contributed to how this is now, too, in my
         | professional life.
        
           | tilne wrote:
           | Why do you think you contributed?
           | 
           | Edit: maybe "how" would be a better word to use.
        
           | throwanem wrote:
           | All frontiers close eventually. I wouldn't take too much on
           | myself about it, if I were you.
        
           | agumonkey wrote:
           | Sometimes I feel bad for having been a customer of digital
           | devices and internet, and then going into computing studies.
           | 
           | It's strange to observe a world I dislike even though I was
           | part of the wave driving the change.
        
           | rjbwork wrote:
           | Honestly, internet of weirdos that feels separate from the
           | real world is on private discords now. I pluck people from
           | various semi-public communities that seem cool and build cool
           | private communities.
        
             | AeroNotix wrote:
             | There is a huge difference between pockets of weirdos
             | sharing giphy memes in walled gardens using tools provided
             | by a corporation and what felt like practically the entire
             | internet being comprised of, built for and used by absolute
             | weirdos.
        
               | rjbwork wrote:
               | Fair enough. It just became too much of a risk to put
               | your full private self out there on the internet unless
               | you're a special kind of DGAF, I think.
        
           | epolanski wrote:
           | Internet is still full of weirdos.
           | 
           | What changed are primarily two things:
           | 
           | 1) The social media war hasn't been won by those platforms
           | that offered users possibilities to customize their page (MSN
           | spaces, myspace, tumblr still survives) but by pre-canned,
           | limited but simple platforms.
           | 
           | 2)Internet citizens are increasingly less anonymous on all
           | those platforms which makes them further unwilling to be
           | unfiltered.
        
         | q845712 wrote:
         | Honestly at the time I remember getting weird twee/precious
         | vibes from the Ruby community and I wasn't particularly
         | interested in it or Rails. I only discovered _why's poignant
         | guide later after I had to learn Rails on the job, and to be
         | honest I never finished it.
         | 
         | I still strongly prefer the worldview, circumstances, mindset,
         | etc. where that kind of content is written, read, and
         | celebrated over today's focus on Influence and Professionalism.
        
           | astrange wrote:
           | I seem to remember multiple incidents where Rails programmers
           | complained that everyone at the conference they went to was
           | playing Werewolf instead of sticking to the topic. It made me
           | wonder what kind of community would lead to that.
           | 
           | As for _why, there is nothing special about him. If you need
           | an overly precious twee white guy, we have a natural source
           | of them called the city of Portland. You can go find another
           | ten of them there. They have waxed mustaches and are running
           | combination coffee bars and thrift stores.
        
             | fknorangesite wrote:
             | > They have waxed mustaches and are running combination
             | coffee bars and thrift stores.
             | 
             | Ah, has Portland moved on from keeping alive the Dream Of
             | The 90s to the Dream Of The Late 2000s?
        
               | bdowling wrote:
               | For reference,
               | 
               | https://youtu.be/TZt-pOc3moc
        
             | [deleted]
        
               | [deleted]
        
           | throwanem wrote:
           | I don't.
           | 
           | Even in the terms of the false dichotomy you've constructed
           | here, I would much rather participate in a community of
           | professionals who've organized themselves around sufficiently
           | overlapping shared intents, than one accreted around the kind
           | of twee, precious narcissism that characterized the early
           | days of Ruby and Rails.
           | 
           | That comparison is informed by direct experience with both,
           | and is the precise reason why my professional experience with
           | both the language and the platform will to my dying day
           | consist of one successful project a few months long.
           | 
           | A good professional community supports a wide variety of
           | learning styles and levels of engagement, and tends to make a
           | lot of resources easy to find for anyone who's willing to put
           | in a little effort of research. The early Ruby and Rails
           | communities did the exact opposite of this. Between "_why"'s
           | guide serving a primary-reference role to which it is
           | manifestly ill suited, and nobody much bothering to document
           | anything effectively outside that, figuring out how to work
           | with their garbage software was like pulling teeth -
           | especially because, in a language constructed as a farrago of
           | the worst ideas from Perl, Smalltalk, and Common Lisp, even
           | reading the source is anything but a guarantee of
           | understanding.
           | 
           | The structural exclusivity alone was bad enough, but the
           | behavior of community leaders quickly demonstrated that the
           | exclusivity was the point. That the "Poignant Guide" should
           | be considered acceptable as primary documentation implies
           | that the function of selecting for people willing to put up
           | with that kind of nonsense was intended - maybe not as a
           | matter of explicit design, although this would not surprise
           | me, but "the purpose of a system is what it does". This
           | system was created by narcissists to select for acolytes, and
           | while I wouldn't quite call it a cult, neither am I prepared
           | to say those who have are entirely wrong. And if it _was_ a
           | cult, it was a _stupid_ cult, because Ruby is a language that
           | makes programmers worse and Rails was never good technology;
           | its sole unqualified success lies in having inspired software
           | engineers to do similar things in better ways.
           | 
           | I'm sure by now I've upset some folks; there are some for
           | whom no criticism of Ruby, Rails, or their leading lights can
           | fail to read as a personal attack. If that's you who's
           | reading this now, all I can say is this shows the difference
           | between us: if you're cut out to be an acolyte, fine, go to
           | it! I would rather be a practitioner in a community of
           | practice. Granted this means my technical documentation comes
           | without cartoon foxes and a level of pretense suited to an
           | early 2000s Abercrombie catalog, but for documentation that
           | actually _documents_ that 's a trade I'm happy to make.
        
             | hereonout2 wrote:
             | There was a lot of quirkiness and egotism then, the cult of
             | personality was rife, not just with project leaders such as
             | DHH but ancillary dramas from folks like Zed Shaw.
             | 
             | The stuff from _why was always wacky but some of their
             | projects were also really inspiring for younger
             | programmers, of which I was one. I could take or leave the
             | cartoon foxes but I remember seeing the code for the
             | Camping framework when it was released and being amazed at
             | how simple and elegant it was.
             | 
             | The ruby and rails community set a path that is followed by
             | many to this day. We're all python programmers now but
             | there'd be no Flask without Sinatra, or Django without
             | Rails. The author of the excellent dependency management
             | tool Bundler went onto work on Yarn for javascript and then
             | created Cargo for rust. Mitchell Hashimoto wrote Vagrant in
             | ruby before starting hashicorp, there's loads of examples
             | like this
             | 
             | I disagree that the Poingant Guide was the primary
             | documentation for anything, it was a quirky guide for new
             | comers. The Pragmatic bookshelf had the definitive guide to
             | the language, as well as the rails book and then a whole
             | series of other publications. I also remember spending a
             | lot of time on the core ruby documentation, which does a
             | fantastic job of covering the extensive standard library.
        
               | throwanem wrote:
               | Ruby itself was tolerably well documented, but that was a
               | rare bright spot, and of limited utility when Rails
               | leveraged the malleability of the language into near
               | incomprehensibility even by the language's own low
               | standard. And while you're not wrong that by spending
               | enough money it was possible to obtain halfway decent
               | documentation for Rails that if you were very lucky might
               | still be mostly applicable after a couple of point
               | releases, not everyone had a lot of money to spend in
               | that way. Pay-to-play access to knowledge required for
               | basic competence is another example of structural
               | exclusivity, and one that stood in stark contrast to most
               | contemporaneous projects of similarly high profile, by
               | comparison with which Rails had all the openness of a
               | Freemason lodge in 18th-century Italy - oh, they
               | _advertised_ themselves very effectively, that I grant
               | you, but in terms of actually fostering development among
               | those so attracted, I think a secret society in which
               | membership could be a death sentence would probably do a
               | lot _better_.
               | 
               | > The ruby and rails community set a path that is
               | followed by many to this day.
               | 
               | I've already acknowledged this, albeit without the
               | unwarranted gloss. I might instead have said that Rails'
               | one unqualified success was as a fount of good ideas
               | badly implemented. But since on reflection I'm pretty
               | sure Rails' use of ActiveRecord popularized ORMs in web
               | application development, I suppose it isn't even fair to
               | say that _all_ the ideas were good.
        
               | gensym wrote:
               | > But since on reflection I'm pretty sure Rails' use of
               | ActiveRecord popularized ORMs in web application
               | development
               | 
               | As someone mired in enterprise web application
               | development in the early oughts, I can tell you this is
               | kind of backwards. ActiveRecord was actually a
               | simplification of the more complex ORM that enterprise
               | software (mostly in Java at the time, but a little bit of
               | Objective C in the banking realm) was using. I _think_
               | the term "ActiveRecord" was first used in the 2003 book
               | Patterns of Enterprise Architecture, and it was described
               | as a pattern you could use when you didn't need the
               | complexity of a full-blown ORM. For people who had
               | wrestled with Hibernate or WebObjects, ActiveRecord felt
               | like a light-weight sigh of relief.
               | 
               | That said - even as someone who still works on RoR apps -
               | I'm glad we've mostly moved beyond ORMs (primarily by
               | moving beyond objects, which were never a very good fit
               | for representing data in the first place).
        
               | throwanem wrote:
               | Huh, okay, that's fair. ActiveRecord was the first ORM I
               | worked with, and ActiveRecord in 2013 was easily poor
               | enough to color my perspective on the category. I've
               | heard Hibernate criticized before, of course, but I
               | didn't realize it both predated ActiveRecord and was _so_
               | much worse as to leave ActiveRecord even in its day
               | looking good by comparison.
               | 
               | I still think Rails gets the blame for _popularizing_ the
               | concept, but I suppose that has to be mitigated by prior
               | art making it so easy to popularize -  "it's just like
               | what you're used to, but won't make you want to kill
               | yourself to use" is a pretty compelling pitch.
        
               | gensym wrote:
               | LOL. I feel like a geezer whenever I talk to people about
               | what enterprise software was before RoR came along. XML.
               | So much XML. Do you think that you should write XML in
               | order to query data from a DB with a perfectly
               | serviceable query language? People sure did think that in
               | 2001!
        
               | Tainnor wrote:
               | Hibernate predates ActiveRecord, if I'm not mistaken, and
               | to this date I can't decide which of the two I hate more.
               | They both do different things very wrong. So I'm not sure
               | if you can blame ORMs on Rails.
               | 
               | Also I'm not sure what you mean by the documentation
               | criticism. I criticised Rails elsewhere in the comments,
               | but I can't really fault it for the documentation, which
               | IMHO was always excellent. And then you also had Michael
               | Hartl's excellent Rails guide (which was available online
               | freely, at least at the time) which was what basically
               | taught me modern backend development (including what
               | automated testing is).
        
               | throwanem wrote:
               | I'd have loved to know about such a thing at the time!
               | One wonders why none of the people in the various IRC
               | channels and forums where I then sought Rails advice saw
               | fit to mention it.
               | 
               | In entire, albeit mildly grudging, fairness, I do have to
               | concede that Rails introduced me to the concept of unit
               | testing. But I'm still glad I learned modern backend
               | development in the years immediately after Rails peaked,
               | and while the worthwhile was being sorted from the
               | nonsense among the many concepts and approaches that
               | Rails does, for better or worse, deserve credit for
               | having made newly popular.
        
               | hereonout2 wrote:
               | But rails was modern backend development back then, it
               | offered an alternative to a world full of mod_perl, PHP4,
               | Java servlets with JSP and XSLT.
               | 
               | Having had the displeasure of working on all those stacks
               | it's hard to overstate how transformative rails was at
               | the time for me.
               | 
               | Built in unit testing is one thing, not having to write a
               | java class to expose a custom function to an xslt
               | processor in order to format a string is something else.
        
             | Tainnor wrote:
             | Speaking as someone who started out with Ruby and Rails and
             | has since migrated to other stacks...
             | 
             | I would never conflate Ruby and Rails.
             | 
             | Ruby is a language that took interesting ideas and
             | developed them in a unique way. Today, it doesn't align
             | with my goals 100% anymore (I do like Ruby's focus on
             | expressivity, but not when it comes at the expense of
             | predictability), but I don't think that's Ruby's fault.
             | 
             | Rails, by contrast, is software that did a few things right
             | (things should work mostly out of the box, automated
             | migrations, testing built in) and way too many things
             | wrong. Design and architecture are dirty words for much of
             | the Rails community (and this thought very explicitly
             | originates with DHH who still maintains that you don't need
             | anything besides models, views and controllers),
             | autoloading is hot garbage, "magic" libraries that start
             | monkeypatching your code just because you add them to your
             | Gemfile are a thing, the biggest auth library, devise, is
             | an opinionated mess, writing proper (fast) unit tests is
             | difficult and goes against the framework, and so on.
             | 
             | I would say that most of the good ideas that came with
             | Rails have now been incorporated by better frameworks (even
             | in Ruby itself, but in particular also in other
             | ecosystems), so it's good that it was there, but I wouldn't
             | recommend it any more.
             | 
             | But Ruby didn't originate with Rails. To my knowledge it's
             | still used today by Japanese developers who don't
             | particularly care about Rails.
        
               | throwanem wrote:
               | If I've conflated Ruby and Rails, it wasn't by intent.
               | 
               | I do think Rails was like it was in large part by direct
               | derivation from, and enshrinement of, Ruby's allergy to
               | rigor - which isn't to say they're the same thing, but
               | that the latter directly predated and heavily informed
               | the former.
        
               | Tainnor wrote:
               | Yes, Ruby has always prioritised readability and
               | "developer happiness" over predictability and rigour, but
               | that doesn't mean that it necessarily encouraged
               | incomprehensible meta-frameworks. Sinatra or similar
               | projects show how things can be done more decently in
               | Ruby, while still utilising its malleability in order to
               | create a nice DSL.
        
               | norir wrote:
               | When a main goal to maximize a subjective trait such as
               | "developer happiness," you are almost certain to cause
               | the opposite for a significant portion of your users.
               | This is the curse of inherited ruby code.
        
             | DocSavage wrote:
             | > I would much rather participate in a community of
             | professionals who've organized themselves around
             | sufficiently overlapping shared intents
             | 
             | I thoroughly enjoyed my involvement with early (US) Ruby
             | and Rails folks from the first Rails conf to _why's unusual
             | entertainment to Matz's calm and humble demeanor. People
             | bounced ideas off each other and just enjoyed coding up
             | interesting things. Dave Thomas and the Pragmatic
             | Programmer group wrote what many of us used, not so much
             | _why's guide which was still a fun read. I moderated a Ruby
             | panel at the old Odeo HQ just before they pivoted. I didn't
             | know the group gathering at that Ruby SF meeting would
             | include not only Twitter but Github founders as well. At
             | the time, tweets seemed pretty absurd to some of us but
             | guess what happens when you try out ideas in a community
             | that was into exploration?
        
               | throwanem wrote:
               | I mean, it's usually preferable to be part of an ingroup
               | than of its outgroup, sure. Otherwise, what value in the
               | distinction? But the iron law applies here, too.
               | 
               | I wouldn't be so quick to claim Twitter, either, even
               | among zero-interest-rate phenomena more generally. It
               | might be easy to forget these days, but that's been
               | harmful to society on net since long before Musk bought
               | it.
        
               | DocSavage wrote:
               | I think you're missing my point. The early Ruby and Rails
               | community I remember was a collection of very smart and
               | explorative programmers who wanted to build cool stuff
               | with this interesting language. People were trying out
               | DSLs -- sure they could've used LISP -- but Ruby's
               | metaprogramming was inviting and was a reason for the
               | succinct Rails syntax which was a selling point compared
               | to say Java's cumbersome approach.
               | 
               | The speed of trying stuff out (even if it wasn't super
               | efficient) why startups used it. So it was a community of
               | highly _productive_ people _sharing_ their love of
               | building new things. That 's my memory of that time
               | period.
        
               | throwanem wrote:
               | I'm not missing your point, but I don't see where it
               | constitutes the counterargument that context and framing
               | suggest you mean it to be.
               | 
               | What you're describing here is your perspective from
               | within the small and insular group busily developing and
               | advocating new technology, always focused on the next new
               | thing that was cool and interesting and succinct and
               | powerful. What I'm describing is my perspective from well
               | outside that pale. Both can be true at the same time.
        
               | DocSavage wrote:
               | Then maybe you shouldn't generalize your one viewpoint to
               | say that early Ruby/Rails was not a worthy community for
               | professionals or of use to people who practice jointly
               | valued skills like entrepreneurship.
        
               | throwanem wrote:
               | The entire point I'm making is that, however well that
               | community may have fulfilled those roles for people
               | embedded in the social context of its ingroup, it did a
               | lousy-to-failing job of the same outside that circle.
        
             | ertian wrote:
             | It must have been awful when you were forced to engage with
             | a whimsical community like that. I mean...I'm assuming you
             | were forced, because why else would you harbor so much
             | bitterness over the fact that there were once some people
             | who did things differently than you would have liked?
        
               | throwanem wrote:
               | Come now. Surely you can find _something_ to criticize in
               | what I 've actually said, without needing to resort to
               | footless inference about my person.
        
               | ertian wrote:
               | My main criticism is just that your whole point comes
               | down to "they did things in a way I didn't like!"
               | 
               | So what? They had different personalities or different
               | goals. When I found _why's guide back in 2004 or
               | whatever, at a boring job that involved a lot of sitting
               | around, I learned Ruby as a side effect of poking through
               | this odd little text. That introduced me to concepts I
               | hadn't come across at school learning Java and C, and
               | ended up nudging me into a different direction, so that
               | by the next year I was writing my class projects in Lisp
               | when I could.
               | 
               | If I'd instead come across a sober-minded manual
               | documenting a proper "serious" programming language, I'd
               | have skipped it. That would have sucked. I enjoyed
               | programming a lot more in my own post-_why timeline, even
               | though I agree in retrospect that Ruby isn't a great
               | programming language for serious projects and the twee-
               | ness of the guide itself was a bit grating (to me) at
               | times.
               | 
               | Criticism is easy and mostly useless. There's so much
               | criticism on the internet, seemingly because it makes
               | people feel superior, and I find it exhausting. Just
               | don't use the thing.
        
               | throwanem wrote:
               | _Any_ criticism boiled down far enough ends up in  "they
               | did things in a way I didn't like". It's not a meaningful
               | response.
               | 
               | In this case, the criticism was in response to a
               | perspective on these past events that is in my view
               | overly informed by nostalgia, and while I don't make a
               | general habit of snatching rose-colored glasses off
               | anyone's face, in a public setting and especially in
               | _this_ public setting it is not unreasonable to do so.
               | 
               | I'm glad you found some good in the Poignant Guide. I had
               | a similar experience with the Camel Book, a decade or so
               | earlier, with similarly favorable outcomes - had my mom
               | not proven amenable to being wheedled on the subject of
               | an expensive birthday gift in which she could see no
               | immediate value, I would likely not even be a working
               | programmer today, to say nothing of someone able to grasp
               | some rudiments of what may in a few more decades develop
               | into a recognizable engineering practice. But I don't
               | still use Perl or defend it, because beyond the most
               | ephemeral and exploratory of contexts it is objectively
               | godawful, and even _in_ that context it lacks compared
               | with tools that at least don 't falsely advertise
               | themselves as production-worthy. When people criticize
               | it, I understand that they are criticizing it and not me.
               | 
               | And finally, on the point of whimsy versus
               | professionalism - I mentioned the development of
               | engineering practice, and that's a desirable outcome
               | already too long in coming, because when we're trusted to
               | build systems on which people's lives and livelihoods
               | depend, we bear a responsibility of which a whimsical
               | approach to the work constitutes active dereliction.
               | Would you trust your life to a whimsical airplane, or
               | your retirement to a whimsical advisor? Of course not! No
               | one would, nor should they.
               | 
               | Other preparadigmatic engineering disciplines had the
               | advantage of us here; a whimsically designed boiler, for
               | example, will most likely maim or kill its perpetrator
               | well before the bad idea gets much chance to spread,
               | while we easily fall prey to the sorts of delusions that
               | come from working with ideas and materials whose
               | potential danger is much less immediately obvious. I
               | would like us to be better at recognizing and extirpating
               | such errors, and criticizing them where the opportunity
               | arises seems like a decent way to advance that goal. I
               | don't mind if you don't like it, but I would like you not
               | to like it for better thought through reasons than these.
        
               | alangibson wrote:
               | Your entire argument is that you personally don't like
               | Ruby nor the ways of the Ruby community combined with a
               | bunch of unsubstantiated assertions. There's nothing else
               | there. What else should they address besides 'your
               | person'
        
               | throwanem wrote:
               | They actually did a pretty good job of elaborating a
               | critique of my criticism in replying to the same comment
               | you did, so I chose to continue the dialogue there.
        
         | [deleted]
        
       | peter_retief wrote:
       | I really miss his energy, crazy kind soul of his.
        
       ___________________________________________________________________
       (page generated 2023-07-07 23:01 UTC)