[HN Gopher] A Spellchecker Used to Be a Major Feat of Software E...
       ___________________________________________________________________
        
       A Spellchecker Used to Be a Major Feat of Software Engineering
        
       Author : Bogdanp
       Score  : 129 points
       Date   : 2025-08-09 01:07 UTC (3 days ago)
        
 (HTM) web link (prog21.dadgum.com)
 (TXT) w3m dump (prog21.dadgum.com)
        
       | gnabgib wrote:
       | (2008) Popular in:
       | 
       | 2023 (314 points, 180 comments)
       | https://news.ycombinator.com/item?id=34971924
       | 
       | 2020 (363 points, 143 comments)
       | https://news.ycombinator.com/item?id=25296900
       | 
       | 2012 (94+156 points, 70+61 comments)
       | https://news.ycombinator.com/item?id=4640658
       | https://news.ycombinator.com/item?id=3466388
        
       | unstatusthequo wrote:
       | Fast forward to now, and autocorrect in draft Teams messages
       | appears to be the unbreakable barrier.
        
       | AlphaAndOmega0 wrote:
       | I'd have liked more explanation of the actual solutions that
       | programmers used at the time.
        
         | Someone wrote:
         | For the basic word list, possibly tries
         | (https://en.wikipedia.org/wiki/Trie), DAGs (https://en.wikipedi
         | a.org/wiki/Directed_acyclic_graph#Data_co...), or Bloom filter
         | (https://en.wikipedia.org/wiki/Bloom_filter)
        
           | tetraodonpuffer wrote:
           | according to https://en.wikipedia.org/wiki/Ispell ispell
           | (1971) already used Levenshtein Distance (although from the
           | article it is not stated if this already existed in the
           | original version, or if it was added in later years).
        
             | Someone wrote:
             | Levenshtein distance up to 1, according to that article. If
             | you have a hierarchical structure (trie or a DAG; in some
             | sense, a DAG is a trie, but stored more efficiently, with
             | the disadvantage that adding or removing words is hard)
             | with valid words, it is not hard to check what words
             | satisfy that. If you only do the inexact search after
             | looking for the exact word and finding it missing I think
             | it also won't be too slow when given 'normal' text to
             | spell-check.
        
           | bazzargh wrote:
           | The limit given in the article is 360KB (on floppy). At that
           | size, you can't use Tries, you need lossy compression. A
           | Bloom filter can get you 1 in 359 false positives with the
           | size of word list given
           | https://hur.st/bloomfilter/?n=234936&p=&m=360KB&k=
           | 
           | The error rate goes up to 1 in 66 for 256KB (in memory only);
        
           | Aurornis wrote:
           | The article is about fitting large dictionaries into small
           | memory footprints. Writing a 200K word spell checker on a
           | machine with only 256K memory.
           | 
           | When you need to store your dictionary in under 1 byte per
           | word, a trie won't cut it.
        
         | tgv wrote:
         | For checking? Just a lookup on disk (no db, just a large list
         | with a custom index, then binary search in the retrieved
         | block). Decoding anything was slow, and in-core was basically
         | out of the question [1]. Caching was important, though, since
         | just a handful of words make up 50% of the text.
         | 
         | I once built a spell checker plus corrector which had to run in
         | 32kB under a DOS hotkey, interacting with some word processor.
         | On top of that, it had to run from CD ROM, and respond within a
         | second. I could do 4 lookups, in blocks of 8kB, which gave me
         | the option to look up the word in normal order, in reverse
         | order, and a phonetic transcription in both directions. Each
         | 8kB block contained quite a few words, can't remember how many.
         | Then counting the similarities, and returning them as a sorted
         | list. It wasn't perfect, but worked reasonably well.
         | 
         | [1] Adding that for professional spell checking you'd need at
         | least 100k lemmata plus all inflections plus information per
         | word if you have to accept compounds/agglutination.
        
         | ksherlock wrote:
         | https://blog.codingconfessions.com/p/how-unix-spell-ran-in-6...
         | 
         | https://news.ycombinator.com/item?id=42752604
        
           | canucker2016 wrote:
           | The first article I read about the techniques used in the
           | spell program was the 1985 May issue of Communications of the
           | ACM (CACM for those who know),
           | https://dl.acm.org/toc/cacm/1985/28/5, in Jon Bentley's
           | Programming Pearls column.
           | 
           | Not as much detail as the blog.codingconfessions.com article
           | mentioned above, maybe some of the other/later techniques
           | were added later on?
           | 
           | Link to the online version of the 1985 May Programming Pearls
           | column: https://dl.acm.org/doi/10.1145/3532.315102
           | 
           | The PDF version of that article:
           | https://dl.acm.org/doi/pdf/10.1145/3532.315102
        
       | knicholes wrote:
       | I loved what Peter Norvig did with this. It's not just a spell
       | checker, but a spelling corrector. https://norvig.com/spell-
       | correct.html
        
         | soperj wrote:
         | "why should they know about something so far __outisde__ their
         | specialty?"
         | 
         | Should have used it on his spell-correct article.
        
       | thimabi wrote:
       | Given that spellcheckers are mostly stable tech, I wonder why
       | Google's spellchecker in Gmail, or even in Chrome in "enhanced"
       | mode, is so bad.
       | 
       | Even Microsoft Word, being a local app and everything, manages to
       | work better than Google's cloud-based offerings. That's surely
       | evidence that progress is far from being linear.
        
         | devmor wrote:
         | There have been some very specific issues I and others have
         | noticed that lead me to believe the backend for Google's cloud
         | based spellchecker has changed from a traditional language
         | model to some more generalized LLM-based system. It's gotten
         | distinctly more terrible a couple of times in the last few
         | years.
        
       | chilipepperhott wrote:
       | Checking if a word is spelled correctly is easy. It is providing
       | high-quality suggestions that is hard.
        
         | DJBunnies wrote:
         | Having written a spellcheck, maybe 20 years ago for school,
         | this is accurate.
        
         | Finnucane wrote:
         | As a copyeditor/proofreader, the number of times over the years
         | I've had to fix the low-quality (i.e, wrong) suggestions is
         | quite large. ("he had a small plague on his desk" remains a
         | favorite.)
        
           | KineticLensman wrote:
           | One of my favourites was 'rouge elephant'.
        
           | cratermoon wrote:
           | I have a spelling checker            It came with my PC
           | It highlights for my review            Mistakes I cannot sea.
           | I ran this poem thru it           I'm sure your pleased to no
           | Its letter perfect in it's weigh           My checker told me
           | sew.
           | 
           | https://www.thoughtco.com/spell-checker-poem-by-mark-
           | eckman-...
        
         | bluGill wrote:
         | Even that is hard since there are many words where a mispelling
         | is a valid different word.
        
       | catwhatcat wrote:
       | A recent article from PCGamer adding some more details:
       | https://www.pcgamer.com/software/implementing-a-spellchecker...
        
       | jimt1234 wrote:
       | Can confirm. The first time I saw an automatic spellchecker was
       | probably with WordStar around 1989, and it blew me away. _How can
       | the computer know all the words? That 's insane!_ Sounds lame,
       | but it's true. It was a different world.
        
         | torium wrote:
         | Since you're old enough, here's a question for you. Do you
         | remember if at the time the first spellcheckers were invented,
         | people were negative on spellcheckers, because that would mean
         | that soon people would stop learning how to spell and just
         | general dumbing down?
         | 
         | It seems that anything that helps people gets this reaction
         | these days. On the one hand, the argument 100% resonates with
         | me. On the other hand, spelling isn't really the end, is it?
         | It's just a means to an end, so what's wrong with making the
         | mean easier? Did people worry that you'd stop knowing how to
         | plant potatoes when trading was invented? EDIT: The example
         | doesn't make sense because agriculture is newer than trading,
         | but you got the idea.
        
           | mikaelmello wrote:
           | "The careless, the inept, the spelling disabled will be able
           | to survive in a world of words by relying on computers to
           | conceal their own weaknesses."
           | 
           | https://www.washingtonpost.com/archive/opinions/1985/06/02/t.
           | ..
        
           | runako wrote:
           | Not as much with spellcheckers because even when they started
           | to get popular, it was apparent that many people cannot spell
           | English. So it was very natural.
           | 
           | People pushed back on the grammar checks when they landed in
           | Word.
           | 
           | Before that, people pushed back on calculators in secondary
           | schools. This was a huge point of contention all classes
           | except trigonometry, and calculators were definitely not
           | allowed in the SAT/ACT.
        
             | kergonath wrote:
             | > People pushed back on the grammar checks when they landed
             | in Word.
             | 
             | Word's grammar checker has improved quite a lot. But I
             | absolutely hate the style checker and its useless advice.
             | Yes, I know how the passive voice works and yes, it is
             | appropriate in this sentence. Also, it's not really a
             | problem in English but Word still can't do spaces properly
             | so it wants to put normal spaces everywhere and it's
             | fucking ugly. I wish it would spend as much time fixing
             | inappropriate breaking spaces (in English as well).
        
             | Gibbon1 wrote:
             | What I think is one should question if something is the
             | point of the exercise.
             | 
             | I'd argue that where writing spelling is something
             | completely arbitrary and thus of no fundamental importance.
             | Arithmetic is the same way, lots of algorithms to do that
             | and they are all valid. So calculators and spell checkers
             | are fine. And you should use them.
             | 
             | The same is not true for grammar. Getting AI to write an
             | essay for you.
        
           | KineticLensman wrote:
           | I don't remember any particular negative reaction to spell-
           | checkers like the 'calculator panic'.
           | 
           | Perhaps partly because most schoolkids then wouldn't have
           | been using word processors as their main writing tool at
           | school and people using them in a corporate environment were
           | pleased not to make embarrassing errors in their emails.
        
           | cruffle_duffle wrote:
           | I remember that! People were worried we'd all forget how to
           | spell stuff.
        
           | mrweasel wrote:
           | > because that would mean that soon people would stop
           | learning how to spell and just general dumbing down?
           | 
           | I'd argue that negative people where correct. People can't
           | spell anymore, not even with a spellchecker. Maybe they never
           | could? I'm not against spellcheckers, I think they are
           | amazing, but they haven't helped much.
        
           | jimt1234 wrote:
           | As I recall, there was some, but not a lot of FUD around
           | spellcheckers, mostly because personal computers were still
           | relatively new. Most GenX parents (Boomers) didn't even know
           | what personal computers were yet, so they didn't know enough
           | to be concerned. (I grew up in Missouri, which was the
           | Digital Stone Age back then.) At the time, I think their
           | complaining was more focused on MTV and video games.
           | 
           | However, also sounds weird, but I recall myself and some of
           | my peers questioning spellcheckers, _" Why do I need this?"_,
           | because spelling was a primary mission of our education. We
           | were all raised constantly being tested on spelling. In fact,
           | I think I disabled the spellchecker on my old-ass 286 because
           | it caused delays in the overall experience.
        
           | taftster wrote:
           | It was the opposite experience for me. Before spellcheck was
           | commonly part of the web browser, I would go back and reread
           | some very early emails and/or usenet posts from myself. And
           | realize how atrocious my spelling was.
           | 
           | I actually consider spellcheck to have improved my spelling
           | dramatically over the years. The little red squiggles under
           | words have helped me to recognize my misspellings, especially
           | the words that are hard for me to get right consistently.
        
           | paradox460 wrote:
           | I remember hearing this as late as the early 00s. I'd buy
           | electronic dictionaries and spell checkers at yard sales and
           | things like that, and use them in class. Multiple teachers
           | were disapproving of it, despite it basically just being a
           | paper book dictionary in a small, TI-92 shaped device. 10
           | year old me never saw how flipping through some obnoxiously
           | heavy book in the back of the classroom was better than just
           | punching in a few letters, hitting the "show definition", and
           | ensuring I was spelling and using "curmudgeonly" properly.
           | 
           | Same went for using MacWord vs AppleWorks. MacWord had a
           | built in dictionary, AppleWorks didn't.
        
         | NitpickLawyer wrote:
         | I had the same thing when the Encarta CDs started to include
         | pronunciation tests. You'd get a word, speak it in the
         | microphone, and get a "score" on how well you pronounced that
         | word. Knowing what I know now, it was probably pretty
         | inaccurate and hand wavy, but in the early 90s that was an
         | absolutely amazing experience for an ESL person.
        
       | DevX101 wrote:
       | It still is? Few engineers could build a good spell checker
       | without external libraries, giving a database of valid words.
        
         | justin66 wrote:
         | It takes a PhD to develop that. (ahem)
        
         | adrianN wrote:
         | The existence of external libraries is part of the point.
        
         | kccqzy wrote:
         | I was actually asked to build a spell checker in an interview.
         | I immediately thought of Peter Norvig's article on spell
         | corrector (https://norvig.com/spell-correct.html) and proceeded
         | to explain. It turned out that the interviewer really wanted a
         | spell _checker_ not spell _corrector_ : the program will only
         | point out words not in the set of known words.
         | 
         | I failed that interview by overengineering.
        
           | dehrmann wrote:
           | > I failed that interview by overengineering.
           | 
           | Almost. You needed to clarify what the interviewer was asking
           | and discover requirements. As much as HN likes to hate on
           | coding interviews requiring specific algorithm knowledge,
           | determining requirements is very much part of the job, and
           | engineers have a tendency to build what they want to build,
           | not what the customer wants.
        
           | Gibbon1 wrote:
           | Marvin the Paranoid Android voice. 'Oh... that. Just do a
           | linear search on a dictionary. Put the small words first. I
           | know it's woefully inefficient but you won't fuck that up'
        
         | Aurornis wrote:
         | > Few engineers could build a good spell checker without
         | external libraries, giving a database of valid words.
         | 
         | Writing a spell checker that quickly identifies if a word is in
         | a list of valid words (the problem described in the article) is
         | a trivial problem for anyone who has basic algorithms and data
         | structure knowledge. It's the classic example for using a trie:
         | https://en.wikipedia.org/wiki/Trie
         | 
         | The problem described in the article is doing it within very
         | limited storage space. How do you store your list of 200K words
         | on a system with only 256K of memory? This is the challenging
         | part.
        
           | mandeepj wrote:
           | > How do you store your list of 200K words on a system with
           | only 256K of memory?
           | 
           | Your hard disk is almost always larger than your RAM. You
           | only load into memory what's needed at the moment. I hope
           | that gives a hint on how to proceed with the above problem.
        
             | sib wrote:
             | The article refers to the need to support machines that did
             | not even have hard disk drives.
        
             | Hackbraten wrote:
             | What's a hard disk?
        
             | dhosek wrote:
             | But you don't necessarily even have a hard disk. You might
             | only have a 320K floppy. Floppy-only computers were pretty
             | common in the late 80s when I was in undergrad.
        
               | unregistereddev wrote:
               | Indeed, I remember having to insert a dedicated 5 1/4"
               | floppy in order to run spell check in Apple Writer on an
               | Apple ][e.
        
               | mandeepj wrote:
               | Let's replace "hard disk" with "external storage". Shall
               | we?
        
       | benoau wrote:
       | IIRC none of the popular text-based games of the 80s and early
       | 90s incorporated even basic support for spelling mistakes, best-
       | case scenario they had one or two synonyms baked-in and even that
       | was uncommon!
        
       | yndoendo wrote:
       | It is 2025 and the best spell checker is a search engine.
       | Numerous time an application will not provide the correct word.
       | Only solution is to try the word in a search engine and try using
       | in a sentence if that fails.
       | 
       | In my opinion, this is where ML/AL local model, no internet
       | required, would be the most beneficial today.
       | 
       | Even had to use a search engine with, "thoughts and opi" because
       | I forgot how to spell opinion before posting this. In application
       | spell checker was 100% useless with assisting me.
        
         | athrowaway3z wrote:
         | I've had a related idea for a while now.
         | 
         | Instead of how LLMs operate by taking the current text and
         | taking the most likely next token, you take your full text and
         | use an LLM to find the likeliness/rank of each token. I'd
         | imagine this creates a heatmap that shows which parts are the
         | most 'surprising'.
         | 
         | You wouldn't catch all misspelling, but it could be very useful
         | information to find what flows and what doesn't - or perhaps
         | explicitly go looking for something out of the norm to capture
         | attention.
        
           | paol wrote:
           | I would like this too. This approach would also fix the most
           | common failure mode of spelling checkers: typos that are
           | accidentally valid words.
           | 
           | I constantly type "form" instead of "from" for example and
           | spelling checkers don't help at all. Even a simple LLM could
           | easily notice out of place words like that. And LLMs also
           | could easily go further and do grammar and style checking.
        
           | NitpickLawyer wrote:
           | I've seen this in a UI. They went a step further and you
           | could select a word (well token but anyway) and "regenerate"
           | from that point by selecting another word from the token
           | distribution. Pretty neat. Had the heatmaps that you
           | mentioned, based on probabilities returned by the LLM.
           | 
           | This should also be pretty cheap (just one pass through the
           | LLM).
        
           | simianwords wrote:
           | in fact it can work at the language level completely with a
           | prompt like "mark parts of this paragraph that don't flow
           | well".
        
           | anuramat wrote:
           | That's how BERT is trained, masked language modeling
        
       | keiferski wrote:
       | Is there a reason why Apple's iPhone spellcheck is often really
       | poor, significantly worse than both LLMs and just...human eyes?
       | 
       | I often find myself butchering the spelling of a word in a way
       | where the correct answer is _obvious to human eyes_ (probably
       | because of  "typoglycemia" [1]) and _an AI LLM immediately
       | understands what I meant to say,_ but Apple 's spellcheck has "No
       | Guesses Found."
       | 
       | Does anyone else have this experience?
       | 
       | 1. https://www.dictionary.com/e/typoglycemia/
        
         | dlivingston wrote:
         | I run into this all the time. I've just given up on the built-
         | in spell checker and search the word in Google now.
        
         | nicce wrote:
         | Bit off-topic - macOS has excellent built-in dictionary. Just
         | select the word in any app, press Ctrl+Command+D and it opens
         | it. It even guesses most incorrect words correctly. Also
         | translation available if it exist for current keyboard locales.
         | 
         | E.g.
         | 
         | > No entries for "typoglycemia", did you mean "hypoglycemia"?
        
           | bee_rider wrote:
           | These user activated dictionaries tend to be excellent (even
           | in vim, a pretty barebones system, I tend to get fantastic
           | guesses from the machine).
           | 
           | Actually, come to think of it, the problem must be a bit
           | easier than on smartphones, right? Real keyboard input is
           | very precise. Smartphone keyboards already guess what word
           | you were trying to spell, so they are influencing the typos
           | in the direction of likely words... cannibalizing the very
           | guess list that the dictionary uses!
        
           | paradox460 wrote:
           | Alfred ties into it nicely too, you can type `spell someword`
           | and the completions below have the various spellings of
           | words, fuzzy matched. Select one and the word goes onto your
           | clipboard
        
         | moi2388 wrote:
         | I have the same experience. Some things I've noticed:
         | 
         | - they really don't want you saying bad words of any kind.
         | 
         | - they do not look at context at all
         | 
         | - they focus too much on the first letter of the word for
         | suggestions
        
         | torium wrote:
         | Wouldn't typoglycemia be lack of typos in your blood? Don't you
         | mean the opposite?
        
           | Twisol wrote:
           | "Hypo", meaning low; "glyc-", meaning sugar; and "emia",
           | meaning of the blood. "Low sugar of the blood". (With
           | apologies to chubbyemu.)
           | 
           | Since "typo" comes from "typography", it roughly means
           | "symbolic". So "typoglycemia" should mean "symbolic sugar of
           | the blood". Low typos in your blood would be "hypotypemia".
           | 
           | I have no idea why "typoglycemia" refers to a human ability
           | to autocorrect, but it brings me joy, so I'm not going to
           | question it ^_^
        
             | torium wrote:
             | Funny that we know the same obscure youtuber.
        
         | bcrl wrote:
         | I'd be happier if the suggested word didn't move between the
         | time I saw it appear and the time my finger touched the screen.
        
         | AnotherGoodName wrote:
         | Yes but it's much broader. Just in general the lack of Steve
         | Jobs noticing these glaring issues and coming down hard to
         | solve them is pretty clear.
         | 
         | I remember when macbooks briefly came out with a ridiculously
         | bright standby led that required Black electrical tape over if
         | you wanted to sleep with it in the house. Shortly after no more
         | status leds on any MacBook (thank you!).
         | 
         | Nowadays i find non stop little annoyances with threads from
         | others on the same issues on Apple devices.
         | From.the.overly.prominent.full.stop when searching textually in
         | the url bar to the crappy spell check and crappy spam
         | filtering. As much as Jobs apparently came across as an asshole
         | there's a need for someone at the top to say 'WTF is this, fix
         | it or get fired!'.
        
           | IshKebab wrote:
           | I've also found a lot of this stuff is due to naysayers
           | telling people that things _can 't_ be fixed (because really
           | they don't want to bother). You need a strong leader to say
           | "no it can and we will".
        
             | ww520 wrote:
             | Or the incentive aligned.
        
               | SkyPuncher wrote:
               | This is really what it is.
        
             | abullinan wrote:
             | It takes a village. Also to be successful in tech it takes
             | an asshole. No way around it. At some point all successful
             | companies share an overly aggressive visionary. The entire
             | company doesn't need to be toxic, but the apex does. If you
             | don't like it, don't climb the ladder.
        
               | ttoinou wrote:
               | Surely there must be some counter examples. Collison
               | brothers at Stripe ?
        
               | stripe_away wrote:
               | I guess you never worked at Stripe.
        
               | IshKebab wrote:
               | I don't think it requires being an arsehole. Just being
               | firm. That doesn't _require_ arseholery.
        
             | paradox460 wrote:
             | Not just that, but the strong leader needs to ensure that
             | it can be fixed.
             | 
             | Yelling at a rank-and-file to unfuck some random system,
             | then not giving them any time, resources, or tools to fix
             | it is just being a dictatorial dickhead.
        
           | mrweasel wrote:
           | It's hard to pinpoint exactly what it is, but yes, there
           | seems to be an increasing number of small issue with Apple
           | devices. They aren't major stuff simply not work, but yes,
           | spam filter being pretty terrible, text overlapping on non
           | flagship phones (e.g. the iPhone SE). All sorts of minor
           | annoyances.
        
             | AnotherGoodName wrote:
             | Yep I've worked at other big tech where they had periodic
             | "executive bug filing" where executives would flag minor
             | things that are annoying. These minor issues would then
             | have higher than normal priority purely by virtue of being
             | flagged by an exec. I have a likely controversial opinion
             | that this executive bug filing actually led to better
             | outcomes.
             | 
             | It did break prioritization in the opinion of the ground
             | level teams and their goals but I argue it's not bad to at
             | least periodically do this since grating against the
             | current org structure prioritization and goals is not a bad
             | thing to do on occasion.
             | 
             | Chances are they'll find there's no team that considers
             | themselves the owners of spell check or spam filtering and
             | the goals the keyboard team are going for is likely some
             | silly thing like "number of sentences with correct
             | punctuation" leading to the current ridiculous outcomes
             | where the period in the URL is way too prominent,
             | especially considering we don't even type full URLS into
             | the search bar that often these days.
             | 
             | Dear Apple leads: if you're reading this do a short
             | initiative where execs aim to file an annoyance a day. It's
             | not hard to find such. There will be some complaints at the
             | ground level that these executive annoyances get too much
             | priority but part of that will be because you're
             | questioning lower level org priorities (a healthy thing to
             | do!), not because the issues don't matter. The end result
             | will bring Apple a bit more in line with the quality we saw
             | during the Jobs period since this is exactly the kind of
             | shake up he did on occasion.
        
           | gitpusher wrote:
           | I worked at Apple and heard a lot of Steve stories. He really
           | did personally approve everything. He would be sitting in a
           | room, and team leads would all line up to give their quick
           | 2-minute update. So it's the MacBook Air guy's turn. He comes
           | in and places his prototype down in front of Steve. Steve
           | opens the lid. Two seconds later he picks up the laptop and
           | heaves it so hard it skipped across the table like a stone on
           | water: "I said fxxking INSTANT ON!!" The poor guy collected
           | his prototype and exited the room. Later the MacBook Air
           | launched... it fxxking turned on the moment you open the lid
        
             | mathiaspoint wrote:
             | Good product development really does seem to require some
             | sort of leader who demands quality and smacks people when
             | they don't deliver. Linux is nice because of Torvalds for
             | example.
        
               | valiant55 wrote:
               | I was just thinking about Linux/Linus the other day. How
               | will Linux fair when Linus is no longer with us?
        
               | jdsnape wrote:
               | Fare, not fair
               | 
               | (I'm sorry, it doesn't matter but I couldn't help it in a
               | discussion on quality)
        
             | FirmwareBurner wrote:
             | _> Two seconds later he picks up the laptop and heaves it
             | so hard it skipped across the table like a stone on water:
             | "I said fxxking INSTANT ON!!"_
             | 
             | When did the OG MacBook Air have instant on at launch in
             | 2008?
             | 
             | IIRC the M1 brough Instant on and Jobs wasn't around
             | anymore.
        
             | csb6 wrote:
             | Sounds like a petulant child. Wholly unnecessary to get his
             | point across.
        
               | ttoinou wrote:
               | Try saying the same things over and over to adults for
               | years
        
           | zimpenfish wrote:
           | > From.the.overly.prominent.full.stop when searching
           | textually in the url bar
           | 
           | One of the most aggravating things in iOS. Trips me up almost
           | every day (and it's been there for what? 10 years now?)
        
             | AnotherGoodName wrote:
             | Wait until you realize that the icon of the period and
             | spacebar don't at all line up to the touch area due to
             | touch gravitation. You can tap slightly more on the
             | spacebar side and still end up with a period. https://www.r
             | eddit.com/r/iphone/comments/1ekszul/comment/lgn...
             | 
             | So if you suffer from this it's not even your fault. You're
             | literally hitting the spacebar but some incentive at Apple
             | in their org structure has led to the period literally
             | having waaaay too much weighting and the lack of exec
             | oversight at Apple in the post Jobs days is leading to us
             | all.typing.periods.whenever.we.just.wanted.to.search.
        
               | doubled112 wrote:
               | All this time (literal years) I thought I.was.losing it.
        
               | kelipso wrote:
               | Lol, the amount of time I spent backspacing to retype
               | without the period. Probably my main annoyance in ios.
        
             | egypturnash wrote:
             | rightnnextntonthenspuriousnninsteadnofnanspace
        
           | elzbardico wrote:
           | That light was really helpful to do the occasional late night
           | visit to the bathroom in a home where I lived where there
           | were no light controls at the bedside.
        
         | jmkni wrote:
         | There's nothing more frustrating than when you type the word
         | you want to type, it changes it to a different word, you delete
         | it and type the word you wanted to type again and then
         | rinse/repeat 3 to 4 times before you have the word you actually
         | wanted.
         | 
         | And if you're not paying attention, your message ends up
         | looking like you're having a stroke.
        
           | mikestew wrote:
           | It used to be that if you typed, deleted the correction, and
           | retyped, that spelling would now be the preferred and you
           | wouldn't have to play that game anymore. Apple broke that
           | years ago.
        
         | porridgeraisin wrote:
         | Meanwhile, vim's spell checker is one of the best I have used.
         | I recommend reading [:h
         | spell](https://vimhelp.org/spell.txt.html#spell).
         | 
         | Here are some nice examples (excluding obvious edit distance
         | based ones which it does right)
         | 
         | "snowbalfight" --> "snowball fight"
         | 
         | "unrelevant" --> "irrelevant"
         | 
         | "fone" --> "phone"
         | 
         | "the the" --> "The"
         | 
         | And all of this with auto capitalization if it notices you're
         | at the start of a sentence, and stuff like handling proper
         | nouns, punctuations, etc,.
         | 
         | What I find really interesting is swipe-type spell checking
         | (its basically word prediction) on phones. That is a really
         | cool problem to solve well. Sometimes it works like a dream and
         | other times it's annoying. I wonder how they write those.
        
         | bell-cot wrote:
         | > Is there a reason why ...
         | 
         | Yes: Apple doesn't care.
         | 
         | > Does anyone else...
         | 
         | Yes. I just typed in "Tipografical earer" - and iOS 18.6
         | suggested "Tipograxical" for the first word, and one of
         | "eared", "eager", and "eater" for the second word.
        
         | uticus wrote:
         | emoticons
        
         | el_benhameen wrote:
         | I have definitely noticed this too. I also use the built in
         | swipe to type feature, and it may as well be a coin flip as to
         | whether it gets the word right. I get that swiping is vague,
         | but even a little bit of frequency prediction would tell you
         | that "sounds good" is going to be more likely than "sings
         | hood". It's an absolutely infuriating feature.
        
         | fluidcruft wrote:
         | I feel the same way about Android's. It just seems like spell
         | check used to be so much better then years ago. But I'm not
         | sure whether it's comparing mobile with desktop expectations.
         | It really seems extremely dumb on Android.
        
       | bikeshaving wrote:
       | One wild thing about the AI era is that tasks which once required
       | specialized NLP expertise--rhyming/meter detection, grammar
       | correction, sentiment analysis--can now be done by weak LLMs.
       | Same APIs, different prompts. I'm surprised more people aren't
       | exploiting this.
        
         | tgv wrote:
         | Sentiment analysis by small models is quite bad. I haven't
         | tried grammar correction, but I imagine it will perform better
         | in English than in e.g. German.
        
       | real_marcfawzi wrote:
       | i can't help but make funny connection between "warm" making them
       | less reliable/consistent and the temperature setting....
        
       | numpad0 wrote:
       | It's also a key enabler to CJK typing on computers. CJK scripts
       | never map to keyboards well, so instead of actually typing,
       | approximate representations are typed in and regularized into
       | written forms using similar technologies as spell checkers. It's
       | a neat thing if you speak one of the languages, sort of
       | interesting that a similar tool haven't been integrated into
       | English keyboards.
        
         | grishka wrote:
         | Doesn't Chinese input usually work by typing Latin codes for
         | characters? Korean characters represent syllables made up of
         | shapes representing individual sounds, those fit on a keyboard
         | just fine. And I'm not sure about Japanese, _there_ they may
         | use something like spell checkers to map kana to kanji.
         | 
         | Another interesting challenge with CJK languages was just
         | displaying them. You need higher-resolution graphics and a much
         | bigger character ROM to even consider that.
        
           | numpad0 wrote:
           | IIUC there are ambiguity problems in Chinese and Korean, just
           | less than there are for Japanese. Korean input has no end-of-
           | character marks and multi-character entry could be split
           | different ways, Chinese has bunch of homonyms-in-Latin, and
           | Japanese is a huge mess(like always, if I think about it...)
        
           | paradox460 wrote:
           | Romanization systems for Chinese vary, but all have the issue
           | that a single "word" in the romanized system can map to
           | dozens, if not hundreds, of actual "words" in the target
           | language.
           | 
           | Pinyin is sort of the standard for romanization, although
           | other systems exist, as well as inputs that aren't based on
           | romanization (bopomofo).
           | 
           | Take the pinyin `fei`. Just looking at the tones that can be
           | on this word, it can mean at least 4 words (my dictionary app
           | couldn't find any neutral tone words). In reality, its at
           | least dozens, each with different contextual meanings.
        
           | pcrh wrote:
           | This is a history Chinese keyboards before word processors,
           | and even as they were first introduced:
           | https://spectrum.ieee.org/chinese-keyboard
           | 
           | Very interesting! It was certainly a different technological
           | challenge...
           | 
           | Also discussed here:
           | https://news.ycombinator.com/item?id=40537464
        
       | 77pt77 wrote:
       | Please add 2008 to the title.
        
       | YesThatTom2 wrote:
       | My Commodore 64 had a spellchecker. It was a separate program. I
       | had to save my file, exit my word processor program, switch
       | floppies to the spell checker program, wait for it to load, and
       | all I got was a list of misspelled words... no suggested
       | corrections.
       | 
       | Thinking back, how the heck did they do spell checking algorithms
       | on a 6502? That's a bit of code I'd like to see reverse
       | engineered!
        
         | tomatocracy wrote:
         | SpellMaster for the (6502-based) BBC Micro was seriously
         | impressive given the space limitations.
         | 
         | It did both spell checking and correction (and had an anagram
         | finder as a bonus), had integration with several different
         | wordprocessors, check as you type functionality, AND its own
         | integrated editor on top of that. The built in dictionary had a
         | claimed 58k words (with a claimed checking speed of 10k words
         | per minute). All of this was somehow squeezed into 128k (as a
         | ROM on a carrier board with a hardware bank switching mechanism
         | paging in 16K at once).
        
       | zkmon wrote:
       | I have used WordStar in 1993. But I don't remember anyone really
       | using the spell checker or feeling a need for it those days. Work
       | was slow and we had enough eyes and time to catch the spelling
       | mistakes. When we were upgraded to MS Word on Windows 3.1, we
       | were astonished to see that it has a feature to preview the
       | document before printing. But somehow WordSatr still looked more
       | fluid and faster than GUI-based word processors.
        
       | rkagerer wrote:
       | This article ends too soon! Show me the techniques and solutions
       | those clever programmers of old came up with. Did I miss a link
       | somewhere to subsequent posts?
        
         | canucker2016 wrote:
         | see https://news.ycombinator.com/item?id=44880979
        
       | neuroelectron wrote:
       | I used a document editor in DOS with spellcheck. It was quite
       | fast too. I don't remember what it was called but it featured
       | formatting characters such as character returns and paragraphs.
       | It had good printer support. I think it was called Easy Print and
       | it was only a couple of dollars.
        
       | IAmNotACellist wrote:
       | Pff, now Microsoft Word probably sends your document to an AI
       | every second and asks it to send back a PNG that highlights every
       | misspelled word, and it overlays that underneath your text.
        
       | hilbert42 wrote:
       | _" A Spellchecker Used to Be a Major Feat of Software
       | Engineering"_
       | 
       | It still is. The spell checker on my Android phone is a PIA. It's
       | too dumb to correct many typos, there's no way of highlighting
       | wrongly used but correct words such a 'fro' and 'for', etc.
       | There's no automatic or user defined substitution such as
       | correcting 'rhe' with 'the' and yet keep the words highlighted
       | until a final revision.
       | 
       | Wordpossessor spellers have no way of tagging certain words that
       | one may or may not wish to use depending on context. A classic
       | example that's caught me out past the draft and found its way
       | into the final document without me noticing it is 'pubic' for
       | 'public'. Why doesn't my speller highlight such words in red and
       | ask whether I actually meant to use this word?
       | 
       | Moreover, spellers are not all of the same level of accuracy, for
       | example Microsoft Word's speller is much better than LibrOffice's
       | much to my annoyance as LibreOffice is my main (preferred) WP.
       | 
       | Nor is there a method of collecting misspelled words or typos and
       | tagging them as spelling errors or typos for the purpose of
       | helping one's spelling or typing. It'd be nice to have a list of
       | my misspelled words together with their correct spelling, that
       | way I could become a better speller. Also, spellers could be
       | integrated with full dictionaries--highlight the word and press
       | F1 for its meaning, etc.
       | 
       | There are no dictionary formats that are both universal and
       | smart, that is that would allow for easy amalgamation between
       | dictionaries and yet could contain user defined words and other
       | user metadata which would be distinguished from the general
       | corpus of words when crossed or amalgamated. For example, a smart
       | dictionary format could contain metadata that would allow a
       | dictionary and thesaurus to coexist in the same word list,
       | similarly so different dictionaries, technical, medical etc.
       | 
       | All up, spellercheckers are still a damn mess. They need urgent
       | attention.
        
       | efitz wrote:
       | Having a dictionary is a prerequisite but is only a small part of
       | the spell check problem. Plus, plain text word lists are slow to
       | parse in the 80s; better going with a Trie or some other exotic
       | tree structure that is naturally compressed but O(log(n)) instead
       | of O(n) to traverse.
       | 
       | The computer has to figure out whether the word is in the
       | dictionary, but it also has to figure out a suggestion for what
       | to change it to.
       | 
       | And even after just that, we already have a bug- homonym
       | mistakes- homonyms are in the dictionary but they're misspelled
       | (that was intentional btw).
       | 
       | How misspelled is another problem. We've had Levenshtein et al
       | algorithms for a long time, but how different can you get? A
       | really badly misspelled word might not have any good replacement
       | candidates within your edit distance limit.
       | 
       | There are also optimizations like frequently mistyped words
       | (acn-> can), acronyms, etc.
       | 
       | It was never just about size.
        
       | dhosek wrote:
       | The way growth in memory availability changes the scope of
       | problems is really quite astonishing. I cut my teeth writing code
       | for Apple ][ computers with theoretically up to 128K of RAM, but
       | in practice much closer to 40K for most use cases, but it does
       | make me much more conscious of memory and CPU usage than younger
       | devs who never faced these sorts of constraints.
       | 
       | Thinking of the example given about being able to just load the
       | word list into memory, I did something of that ilk when my son's
       | fifth grade class read a book which had a concept of dollar
       | words: You assign a value to each letter, a=1, b=2, ... z=26, add
       | up the value and try to get exactly 100. It was pretty trivial to
       | write a program that read the word list and produced the complete
       | list of dollar words (although I didn't share that with my son, I
       | did give him access to the word list and challenged him to write
       | the program himself).
       | 
       | At the moment, I'm building up a Spanish rhyming dictionary by
       | using a Spanish word list, reversing the words and sorting the
       | reversed list to find the groups of words that are most likely to
       | rhyme, which was something that 30 years ago would have been a
       | challenge on my desktop computer but now is a brief script that
       | I'm just as likely to manage through perl 1-liners and shell
       | pipes as not.
        
       | dingaling wrote:
       | Pity they can't correct themselves to "spelling checker".
       | 
       | Would you ask someone to "check my spell"? Not unless you're a
       | wizard, I suppose.
        
       ___________________________________________________________________
       (page generated 2025-08-12 23:01 UTC)