SlySherZ
Joined 10 years ago
Joined 10 years ago
> That is just not going to happen in (classical) reality, though. Because once you properly set the initial state of the ball (force=velocity=0, or any other values), then the solution becomes unique
If you set velocity = velocity = 0, then the ball staying at the top is a valid solution, AND the ball rolling down the hill (in any direction) is also a valid solution.
If this sounds confusing (it did for me), look at the example at the end, it's possible to do the reverse - send the ball rolling up the hill with perfect velocity, such that it stops at the very top after time T. And if that is possible, the opposite is also possible because NM is time reversible.
But there's another way to look at things which is prevalent in other circles, and if someday you decide to learn to meditate, I'm confident you'll get it.
How do you know the "real world" exists? Maybe you're a brain inside a jar "in the machine", and all the things you experience are being generated by the machine. In that case, how is an hallucination any different from any other experience you have? It isn't, it's exactly the same, it's just another experience. How you interpret it may be different, if you realize it's an hallucination, but the process itself is the same.
When you look at a tree, you can't just see the tree, you can only see the model that your mind creates of that tree, from the light that reaches your eyes, the sound, maybe touch etc - this is true for everything you experience.
Obviously the first perspective is very useful, it's science. But the second perspective is also very very useful, if you want to know why I can elaborate : )
What I think makes the course so good is that it gives you a brief but solid introduction to many different fields:
- Behavioral Evolution
- Molecular Genetics
- Behavioral Genetics
- Ethology
- Neuroscience
- Neurology and Endocrinology
And then combines all of those to try to make sense of human behavior, by looking at animal and human behavior from all these different lenses.Last time you used an higher level interpreted language (like JS), did you have to worry whether or not the machine instructions it was generating were the right ones? Generating instructions at runtime sounds pretty unsafe, no?
You didn't, right? You can just mostly assume the language works and get on with your life. That's how unsafe feels to me when I'm programming in Rust, I never have to worry about it and pretty much never need to use it.
Sometimes you'll run into a problem where you need to use unsafe, but that only happens very very rarely, for example when creating an interface to a C library, but most people will never need that. When that happens, sure, you'll have to be extra careful and make sure everything works. But after you're done with that small piece, you're back into safe Rust.
So, how does it work in practice, if you really need to use unsafe? Suppose you have a C enum with values MyEnum {A, B, C} (but it can be any int in C!), and you want to use it in Rust. You can make an unsafe wrapper that tries to parse the enum, and it can either return None - if it was an invalid integer, or return Some(A), Some(B), Some(C).
But once you get the wrapper right (which is not hard), Rust will guarantee that values of type MyEnum have values A, B or C and nothing else, so you never need to worry about the exceptional case again.
You worry about it once at the boundary and that's it.
Remote: yes
Willing to relocate: no
Technologies: JavaScript (Node), C/C++, Ruby, Rust, Elixir, Python
Résumé/CV: https://github.com/slysherz/slysherz.github.io/blob/master/d...
Email: [email protected]
Generalist software engineer with strong math skills.
Remote: Yes
Willing to relocate: not at the moment
Technologies: JavaScript (NodeJS), C/C++, Ruby, Rust, Elixir
Résumé/CV: https://github.com/slysherz/slysherz.github.io/raw/master/di...
Email: [email protected]
[1] https://ocw.mit.edu/courses/electrical-engineering-and-compu...
Remote: Yes
Willing to relocate: No
Technologies: Javascript, NodeJS, C++ but also dabble in Ruby, Rust and Elixir
Résumé/CV: Available on request
Email: slysherz (at) gmail (dot) com
Khan Academy: https://www.khanacademy.org/profile/SlySherZ/profile
Github: https://github.com/slysherz
Self-taught programmer with almost 3 years of experience. I started a Physics degree but left midway through to study programming and computer science, using formal online resources like MIT OpenCourseWare. I love Physics, Math, solving hard problems and learning new things.
Source: Sapolsky's lecture about language: https://www.youtube.com/watch?v=SIOQgY1tqrU&list=PL150326949...
If you want to understand better how the brain works, I really recommend watching the whole course.
The VSCode editor is able to leverage the TypeScript engine even with vanilla JS to automatically infer types and also supports JSDoc. Basically you write vanilla JS, add JSDoc comments here and there when the inference doesn't work as you want and it gives you most benefits of a typed language, without tying yourself to a specific ecosystem (your teammates could be using something else entirely). It works pretty well.