Settings

Theme

“I just chose words carefully”

unsung.aresluna.org

907 points by zdw · 257 comments

Reader

67 threads
lproven

    4 leading spaces, is that right? Let's see...

    I used to write all my online posts like this in my early days of having
    own personal email address. My primary email is from 1991 and I used it,
    and DOS-based tools, to go online from 1991 until the late 1990s. At 1st
    I ran DOS tools from a floppy, then on my own PC with OS/2 2, then under
    Win95, then under NT 4. Gradually all the tools that were current at the
    time became Windows-based, so I switched. It just became too hard to not
    use Windows, and that meant proportional fonts, and that meant that folk
    couldn't see that I was writing fully-justified text... so I stopped.

    If this works (it looks all right in the editing window to me) then this
    is the first time in a decade that I've tried writing justified text. At
    the time when I did it constantly, it barely slowed me down. It helps if
    you have a good vocabulary and you can just substitute longer or shorter
    words on the fly.
  • lproven

        Heh. It worked. Maybe I should start writing all my HN responses like
        this. :-)
    
        In the early '90s I occasionally wrote circular messages, and once, I
        recall spending a good chunk of an hour composing one in the shape of
        a Christmas-tree: stacked triangles, gradually getting wider from the
        top to the bottom of the "tree". One letter wide at the very tip, and
        then 2 at the top of the next triangle. The bottom of each triangle 2
        letters wider each time, I think. You get the gist. I widened the top
        as there are not many 1-letter words in English and few 2-letter ones
        to choose from.
easydidit

In a similar vein, Taylor Otwell from Laravel writes his comment blocks exactly three lines long and each line is three characters shorter than the line above, e.g.

    /*
    |--------------------------------------------------------------------------
    | Application Name
    |--------------------------------------------------------------------------
    |
    | This value is the name of your application, which will be used when the
    | framework needs to place the application's name in a notification or
    | other UI elements where an application name needs to be displayed.
    |
    */
https://github.com/laravel/framework/blob/13.x/config/app.ph...
  • rokkamokka

    The good thing about this is that it forces you to think about what to write. The bad thing is that it doesn't force you to think about how to write it so it's easy to read and understand, just so it's exactly the right length...

sho_hn

There's a similar anecdote Gillian Anderson recently revealed during an interview on the X-Files, saying Chris Carter had an OCD-like habit to write dialog to conform to certain text layout preferences (no widows[1]) in the script, which made for the show's distinctive style of dialog cadence.

1 = https://en.wikipedia.org/wiki/Widows_and_orphans

  • consumer451

    Here is the interview where she mentions it, with the correct timestamp, backed-up just enough to give it context.

    https://youtu.be/d3bCel607lQ?t=1162

    • cpeterso

      “Chris told me I mean that there was a particular way that we used to speak in the show that it that wasn't a normal rhythm and syntax. It was slightly backwards. which felt like it was almost part of the cryptic aspect of the series.

      “And it wasn't until we were working on this, I think, the second feature. I was sitting in a parked vehicle waiting to shoot and our showrunner and creator Chris Carter came up to me who was directing the feature and he said he looked at my sides where my lines were and he said, "Look, no widows." And I said, "What what are you talking about?" He said, "No, no widows on the paragraphs that each character has." the word went all the way to the end with the period. So, you didn't like end halfway through that line. So, it was a perfect So, it was a perfect rectangle.

      “So, the dialogue was designed visually. For nine years. [laughter] Wow. So, you're struggling. You're struggling with his OCD.

      • rectang

        Forming every paragraph of dialog into perfect rectangles is way more extreme than just avoiding "widows". The usual term for this is "full justification" and typographically when it's done it's typically through word spacing and letter spacing. Full justification in monospace through word choice (which is what the Ares Luna article is about) is bonkers, but I can't see that happening for TV dialog.

        I've sometimes heard "orphan" used to represent a single word left alone on its own line at the end of a paragraph, but the terms are often confused and Carter could have used "widow" in that sense.

        I'm curious to see what the hard-copy scripts actually looked like. The soft copies I've seen aren't particularly idiosyncratic but maybe they've been normied: https://www.dailyscript.com/scripts/the-x-files_production.h...

        • gucci-on-fleek

          > I've sometimes heard "orphan" used to represent a single word left alone on its own line at the end of a paragraph, but the terms are often confused and Carter could have used "widow" in that sense.

          This is an acceptable use of the term "widow". From the Oxford English Dictionary [0]:

          > A short line of text (usually one consisting of one word or part of a word) which falls undesirably at the end of a paragraph, esp. one set at the top of a page or column.

          But there are dozens of contradictory meanings for "widow" and "orphan" [1], so the definition that you gave isn't wrong either.

          [0]: https://doi.org/10.1093/OED/1579263894

          [1]: https://tug.org/TUGboat/tb43-1/tb133chernoff-widows.pdf#subs... (Disclaimer: I'm the author of this article)

        • Tade0

          > Full justification in monospace through word choice (which is what the Ares Luna article is about) is bonkers, but I can't see that happening for TV dialog.

          We're going to see more of this once diffusion language models mature. They won't match the exact length but will sure choose words to fix the set number of tokens.

        • wombatpm

          Widows are when the final line of a paragraph starts the next page. Orphans are when the first line of a paragraph ends a page.

          • ahofmann

            In german typography the name for widow is "Hurenkind" wich translates to "child of a whore". I was pretty surprised to hear that word on a regular basis while working in text for print. https://de.wikipedia.org/wiki/Hurenkind_und_Schusterjunge

          • Biganon

            Funny because "fixing an orphan" is hard in real life (assuming they've lost both their parents, you have to find them a foster home) but easy in typesetting (just add an empty line before), whereas "fixing a widow" is easy in real life (just remarry) but hard in typesetting.

            • IAmBroom

              Sorta.

              Neither the human orphan nor the widow is fixed by your description; they simply aren't alone either more.

              The child is still an orphan; the woman a widow.

            • 1718627440

              How is finding one person suitable to be a parent (to make them a foster parent) differently hard, than finding another person suitable to be a parent (to marry them)?

              • dash2

                Fewer people want to foster than to have their own kids?

                • thfuran

                  Also, marriage doesn’t imply children.

                • 1718627440

                  For a foster parent you only need to find someone willing to adopt a child, which already register themself into a list. For marriage you need to find someone willing to marry and to marry you out of random people.

          • tonyedgecombe

            You will have to explain what a page is to the younger readers.

    • xnickb

      A bit weird to observe how the facade cracks when they're talking about it.

      Maybe I'm wrong but the whole thing felt very weird to me. Can't put my finger on it.. I want to say immature, but it's probably just unempathetic. I think my brain reached out for "immature" because I saw a lot of it among the "popular" kids at school.

  • diurnalist

    I also saw that interview, then out of curiosity I tried to find any evidence of this. There are some fan sites with ostensibly original X-Files scripts out there[1]. Looking through some written by Carter[2], I wonder if this is apocryphal, or if he was messing with her a bit.

    [1]: https://www.boggsfiles.com/x-files-scripts-by-season/season-... [2]: https://drive.google.com/file/d/1BQbfRmeq3FsajjYcEuqDHv0kf2B...

    • tobr

      Hey, I looked into this too! And I came to the conclusion that it's completely true.

      The movie she mentioned in the anecdote was I Want To Believe. Here is the actual scanned screenplay, rather than re-typed:

      https://lvei.net/wp-content/uploads/script-de-prod/The-X-Fil...

      Just scroll through and look. In almost every paragraph or dialogue block, the last line ends very close to the right margin. Pretty much the only places that doesn't happen is when there's a single short line of dialogue by itself, meaning it doesn't wrap to a second line.

      Looking through scripts on Boggsfiles, it's much more inconsistent, but it does happen, and perhaps more frequently in the later seasons. Here's one, from season 9; take a look at page 10 (page 13 in the PDF) for example, but it really happens throughout.

      https://drive.google.com/file/d/1dlnc2prPVgPLN4CQSiMQMvD2VSl...

      • diurnalist

        Hah! I was wondering if it was maybe something he started doing over time and should have looked more at the later seasons I guess. It's comforting that it's not just a fun story.

    • consumer451

      Wow, thanks for doing this digging. In the interview Gillian recounts Chris Carter saying "Look, no widows."

      Maybe this was not the rule, but something that he had always strived for, so he felt the need to call it out as something cool?

  • rectang

    "No widows" on its own isn't enough to create a distinctive dialog cadence.

    "Widows" (alone at the top) and "orphans" (alone at the bottom) are single lines cut off from the rest of a paragraph by a column/page break. The solution is generally just to fiddle with column/page breaks, which is purely typographical.

    I'm sure that there's a distinct identity to X-Files dialog; it's just not due to this quirk.

    I can totally see a fellow typography geek bragging about this to someone and them being horrified haha.

    ETA: I speculate that Carter was avoiding "widows" to be considerate to the actors by not splitting lines across page turns.

    • frereubu

      I had the same thought, but I think the idea is that it didn't so much create a specific cadence as the cadence was a bit odd because the language needed to fit the visual layout rather than feel natural when spoken.

      • raffael_de

        the distinctive cadence is not a direct consequence from eliminating widows but from the mental process used to achieve this efficiently. language goes from natural fluidity to stacking Lego bricks.

  • fasterik

    I'm also reminded of how David Milch supposedly wrote a lot of Deadwood in iambic pentameter. I only learned about this after seeing the show, but I did pick up the "Shakespearean" feel of some of the dialogue. Constraints often force creativity.

    • delis-thumbs-7e

      Interesting claim.

        ELLSWORTH (CONT'D)
        I tell you what -- I may have fucked
        ~~ life up flatter"n hammered shit,
        but I stand before you today
        beholden to no human cocksucker
        and working a paying fucking gold
        claim -- and not the U.S. Government
        saying I'm trespassing or the savage
        fucking Red Man himself or any of
        these other limber-dick cocksuckers
        passing themselves off as
        prospectors had better try to stop
        me.
      
      I can’t hear it, although it certainly has certain rhythm to it (like any good dialogue does). Iambic rhythm however is so typical to English that you can kinda force most dialogue into it? I also believe writers make these rules to brake them the first change they get. Or perhaps I couldn’t find it skimming the pilot script: https://assets.scriptslug.com/live/pdf/scripts/deadwood-101-...
  • xerox13ster

    I just realized I have nearly always avoided widows and orphans because it felt bad to write that way.

    I wonder if I was ever taught to write this way and forgot, but I feel like I just learned the terms for the first time.

  • thinkafter

    Meanwhile Xfiles has a montage on YouTube of all the times the boom mic crept into the shot.

    So I can’t super accept that these are geniuses - it was cheap TV.

    In hindsight sure, whole cult following etc. but doesn’t mean it is well designed or even thought out.

    • bluefirebrand

      What does the writing quality, genius or otherwise, have to do with the boom mic though?

      • defrost

        Bugger all - particularly given the boom mic operator and other framing "gaffs" are (as I recall) all part of the "wide screen" 16:9 later release on BluRay etc that were somewhat rushed out the door.

        A number of shows of that era were filmed wide (16:9) and post processed / coloured / reframed and broadcast on TV in a box 4:3 aspect ratio

        No visible boom mic operators, etc - careful eyes in the initial post production for TV phase saw to that.

        Later wide screen releases were rushed with no real post production budget to address these and other issues - that's on the studios wanting a second grab at money, not the original creative teams.

        Similar complaints abound for Buffy the Vampire Slayer and (IIRC) The Wire (?) and their wide screen releases.

        • iaaan

          There's a famous example of this in Malcolm in the Middle where the camera cuts to a different shot and a stand-in for Dewey is visible in the 16:9 release, but was not visible in the original 4:3 broadcast. So in one shot you have Dewey's normal actor, then in the next there is some random kid.

          • ZeroGravitas

            A recent similar example was Mad Men rerelease in 4k where the VFX weren't redone properly after a rescan of the film and you can see the man operating the machine with the pipe that spews sick out of a characters mouth.

AgentOrange1234

In programming certain word choices are valuable in this way. It's sad that pairs like true/false, good/bad, first/rest, and left/right are unequal length. But there are nice pairs like old/new, head/tail, fast/slow, same/diff, and right/wrong, which can help with create natural vertical alignment throughout a function.

  • Kootle

    In Japan they have the abbreviation “NG” (“not good”) that’s often used as the opposite of “OK”. I always liked how, when I worked for a Japanese machine learning company, classifiers would be between “OK” and “NG”. Maybe semantically “okay” and “not good” are not great opposites, but I always liked how having textual alignment makes the contrast immediately obvious

    • lloeki
    • seszett

      It's not unusual in France to use OK and KO. I never liked it much because it's too easy to confuse and no semantically a good opposite either, but visually it does look very balanced.

      • slazaro

        I've seen it a lot in Spain as well. I guess it's a combination of just being the reverse of OK, and also "KO" meaning "knocked out" just feels like the opposite of OK.

      • andrelaszlo

        Is it because KO and chaos are both pronounced /ka.o/?

        • seszett

          I've always just understood it as in knockout, chaos wouldn't fit in the way OK and KO are used (as predicate adjectives, if I understand English grammar classes correctly) but it is part of why some people like to use "KO", I'm not sure.

      • 1718627440

        What does KO stand for?

    • kqp

      Seems like “not okay” would be the cleanest antonym. I can’t see anything that could go wrong with using it.

      > Meeting at 4 pm today?

      > NO

  • pmontra

    Ah, but I use a normal proportional font in my editor so same and diff have different widths.

    That was the fun comment. The serious ones:

    1. I'm trading the ability to align statements on consecutive lines for a more pleasant reading experience.

    2. Nobody ever complained that my source code is

      a = 1
      ab = 2
      abc = 3
    
    instead of

      a   = 1
      ab  = 2
      abc = 3
    
    3. No tables or diagrams in comments of course but I think that I could configure my editor (emacs) to use a monospaced font there. I do use a monospaced font for the ``` ``` blocks of md files.

    4. I'm using Atkinson Hyperlegible Next https://www.brailleinstitute.org/freefont/

  • kmoser

    Consistency of abbreviation style is important, too. It drives me crazy that the Google Maps API uses lat/lng rather than lat/lon.

  • CarVac

    Row/col works but width/height doesn't, alas.

  • edanm

    I wonder if that was part of the reason that some programming languages use constructs like "if / fi" "do / od" etc.

    (Note: After writing the above, I checked with ChatGPT, it claims that the main motivation was to make it unambiguous which which "opening word" a "closing word" belonged to.)

    • dbdr

      This tracks with an old convention in languages like Pascal, which uses begin / end keywords for all blocks, where people would add "end (* if *)" as a comment to make it more explicit which block is being closed.

  • marton78

    You caught my OCD. I like to use upper / lower a lot.

  • thaumasiotes

    > It's sad that pairs like true/false, good/bad, first/rest, and left/right are unequal length.

    You're just matching them wrong. On/off and yes/no may look unequal, but what about yes/off or on/no?

    • jjsjsjsiw

      This reminds me of all the (fun) times I had coming across “enable toggle” and “disabler enabler”.

      Bonus points for taking “YES” (looking at you FreeBSD) or “1” or “ON”.

    • ngcazz

      true/lies

  • eps

    Also have/want if old/new is already taken.

  • moffkalast

    There's only two things I hate in this world: people who do column alignment for vars and function params, and the Dutch.

  • internet_points

    > old/new, head/tail, fast/slow, same/diff, and right/wrong

    also some abbreviations work fine:

        min
        max
    
        row
        col
    
        beg (vs start)
        end
    
        key
        val
    
        src
        dst
    
        pos
        len
    
    and we have

        public_key
        secret_key (vs private)
    
        from
        till
    
        push
        pull
    
        load
        save
    
        init
        done
    
        inner
        outer
    
    -----

    and if you speak Norwegian you have two options:

        ja    yes
        no    nei
    
    but that may trigger a different kind of OCD :-)
_jackdk_

I wonder if at any point during writing, the heroic author of that Super Metroid guide learned that "missiles" are not spent "missles", and decided to own the mistake rather than reword the entire guide.

Also, the font used for the monospace examples in the post is a great kick to the nostalgia. Which one is it? It reminds me of https://int10h.org/oldschool-pc-fonts/fontlist/font?ibm_vga_...

  • mananaysiempre

    Judging by the lowercase “m” it’s the 8x16 variation[1] and not the 9x16 one you linked, but otherwise yes, looks like the plain old VGA font? (Incorrectly displayed, as the site points out: the VGA didn’t have square pixels in either of those modes.) The site uses (AVIF) images in place of text, but it’s like 15 minutes to write a program that typesets an ASCII file in a given monospace bitmap font and writes out the result as say a PPM (and I’m sure ImageMagick can do it if you’d rather dig through docs than program), so this doesn’t seem to require any further explanation?

    [1] https://int10h.org/oldschool-pc-fonts/fontlist/font?ibm_vga_...

  • Biganon

    Funny tidbit: "missile" used to be an adjective, "a missile weapon" = "a weapon than can be sent/thrown".

    Same with cereals, "cereal" was an adjective that meant "relative to the goddess Ceres" then "relative to bread/wheat". "Cereal plants" -> cereals.

    It's called "nominalization (or substantivization) by ellipsis".

  • stkdump

    The misspelling seems to be consistent (>200 times), though it seems like a quite common one. A 1982 DOS game was even titled "Missle Strike", long before Metroid was released.

  • EGreg

    I think you meant "spelt" rather than spent. A but ironic, all things considered.

  • kibwen

    > learned that "missiles" are not spent "missles"

    I choose to believe that the author was channeling the spirit of Noah Webster as a deliberate champion of phonetic spelling reform.

    • cyphar

      And are British, at least in Australia (and the US, I guess?) we pronounce the second "i".

      It is always fun when you notice where someone is from based on secondary clues like that -- my favourite is the choice of "a" or "an" where it is ambiguous (for instance, I recently ran across "an HTTP request" where I would've said "a HTTP request").

      • likis

        I thought the rules were clear and it depends on how the word is pronounced, with a vowel or consonant sound.

        I have only heard people say H T T P, as specific letters when pronouncing HTTP, and thus the a or an should be based on how one would pronounce the letter "H". And H would be pronounced as "aitch". Starts with an a -> vowel sound -> should be "an".

        But I'm a non native english speaker, so I'm happy to be proven wrong.

        • JoshTriplett

          Some UK speakers pronounce "H" as "haitch" (with a non-silent leading 'h'), not "aitch". Which leads to "a haitch tee ...".

          https://en.wikipedia.org/wiki/H#Name

          • amiga386

            Specifically, upper-class Brits pronounce the "h". See this classic Monty Python sketch which makes fun of it:

            https://www.youtube.com/watch?v=pnq96W9jtuw&t=66s

                Praline: 'Ello. I would like to buy a fish license, please.
            
                Clerk: A what?
            
                Praline: A license for my pet fish, Eric.
            
                Clerk: How did you know my name was Eric?
            
                Praline: No, no, no, no. My _fish's_ name is Eric. Eric the fish. 'E's an 'alibut.
            
                Clerk: What?
            
                Praline (in upper-class accent): He is an halibut.
            
            There was a lot of discourse about the (then declining) aristocracy and their mannerisms, accents and so on, in the 1950s and 1960s. In particular, discussion of "U" (upper class) versus "non-U" English, highlighting the differences in language usage between classes: https://en.wikipedia.org/wiki/U_and_non-U_English

            The Pythons were highly attuned to this class distinction and wrote it into their sketches. Another good sketch is an upper-class family distinguishing "woody" and "tinny" sounds, but the whole sketch's premise is to laugh at the odd mannerisms of the upper-classes.

            https://www.youtube.com/watch?v=M3-51DhOzHE

            • lproven

              > Specifically, upper-class Brits pronounce the "h".

                I think you have this slightly muddled. It's not that upper-class Brits
                pronounce more of the "h" sounds. The idea is that upper-class types go
                to private schools and they learn French, and so they know that lots of
                English words that have a leading "h" are French loanwords and thus the
                they are unaspirated in the original, i.e. the "h" is silent – it ought
                not to be said. "Hotel", "hospital", "honour", "homage", and so on - no
                leading "huh" sound. Which means that the word starts on a vowel sound,
                and in turn, that means it takes "an" in front not "a". 
              
                But people who don't know French and don't know which words have a sort
                of silent H on the front and which don't try to hyper-correct – so they
                start inserting extra initial "huh" sounds on words beginning with some
                form of vowel.
              
                This is how old British TV comedies tried to parody policemen talking -
                they are often working class but in dealing with lawyers, judges, etc.,
                they are aware of speaking to someone from a higher social class and so
                they try to speak more "proper" and insert loads of extra "h" sounds.
              
                "Hin my hopinion, your onner, the suspect was hup to something."
              
                Drop the "h" sounds where they _should_ be, and at the same time insert
                extra ones where they shouldn't be.
              
                I think this is what the Pythons were playing with. Now that Britain is
                a little bit less class-conscious – and foreign accents are heard a lot
                more often – it doesn't seem funny any more so it's gone away. That's a
                good thing overall, I reckon.
              
                (Wondering how long I should keep this up...)
            • amiga386

              Perhaps the most succinct explanation of British class difference is the famous Frost Report sketch featuring John Cleese, Ronnie Barker and Ronnie Corbett:

              https://en.wikipedia.org/wiki/Class_sketch

              https://www.bbc.co.uk/programmes/p00hhrwl

      • SyneRyder

        The term for this is a "shibboleth", if it's of interest:

        https://en.wikipedia.org/wiki/Shibboleth

        • lproven

            A shibboleth is a little more specific: it's the pronunciation of one
            specific sound in a different way that marks out a person as from one
            specific group. 
          
            So, some of the go-tos... New Zealand English tends to turn an /i/ in
            even stressed positions into schwa (the sound on the end of "little",
            or "umbrella", or "gopher", and one of the key sounds to master for a
            non-native learner who wants to improve their English accent). When a
            Kiwi says "fish and chips" it sounds like "fush and chups", "swimming
            pool" becomes "swumming pool", and this is _the_ way to distinguish a
            Kiwi from an Australian, because to the rest of the Anglophone world,
            NZ English sounds very like Aus English.
          
            Canadians tend to pronounce the "ow" sound in words like "about" in a
            way that to my British ear sounds Scottish: it becomes "aboot". So if
            I hear someone speaking with an American sounding accent but they say
            "I found oot aboot something," I ask them if they're Canadian. I tend
            to find most Canadians and New Zealanders are delighted if someone is
            able to tell, so ask very early on and you can make new friends. :-)
    • somat

      Or Andrew Jackson approaching the problem from the other end.

      “It is a damn poor mind indeed which can't think of at least two ways to spell any word.”

      As a rather, well... "creative" speller I blame Webster for locking things down and ruining it for the rest of us.

      • Valodim

        Different languages went down different paths in this regard, each with their own interesting advantages and disadvantages.

        https://en.wikipedia.org/wiki/Orthographic_depth

      • jimmydddd

        I few years ago I saw a TV interview where some gen-z kid confidently stated: "the dictdionary is supposed to reflect how I talk, not the other was around."

        • tux3

          Also known as descriptivism. That's what it do.

        • xboxnolifes

          The tricky part is that spoken language and written language are not the same. Even if you are a descriptionist that believes dictionaries should represent how people write, it doesn't necessarily mean that the spelling changes based on how people pronounce it.

        • eru

          That's actually how many of the dictionary people see themselves.

        • saulpw

          A natural descriptivist.

        • thaumasiotes

          That is in fact what the dictionary is supposed to do.

    • eru

      Should be missels then?

    • saghm

      I'd argue that "le" is not really phonetic to how people pronounce words ending in that; "missils" would be more phonetic

      • lproven

        > "missils" would be more phonetic

          Only for Americans. In British English, it's "MISS isle", and "MISSul" is
          a church book. I'm not Christian and I am not sure of exactly what's in a
          _missal_ but it's prayers or something.
        
          I do not know if American English even has missals. They're old fashioned
          things these days, I think. But in my dialect, "missile" and "missal" are
          two different words with 2 different sounds, which means that when I hear
          Americans talking about the fast moving weaponry what I hear is that they
          are launching prayer books at someone. It's not a very common word and so
          I keep forgetting.
      • thaumasiotes

        > I'd argue that "le" is not really phonetic to how people pronounce words ending in that

        Sorry? How do you think people pronounce words such as truffle / turtle / tremble / pickle / maple / rubble / etc. etc. etc.?

        • seszett

          They pronounce these words as if the e and the l were reversed, if "truffle" was written in a phonetic manner it would be written "truffel". Since the "l" sound is last and preceded by a schwa, "truffle" (or "missle") obviously cannot be considered phonetic.

          • thaumasiotes

            > They pronounce these words as if the e and the l were reversed, if "truffle" was written in a phonetic manner it would be written "truffel".

            You can just look this up. The usual way to write "truffle" in a phonetic manner is of course /tɹʌfl̩/. You'll note that there is no vowel in the second syllable at all; it consists of just the L. (And that's what the small mark below the L means - "syllabic".) This is the standard phonetic analysis.

            You might also notice that the IPA differs from your proposed spelling in several other ways. One, the difference between "ɹ" and "r", has no relevance in a discussion of English. But the difference between "f" and "ff" is more significant, and the difference between "u" (the vowel in GOOSE) and "ʌ" (the vowel in STRUT) is of critical importance.

            And this is still just a phonemic transcription. Phonetically, you'd expect the word to be [tʃɹʌfl̩], with the initial consonant matching that of "chill" and not "till".

            All of these are conventions of written English. Written "tr" is pronounced as if it were written "chr". Pronounced [tʃɹ] is always spelled "tr" and never spelled "chr". The difference in vowel quality between "moping" and "mopping" is indicated, as you probably already noticed, by the doubling of the consonant written after the vowel, and this is also the reason for the double "f" in "truffle". Why do we write an extra "f" when what we mean is that we're changing the pronunciation of the vowel before it? Not for phonetic reasons.

            And what do you know, there's a standard spelling of syllabic L in English too, and that standard spelling is "-le", not "-el". That spelling is phonetic in exactly the same way that using "m" to spell the initial consonant of "mat" is phonetic - it is the established mapping between the orthography and the pronunciation.

            • seszett

              Well I know what you mean, it's phonetic in the same way that a silent "ent" and "p" in "comptent" are "phonetic" in French, or the silent "n"s in "pannenkoeken" are in Dutch. In common language though we call that "not phonetic". But that's not what the person you were responding to was talking about, and it also has nothing to do with IPA notation: we were obviously not writing IPA here.

              However to come back to IPA and "truffle", Wiktionary (not a definitive source I know, but there is no definitive source whatsoever about anything regarding the English language) does that say "truffle" rymes with /-ʌfəl/ with a schwa right there between the f and the l. The pronunciation of the word itself in Wiktionary is indicated with a syllable break rather than a schwa, which I would absolutely dispute, and indeed it looks like Cambridge dictionary[1] puts a schwa there in addition to the syllable break.

              It's also written "truffel" in Dutch for what it's worth.

              [0] https://en.wiktionary.org/wiki/truffle [1] https://dictionary.cambridge.org/pronunciation/english/truff...

              • thaumasiotes

                > Well I know what you mean, it's phonetic in the same way that a silent "ent" and "p" in "comptent" are "phonetic" in French

                No, that's not what I said at all. Stipulating that the -ent and the -p- are silent in the French word comptent, there is also a French word comte of identical pronunciation, which limits the amount of phonetic information that the silent -ent and -p- could be carrying. (In fact, I believe the verb ending may be realized in certain cases, as the "silent N" ending the English indefinite article is often realized.)

                The doubling of the "f" in truffle is nothing like that. The hypothetical word trufle would be pronounced differently. That difference wouldn't have anything to do with the F, but nevertheless it is indicated by the spelling; the spelling is conveying phonetic information.

                This is also the case for the spelling -le. It represents an English sound. It is the spelling you would expect a trained speaker to produce for a novel word featuring that sound. You can't get any more phonetic than that.

                > Wiktionary (not a definitive source I know, but there is no definitive source whatsoever about anything regarding the English language) does that say "truffle" rymes with /-ʌfəl/ with a schwa right there between the f and the l.

                I'll return to this in a moment.

                > The pronunciation of the word itself in Wiktionary is indicated with a syllable break rather than a schwa,

                Just to be clear, the "syllable break" is the period between the f and the syllabic l. The symbol that tells you the l constitutes a syllable in itself is the small mark underneath it.

                > which I would absolutely dispute

                Why? That's how the word is pronounced.

                > and indeed it looks like Cambridge dictionary puts a schwa there in addition to the syllable break.

                We're back to the first point!

                First, let's observe that there is absolutely no dispute over the idea that "truffle" is two syllables long. The presence of a syllable break is universally agreed.

                Second, the reason wiktionary gives a more accurate rendition of the pronunciation is that it's mostly maintained by enthusiasts.

                The convention of dictionaries is cited by wikipedia:

                > Many dialects of English may use syllabic consonants in words such as sudden [ˈsʌd.n̩], awful [ˈɔːfɫ̩] and rhythm [ˈɹɪðm̩], which English dictionaries' respelling systems usually treat as realizations of underlying sequences of schwa and a consonant (for example, /ˈsʌd.ən/).

                ( https://en.wikipedia.org/wiki/Syllabic_consonant )

                This is a convention, no less than the spelling "-le" is. It is advantageous in dictionaries, where you'd like each syllable to be more or less pronounceable on its own; the grapheme "-le" can't occur in isolation. The phonetic analysis is what I already told you it is, and what wikipedia repeats in that quote.

                (In the case of sudden, the difference is crystal clear - if you pronounce it without detaching your tongue from the roof of your mouth between the /d/ and the /n/, you can only be producing a syllabic n. You can also do this test with subtle, but not with truffle, since /f/ doesn't share the same articulatory properties that /d/, /t/, and /l/ do.)

unicorn_platfor

I like the idea that arbitrary constraints can actually improve writing. Without a constraint, it's easy to fall back on familiar phrasing, while having to work around something unusual forces you to reconsider each word. I wonder if this applies to programming and other creative work too.

  • InfiniteRand

    This is what I think about grammar. Yes, it’s a little arbitrary but it makes you think a little more about your writing. That’s why I try to use correct grammar in text messages. I don’t push this on anyone because most people don’t like to think about word choice, but I am a writer at heart. Still I have to bite my tongue every time someone sends me a text message “hi am here”

  • dchftcs

    Live is short, required time to market is even shorter. Arbitrary constraints might work if you have nothing better to do, but if you have a goal, or specific ideas you want to train, you'll get more natural constraints.

    • duopixel

      History is full of half-baked products that were better executed by a competitor later. While I agree that manually balancing the text of manual is probably not the best use of time, it's this obsessive mindset that creates great products. If Super Metroid would have optimized for time-to-market we wouldn't even remember the game.

    • trashb

      I would argue that limitations, forced or arbitrary lead to more interesting (and perhaps in the end more useful) products.

      In the GDC 2016 talk "8 Bit & '8 Bitish' Graphics-Outside the Box" by Mark Ferrari he mentions something similar. (paraphrasing) "If you can make anything you like (with modern Photoshop) you won't need to stop to consider the core of your idea." A lot of our thoughts are not as original as we like to believe and constraints can push your to consider your ideas and designs from another perspective leading to better understanding or design of the core concept. Often because the ideal path to realizing your idea is not available so you will have to reconsider the need or how to creatively implement something that approaches your desired outcome.

      Now the GDC talk is about pixel art but the same is true in writing or any creative process (for example painting or coding). Famously some writers limit their selves to typewriters, for example George Orwell or Matty Healy.

    • latexr

      > Live is short, required time to market is even shorter.

      Life is too short to think of it in terms of markets and money.

      > if you have nothing better to do

      The way to create something novel is through creativity, and creativity comes from restrictions because they force you to think in novel ways.

      There is a time for experimentation and a time for doing. The latter is not “something better to do” than the former, they both have their place.

  • bregma

    In other words you could say constraint is the progenitor of creativity.

  • latexr

    > I wonder if this applies to programming and other creative work too.

    It does. It’s a know aphorism that constraints bread creativity. A couple of examples (one of deliberate constraints and another of accidental constraints):

    Brian Eno and Peter Schmidt created “Oblique Strategies” as ways to challenge yourself.

    https://en.wikipedia.org/wiki/Oblique_Strategies

    The Köln Concert, which is “the best-selling solo album in jazz history and the best-selling piano album” was improvised because there was a mixup and Keith Jarrett was given a terrible piano.

    https://en.wikipedia.org/wiki/The_Köln_Concert

card_zero

  This might potentially
  rejuvenate the writing
  by disrupting habitual
  patterns, which forces
  more original choices.
  • cottsak

    Could be a saving grace in the age where the robots come up with all the copy.

    • someguyiguess

      Robots would excel at writing that sort of copy I’d assume. (I haven’t tested it but doubt an LLM couldn’t handle that)

      • chrisfosterelli

        I suspect LLMs would actually struggle significantly with doing it consistently if given purely as a prompt instruction, but you could always constrict the sampling to force words that create a legitimate chain or fine tune / RL in some signal that would assist with it.

        • urams

            You are right that this is hard from a prompt alone, but for a slightly stranger
            reason than the obvious one. The model never sees columns. It sees tokens, and a
            token can be one character or nine, so "make this line 80 wide" asks it to run a
            hidden tally over pieces it cannot count by looking at them. Any slip early in a
            line compounds, and there is no backspace key to reach for once it is committed.
            That said, the failure is not total. A model can lean on a learned feel for line
            length, pick shorter or longer synonyms to land close to the target, and rewrite
            a sentence when it overshoots. It will not be perfect every time, but it lands a
            lot more often than pure chance would suggest. The sampling trick you mention is
            the real fix: mask each token that would push a line past the limit, and force a
            newline the moment the count hits the mark. That converts a fuzzy instruction to
            a hard constraint with zero training. Fine tuning helps too, but mostly sharpens
            the same internal counter rather than replacing it. This reply is a small proof;
            if any line here is off by one, feel free to consider your point demonstrated...
      • crackalamoo

        An raw LLM no, but given code execution it can do a good job. I had my Claude Sonnet write a sonnet in this form after 14 rounds of iteration with Python:

        The autumn wind moves slow across the field,

        and every falling leaf now yields its fight.

        The summer gold at last has ceased to yield,

        and short days now give way to longer night.

        I walk alone beside a calm and quiet stream,

        and watch it slowly carry every fallen leaf.

        I think of you as some half-forgotten dream,

        and taste again that same old, bitter grief.

        The silent stars come out to watch it still,

        and pale moonlight falls gently on the hill.

        A lonesome owl calls out from past the mill,

        and time moves on, unhurried and calm, until

        the dawn returns to paint the sky brand new,

        and I still recall the love I lost with you.

        • card_zero

          Monospace formatting: start each line with two spaces to get monospace (and then you won't need double linebreaks).

        • traes

          For clarity:

            The autumn wind moves slow across the field,
            and every falling leaf now yields its fight.
            The summer gold at last has ceased to yield,
            and short days now give way to longer night.
            I walk alone beside a calm and quiet stream,
            and watch it slowly carry every fallen leaf.
            I think of you as some half-forgotten dream,
            and taste again that same old, bitter grief.
            The silent stars come out to watch it still,
            and pale moonlight falls gently on the hill.
            A lonesome owl calls out from past the mill,
            and time moves on, unhurried and calm, until
            the dawn returns to paint the sky brand new,
            and I still recall the love I lost with you.
      • DoctorOetker

        "perhaps it would be best to let the browsers do it on screens, and typesetting software for printed materials, since they have access to the font, size, text region boundaries, it comes at the small cost that users don't actually get to read what an author wrote, but increasingly this is an LLM anyways, if its a website or legal contract alike"

    • scott_weber

      And here I at first thought the direction the original post was going was "here's how I got a LLM to do this automatically". Seems like it would not be so difficult. Might still be be a win over their innate dispositions.

      • nvme0n1p1

        Tom 7 did something like this. https://www.youtube.com/watch?v=Y65FRxE7uMc

        > BoVeX gives us a controlled tradeoff between these two states. By changing how much it costs for the text to be semantically wrong, we have a dial that allows us to smoothly interpolate between Lorem Epsom and Donald Knuth.

        • sipjca

          it's unbelievable this was not pointed out earlier in this thread, long live tom 7

gyomu

> At the same time, who among us didn’t nod in recognition at least, having once spent hours massaging a button UI string or a tooltip just to get it to fit under the certain width in a densely packed interface?

I did, and then I got a customer email about how they were using a display-zoom OS accessibility feature and things were truncated on their device. :')

See also: localizing your interface to German

  • crooked-v

    Yep, any concern about text widows and orphans in modern app layouts becomes irrelevant as soon as you have to localize.

    Just build your layout so it can squash/stretch appropriately.

    • xboxnolifes

      Or if you're really insane, localize the entire UI.

      • Agentlien

        Is that insane? Every game[0][1] I ever helped ship has had fully localized UI. In game development that seems to be the standard way of doing things. And it requires a lot of testing and sometimes comes with workflows to automatically test that all strings fit their intended box.

        [0] Before I worked on game development I actually worked in virtual surgery simulation, and there we also had a localized UI with a very large number of supported languages and tooling to detect issues.

        [1] Need For Speed (2015), NFS: Payback, NFS: Heat, Lost in Random, Wavetale

      • Groxx

        And accessibilize it. Pixel perfect per zoom level per language per font variant per font.

        Don't forget increased-contrast too!

  • someguyiguess

    Anyone who ever worked as a front end developer definitely felt this.

    • t098i3

      Even as a backend dev who dabbles in frontend as a hobby - I get the view looking great on desktop, then a week later I open the site on mobile and am horrified

ivw

suckerpinch has a great video where he uses an LLM to do this same thing automatically

https://tom7.org/bovex/

  • bla3

    If you're reading this and you're put off by the "uses an LLM", don't be. This is not a low-effort video, quite the opposite. This is one of the best YouTube videos I have ever seen.

  • ivanjermakov

    No mention of Tom7's "Badness 0" by the author is the a crime!

    • uolmir

      He managed to create the ultimate version of form over function. All hail Lorem Epsom.

  • JoshTriplett

    Which he described as "solving the AI alignment problem".

  • hankbond

    towards the end of the knuth version

    > This presents a problem for the typical way that academic papers are written, which is to do all the work in a coffee-fueled fugue in the last few days before the deadline, then stay up all night writing the paper and finding citations for the pro-forma “related work” section which you did last but you know that the reviewers will insist upon

    I have zero exposure to academia but chuckled because thats often what I do for blog posts :P

    • eru

      AIs these days are pretty good for the 'find prior art and related work' part I find. Of course, you should treat their output like that of an over-eager but somewhat unreliable intern.

  • asddubs

    and in latex too, not just monospace

njspix

I've done something like this when writing grant applications, etc. When space is at a premium, strategically shortening/deleting words to eliminate a widow can gain you a whole line :)

fhub

Two definitions that I had to look up.

* Widow: a short final line of a paragraph that gets stranded at the top of the next page or column.

* Orphan: a first line of a paragraph stranded at the bottom of a page or column.

  • a_bonobo

    The German is more crass: Hurenkind and Schusterjunge, translates to 'child of a whore' and 'shoemaker boy'. The child of a whore does not know where it comes from (who is their father), the short final line - the shoemaker boy is so poor, he does not know where he will end up (the short first line)

    https://de.wikipedia.org/wiki/Hurenkind_und_Schusterjunge

    Edit: Also, LaTeX has specific penalties for those two: https://tex.stackexchange.com/a/32116

  • Leonard_of_Q

    Those who lived through the (text-mode) WordPerfect era may remember 'widow and orphan protection' as being one of the features which was advertised for this program, i.e it could be set to either move that orphaned first line of a new paragraph to the next page or move a few extra lines or a whole paragraph to the next page to keep the widow company.

    • nosioptar

      Text mode WP is the reason I hate almost all word processors, everything else is tepid goat piss by comparison.

    • schoen

      I remember using WordPerfect in that era and never understanding what that feature was. It seemed implausible to me that it was actually protecting human widows and orphans, but I couldn't imagine what it had to do with text layout!

      • jolmg

        Kinda cool when you learn the answer to something you were wondering about decades ago.

        • schoen

          Absolutely! Unfortunately for me, I probably wondered about this 35 years ago and learned the answer 15 years ago. Otherwise, I could be one of today's lucky 10,000 in the xkcd 1053 sense.

  • janci

    There are also Rivers - when spaces between words on multiple lines align vertically. Harder to control for than widows and orphans.

brooke2k

this is only tangentially related to the article, but I've always found text justification strange. For me paragraphs with ragged edges are easier to read than justified paragraphs, because the irregular ending point helps me keep track of where I am. And justification can lead to some very odd-looking lines. So I've just never quite understood why it's so common in typesetting

  • cheesecakegood

    Fully justified text looks much better when it’s more narrow columns, especially multiple; full page width text is usually not the main use case

  • bux93

    One advantage in print; pages are often not entirely opaque. So on page 3, you see a bit of the text of page 2 shine through. If page 2 has a jagged right margin, this also makes the left margin of page 3 look uneven.

    Meanwhile, the right margin of page 3 looks has a "shadow" that goes all the way to the right because the left margin of page 2 pokes out underneath it - your eye might want to glide to the end of the block, but the sentence stops earlier.

    It looks better when it's aligned, which is also why you can specify a left- and right margin that alternates on odd and even pages.

    This is obviously only a concern for books and papers, and not so much for e.g. glossy magazines.

  • bluebarbet

    People will bend over backwards to rationalize it but the actual explanation is quite simple: 16th-century typesetters saw it as beautiful, and a norm was born.

    IIRC, the somewhat random allocation of trailing silent "e"s in English spelling can partly be explained by typesetters trying to fill lines.

    Totally agree with you BTW. I find justification ugly as sin.

  • Mikhail_Edoshin

    Differences are supposed to convey information. E.g. a paragraph's first line is indented to indicate that this is a start of a paragraph. Differences in line width convey no useful information, so the are suppressed. Same goes for overall text height on a page, although this rule is broken more often.

    Typesetters are known to be very specific about small details. E. g. tables are typeset with meticulous alignment rules. It may look superfluous, but it is not. The nature of the craft is that it has to be invisible unless you know where to look.

  • JeremyMorgan

    I've never given this much thought, but I agree with you 100%.

    After reading this article I thought "wow that's really impressive and I hate it".

    For the same reasons you mention, and the words seem to "blend together" into a blob of text and losing my interest.

    Still super impressive that people do this though.

  • hebrides

    I guess in printed material it’s more space efficient, which is why it has historically been used. Justified text can be made look nice but it requires hyphenation and a non-greedy linebreaking algorithm, which unfortunately is not implemented in browsers or Microsoft Word.

  • jolmg

    It's just neatness. Like ironing clothes or putting on a tie, it's not about it serving a functional purpose. It's just to show off straight lines.

    • benterris

      I know, but it feels much more neat to me to have even spacing between words

  • cute_boi

    Same here, justified text feels difficult to read. And, I had academia where where students are forced to justify text....

syllogism

If you're submitting an eight page conference paper you're very often hunting runts (short lines ending paragraphs) and rewording for better justification, especially on the first page and even more so in the abstract.

First-page space is at a premium because you want the reviewer to scan the introduction well, and it's great if you can fit a key figure that explains the concept on the first page.

The game's probably very different now that there's such a flood of submissions but when I was reviewing I always saw messy alignment on the first page as a sign the paper was probably rushed, and usually I could see that elsewhere in the paper too.

TripleFFF

I wonder if this has parallels in subconscious email formatting? Weird line breaks in emails used to really bug me until I realised most people were composing inside an email program that only showed them a reduced width editor, but because I wasn't used to formatting myself it took a long time for me to get used to things like forum posts, where the lines continue over and you don't think much about it unless you are making a sylistic point

bhaak

    I am somewhat surprised not seeing any mentioning of hanging punctuation
    when doing the full alignment to the right side. As everybody can see in
    the article, punctutation marks on the right side results in uneven text.
    Putting non letter symbols one space further to the right than the other
    letters, it looks much better. Of course for monospaced text it is still
    just a gimmick. But a visually pleasing gimmick.
https://en.wikipedia.org/wiki/Hanging_punctuation
GeertB

I've definitely been guilty of wording my multi-line doc comments in a way that would ensure they'd flow without awkward right margins. I would have a macro in vim that would call the fmt program to reflow the comment to 79 (later 98) characters, and then would iterate on word choice until the comments looked good. Not exactly right-justified, but no very ragged edge either.

CarVac

My dad told a story of a classmate in high school going through the effort of manually justifying text in a paper he wrote and being rewarded with a plagiarism accusation.

That was done by typing the whole paper twice, with added spaces the second time.

zellyn

I remember reading Project Gutenberg email updates from Michael S. Hart in the mid to late 90s that were famously formatted like this.

It’s not too hard if you try, once you get in the groove :-)

  • dchest

    Indeed:

    https://hart.pglaf.org/

    From Wikipedia:

    "Michael Hart's email messages and blog posts had equal line length paragraphs in monospaced font: he chose the wording in such a way that each line had the same number of characters."

ncruces

Also Cosmopolitan lib: https://github.com/jart/cosmopolitan/blob/master/libc/README...

Note how all the "wrong" lines are down to markdown formatting.

yetanotherjosh

In a very real sense this is exactly what LLM watermarking does. It "chooss the words carefully" in order to get text to "line up," but not with a visible margin... instead with a verifiable word distribution that proves the author knew a secret key.

Nevermark

I remember doing this by hand. A long time ago. It gave me a nice ADHD fidget-subtask while my brain worked out the higher level organization of what I was writing.

I completely forgot I did that.

My life has 1000's of strange untold stories of absentminded activity. I've done things you people wouldn't believe. Someday I will fall asleep and get so distracted I will forget to wake up. All those moments will be lost in time, like bits on bad tape.

wraptile

It's a good illustration what a terrible idea text justification is. It should never even become an acceptable formatting technique as the entire purpose of reading is predictability and varying space length is very much the opposite of predictable. To this day I commit no-text-align-justify CSS lint rule to every repo I'm part of.

zkmon

Skillful people did amazing things in the past because of 3 reasons - they have ample time available (slow world), don't have the basic struggle such as thinking about next meal (must be in a peaceful country), no technology to divert their attention (no need of learning new stuff on daily basis).

qhwudbebd

I remember procps top --help did this. I hated the resulting clunky, inconsistent wording enough to add a local patch in my procps build recipe to rewrite it.

Apparently I'm still carrying the patch, so the current version must still do it.

alsetmusic

That's the sort of attention to detail that makes me love an app. Apple used to have this. It's why I became one of their users. My hope is that John Ternus understands why this sort of "spinning of wheels" is essential when he takes over. I read that Steve Jobs picked the order of the icons in the Dock himself. Some people know that little things matter.

dash2

I dunno man, on the one hand this is blooming awesome. On the other hand could he have spent some of this time writing better prose? I sure would not want to read 1700 words of that, let alone 17,000!

epistasis

I am filled with both a deep admiration and horror at this.

It's shockingly impressive.

  • cm2012

    And that it was done for an amateur game guide! This is like a legendary work of art.

Boxxed

I do this at work with the comments in my code. No one's ever noticed <thumbs-down-emoji>

ColinWright

Although they are rarely read in monospace, I write all my emails in monospace, and frequently "choose my words carefully" to have the text left and right justified.

Every now and again someone notices.

I invite you to have a look at my profile ... I cheated once.

BubbleRings

I’ve been searching all over for a classic example of this that I first found around 1986, but I can’t locate it. It went on for a page or two, hand justified lines of maybe 40 characters, and then at the end of it he started making each line one character shorter, until the essay ended with these, the only words I remember from it:

dumb is

what I

think

this

end

is

!

If somebody can find it, share it here, I’m going to post it on my own website so it is saved for history. The last time I saw it was 5 or 10 years ago, and there was only one or two copies on the internet at that time, and now there seems to be none.

kreco

From the title, I knew what it was about.

This Super Metroid guide is some crazy stuff I'll always remember. I was reading it and then a 10 minutes later I noticed, it was such unique feeling. Definitely a piece of art.

lukeh

Ha, I quite enjoy doing this in comments or commit messages where practicable. But, that's just a few lines. :)

  • boothby

    It's a guilty pleasure of mine, spending a few minutes to clean up the aesthetics of docstrings and comments. I justify (heh) it to myself by catching unclear wording on this last cleanup pass -- and not taking it too far, obstrusifying for the aesthetic.

  • rmunn

    I must admit to occasionally rearranging words or choosing different synonyms to make a column of spaces line up in a monospaced paragraph, so that you could draw a straight line down one column the screen without passing through any letters or punctuation. Or making a diagonal line of spaces, top-left to bottom-right.

    I usually only did that when the text already was close to lining up that way, though.

RobRivera

Man. I kinda want to stress test my memory of super metroid before reading this guide. I could do a sub 3hr run through at 100% when I was a child.

I know I couldn't today.

amai

Can LLMs nowadays do that for us? Rewriting the text so that it fits perfectly into the paragraph?

lanyard-textile

I have never felt more seen. I do this with comments all the time, rewording things to look nice on that 80 or 100 column mark.

singpolyma3

Full justification is a plague

sodimel

I was in awe when I discovered this, and decided to apply this simple rule to the help text of a small command line tool I was working on: https://git.bitmycode.com/sodimel/n#help

stevage

The part that horrifies me about this is the disincentive to revise any part of the text due to the flow-on effects.

underyx

So maybe it is possible to use alternate words in writing without compromising on writing quality after all.

initramfs

I used to go to my computer laboratory in high school and at my mom's work to print out GameFAQ walkthroughs in the late 90s. They were excellent. I wrote this to remind myself of simple fun that's been superseded by grander ambitions, and sometimes I think I am wrong for choosing the latter.

techknight

If I remember correctly, this is the tweet (and HN post) that brought it to the attention of the world back in 2021: https://news.ycombinator.com/item?id=28651093

msephton

BITD I used Protext word processor on Atari ST (and later DOS/Windows PC) which automatically justified monospace text. It also had a pretty good dictionary (all in 512KB of RAM) and I remember doing this word dance to get lines to flow better.

Manual: https://www.atarimania.com/st/files/protext_5_04_arnor.pdf

Screenshot of manual section: https://jumpshare.com/share/jOnMu7M36AOEWyoL0QDl

pcblues

It's the holy grail for text adventures :)

Funny article, and there is probably a similar post in an ILoveKerning site.

dolmen

Nowadays LLMs are driven to "choose words carefully" (well, tokens) for watermarking.

ChannelFence

Before LLMs, there were Markov chain bots. We used SeeBorg on IRC and over time its dictionary would fill up with whatever everyone said. Most of it was nonsense, but every once in a while it would say something perfectly timed. Almost everything It said making sense or not was hilarious though.

(source: https://github.com/allanlw/seeborg)

gkoberger

The Super Metroid guide is the kind of thing that AI will render obsolete, which makes me sad.

One of my favorite quotes is from Penn and Teller, "Sometimes magic is just someone spending more time on something than anyone else might reasonably expect". AI has shifted that a bit.

But lots of technology has rendered formerly human-lead things obsolete, and I'm sure we'll find new ways to express creativity.

  • LtWorf

    LaTeX has existed for a certain amount of years already.

    • gkoberger

      Sure but that's not what I was talking about. I was talking about the guy who wrote a 17,000 guide manually in monospace so that it was justified.

      • garciansmith

        But he didn't need to do that before either. He did it because he cared (in a weird way, sure). And some people will still care.

        Video game text FAQs in general though were a dying genre before gen AI anyhow. Something I bemoan when I try to find one little piece of info and I'm faced with guides that are spread out on dozens of webpages for impressions of ads that I don't even see, or long videos that I have try to scroll through and take a ton of time just to find out if the person even went to the area I'm interested in. I sure miss Ctrl+F on GameFAQs.

        • gkoberger

          Yup that's my point, and maybe the bigger issue isn't if people care or not but rather... can we distinguish between "they cared" and "they spent 30 seconds on a prompt".

knuckleheads

Agents get a little upset when you ask them to do this and then check their work with a hook. They do not enjoy the process and create some weird looking text!

  • lproven

    > They do not enjoy the process

      Dude, it's a text prediction engine. It can no more "enjoy" a process than a
      stapler enjoys poking wire through paper. 
    
      Don't kid yourself. It's the first step down a slippery slope, one that ends
      in assigning gender to a bunch of statistics, falling in love with it, and a
      lot of terrible software, writing, pictures, and so on. It's a machine. Make
      sure not to anthropomorphise inanimate machinery.
  • efskap

    Well, estimating string length of tokens is much like counting R's in strawberry.

utopcell

Definitely in the pool of people that used to do this extensively. I would occasionally increase/decrease the colum limit by a few characters and try again if the words didn't align.

xamuel

I did something similar in my paper "Meno II: A self-referential Socratic dialogue about memory and computer programming" [1] (published in The Reasoner). Every length-200 block of text is carefully chosen so as to steganographically encode one character of a computer program, and Socrates and Meno decode the program in real time by examining the words they've said.

I didn't do it entirely by hand, but I didn't just one-shot it with AI either (good luck). Instead, I wrote the whole dialogue in a special format specifying alternate words [like|similar to] [this|what I'm [currently doing here|doing right now]]. For each length-200 block, the number of variations grows exponentially in the number of "options" to thus choose from, so it becomes feasible to have a computer systematically choose options so as to hide the desired secrets.

The same method could be used for monospace alignment, though I suspect it would be harder the narrower the page be.

[1] http://philpapers.org/archive/ALEMIA-4.pdf

bradley13

Wow, autism in action ;-P

Choosing words that carefully takes some serious dedication. Imagine the backtracking required...

  • lproven

      > Choosing words that carefully takes some serious dedication.
    
      No it doesn't. If you're careful about how you speak and how you write then
      it takes next to no additional effort at all. I used to do this with all of
      my online responses, and it's been fun to do it again in this thread today.
      Note my responses in this comment thread as a whole. Even though I have not
      done this more than once or twice this century, it barely slows me down. At 
      a guess, maybe it adds 10% or so to the time it takes to type a comment...?
    
      > Imagine the backtracking required...
    
      Virtually none. For some lines I might occasionally have to go back a three
      or four words, that's all. It's quite fun: some dusty rusty old bits of the
      old grey matter have been woken up and exercised, and they're rather liking
      being up in the sunlight again. :-)
  • embedding-shape

    > Imagine the backtracking required...

    Do things the "waterfall" way and you won't need any backtracking, as every previous line will have been adjusted as you're moving forward, not backwards, to adjust the chosen words.

Funes-

I must admit I've indulged in constrained writing when I was a teenager with the same purpose: circumventing spontaneous layout errors in Word when writing a paper for school, feeling a non-negligible amount of anxiety due to the deadline being around the corner. Terrifying.

  • johnxianren

    I still do that. I'll tweak the wording just so a single name doesn't sit on its own line.

cpeterso

In a recent interview on Conan O'Brien's podcast, Gillian Anderson said X-Files creator Chris Carter wrote his scripts visually so they didn't have any widows (the last line of a paragraph carried over to the top of the next page):

Chris told me I mean that there was a particular way that we used to speak in the show that it that wasn't a normal rhythm and syntax. It was slightly backwards. which felt like it was almost part of the cryptic aspect of the series.

And it wasn't until we were working on this, I think, the second feature. I was sitting in a parked vehicle waiting to shoot and our showrunner and creator Chris Carter came up to me who was directing the feature and he said he looked at my sides where my lines were and he said, "Look, no widows." And I said, "What what are you talking about?" He said, "No, no widows on the paragraphs that each character has." the word went all the way to the end with the period. So, you didn't like end halfway through that line. So, it was a perfect So, it was a perfect rectangle.

So, the dialogue was designed visually. For nine years. [laughter] Wow. So, you're struggling. You're struggling with his OCD.

matja

Obligatory mention, the GNU JUSTIFIED PUBLIC LICENSE: https://tom7.org/bovex/JCOPYING

(for the rabbit hole: https://tom7.org/bovex/)

oxonia

Ye gods! The fact that this was done by hand... I have no words.

gblargg

And do this manual justification as your very last step.

bywater

Learned this the hard way explaining a bug fix; a single ambiguous term derailed an hour-long discussion.

Schlagbohrer

One more example of the utopian idea that, because there are so many dedicated nerds out there for any possible thing imaginable, if we gave people more free time there would always be someone who would volunteer to do xyz task if it was needed and if they had a community who supported them.

That's what comes to my mind anytime I see some huge labor of love like that guy rewriting 17k words to fit nicely.

quanto

A human victory by sheer willpower. I find the story oddly uplifting.

semiinfinitely

this is the kind of content I come to hackernews for

brcmthrowaway

There is some bizarre stuff that gets posted on weekends. It's like reading the New Yorker.

domador

I recently started reading a book sample for "Superintelligence" on Kindle, but stopped reading because all the text was noticeably justified, often with large gaps between words in many sentences. This was very annoying, especially since the option to disable justification was unjustifiably disabled.

Strangely enough, this same book doesn't have the same problem on other platforms.

zebreus

just use BoVeX

nathell

Obligatory xkcd: https://xkcd.com/276/

d--b

Made me think of constrained writing like what was done by the Oulipo group in France.

  • cisophrene

    Exactly, I was about to mention George Perec, one of its members, who wrote novels under very hard constraints such as "La disparition", a whole readable novel without the letter "e", which is as hard as or harder than an English speaker would expect. He also wrote "Les Revenentes", which is a novel only using words with no other vowel than "e" (and some liberties he had to take with the language to make that work).

    Interestingly, the novel with no "e" was actually translated into English multiple times (most famous one is called 'A Void'), proof that constrained writing is something quite a few people seem to enjoy.

iLemming

Almost irrelevant to the story itself, but here's what it feels like to use Emacs these days.

The story talks about monospace fonts and how unappealing they could be for reading prose. It is a fascinating post on itself, but here's what happened - it caught my eye while I was busy, I clicked the link, it opened the page, I kept it hanging around and forgot about it. Then HN page got buried in my browser history. After a while, I found the tab, I read the story and it made me thinking if anyone shared any thoughts on HN. Instead of digging it up from browser history - I ran consult-hn and found the thread - it showed up in an org-mode-derived buffer of hn-reader.el. I was reading through the comments, and I was like: "yah, this probably would be easier and faster to read if I used a different font". I enabled variable-pitch-mode, but it didn't get much better - the default font I set for the face isn't great - I just needed something that existed in both Linux and Mac. I should've picked a better one.

"Let me try a different font", I thought. And how do you change the font family in Emacs? There's probably a way doing it through the UI, but thank you, no thank you - I have a programmable editor. I instinctively opened a scratch buffer and started typing: (set-face-attribute ... And at that point I realized: "Well, this would, a) Change the font everywhere b) What the heck were the parameters for this sucker?".

Of course, why not ask the LLM? I started typing the prompt, right in that buffer. I could've just finish typing and call (gptel-send). But, "what if this becomes a longer chat?". I mean, I still could continue chatting in that buffer, but there are benefits for having specialized gptel buffer, for instance, all my gptel-dedicated buffers get automatically saved. So, instead, I invoked (gptel-inline) - if the answer is short - I'd dismiss the popup and if I have follow-ups, I'll just continue.

LLM told me how to change the font in the current buffer. But I said: "I want to change it for any chosen buffer, since I'd be invoking this from the scratch buffer". At this point I was thinking: "I'm just fooling around, but let's see where it takes me..." It gave me this code snippet.

    (with-current-buffer "target-buffer-name"
     (setq buffer-face-mode-face '(:family "Georgia" :height 140))
     (buffer-face-mode 1))
Since a gptel buffer is just an ordinary buffer, I changed `target-buffer-name` to `HNComments` and evaled it. The font in the buffer immediately changed. "Meh, I don't like this one, I want to try another...", then I changed the font name.

And at that point, I felt so stupid for wasting my time, I typed: "Can you just build me a consult picker, to select a font for a given buffer with a live preview."

And it just did. ~25 LOC. It took me far longer to write about it, in reality, the transition from a fleeting thought, from a mere idea to a concrete implementation took me seconds. Seconds!

And now I have a command that I can either keep in my scratch buffer, or stick into my config. Or literally just discard until next time I need to temporarily change the font in a given buffer.

Note: this is not a post about "how awesome it is to use AI in Emacs", no. It is all about how enormously flexible Emacs is to bend around to deal with any kind of text.

  • citizen428

    This is why so many of us are so much into Emacs. In a time where pretty much all software around us gets progressively enshittified, there’s this 50 year old Lisp interpreter masquerading as an editor that you can make truly and uniquely yours.

floki165

It's comforting to read this thread and realize I'm not the only one who spends an embarrassing amount of time swapping synonyms in docstrings just to make the paragraph perfectly hit the 80-character margin. Doing it for a 17,000-word Super Metroid guide, tho, is a completely different level of dedication.

imnotr0b0t

Sometimes I think I'm too detail-oriented. Then I remember that someone once spent weeks manually rewording a game FAQ so the right margin would look pretty in a text file. And I feel better about myself...

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection