<- Back
Comments (127)
- sho_hnThere'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
- AgentOrange1234In 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.
- _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_...
- utopcellDefinitely 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.
- card_zeroThis might potentially rejuvenate the writing by disrupting habitual patterns, which forces more original choices.
- 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
- ivwsuckerpinch has a great video where he uses an LLM to do this same thing automaticallyhttps://tom7.org/bovex/
- fhubTwo 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.
- brooke2kthis 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
- GeertBI'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.
- alsetmusicThat'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.
- yetanotherjoshIn 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.
- CarVacMy 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.
- zellynI 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 :-)
- BubbleRingsI’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 iswhat Ithinkthisendis!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.
- epistasisI am filled with both a deep admiration and horror at this.It's shockingly impressive.
- xamuelI 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
- lukehHa, I quite enjoy doing this in comments or commit messages where practicable. But, that's just a few lines. :)
- BoxxedI do this at work with the comments in my code. No one's ever noticed <thumbs-down-emoji>
- RobRiveraMan. 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.
- lanyard-textileI 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.
- underyxSo maybe it is possible to use alternate words in writing without compromising on writing quality after all.
- stevageThe part that horrifies me about this is the disincentive to revise any part of the text due to the flow-on effects.
- initramfsI 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.
- ChannelFenceBefore 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)
- techknightIf 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
- msephtonBITD 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.pdfScreenshot of manual section: https://jumpshare.com/share/jOnMu7M36AOEWyoL0QDl
- cpetersoIn 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.
- 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.
- gkobergerThe 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.
- oxoniaYe gods! The fact that this was done by hand... I have no words.
- bywaterLearned this the hard way explaining a bug fix; a single ambiguous term derailed an hour-long discussion.
- quantoA human victory by sheer willpower. I find the story oddly uplifting.
- semiinfinitelythis is the kind of content I come to hackernews for
- d--bMade me think of constrained writing like what was done by the Oulipo group in France.
- domadorI 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.
- brcmthrowawayThere is some bizarre stuff that gets posted on weekends. It's like reading the New Yorker.
- iLemmingAlmost 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.
- nathellObligatory xkcd: https://xkcd.com/276/
- imnotr0b0tSometimes 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...
- crate_88[dead]