It was actually a little depressing - it made me realize that some people just have a "something" that I'm not going to get through hard work or whatnot.
*edit: ah, found it. https://norvig.com/spell-correct.html
It was actually a little depressing - it made me realize that some people just have a "something" that I'm not going to get through hard work or whatnot.
*edit: ah, found it. https://norvig.com/spell-correct.html
I had the same thought - read the URL and then said "Oh well that's Peter Norvig he's just weird in a cool way"
Until that day comes, I keep working at it.
For my true response that probably isn't as popular - he may have an amazing work ethic but that's also just coming from how he was raised, so it's still luck, the same person born in a different environment wouldn't have done the same things - both nature and nurture are external forces
At what point should people stop making excuses and claiming to be a victim?
A predilection for making excuses is a disadvantage so you should excise it from your character/personality.
But yes, seething on message boards is another common response to finding out you're part of luckiest 0.01% of people in the history of mankind.
If they want to claim that then let them, doesn’t hurt you or me.
There are enough legitimate victims around, we don’t have a shortage alas.
And I'm not someone who is a stranger to hard work; most of my loved ones have complained with great sadness for years that I work way too hard.
In my experience, most of us hard workers didn't spend years training ourselves to work hard; we just wake up, work hard, and wonder how the hell the past decade of our lives just slipped through our fingers without any meaningful memories besides work.
If there is a grievance you're making, can you elaborate on that?
I've pontificated over and over here that it isn't really about working hard, it is about working smart. I.e. choosing the right things to work on. Digging a hole and filling it in again is hard work, but it isn't going to get anyone anywhere.
However, it does take some effort. Upgrading your job skills is a common way to work smarter.
So he worked really hard, but he was _enjoying_ it to the point it wasn't really a chore to him. Others who are not so passionate about stuff can and will work hard towards some goal, but it will absolutely be a chore to them.
So I think the guy I'm talking about is lucky, or gifted, or whatever you want to call it, compared to others.
On the other hand, at some point I guess it becomes an addiction? For example I, like most, enjoy sex, and having sex a few times per week is great and there's nothing wrong with that, but if you _must_ have it 5 times per day maybe you have a problem.
My problem is constant distraction. It’s really bad. And blocking out everything else doesn’t help. I even get distracted by the thing I’m working on. I’ll see something new and go off and research that.
From everything I gather, we’re living in a pandemic of distraction. I think people had a lot easier time focusing on their tasks before the internet came along.
Image two kids who show an interest in science or engineering and show some talent in those areas. One is a white kid from a well off community, and one is a Black kid from a less well off area.
The Black kid is going to be told several things, all of which are true. There is significant systematic racism in the US and the kid will find it affecting him. His school won't be as good as those in better off areas. His family won't be able to afford extracurricular activities that would help make up for the poor school.
If people are not careful in how they tell the kid those things, it would be easy for the kid to get the idea that the odds are too stacked against him and give up on pursuing science or engineering.
The white kid, on the other hand, might have his accomplishments partly or wholly dismissed as due to his better school, his family having more money, and his not having to deal with racism. That too could easily convince a kid to not bother. If everything you do is dismissed as just the inevitable outcome of things you were given and not as something you accomplished, then screw it...why not just spend your time playing games or on social media or partying?
But if the goal is, "strong enough programmer to write a spell-check algorithm from first principles," then work-effort might very well compensate for a lack of advantages in upbringing or other "luck-factors."
The point here is that going to such extremes isn’t really interesting.
I mean, from there you can move on to similar cases where bad luck trumps any amount of ability. For example, what sucks about being impoverished? Not having good access to a computer, right? From there it's not hard to draw on other things (e.g. abuse, bad culture, poverty) that make having good computer access a huge challenge. It becomes pretty apparent that luck plays a huge factor in success.
Pretty interesting to me.
I don't think saying he was "lucky" is discrediting him - simply because there's many people who got 'lucky' but didn't push themselves to fully capitalize on it the way he did.
Basically he's both "lucky" but also extremely driven and uses it to his fullest potential.
Pretty typical for people who are at that level in their field. Terrence Tao and Michael Jordan both immediately come to mind.
That 5% luck probably got him an extra 10-20% further than anyone else. However, in a room with equally disciplined individuals you wouldn't be able to discern the lucky from the hard working.
What if your excecute in the wrong proffeshion, like you become a stock trader but you could have been a world-class developer?
How does one even find out, most peoppe in the world neverbtry programming.
Maybe you have a gilf for something that younneverbhad a chance to discover.
Some might be motivated knowing the only thing that separates them from greatness is luck, but more often I saw students feel defeated.
No it's not, that is only your belief (or as I call it "delusion")
Why difficult?
Discussion that is considered rational culturally descends from argument techniques rooted in Aristolean ideas about logic. However, as shown by Kurt Gödel formal systems break down under self-reference. Through Turing we see can see this type of thing starting to happen when two Turing Machines need to predict the output of each other.
Through John Von Nuemann and Nash we can get a proof of non-determistic policy functions in multi-agent decision problems being optimal. So we find an analogous concept to free will and we find it justified in this abstract domain not on the basis of some wishy washy concept, but on the basis of analogical reasoning (logic) and causal outcome modeling (dynamic functions).
So what do we reject to claim it is an illusion? Logic? Or causality?
Because too many people have adverse emotional reactions to such discussions.
> Discussion that is considered rational culturally
Discussions about free will stop being rational very early.
> So we find an analogous concept to free will
Ah, this is where the problem starts.
It really isn't a problem. The analogical congruence holds.
Typically free will is defined according to the action being taken without the constraint of necessity based on a person's own desire.
In the game theoretic model that Nash showed optimal the decision making act that the agent has to do isn't about deciding over actions. It is over strategies. That might be a bit confusing so lets just use an example.
If you play rock paper scissors in the agent's modeling of the problem it isn't modeling it as an action choice of rock, paper, or scissors. It is actually modeling it as an action choice over probability vectors. The action choice of rock corresponds with the probability vector of [1 0 0], paper with [0 1 0], and rock with [0 0 1]. There are an infinite number of different policies, but it turns out that the rational one to pick is [1/3 1/3 1/3] playing each option with equal probability.
Notice that here the agent is taking an action, but not one that is constrained by necessity. Notice that the choice of it is due to the modeling of what is in the preference of the agent. Compare that with the definition of free will. The same thing is happening.
So the congruence does hold, but what makes it appear to not hold is that most people rejecting free will neglect computationally irreducible phenomenon. In actuality, computationally irreducible functions which allow for stochastic signals show up in cellular automata without the requirements of dualism. Selection and variation are then much more then enough to show that surviving agents will protect these information sources so as to make them unobserved, because failure to do that isn't optimal and so agents which don't aren't selected for.
> Ah, this is where the problem starts.
We could try and reject, not the analogical congruence which holds, but the system of using analogical reasoning in the first place, but this goes badly. The first big problem is that all of our knowledge comes via theory-laden proxies and removing analogical validity removes the validity of evidence in general. A stranger result is that compression is justified through analogical congruence. So you can no longer claim to have knowledge over the state and dynamics function, because you have knowledge over the compressed form of it. To claim knowledge, you now need to physically be it.
> Ah, this is where the problem starts.
There are many invisible octopuses. Fish are going to encounter decision problems wherein these camouflaged predators are both on their right and left yet the decision context shows them the exact same thing in both cases. So which should they pick? Always left? Then they always die. Always right? Then they always die. The only winning solution is to pick both, because then sometimes the agent lives to reproduce. How do we pick both? Well, if we do it in a way that is computationally reducible then the octopus which observes the fish invisibly can anticipate it. So now it is wherever the fish decides to go. So it has to decide to do both, but it has to do so in a way that is unobservable. This decision problem doesn't go away when someone chants the magic word of dualism. The agent still needs to decide in an unpredictable manner or is going to die. So when optimization processes build things? They end up approximating a solution to this problem.
This type of decision problem has played out billions of times. It has played out over billions of years. I don't know which time it happened which was the first, but where it was, that is where the problem really starts. And since that problem and onward a filter has been killing the things that answer incorrectly.
I also think philosophical literacy is less relevant than it was in the past. For example, we are talking about how an agent's decision making algorithm is in actuality. Is philosophy the best subject to discuss this? Control theory, learning theory, game theory, scientific investigation into the brain's processes are all mature enough that their usage produces more rewarding outcomes.
So lets say we see what at first glance appears to be degenerate twitch chat zoomer spam about philosophy sus no cap? Are they really philosophically unsophisticated? Or were they raised in a world of such greater philosophical sophistication that self-replicating knowledge structures - like, say, memes, were something they had extreme and constant exposure to? What if they are engaging in some sort of coordinated omegalul gambit?
I'm joking, but I'm kind of serious.
I often find that explaining observed incompetence with genius works better than explaining observed incompetence with incompetence. So I'm more fond of claiming a problem is hard for good reasons then that people just weren't educated - which is also often true, by the way, just explaining why I ended up putting the emphasis somewhere else.
What is “agent”? If a deterministic universe without free will is considered, whatever “agent” means is likely nonsensical so if you are discussing whether or not the universe is deterministic then presuming existence of an agent (with agency) is a mistake. So no, in a discussion on whether the universe is deterministic we would not be talking about that, whatever that is, if apparently presumes existence of an agent.
> Are they really philosophically unsophisticated? Or were they raised in a world of such greater philosophical sophistication that self-replicating knowledge structures - like, say, memes, were something they had extreme and constant exposure to? What if they are engaging in some sort of coordinated omegalul gambit?
I didn’t mean just newer generations by “people today”. Discussing this with older people is as difficult and they tend to equally just make assumptions instead of reasoning. I like discussing topics like these the most with a gen Z philosophy professor a few years younger than me.
Try considering a Turing Machine which is running several Turing Machines within it. Call it A. Within it are B and C. B gets an input state that is the entire Turing Machine. Meanwhile C gets the output of B. There are multiple B and multiple BC. So we get something like this when we write it out:
A = B + B + B + BC + BC + BC
You might be tempted to say that A = A, therefore A is deterministic. This would even be logically true. However, it is actually far more dangerous than it appears. Why? Well, you aren't A. You are within A. Lets say you are B within A. Does it matter that you know the dynamics function? It is deterministic, but does it follow from it being deterministic that it is deterministic? No! Even though B is within the deterministic system A, B cannot claim that A is deterministic, because B cannot claim that C is deterministic, because C is indeterminable by B through self-reference.
Now the standard mistake is to let B run then let C run then to pretend B could determine C, because now obviously we can tell that A was determined by B because C was determined by B. Which sounds really compelling, but ask yourself this to see why it isn't as great as you think it is: is the universe still subject to a deterministic dynamics function right now? If so, can you tell me what C is, not in the toy problem, but in the real world?
Like, I realize this is an impossible problem: I'm asking you for the current configuration over the course of the next second for all matter in our universe even the parts you can't model because you haven't observed it. But that is kind of my point. The universe hasn't stopped running yet. You can't determine C from the information context of B.
It seems like it works, but lets talk about the parable of the time you were given a deterministic dynamics function and you computed it according to what it was because you wanted to claim it was deterministic by treating it as what it was.
So you start calculating B + B + B + BC + BC + BC. And you see me looking at the same problem and idiotic like I am, you see me write down A = A' = BC. Then I get ready to solve it. And you are like, pfft, what an idiot. He isn't even talking about, like, actual reality.
unfortunately, in the calculations that follow, you realize something strange: Though you may B, I C you. And because I see you before you be such that I can determine what C should be such that you cannot see C while you B be, I choose a C for your B so that your B doesn't see C.
Basically, in choosing the slowest path, you also choose to be determinable, but in choosing being determinable, you implicitly make yourself vulnerable to an A' that makes your context - during the process - undecidable.
You thought choosing A saved you, but actually it was your curse:
You let me set A = B + B + B + A' because you didn't want to claim that we could divide A into the pieces which it was in actuality composed. But because it was in actuality composed of those pieces BC is now calculatable by A' such that your conceit is actually what traps you in the non-deterministic perspective. If B was calculated, not via A's conception of B, but A' then now it isn't just B that can't predict C. C probably can't predict B either.
Is A now deterministic? No, A isn't anything anymore.
Nothing is happening.
A isn't now deterministic; A was determined and now our physics is stopped. Where is the determinism at? Not within A, because clearly during A B wasn't deterministic because of self-reference to C. Not afterward either, because now it isn't doing anything.
i'll keep that in mind next time i'm making "policy."
i'm not clear how, in this conversation, policy came up.
There is also value in people understanding that not everything is down to innate ability and application though. That road leads to people looking down on impoverished people because they should have just put more effort in. Get a better job, learn a skill, regardless of the fact their situation means they're already working 3 jobs just to make enough money to ensure their kids can eat tonight.
As with so many things people have polarised. You're either in Camp Skill & Dedication or Camp Luck & Circumstance. In reality it's always a bit of both, with luck giving some people an advantage when it comes to having the time and space to dedicate themselves to developing their skills.
why?
People get weirdly defensive about luck being a major factor in their success, but it always is. It doesn't mean you didn't work hard, it doesn't mean that your decisions didn't contribute to your success. It means that, if you were born a little bit less smart, you would have achieved less. And if you were born in North Korea or medieval Europe in the peasant underclass, you would probably have achieved nothing of note and may have died of the plague before reaching adulthood.
I'd estimate that just the sheer luck to be born in a wealthy, free country without debilitating handicaps in the late 20th century or early 21st century already puts you in something like the top 1% lucky people in human history.
I say that success is 100% luck and of that 100% of luck, some of it can be composed of hardwork, as the ability to perform hard work is in itself, a part of luck.
So in this case, the special "something" he has is quite literally the amount of hard work he put in to learn this stuff. And if you take this opportunity to learn about edit distance, you'll be one step closer to that special someone you want to be.
"To deal with hyper-planes in a 14-dimensional space, visualize a 3-D space and say 'fourteen' to yourself very loudly. Everyone does it."
– Geoffrey Hinton, A geometrical view of perceptrons
Well, you actually can come up with Norvig's spellchecker very easily with a similar trick. Just tell yourself: to deal with a really hard problem, just argmax with an okayish heuristic. Everyone does it.
Solutions like this seem impossibly elegant because they tolerate a whole lot of error, but they are actually extremely obvious when you tolerate error.
[0] - https://web.archive.org/web/20070410053746/http://norvig.com...
[1] - https://web.archive.org/web/20150906100448/http://www.norvig... : ctrl+f "Update"
I'm sure there's better stuff now.
Also it's possible to better ranks candidates to fix typos by taking into account the layout of the keyboard (e.g. on a QWERTY keyboard is you see "wery" it is, despite having an edit distance of 1, highly unlikely the person typing meant to type "very". "weary" is much more likely). So just sorting by edit distance and then suggesting the most common word often doesn't result in the best candidate being shown first.
And then context. Ah, context. I type this and my browser isn't aware I'm talking about algorithms and not only says "metaphone" is incorrect but suggests "megaphone".
So... The matter still isn't settled if you ask me.
This code is very simple, very short, very unoptimized and done in a few hours, free solo. The kind of code the article could have linked as an example of how simple it is now to write a spellchecker, in fact it explicitly talks about how you can do it in a few lines of Python, i.e. this.
What the article is about is complex, highly optimized code that took months to do, because computers at the time didn't even have enough space to store the complete word list uncompressed, neither in storage nor in memory, and even with compression, you had to be clever.
One potential answer is indeed the recent developments in AI (generative stuff like GPT & stable diffusion etc).
That's kind of like watching someone use Red-Black Trees and assuming that they intuited them out of thin air. It's just remembering a basic algorithm that would be familiar to anyone in his particular field.
Because it's based on Wikipedia, it can correct proper names too. It's very extensible: by changing the error model, you can get fuzzy auto-complete that can look at "Shwarz" and suggest "Schwarzenegger" (even though you missed the 'c'). You can extend it to looking at multiple words instead of just letters, for correcting common word-use issues as well.
You can find it with a web search.
(His version didn't use a trie, because Python's built-in dicts are much more efficient than a trie in Python, even with the extra redundancy that a trie eliminates.)
I recently realised I've been missing my "something" for a while.. ya I've not had a dopamine free moment since doom scrolling became a thing.
Not comparing somethings, I probably couldn't write a spell checker much less a beautiful one, but my creative juices are much less clogged up since allowing myself to get bored.
I believe it's being able to combine a learned skillset with raw creativity (boredom) that gives a person that something you refer to.
I often avoid things because I think they'll be hard, but then discover that they turn out to be easy. "Why didn't anyone tell me how easy this was! I could have done this ages ago!" was a running theme for me for a good while.
Of course, sometimes things are actually harder than you thought. But they're still doable! Whereas I have this cognitive bias where "difficult" is (emotionally) equivalent to "impossible", which is just really unfortunate. I'm sort of starting to see through that, that everything's made of atoms, and once you break a task down far enough, the individual steps are trivial.
So yes he's very talented, but if you study enough computer science, you can also do it. Or don't. It's totally fine to be interested in other parts of engineering instead.
The idea was to set up an auto-reply to my email that looked automated, but surely couldn't be because it messed up the sender's name. Not nearly as clever as Peter Norvig's program and even less useful.
I'd say the bias toward common American names is a bug, but given that the goal of the project is to be obnoxious it's probably a feature.
The hard part was fitting the dictionary in memory, and then searching all possible strings 1 and 2 edits away from the input to find the candidates.
The progress is that we don't have to care about storing 2.5MBytes (they ran on machines with 640k!) in RAM, or searching it 100,000 times (e.g. edits2('something')).
Try fitting GIFs, Videos, images + spellchecker & autocorrection into that process
I challenge this, especially the "by definition" part. It depends on how many skills you recognize.
The chance of being the best artist (to the extent that such a statement is reasonable) might be one in eight billion.
The chance of being the best automotive sharpie artist is, similarly, one in eight billion.
The chance of being the best artist /of some particular skill set/ is, then, much higher -- if you recognize only a few thousand distinct skills here, you're already at one in a million.
Then realize that those who are likely to be surprised that there are better programmers than them are /not/ likely to be surprised that there are better artists than them. So we're assessing across all skills.
The chance of being on the far right of the bell curve of a specific skill is pretty small. The chance of being on the far right of the bell curve for /any/ skill is quite high, with only eight billion people around.
Find what you do better than anyone else, embrace it, and enjoy it.
Let's be real, in 5-6 hours he designed a very nice, simple algorithm to produce likely words from a dictionary based on frequency analysis, and produced 30 lines of Python code implementing it. A lot of engineers today could have done this.
The "specialness" was that he did it on his own time and enjoyed it.
There was an xkcd relevant here about enjoying Python: https://xkcd.com/353/
Complexity is the product of lesser stars in the firmament.
You can do similar things in domains where you’re so interested you can’t think of doing anything else.
Very few of us actually want to be the guy accumulating accolades for their engineering, we want to take flights to things we actually want to be doing, not opening our laptop once or even bringing it
Everything in between is a coping mechanism