Live data from Hacker News

A spellchecker used to be a major feat of software engineering (2008)

prog21.dadgum.com

31–40 of 154 posts

Re: A spellchecker used to be a major feat of software engineering (2008)

#31
post #9

This is a rather bad article because it completely misses the real complexity of a spell checker. A spell checker is not simply a list of words, it's a way to check mistakes according to a standard and to point towards ways to fix these mistakes. This not reducible to a look-up in a hashtable. It requires taking into account some complicated things about the definition of a word and the context in which it is written…

The feature creep is irrelevant to the article. In 1984, a spell checker could be just a list of words and would still be a major engineering challenge.

Re: A spellchecker used to be a major feat of software engineering (2008)

#32
post #28

Earlier quoted context omitted.

Consider that the most often typo I make is "ture" for "true", and "flase" for "false", I'd say this isn't going to catch some common mistakes.

From what they said above, it sounds like that's exactly the kind of thing it would catch unless you consistently wrote "ture" and "flase" many times in the same document

> From what they said above, it sounds like that's exactly the kind of thing it would catch unless you consistently wrote "ture" and "flase" many times in the same document

The trigrams tur and ure are not that uncommon, nor fla or ase (though maybe they are less common in a programming context, by but even then it might depend on domain).

Re: A spellchecker used to be a major feat of software engineering (2008)

#33
post #28

Earlier quoted context omitted.

Consider that the most often typo I make is "ture" for "true", and "flase" for "false", I'd say this isn't going to catch some common mistakes.

From what they said above, it sounds like that's exactly the kind of thing it would catch unless you consistently wrote "ture" and "flase" many times in the same document

'tur' & 'ure' must be pretty common (turnip, turn, turing, nurture, century; urethra, pure, cure, lure, endure) trigrams though.

Re: A spellchecker used to be a major feat of software engineering (2008)

#34
post #6

If you haven't seen it already you should check out Peter Norvig's 20-odd line toy spell checker, written over the course of a flight. https://norvig.com/spell-correct.html

Here's D's spell checker, tests included! Edit: forgot the link https://github.com/dlang/dmd/blob/master/src/dmd/root/spelle...

Link? I'm curious.

Re: A spellchecker used to be a major feat of software engineering (2008)

#35
post #28

Earlier quoted context omitted.

Consider that the most often typo I make is "ture" for "true", and "flase" for "false", I'd say this isn't going to catch some common mistakes.

From what they said above, it sounds like that's exactly the kind of thing it would catch unless you consistently wrote "ture" and "flase" many times in the same document

From a trigram point of view, they do appear many times.

Re: A spellchecker used to be a major feat of software engineering (2008)

#36
post #6

If you haven't seen it already you should check out Peter Norvig's 20-odd line toy spell checker, written over the course of a flight. https://norvig.com/spell-correct.html

Here's D's spell checker, tests included! Edit: forgot the link https://github.com/dlang/dmd/blob/master/src/dmd/root/spelle...

Did you forget the link or am I missing a joke about D’s spellchecker?

Re: A spellchecker used to be a major feat of software engineering (2008)

#37
post #2

Our capability of doing simple spellcheckers has maybe improved, but our standards have risen as well. Back then it might have been amazing, nowadays it's boring and every program has it, even my Firefox browser does. A spellchecker is only a limited solution to the task of proofreading. I've never used the grammarly product, but at least from the ads it seems it can catch many things that human proofreaders would ca…

Grammarly is a massive memory/cpu/bandwidth hog!

Word/Outlook 2016 now have EXTENSIVE but DEFAULT OFF grammar and sentence styling assistance.

File > Options > Editor Options > Proofing > Writing Style.

Ref: https://twitter.com/SwiftOnSecurity/status/97440857301385216...

Re: A spellchecker used to be a major feat of software engineering (2008)

#38
post #3

Google's spell checker still is a major feat of software engineering ;-) It must handle every language, handle new words constantly being coined, have low enough latency and high enough throughput to run it on every web search. (Well, caching probably solves 2/3 of traffic.)

I find googles spell checking to be the best in the world. Google search is where I go when local spell checkers failed.

Re: A spellchecker used to be a major feat of software engineering (2008)

#39

A good spell checker is still a hard engineering problem, despite the hardware progress. Just a hash map ain't gonna work. The only reason spell checking is perceived as a solved problem is availability of libraries. Here's an open source example https://github.com/hunspell/hunspell way above 10k lines of code. I speak 4 languages, and in my experience what's in Microsoft Office is the best one I used so far.

To be fair, Hunspell was written specifically for Hungarian because it's such a difficult language to handle efficiently in a spell checker. It just happens to also work for other languages.

If you only need English, the complexity of Hunspell is not required.

I still haven't found a decent Hungarian spell checker, they get confused by rare words that have the same letters as a very common word, but different accents.

E.g.: The word "és" means "and", which makes it much more common than "es", which is the word root for "fall" and is rarely used without a suffix like "esett" or "estek".

I'm yet to see a spellchecker that's smart enough to fix "something es something" but not "le es".

Re: A spellchecker used to be a major feat of software engineering (2008)

#40
I wish IMEs were a thing for English input on desktops - the keyboard app you use on your smartphone is effectively an IME for all practical purposes.

I rarely need any spellchecking on smartphone because most spelling errors have been eliminated at the point of word entry.

Post reply on HN