[HN Gopher] The Story of Mel (1983)
___________________________________________________________________
The Story of Mel (1983)
Author : thunderbong
Score : 348 points
Date : 2022-08-09 08:49 UTC (14 hours ago)
(HTM) web link (www.cs.utah.edu)
(TXT) w3m dump (www.cs.utah.edu)
| porbelm wrote:
| A classic for our new readers!
| dang wrote:
| Exactly! https://news.ycombinator.com/item?id=32110910
| nmeofthestate wrote:
| I had to strip out the pretend poetry formatting before reading.
|
| https://pastebin.com/raw/TyqZXPVe
| the_af wrote:
| I agree with the sibling comment, the verse formatting makes it
| even better!
| taneq wrote:
| But the formatting
|
| is part, I think
|
| of the charm.
| wazoox wrote:
| To be complete on old programmer's lore, don't miss "Real
| programmers don't use PASCAL":
| https://www.ecb.torontomu.ca/~elf/hack/realmen.html
|
| And of course, "The rise of 'Worse is Better'":
| https://web.stanford.edu/class/cs240/old/sp2014/readings/wor...
| cestith wrote:
| The Story of Mel was likely in direct response to "Real
| programmers don't use PASCAL", or potentially another very
| similar "Real Programmers" writing.
| egypturnash wrote:
| _A recent article devoted to the macho side of programming_
| _made the bald and unvarnished statement:_
|
| _Real Programmers write in FORTRAN._
|
| - the first lines of The Story Of Mel
| cestith wrote:
| That line was included in more than one post. There are
| also multiple posts from that time period which said
| exactly the opposite. It was an ongoing joke, raised to
| somewhat of an art form.
|
| https://www.multicians.org/thvv/realprogs.html
|
| http://www.bernstein-plus-sons.com/RPDEQ.html
|
| https://www.ecb.torontomu.ca/~elf/hack/realmen.html
|
| https://web.archive.org/web/20080419225755/http://www.susli
| k...
|
| Old magazines, BBSes, Usenet, and mailing lists are full of
| this sort of humor.
|
| https://www.mipmip.org/tidbits/project.html
| stakkur wrote:
| I remember typing in hex programs from Compute! magazine to my
| C64. It would take a long time and, of course, I made at least
| one error along the way and had to start over.
| tgv wrote:
| I've always found that this story is also compulsory reading for
| wannabe Real Programmers:
| https://www.ecb.torontomu.ca/~elf/hack/realmen.html
|
| Strangely enough, it's more modern, but many of the concepts
| mentioned may be more alien to young programmers. How many will
| know what's meant by keypunch? Timesharing? RATFOR? Listings? The
| email address in the header?
|
| BTW, the title (and text) refers to the book "Real men don't eat
| quiche", a pastiche of the genre that would later bring produce
| the weirdly unironic classic "Women are from Venus, Men are from
| Mars".
| naniwaduni wrote:
| Bonus trivia: those "Raw, unadorned, inscrutable hexadecimal
| numbers"? Those would not have been the 0-9a-f we're familiar
| with today, but 0-9fgjkqw[1]!
|
| [1]: http://ed-thelen.org/comp-hist/lgp-30-man.html#R4.13
| ragnot wrote:
| I've never heard of this. Was this just a quirk of the LGP-30?
| Anarch157a wrote:
| Probably not. Look at your keyboard. Those are the keys on
| the right side of the home row. They probably used them
| because it was easier and quicker to type than 'abcdef'.
| taneq wrote:
| What keyboard layout do you use? Q and L sure aren't in the
| home row on a QWERTY keyboard unless you're one of those
| sales guys that only ever types TYPEWRITER. :P
| masklinn wrote:
| > Those are the keys on the right side of the home row.
|
| Why would you want that alongside _numbers_ which are
| either two rows up or to the side?
|
| Unless the keyboard was something like USPS's which has
| numbers as an alternate mode on the home row, and thus made
| this layout sensible? But that would still make it a quirk
| of the system.
|
| Edit: yeah it was absolutely a quirk of the LPG-30, per a
| sibling comment: http://laboratorium.net/archive/2008/04/28
| /a_few_facts_about...
| tjoff wrote:
| I'm disgusted... What was the motivation for that?
| maccard wrote:
| I found this [0] which says that the layout of the LGP-30
| Flexowriter (linked in the article) conformed to fgjkqw, so
| it may be related.
|
| [0] http://laboratorium.net/archive/2008/04/28/a_few_facts_ab
| out...
| kps wrote:
| From
| https://ub.fnwi.uva.nl/computermuseum//DWcodes.html#A077
| the Flexowriter character code was:
| +----------------------------------------------+ |
| 00 20 40 60 00 20 40 60 | (1) triangle
| +--------------------+ +--------------------+ (2) pi
| | RE NL ST | 00 | RE NL ST | (3) sigma
| | z i p h | 01 | Z I P H | |
| 0 4 8 j | 02 | ) (1) (3) J | BS Back
| Space | SP / o | 03 | SP ? O
| | COL COLor | LC BS | 04 | LC BS
| | DEL DELete | b d e c | 05 | B D
| E C | HT Horizontal Tab | l 5 9 k
| | 06 | L % ( K | LC Lower Case | -
| . x | 07 | _ ] X | NL New Line
| | UC HT | 10 | UC HT | RE REad
| | y n u a | 11 | Y N U A | SP SPace
| | 2 6 f q | 12 | * $ F Q | ST STop
| | + , | 13 | = [ | UC Upper
| Case | COL | 14 | COL
| | | r m t s | 15 | R M T S |
| | 3 7 g w | 16 | " (2) G W | |
| , v DEL | 17 | : V DEL |
| +--------------------+ +--------------------+ |
| lower case upper case |
| +----------------------------------------------+
|
| Taking bits 2-5 gives you: 0 l 2 3 4 5 6 7 8 9 f g j k q w
| drfuchs wrote:
| The convention of using "ABCDEF" didn't get established until
| well after the LGP-30 was designed in the 1950's. The
| Wikipedia entry on "Hexadecimal" says "The now-current
| notation using the letters A to F establishes itself as the
| de facto standard beginning in 1966, in the wake of the
| publication of the Fortran IV manual for IBM System/360,
| which (unlike earlier variants of Fortran) recognizes a
| standard for entering hexadecimal constants."
|
| The comments elsewhere that note the layout of the
| Flexowriter character set risk conflating cause with effect.
| The single-character mnemonics for the sixteen hardware
| instructions were chosen by the LGP-30 designers to be, well,
| mnemonic; and then the remaining characters FGJKQW were left
| to represent the values ten through fifteen. This then forced
| the assignment of character positions for the Flexowriter
| device, so that no table lookup would be required when
| reading opcode mnemonics and also when reading hex numbers;
| all bits could just be shifted into place in both cases.
|
| Trigger warning: The phrase we were taught was standard in
| the LGP community to help remember FGJKQW was, I'm afraid,
| "For Good Jokes, Kill Quiet Women." This seems to have been
| excised from the written lore fairly early on, as search
| engines have no record of it.
| drfuchs wrote:
| The reason for FGJKQW is simple: Look at the list of single-
| letter mnemonics for the 16 opcodes (called "orders" in the
| manual you cite). Sort them alphabetically, and look for the
| first six letters that are unused. Viola! (Of course, the
| problematic letter O is skipped, and for some reason, V as
| well.)
|
| That's how it was explained to me in 1973 by Mr. Willoughby, a
| math teacher who also taught Computer Programming in my high
| school. We didn't actually _have_ an LGP30, but he had learned
| on one, and graded our programs handed in written on paper.
|
| Fortunately, this was only for the first half of the class;
| after we learned this machine language, we graduated to a
| higher-level language, Neat3, for the NCR (yes, the cash
| register company) Century 100, one of which the school district
| did own. Subsequent assignments were handed in on punchcards
| and actually compiled and run. By the teacher. After school. So
| you'd get back your compile error the next day, or if you were
| more fortunate, your output. If your program compiled and ran
| and gave the right answer the first time, you'd get a grade of
| 100. Then 97, 94, 91, etc. It was quite the motivation for
| carefully planning things out ahead of time.
|
| And his reason for starting with machine language? "Well, you
| can't expect anyone to understand what's really going on in
| higher-level languages if you don't know what's happening
| underneath, right?" Worked for me.
| [deleted]
| mlyle wrote:
| > And his reason for starting with machine language? "Well,
| you can't expect anyone to understand what's really going on
| in higher-level languages if you don't know what's happening
| underneath, right?" Worked for me.
|
| I teach a middle school class called "Computer Organization
| and Design". It's basically from gates and truth tables, up
| to implementing ALU functions, to understanding bits of
| sequential logic... then some handwavy computer architecture
| stuff to save time, and finally on to handing out a
| simplified, reduced-instruction ARMv7 THUMB machine language
| reference, and students writing their own programs on paper
| and assembling them.
|
| There's a couple digital logic labs in there, and finally
| they get their own little computers with a simple monitor
| program that lets them enter programs, single step, and view
| registers.
|
| I wasn't sure how reaction would be. Many of the students
| _love it_. Middle school students seem to do pretty good at
| this stuff, too-- their memory of learning arithmetic is
| recent enough that learning a bunch of new similar rules
| (combinatorial operations, multiplexing, hexadecimal,
| instruction encodings, etc) seems simple. And, well, no one
| told them this stuff is often considered "hard."
| ddingus wrote:
| Amazing!
|
| And it parallels the early learning my peer group and I
| experienced in the 80's.
|
| We had Apple 2 type computers to work with and a small
| group of us were split off to do a deeper dive education.
| And really it was a sort of student guided education.
|
| Basically, the teacher asked is to declare what we were
| going to try and do and that was more about making sure we
| did something besides play games than it was anything else.
|
| So we did that and came to the same conclusion!
|
| And that kicked off a love of the lower level computing
| that persists to this day. 6502 was not too difficult and
| what the teacher did was of high value:
|
| They found us the info we needed. Data books, magazines,
| whatever contained material we could use. And we attacked
| it together.
|
| One thing I picked up on super early was the powers of two
| and how it really all boils down to address lines! Was a
| great insight for a young person and I remember teaching
| others about hexadecimal, the first 16 powers of two and
| lots of number related things.
|
| Others had something they grokked and together we learned a
| ton, each person teaching what they could to the others and
| doing projects together.
|
| And we are talking stuff like:
|
| Count numbers 0 to 9999999 on screen
|
| Draw a Sprite and move it around
|
| Play music on the speaker
|
| Do maths of various kinds.
|
| These were all slow or impractical using the Applesoft
| BASIC.
|
| In assembly language, they made sense and were performant.
|
| As machine code, they could be loaded from disk and called
| by BASIC.
|
| The logic parts took me a while, but the moment AND, OR,
| XOR started to make sense was the moment I really started
| to do computing. Those things and the numbers and how they
| are used to represent stuff was the core of all that was to
| come.
|
| We all sort of came to that understanding and it was all a
| beautiful experience. One of the best bits of it was our
| teacher being curious and as playful as we were! The tech
| was literally intoxicating.
|
| Bet your experiences are much the same.
|
| For what it is worth, the other core piece was I/O. That
| moment when one realizes they can POKE a number into a
| register, and for that matter knowing what a register vs. a
| RAM memory were, and then seeing an LED or hearing a
| speaker click were the absolute BEST!
|
| In my view, making sure we have this kind of education
| happening is super important and ultra high value.
|
| It is no different from the other basics:
|
| Money
|
| Wood
|
| Metal
|
| Computing
|
| Cars and farm machinery
|
| Electronics
|
| Etc...
|
| Many of my class ended High School with good, all around
| basic competency. I grew up in sometimes profound poverty.
| For me, it was actually a benefit because I was lucky to be
| among people who did not judge and gave me opportunity to
| put all those learned skills to use.
|
| Made a huge difference in my own life.
|
| But the same can be said of just about all the students I
| know being exposed to what I will just call fundamental
| type education. Everyone was capable and ready and able to
| learn just about anything.
|
| Looking back at my class, a fair number of us went to
| college. Another big slice went into the various trades,
| and some into business.
|
| The ones who were not involved in the fundemental type
| education generally struggled more.
|
| Now this is all anecdotal, but I do find common themes when
| these discussions happen. Generally speaking, it can really
| help people and rarely hurts them to be exposed to potent
| basics early in life.
|
| Well done.
|
| What have they done with their little computers? Anything
| notable? If you can share, please do.
| dzdt wrote:
| Its even worse. The keyboard (as normal for typewriters of the
| day) had no numeral '1'. Instead you would type a lower-case
| 'L'. So the actual hex encoding is 0L23456789FGJKQW.
| NickRandom wrote:
| Worthwhile checking out some of the other stories in the parent
| directory (https://www.cs.utah.edu/~elb/folklore/).
|
| Thanks for posting this, it made for a fun read and some of the
| other ones (especially the Robin Hood and Friar Tuck story) made
| me chuckle.
| eob wrote:
| I bought the Hackers Dictionary by Eric S. Raymond as a 90s kid
| and it had this story, as well as a few others. Das Blinkenlights
| and some AI Koans like the Broken Lisp Machine come to mind.
|
| I used to read them over and over, and it really left an imprint
| on me. The early hacker ethos was such a strong flavor. Sort of a
| "one part gnostic, one part mechanic, one part counterculture"
| vibe.
|
| Sometimes I wonder if that flavor always exists, but shifts from
| community of practice to community of practice, or if there was
| something specific about the early days of the net that caused it
| to arise uniquely.
| username223 wrote:
| > I bought the Hackers Dictionary by Eric S. Raymond
|
| That hurts a bit to read. Raymond is/was a huckster who took
| the original Hackers Dictionary, a communal MIT project, and
| made some edits. He went on to annoy the Linux community with
| his CML2 antics around the build system. Lisp/MIT, BSD, and
| Linux all have their own histories, a mixture of forgettable
| drama and fundamental difference.
| mlyle wrote:
| > a communal MIT project, and made some edits
|
| The Jargon File had been dead and dated for nearly a decade
| when he picked it up. His maintenance and publication was an
| important part of making this content relevant and accessible
| to future generations.
|
| Eric Raymond's work is a mix of good and bad-- like you could
| say about anyone.
| jart wrote:
| A lot of that ethos I think is just Generation X plus
| computers. A rebellious generation that came of age during a
| time when digital technology had just granted kids the power to
| wardial norad. I think tinkerers have always been timeless, but
| that kind of cyberpunk culture is something we're unlikely to
| see again.
| jhbadger wrote:
| I'm solidly GenX, but the hacking culture described by "The
| Hacker's Dictionary" is a generation older than that -- the
| era of the MIT AI Lab or Stanford's SAIL in the mid 1970s.
| Lisp Machines and custom in-house operating systems. The GenX
| hacking culture was the 1980s and was more about getting the
| most out of our own microcomputers.
| nemo1618 wrote:
| I've wondered this too. When my dad was learning to program,
| this _was_ the culture. When _I_ was learning to program, the
| culture was no longer fresh and alive, but its spirit was still
| strongly felt; the torch was being passed to us. Have we
| preserved that light? If my son learns to program, what will
| "hacker culture" mean to him?
| krmboya wrote:
| Maybe being able to figure out strangers' discord passwords.
| More generally, phishing powers
| fredrikholm wrote:
| I think in this context, 'hacker' means more 'one that
| twiddles bits' than 'one that twiddles others bits'.
| TedDoesntTalk wrote:
| The definition of 'hacker' was changed and is a moving
| target over the years.
| Exness199507 wrote:
| kps wrote:
| So, the RPC-4000 version of blackjack seems lost, but the LGP-30
| version exists (and can be run on simh). I've disassembled and
| partly annotated it, and found that it too has a _sort of_ cheat
| switch.
|
| The LGP-30 has no source of randomness to use as a seed. From
| loading the program, if the player plays optimally, the games
| will all be the same. Over the first few dozen games, the player
| ends up in the hole (IIRC, noticeably more than the long-run
| house edge).
|
| The LGP-30 has one conditional branch instruction, that tests the
| sign bit of the accumulator. But if the sign bit on the
| _instruction_ is set, and the TRANSFER CONTROL switch on the
| front panel is set, then the branch is always taken. This appears
| once in the program. On startup, if the switch is set, it marks
| two of the aces as already dealt. This perturbs the sequence
| enough so that, over the first few dozen games, the player has
| the advantage.
| kps wrote:
| Too late to edit, but I misremembered a little: from an earlier
| comment that I'd forgotten I'd made1, the program image on
| paper tape had the aces marked dealt, and the TRANSFER CONTROL
| test switch merely skipped the part of initialization that
| cleared it. This means that (with sufficient time and
| dedication) one could in principle prepare multple tapes with
| different starting configurations, analogous to editing a
| binary to change a hardcoded seed.
|
| 1 https://news.ycombinator.com/item?id=20489774
| markus_zhang wrote:
| I think I found Melvin Kaye's obituary a few years ago but I
| couldn't find it anymore. A pity that both him and Ed Nather
| passed away :(
| mlyle wrote:
| There's this comment long ago about getting in contact with him
| that has always made me curious, but no information was
| proffered: https://news.ycombinator.com/item?id=7871260
|
| And, of course, there's this picture that was found of him:
|
| https://zappa.brainiac.com/MelKaye.png
| acuozzo wrote:
| > but no information was proffered
|
| What more would you like to know? I'm bad at telling stories,
| but I can do Q&A.
| mlyle wrote:
| :D I'm just guessing at questions, since I don't have much
| context.
|
| You found him-- did you get to really talk to him? Find out
| how he looks back on that era? Did he keep programming?
|
| What scared him away?
| acuozzo wrote:
| > You found him-- did you get to really talk to him?
|
| Yes. Here's the e-mail exchange:
| http://acuozzo.sdf.org/Mel.pdf
|
| (I moved all of my e-mails to Gmail via Thunderbird years
| ago which is why the sender address is different.)
|
| I found him after Bill Bryner mentioned in an e-mail that
| Mel "was trying to become an expert (Master?) at Bridge
| and also played flute with the UCLA pep band for
| basketball games".
|
| I figured he hadn't moved far from where he was working
| in LA at the time and I was right! His e-mail address was
| listed among the members of the Thousand Oaks, CA ACBL
| Unit 532 Bridge club/league.
|
| > Find out how he looks back on that era? Did he keep
| programming?
|
| I couldn't find any of this out because I scared him
| away. My guess is that he just wasn't the nostalgic type.
|
| > What scared him away?
|
| My guess is that he was spooked because I contacted his
| son a few days prior.
|
| ... and the webmaster responsible for running his son's
| business' website.
|
| ... and several other people. I must have seemed like a
| genuine creeper.
| jl6 wrote:
| I guess Mel could have been in the region of 80 years old
| at the time, and the few 80 year olds I've known have
| been very private individuals.
| mlyle wrote:
| Oh. Thank you for sharing the e-mail exchange.
|
| That's too bad he wasn't interested in talking about it
| all. I can imagine if he was aware of it, having random
| people pop-up wanting to discuss could become annoying.
|
| Thank you for the info!
| pfarrell wrote:
| My favorite line I have often felt that
| programming is an art form, whose real value can only be
| appreciated by another versed in the same arcane art;
| there are lovely gems and brilliant coups hidden from
| human view and admiration, sometimes forever, by the very
| nature of the process.
| OmarAssadi wrote:
| I'm surprised I haven't seen this linked yet, but Bryan Cantrill
| of dtrace, Sun, lawnmower, Joyent, etc, fame gave an amazing talk
| for Monktoberfest 2016, titled "Oral Tradition in Software
| Engineering", which features The Story of Mel [1]. Highly
| recommend checking it out -- there are loads of little gems and
| stories like this throughout.
|
| All of his other presentations are great too and definitely worth
| a listen if you like this sort of thing [2]. A couple of my
| favorites are "Fork Yeah! The Rise and Development of Illumos"
| [3] and "Debugging Under Fire: Keep your Head when Systems have
| Lost their Mind" [4].
|
| [1]: https://youtu.be/4PaWFYm0kEw?t=644
|
| [2]: http://dtrace.org/blogs/bmc/2018/02/03/talks/
|
| [3]: https://youtu.be/-zRN7XLCRhc
|
| [4]: https://youtu.be/30jNsCVLpAE
| int0x2e wrote:
| Bryan Cantrill's talks are some the best I've ever seen. I've
| always tried sharing them around with colleagues (with limited
| success, but still worth it in my view...)
| jasonladuke0311 wrote:
| "Don't fall into the trap of anthropomorphizing Larry
| Ellison" is one of the funniest things I've ever heard:
| https://youtu.be/-zRN7XLCRhc?t=2302
| 1vuio0pswjnm7 wrote:
| "The program used an elegant (optimized) random number generator
| to shuffle the "cards" and deal from the "deck", and some of the
| salesmen felt it was too fair, since sometimes the customers
| lost. They [the Sale Department] wanted Mel to modify the program
| so, at the setting of a sense switch on the console, they could
| change the odds and let the customer win. Mel balked. He felt
| this was patently dishonest, which it was, and that it impinged
| on his personal integrity as a programmer, which it did, so he
| refused to do it."
|
| IMO, this story can be a sort of Rorscasch Test that can reveal
| something about its readers.
|
| For example, when I read this what stands out to me is that Mel
| brought a sense of ethics to the use of computers.^1
|
| Salespeople at Mel's employer wanted to use computers to
| manipulate customers. Mel refused to help them.
|
| Others read this story and only focus on Mel's tactics for
| programming a computer.
|
| "You can learn a lot about an individual just by reading through
| his code, even in hexadecimal. Mel was, I think, an unsung
| genius."
|
| In the same way the story's author, who was a Professor of
| Astronomy at IT Austin, believed that reading Mel's source code
| could reveal something about Mel, to me, the comments of people
| who read this story can reveal something about those readers.
|
| "The RPC-4000 computer had a really modern facility called an
| index register. It allowed the programmer to write a program loop
| that used an indexed instruction inside; each time through, the
| number in the index register was added to the address of that
| instruction, so it would refer to the next datum in a series. He
| had only to increment the index register each time through. Mel
| never used it."
|
| To me, "The Story of Mel" is about a person who preferred to
| think for himself instead of letting others do it for him.
|
| If memory serves me correctly, I recall seeing comments online
| about this story that "advise" readers, "Do not be like Mel." The
| question is what do they mean by that. Are they referring to
| programming tactics, ethics, both, or maybe something else
| entirely.
|
| 1. No only that, but the author was so impressed by Mel's ability
| that he adopted similar ethics himself.
| ivanche wrote:
| Wow this is a blast from the past! First time I've read this was
| in a (paper) magazine some 25 years ago, one of the journalists
| was kind enough to translate it. The story was like a magnet to
| me as a high-school freshman, I must have reread it 20-30 times
| in the following weeks.
| vsnf wrote:
| This was assigned reading in one of my university CS courses, and
| although it was great fun then, as we were mostly all novice
| programmers learning Java of all things, the madness of the story
| didn't hit me until a few years later when I had done much more
| work with C and pointer math.
|
| This part in particular, taken from Wikipedia, still reads to me
| like Necronomicon level black magic:
|
| > But when x was already the highest possible address, not only
| did the address wrap around to 0, but a 1 was carried into the
| bits from which the opcode would be read
| dang wrote:
| Don't miss this: https://news.ycombinator.com/item?id=20489273.
|
| The OP has been posted so many times that even 10+ years ago
| people would mention how often it had already appeared. Yet there
| have been surprisingly few interesting discussions, either of the
| original story or in related threads. These are about all I could
| find. If there are others, please let me know!
|
| _The Story Of Mel_ -
| https://news.ycombinator.com/item?id=7869771 - June 2014 (77
| comments)
|
| _The story of Mel (1983)_ -
| https://news.ycombinator.com/item?id=678999 - June 2009 (22
| comments)
|
| _The story of Mel, a Real Programmer_ -
| https://news.ycombinator.com/item?id=181144 - May 2008 (9
| comments)
|
| Related threads:
|
| _Mel 's Loop - A Comprehensive Guide to The Story of Mel_ -
| https://news.ycombinator.com/item?id=31458048 - May 2022 (2
| comments)
|
| _LGP-30 - A Drum Computer of Significance_ -
| https://news.ycombinator.com/item?id=20484330 - July 2019 (39
| comments)
|
| _The Story of Mel Explained_ -
| https://news.ycombinator.com/item?id=9913835 - July 2015 (25
| comments)
| chris_st wrote:
| Reminds me a bit of the poem, "The Last Bug", possibly best read
| here with links and all:
| https://everything2.com/title/the+last+bug
| denton-scratch wrote:
| I find this new-fangled blank-verse rendition grating, despite
| what the author thinks.
| Linda703 wrote:
| billpg wrote:
| I hope I never have to work with someone like him. He sounds
| awful.
| [deleted]
| toss1 wrote:
| EDIT:
|
| OP made a response indicating that his objection to Mel was
| that he left zero documentation.
|
| To this, I agree 100% !!
|
| Leaving no documentation is doing your future self a huge
| disservice (even a few weeks from now it'll be helpful if
| you've left yourself some good breadcrumbs to follow), and is
| pretty much a hostile act towards the team.
|
| ----- initial comment -----
|
| Sure, if he's doing that kind of highly idiosyncratic stuff in
| the modern software & hardware environment, he'd be a hindrance
| to any team.
|
| But this was not that situation, and sadly, this comment
| reveals a deep cluelessness about the technology underlying the
| computing industry.
|
| The article shows a real genius at work, fully understanding
| that what he is doing is programming a _computing machine_ ,
| and using every available advantage to get to to yield a
| program that performs well.
|
| Sadly, software now is optimized entirely for the convenience
| of the developer, and with literally billions to trillions of
| multiples of the computing power available to Mel, most
| software today is utter crap, taking tens of seconds to even
| load because it barely floats in an ocean of bloated
| abstraction and 'frameworks'.
|
| The fact that you cannot at even recognize the obvious genius
| in that story indicates that you should really learn a lot more
| and seriously rethink your approach to computing. Learn how the
| hardware and software actually work. Work hard to strip out
| unnecessary dependencies, middleware, frameworks, etc., and
| make your applications snappy. With today's hardware, there is
| literally no excuse for software that does not respond faster
| than any human perception. But sadly, today, if you can make it
| work that way, you'll be the exception -- so be that exception.
| Suzuran wrote:
| Please read his response of about 30 minutes ago, it's a few
| replies up. It's not what you think.
| toss1 wrote:
| Oh, thanks for the alert!
|
| Indeed not at all what it first seemed.
|
| edited (original had sat in writing for a while then
| submitted later w/o reacing new context comments)
| billpg wrote:
| Some things never change. One of my first HN comments got me
| four down-votes for much the same comment.
|
| https://news.ycombinator.com/item?id=679208
|
| Back then, I was so new it bumped me down into negative score.
| I almost made a new account but decided to keep it and try and
| rebuild my damaged rep.
|
| Nowadays, my score in the thousands, but Mel still sounds
| awful.
| Suzuran wrote:
| I'd be interested to know exactly why; Is it because he
| doesn't obey his bosses when told to make the program cheat,
| or just the way it's framed as some kind of testosterone
| caveman thing?
| metabagel wrote:
| Obviously difficult to work with and unprofessional.
| Utilized programming side effects which obscured the intent
| of the code to such an extent that he unintentionally
| reversed the logic of the test he was supposed to
| implement.
| Suzuran wrote:
| Abuse of side effects to save code is just a reality of
| working in limited or embedded systems once you have run
| into their limits. On one of my current projects, the
| target has only 8K of program memory. I had to do some
| things I'm not proud of to get the required functionality
| to fit because the alternative was to say "It can't be
| done, scrap everything." The target is an embedded hard-
| realtime processor core, so there's no way to add more
| memory to it. It's a component integrated into a larger
| system so I can't demand a larger or more capable device
| without incurring significant redesign costs. Quite
| frankly, I won't be considered worth those costs.
| Nobody's doing to take on the expense and effort simply
| because I can't hack it. I'd have a hard time blaming
| someone for doing the painful to keep a project alive,
| considering I'm doing exactly that. We can always agitate
| for better conditions next time around, but this time we
| must go to war with the army we have, and sometimes that
| necessitates fighting dirty.
|
| The rest of the stuff is entirely valid though. A
| programmer that cannot be managed is worthless, and
| someone who is unwilling to accept correction is a
| liability. I wouldn't _refuse_ to work with him because
| unless I 'm his superior I don't get to make that call,
| but I would probably go out of my way to avoid
| interaction. (And if I were his superior, unless he's got
| political juice or something, I'd have him shown to the
| door if he won't work with the team instead of against
| it.)
| billpg wrote:
| In the story, The storyteller is tasked with
| maintaining Mel's code. He can't do it. Mel
| hadn't left any documentation. All sort of
| tricks. No explanation of what's going on.
| Suzuran wrote:
| Upvoted for the effort of responding in verse, very nice.
|
| That rubbed me the wrong way too. Even the hackers at MIT
| documented their hacks, they even wrote up a memo
| explaining a bunch of them so others could understand and
| build on them - see HAKMEM.
|
| Documentation was much more extensive and available back
| then. Systems frequently came with full schematics, and
| you could call the design team on the phone if you
| wanted. DEC would get phone calls about the PDP-10's
| RIM10B bootloader right up until the retirement of the
| 36-bit processor line, and they did their best to explain
| its tricks.
|
| The loader was made to fit entirely in the processor
| registers so it didn't touch the memory it was loading.
| To do this it made use of a specific and documented
| aspect of the processor - that being that the first thing
| it did when executing an instruction is to determine its
| effective address, and nothing the instruction can do
| will have any effect on its own effective address
| calculation.
|
| They had two bold-print warnings about this in the
| processor manual, both before and after the RIM10B source
| code, but some people still required more explanation.
| For those people, the explanation was given.
|
| In Mel's story, he grinds out a very well optimized
| program, and while I can appreciate the skill it takes to
| do that, he documented none of it. This was customer-
| facing code. That's unacceptable even by their standards,
| and even his own co-workers of the era would have thought
| he was an asshole. A skilled asshole, with skill worthy
| of respect, but an asshole nonetheless.
| kps wrote:
| The story is known to be inaccurate in technical detail1,
| so it's not impossible that it's inaccurate in social
| detail as well. There's some LGP-30 code on Bitsavers
| including scanned coding forms, and the ones initialled
| 'MK' are not notably different in level of commentary
| from the others.
|
| 1 https://news.ycombinator.com/item?id=20489273
| Suzuran wrote:
| Ah, I didn't know that. As for the code on Bitsavers,
| I'll have to check that out. I should have expected there
| would be something there - Al is a gem (albeit a cranky
| old gem), and I wish he'd get more love.
| usefulcat wrote:
| If you're going to post an unpopular opinion, I think the
| only way to avoid downvotes is to at least make your comment
| interesting or novel in some way. Merely saying "I don't like
| X" is neither.
| dcminter wrote:
| There is a saying "autres temps, autres moeurs"
|
| In a way I agree - someone programming like this right now
| without _very_ good cause would be a bit of a nightmare if you
| ever had to tangle with their code. But it really was another
| world back then.
|
| They were so resource constrained [1]. That "drum" wasn't the
| hard disk, it was the memory! Think about waiting for the
| rotation of a drum for each instruction read. Then the actual
| capacity of it was only 4K. The laptop I am typing this on has
| about 32 million times more memory and I don't like to think
| how much faster it is.
|
| You either used clever tricks, or you wrote very limited
| programs. There was no room for any overhead. The author of
| that story wasn't astonished by clever tricks, just the degree
| of cleverness.
|
| [1] https://en.wikipedia.org/wiki/LGP-30#Specifications
| bstpierre wrote:
| In 1998 I was bringing up a new MIPS-based board that had
| been designed in-house
|
| The CPU booted from an EEPROM and started running code. There
| was an FPGA on the board that controlled the memory. The FPGA
| needed to be loaded with a bit-stream that was also on the
| EEPROM. The trick was that I had to write a program to load
| the FPGA without referencing any memory -- I only had ROM and
| the CPU registers. Fortunately the MIPS had quite a few
| registers, but I had to abuse all the register-use
| conventions and the code jumped through some hoops in order
| to be able to get the FPGA loaded so we could start running
| from RAM.
|
| There was all kinds of crazy stuff that was weird with that
| hardware that we had to fix in software... I didn't realize
| until switching jobs exactly how weird things were, I just
| thought it was normal.
| Suzuran wrote:
| When adding 256 kilowords of memory to your PDP-10 cost
| $230,000 (2022 dollars) you were either clever or unemployed.
|
| If your programs couldn't run on the machine you had, they
| were no good. Nobody was going to spend a quarter million
| dollars on equipment for the sake of source code
| beautification.
| MatthiasPortzel wrote:
| Obviously, not documenting things and writing the most clever
| code possible makes it difficult for other people to read your
| code, there's no doubt about that. And the story acknowledges
| that. It's clear that Mel is a very clever programmer but
| probably a pain to work with.
|
| But your comment is just so dismissive of the point of the
| story, Mel's cleverness. It comes across like you saying "This
| person sounds awful because they're smarter than me." I can
| assume that's not what you're trying to say, but that's what it
| sounds like.
|
| If you wrote a more nuanced comment acknowledging that, e.g.
| 'while I would love the opportunity to learn from someone like
| that, I'm glad I don't have to work with them or maintain their
| code.' I would be more inclined to see your comment as
| contributing to the discussion.
| metabagel wrote:
| "This person sounds awful because they're smarter than me."
|
| I didn't read the comment that way, but then I share the
| opinion that Mel seems like a difficult person to work with
| or to manage. Wrote obscure code and apparently failed to
| document any of it. Took glee when said code worked the
| opposite of requested. The guy who took over seems to have
| had to waste countless hours trying to de-obfuscate the code
| in order to reverse the logic of the test.
|
| I appreciate the cleverness, but there are some red flags
| here. Also, I got the impression that some of the cleverness
| was for its own sake, rather than out of necessity.
| account-5 wrote:
| Can some way more experienced than me ELI5 why the inner loop
| part was so clever? I'm the most novice of programmers and have
| never touch anything remotely like pointers so feel I am missing
| the lightbulb moment the author clearly got. Many thanks.
| teddyh wrote:
| From the wikipedia article:
|
| _Eventually he realized that Kaye was using self-modifying
| code to process elements of an array, and had coded the loop in
| such a way as to take advantage of an overflow. Adding 1 to the
| address field of an instruction that referred to address x
| normally just changed the address to x+1. But when x was
| already the highest possible address, not only did the address
| wrap around to 0, but a 1 was carried into the bits from which
| the opcode would be read--in this case changing the opcode to
| "jump to" so that the full instruction became "jump to address
| 0"._
|
| -- https://en.wikipedia.org/wiki/The_Story_of_Mel
| jsymolon wrote:
| >not only did the address wrap around to 0, ...
|
| Very reminisce of the 6502 "issue" of jumping with an address
| on a page boundary.
|
| Per Wikipedia:
|
| the processor will not jump to the address stored in xxFF and
| xxFF+1 as expected, but rather the one defined by xxFF and
| xx00 (for example, JMP ($10FF) would jump to the address
| stored in 10FF and 1000, instead of the one stored in 10FF
| and 1100). This defect continued through the entire NMOS
| line, but was corrected in the CMOS derivatives.
| locriacyber wrote:
| Goodbye Mel. Hello LLVM.
| pfarrell wrote:
| This page [0] includes an analysis of the manual for the possible
| machine Mel programmed in the story along with a probable
| photograph of him.
|
| [1] is an instruction manual for the blackjack program itself,
| written by Mel.
|
| Classic story solidly in the "should be reposted every six months
| or so" cohort.
|
| 0: https://www.freecodecamp.org/news/macho-programmers-drum-
| mem...
|
| 1: http://bitsavers.trailing-
| edge.com/pdf/royalPrecision/RPC-40...
| ericabiz wrote:
| More info about the "drum computer" this was written on:
| https://www.masswerk.at/nowgobang/2019/lgp-30
|
| Previous discussion where another person tried to replicate this:
| https://news.ycombinator.com/item?id=20484330
| lbriner wrote:
| Sadly we have strayed to the other extreme. From "every
| instruction is precious" right over to, "who cares how many
| instructions I use?"
|
| Nowadays, desktop apps which started in an instant 20 years ago,
| seem to take several seconds even before they are even doing
| anything useful like loading a project or whatever. Even things
| like Visual Studio looking through the MRU project list can take
| 10 seconds (probably a threading issue) and VSCode, Teams and
| others are equally unimpressive - in fact the browser, the one
| thing that should be slow due to the network, is usually fastest
| when using a well-written site.
|
| I'm not sure whether the multi-platform desktop app was ever a
| great idea. How much time have we saved "not writing multiple
| apps" but have instead ended up with slow, bloated software that
| doesn't usually run multi-platform, at least not all the time in
| the same way.
| [deleted]
| lproven wrote:
| Agreed.
|
| My #1 annoyance these days, because it is _so_ egregious, is
| Electron apps.
|
| I guess because the only language some programmers know is
| Javascript, of which I know little but what little I know
| places it marginally above PHP in intrinsic horror.
|
| So people write standalone apps in a language intended for
| tweaking web pages, meaning that to deploy those apps requires
| _embedding an entire web browser_ into every app.
|
| And entire popular businesses, for example Slack, do not as far
| as I can tell _have_ an actual native client. The _only_ way to
| access the service is via a glorified web page, running inside
| an embedded browser. Despite which, it can 't actually
| authenticate on its own and needs _ANOTHER_ web browser to be
| available to do that.
|
| Electron apps make Java ones look lean and mean and efficient.
|
| Apparently, expecting a language that can compile to native
| machine code that executes directly on a CPU, and which makes
| API calls to the host OS in order to display a UI, is quaint
| and retro now.
|
| And it's perfectly acceptable to have a multi-billion-dollar
| business that requires a local client, but which does not in
| fact offer native clients of any form for any OS on the market.
|
| It's enough to make me want to go back to DOS, it really is.
| Never mind "nobody will ever need more than 640kB"... if you
| can't do it in 640kB _and still have enough room for the user
| 's data_, maybe you should reconsider what you are doing and
| how you are doing it.
| wpietri wrote:
| I don't remember the norm being "desktop apps which started in
| an instant 20 years ago". Or 30, for that matter. Do you have
| any data for that? E.g., when I think back over launching
| Photoshop over the decades, I remember loading screens all the
| way through.
|
| My take is that launch times are on average better but still
| not great. And I think that's because something else that's
| constant is that programs first get written for the convenience
| of the programmer, and then optimized until people stop
| complaining about the speed.
|
| The waste of resources bothers me too, of course. But on the
| other hand, computing resources have become radically cheaper
| while programmer time has gotten much more expensive. While at
| the same time, writing software had gotten radically more
| complex. So I suspect me getting bothered here is sort of like
| when my grandmother, who grew up in the Great Depression, got
| bothered when I didn't wash and reuse aluminum foil.
| mlyle wrote:
| > I don't remember the norm being "desktop apps which started
| in an instant 20 years ago".
|
| What keeps happening is-- we get an upgrade, and then have
| some old applications, and they become "instant" in
| comparison to our experience with both newer stuff and the
| application in the past. Then we watch that win clawed away
| from us.
|
| Of course, it was never instant, even with the old or newer
| hardware.
|
| My brother spoke a few weeks ago of being awestruck and
| programs starting "instantly" when he got a hard disk on DOS
| on the XT. But now I have a better-than-XT-equivalent
| (9.54MHz V20) with a very fast IO subsystem and I can tell
| you that it is very much not actually instant.
| Torifyme12 wrote:
| The developer time is saved by not writing multiple apps, fuck
| the end user, who cares about their time?
|
| Seriously, I have to really think about when was the last time
| there wasn't some degree of unnecessary friction in an
| application. It really feels like being an end user of modern
| tech is like being in an abusive relationship.
| ChrisMarshallNY wrote:
| _> It really feels like being an end user of modern tech is
| like being in an abusive relationship._
|
| I've come to realize that a lot of modern developers consider
| users of their tech to be little more than cattle. The tech
| is cattle feed, meant to fatten and ensnare the user, so they
| can be sold off and slaughtered.
|
| There's really only one party in that kind of relationship
| that benefits.
| ratww wrote:
| +1000. But in my experience the trend started not with
| developers, but with the other people around them: Product
| Managers, Designers, Engineering Managers, Steve Jobs
| wannabes. There was an obvious disdain for users, and they
| were seen as complete dunces that should be shepherded to
| whatever new functionality happened to pop up their heads.
| There was also a complete disdain for the medium: designers
| used to print design choosing too rigid designs that didn't
| really work that well on a screen, and only adapting when
| the market started punishing them.
|
| At first programmers were able to resist all that and have
| a voice, but lately it seems that the only prestige we
| retained was the salary, so we must play the same tune as
| the rest of the band. Agile was an attempt at being "self
| managed" and have a bit more independence, but that was
| also corrupted and lots of devs hate it with a passion too,
| so we're mostly back to practicing non-iterative, Steve-
| Jobsian-gut-feeling-centric development. Programmers have
| bought into that toxic mentality too.
|
| And even in better situations, such as my current job, the
| tasks that cause the most issues, take more developer time
| and annoy the user the most are always the same: non-
| idiomatic features (for the web or for desktop apps), often
| concocted by designers totally disconnected with the
| audience, who at most did two or three "interviews" where
| the user said "yeah I could see myself using that".
| jrmg wrote:
| _non-iterative, Steve-Jobsian-gut-feeling-centric
| development_
|
| This is a misunderstanding of Jobs. It's true that he had
| a disdain for what users would _say_ they wanted, but he
| was very focused on providing the, with something
| intuitive and easy to use. He wanted to make their lives
| better, and to 'surprise and delight'.
|
| He was also very iterative. He regularly saw demos of in-
| production software (and hardware), and would ask for
| anything from small tweaks to complete rewrites. He was
| completely unafraid of throwing away work, and would
| change his opinions on a dime if they didn't work out.
| ratww wrote:
| Sorry, let me rephrase: I don't think Steve Jobs was like
| that at all.
|
| But the copycats that don't believe in iterative
| development or in user research love to pretend they got
| all figured out before it's out for development.
| zozbot234 wrote:
| > There was an obvious disdain for users
|
| The disdain for "lusers" came from BOFH sysadmin types,
| well before it was adopted by the non-"tech", business-
| focused folks.
| Suzuran wrote:
| It predates the BOFH a bit as well. I am restoring a
| PDP-10 to operation and the operating system refers to
| users as "lusers", non-sanctioned users of the system are
| "turists" who were just there to gawk at things. It's not
| so much out of disdain for the people themselves as what
| they were doing with the computer - when computer
| resources were limited, it was grating to have to wait
| while unskilled and uncaring people occupied those
| resources for frivolous or unnecessary reasons.
|
| Edit: Consider being told something along the lines of
| "Your DNA sequence has to wait, the CEO has important
| Facebook posts to read..."
| Majromax wrote:
| > The disdain for "lusers" came from BOFH sysadmin types,
| well before it was adopted by the non-"tech", business-
| focused folks.
|
| Based on the definitions in the thread, I'd say the BOFH
| attitude is more the inverse: it is _contemptuous_
| towards users, whereas the modern practice is more
| _condescending_ towards users.
|
| The latter still has a notional ethos of catering to the
| user, but the Monkey's Paw corruption caters towards the
| user's most superficial desires, particularly at a first
| impression, while de-optimizing for the acclimated or
| "power" user.
| ratww wrote:
| Exactly, the modern practice is condescending. The
| prevalent thinking is that "users don't really know what
| they want", so there is zero research, zero iteration,
| zero respect and a lot of corralling in the application
| to force users into a (lucrative) workflow.
|
| But the treatment itself is first class, unlike with
| sysadmins of yore.
| wpietri wrote:
| I think those are totally different kinds of disdain.
|
| The former is generalized misanthropy plus specific
| hostility to the individuals who bother them.
|
| The latter is more akin to the feudal lord or the cattle
| farmer: a lack of empathy plus an eagerness to stuff
| one's own pockets such that they build exploitative
| systems.
|
| Sysadmins ultimately just wanted to be left alone to
| pursue their techie interests. But the MBA types are the
| opposite. You can't have an upper class without a set of
| lower classes to provide you with income and feelings of
| power.
| ChrisMarshallNY wrote:
| But it became _industrialized_ by business-types. The
| BOFH thing was personal. They considered (still do,
| sometimes), users of their systems to be "the great
| unwashed."
|
| Basically, pests.
|
| Business types look at users as a resource to be
| exploited to make money.
|
| Basically, livestock.
|
| Different outlook. We try to discourage pests, but we
| breed and incubate livestock. In neither case, are we
| particularly interested in the long-term benefit to our
| users. If anything, the BOFH types are actually working
| towards the benefit of their "lusers," because that's
| their job.
|
| I write software that is targeted at a demographic that I
| actually respect, and sincerely want to benefit with my
| work (so, naturally, I don't get paid for it).
|
| I'm constantly fighting with "modern software types" that
| want to treat users of the software that I write as
| livestock. They -quite literally- can't understand my
| PoV.
|
| It's fairly discouraging, really. I'm treated like an
| idiot, because I actually want to help the users of my
| software.
| jart wrote:
| The only way I see that happening is if it becomes easier
| to crowdsource donations. When your users are the ones
| putting bread on your table, they're the boss. Whatever
| they want they get. But sadly it's hard to crowdsource
| from programmers because there's so few of us. I love
| building and sharing software that delights my peers. Not
| because it's a smart thing to do. If money was the thing
| I cared about, then it'd be more rational to play video
| games on Twitch and blog about culture conflict on
| Substack. Rather coding is something I feel compelled to
| do and I won't stop even if it destroys me.
| oaiey wrote:
| In 1997 I was doing an apprenticeship. It had a very well
| organized curriculum and well thought courses. One course was
| based on 8080/8085 cpu. You know what they gave us: A development
| board (roughly the size of a modern mainboard) with onboard hex
| keyboard 0-9a-f and 3-4 function keys (halt, run, write at ...
| something like that). And a book and templated paper. So the
| exercises, 3-4 hours every week, were: Implement that algorithm
| on paper in assembler, use the book to translate to hex code on
| your memory layout, hack the program into your board and press
| execute. And PRAY that you did not make a mistake in the
| assembler or the typing.
|
| I still think, that this is the most efficient way to teach kids
| CPU/Memory and assembler.
| fanf2 wrote:
| When I was faced with that task, I rapidly got fed up with
| hand-assembling and relocating my code and went off to write an
| assembler to run on a computer with somewhat less anaemic IO. I
| doubt I actually used it more than once or twice, but it was
| fun to write.
| iarenaza wrote:
| Hey, exactly the same I did in my apprenticeship! Only a few
| years earlier (1988 in my case).
| bstpierre wrote:
| My CS (or EE?) class did this in 1996 with a Z80 board
| userbinator wrote:
| I can still "sight-read" much of the x86 instructions from a
| hexdump or even (E-)ASCII --- the ISA is much easier to
| memorise and more regular in octal. This is a habit I acquired
| from the days when I did a lot of binary patching, for various
| reasons, and good disassemblers weren't yet easy to come by.
| dhosek wrote:
| A couple years ago, a junior dev was absolutely astonished at
| my ability to interpret a hex dump as ASCII. I don't think I
| remember any numeric opcodes for anything.
| dhosek wrote:
| Oh wait, I did correctly remember that $20 was JSR in 6502
| assembly.
| ragebol wrote:
| And the value of a compiler
| mlyle wrote:
| Neat! I'm curious if you remember anything about this or the
| materials. I have developed something very similar that I teach
| to middle schoolers:
|
| https://github.com/mlyle/armtrainer
| oaiey wrote:
| That looks very identical ;) just so much more modern. A lot
| smaller and the screen is so much more fancy.
|
| Think that with old style boards, old-style chips, old-style
| number screen.
| mlyle wrote:
| Yah! I was familiar with old "microprocessor trainers" and
| I tried to recreate that. There's nice on-chip debug that
| makes writing a monitor to do this pretty easy.
|
| I was more thinking-- curriculum? How old were you?
| Anything particular stick with you that I should be sure to
| include?
| teddyh wrote:
| https://en.wikipedia.org/wiki/The_Story_of_Mel
| hurrahfox wrote:
| Found the instruction on how to play the game in the further
| reading of the Wiki -
| https://www.mirrorservice.org/sites/www.bitsavers.org/pdf/ro...
|
| It was nice to see the original write up and to read how about
| it worked for the user.
| ngvrnd wrote:
| My great-aunt Gloria told me at this year's family reunion that
| she had used machine language (not assembler, she was quick to
| add) when she started programming.
| makeworld wrote:
| The Story of Mel, explained: https://jamesseibel.com/the-story-
| of-mel/
|
| Great addition to the original story, as there's lots of
| background required for modern readers.
| dang wrote:
| Discussed once here:
|
| _The Story of Mel Explained_ -
| https://news.ycombinator.com/item?id=9913835 - July 2015 (25
| comments)
| avodonosov wrote:
| Maybe not really appropriate for a site called Hacker _News_. The
| site name suggests something new should be posted.
| smcl wrote:
| Older articles are posted fairly often, I don't see why this is
| inappropriate
| ddevault wrote:
| https://news.ycombinator.com/newsguidelines.html
|
| > On-Topic: Anything that good hackers would find interesting.
| dcminter wrote:
| I showed "The Story of Mel" to my Dad a couple of years before
| he died. He started as a software developer some time in the
| 60s. He'd never seen it before, very much enjoyed it, and noted
| that it reminded him of a few people he'd worked with back
| then.
|
| "New" is a matter of perspective.
|
| I'm sure there are plenty of HN readers who haven't seen it
| before, and I'm happy to see dupes of high quality stuff pop up
| from time to time. I was just thinking earlier that it was time
| for someone to re-post "No Silver Bullet" soon. Perhaps I'll do
| it myself it nobody else takes the hint.
| [deleted]
| dang wrote:
| HN is for anything that gratifies intellectual curiosity
| (https://news.ycombinator.com/newsguidelines.html). Sometimes
| that's news in the usual sense of the word, but often it's more
| obscure things, and those are welcome here.
|
| I think of the "new" in the "news" in "hacker news" as being
| like the used clothing store in my home town that used to be
| called "New to You".
|
| In the case of perennial classics like the OP, there are of
| course a lot of readers for whom the story is anything but new,
| but it's important that we also take care of the newer cohorts
| of user and make sure they get some exposure to the classics
| too. That's one reason why reposts are allowed after a year or
| so.
| foobarbecue wrote:
| I like this new word "esthetics"! It's like a cross between
| ethics and aesthetics. How to do the right thing and make it look
| good too, I guess!
| retrac wrote:
| It's just a variant spelling of aesthetics.
| adrianmonk wrote:
| I think it's just a spelling variation. "Ae" or "ae" does show
| up in English words sometimes, but a lot of times it gets
| simplified to "e" (probably closer to the pronunciation).
|
| Examples: "aeon"/"eon", "caesium"/"cesium",
| "paediatrician"/"pediatrician", "anaesthesia"/"anesthesia",
| "haemoglobin"/"hemoglobin", and "chimaera"/"chimera". And more
| debatably, "daemon"/"demon" and "aeroplane"/"airplane".
|
| Generally, British spellings are more likely to have "ae" and
| American spellings are more likely to have "e".
|
| But it only gets dropped in some words. You never see "erobic
| exercise", "erospace engineering", "erosol spray", or a
| conductor being called "mestro".
| mtlmtlmtlmtl wrote:
| You forgot my favorite one: "vaginae"/"vaginae" is an archaic
| plural of "vagina".
|
| But "vagine" is not to be seen in any dictionaries afaik.
|
| Cracks me up because AE is a letter in the Norwegian alphabet
| with a completely different sound than the ae diphtong in
| English. So to me it looks like you started saying "vagina"
| but started screaming at the end.
| wawjgreen wrote:
| seems like yet another trip down the past-huggery and a penchant
| for doing-things-the-hardway. Real programmers don't write write-
| only code.
| phkahler wrote:
| >> Real programmers don't write write-only code.
|
| He did figure out how the program exited the loop, it just took
| him 2 weeks.
| agentwiggles wrote:
| I've always loved this story as a tribute to the early hacker
| ethos. So easy to forget how high up the stack we live these
| days.
|
| There are a few other gems at this site, in the "hacker folklore"
| appendix. http://catb.org/esr/jargon/html/index.html
|
| I like "How to Become a Hacker", and the AI Koans too. Lots of
| good stuff there. These old pages have a certain biblical magic
| to them.
|
| I love our field! Long live the hacker.
___________________________________________________________________
(page generated 2022-08-09 23:00 UTC)