Earlier quoted context omitted.
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…
> 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.
A spellchecker used to be a major feat of software engineering (2008)
81–90 of 210 posts
Re: A spellchecker used to be a major feat of software engineering (2008)
#82Earlier quoted context omitted.
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…
> 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?)
Re: A spellchecker used to be a major feat of software engineering (2008)
#83Is 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 exper…
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.
Re: A spellchecker used to be a major feat of software engineering (2008)
#84Is 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 exper…
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.
Re: A spellchecker used to be a major feat of software engineering (2008)
#85It still is? Few engineers could build a good spell checker without external libraries, giving a database of valid words.
> 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 describ…
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.
Re: A spellchecker used to be a major feat of software engineering (2008)
#86Earlier quoted context omitted.
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…
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…
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.
Re: A spellchecker used to be a major feat of software engineering (2008)
#87My 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!
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).
Re: A spellchecker used to be a major feat of software engineering (2008)
#88Thinking 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.
Re: A spellchecker used to be a major feat of software engineering (2008)
#89Earlier quoted context omitted.
> 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 describ…
> 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.
Re: A spellchecker used to be a major feat of software engineering (2008)
#90Earlier quoted context omitted.
> 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 describ…
> 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.