ADanFromCanada
Joined 13 years ago
Joined 13 years ago
That may seem true... but what if it was/is though?
My personal feeling is that nobody has any idea what they're talking about. And when I say nobody, I mean NOBODY including Ng, Musk, et al.
The problem is with those who read others and just assume they're "experts" or their opinions have value. In some areas they do, sure. In this area they most likely don't.
That, or those of us who are skeptical are uninformed.
Or it's somewhere in the middle.
In any case, I'll stick to my skepticism for one main reason, which is, general intelligence is supposedly modelled after human intelligence. And human intelligence is something we're JUST BEGINNING to scratch the surface of understanding while at the same time, really have ZERO idea how deep the rabbit hole goes.
And as any competent engineer here should know, when trying to emulate a natural model, you first need to understand the model. Until we do that, we will not create a general AI. Like any other computer program (WHICH IT WILL BE! in this conception), it needs to be programmed. We need to know what to program before we can do it! Computer programs don't emerge spontaneously.
I evaluate my team on their ability to ship regularly and with a consistently low bug count. I encourage communication regularly and pair programming and all that. And I am around and I listen and interact.
It is pretty easy to tell when someone isn't pulling their weight or is having problems contributing based on the interactions within the team. People naturally express frustration (as well as praise)... you just have to be an active, hands on (not micromanaging necessarily) manager.
In addition, I specifically look for growth mentality when hiring and cultivate it within the team. That way I can be confident that when a weakness or need for improvement is identified, the person will work on it. It's my job as manager to properly address it and motivate the person.
In my experience, KPIs and other measurables (including even basic timesheets) are always gamed by developers. And anyway there are so many intangible and abstract aspects to doing this job, especially as you advance in your career, that it's arguable that the most important parts of the work aren't even measurable in any real sense in the first place. That's the art.
Very impressive interpretation and summarization of what I wrote!
So, scope:
You should be thinking in the context of JUST your API, or JUST your GUI. And even within your GUI, you should think about JUST a single component.
Now, a complex application can be thought of as multiple components (a menu; a calendar; a list of projects; a profile) within a component (web page; dashboard; profile) within a component (web app) within a system.
So, scoped down to the ACTUAL piece of the system you're working on; think of the definitions like this:
MODEL - This is your data, according to the DOMAIN in which you're working.
VIEW - This is the visual representation of your data.
CONTROLLER - This is the code that contains the BUSINESS LOGIC that gets your data, changes your data, evaluates your data, changes your view, executes an algorithm, hits your API, etc.
These concepts come from Object Oriented Programming... the basic premise of which is to build objects that can be re-used in different components of the system. Sometimes it makes sense, sometimes it doesn't. Also important to understand in this world is the concept of SINGLE RESPONSIBILITY ... that is, in most cases, it is ideal to limit the functionality of any given piece of any given component to a specific and clear task/responsibiility.
So:
You have a MODEL object because if the concept of a "Project" is used in multiple components of a persistent application then you'll want to be able to create an instance of a "Project" and pass it around to be re-used. This way, you and your colleagues can be sure that "Projects" are always defined the same way, with the same properties, and an actual instance of a given project can be shared, transferred, altered, etc. in the same way by any part of the system.
The concept of Views really only applies to GUIs where you need to show something in a visual way. It's really this simple.
And the reason you have a controller is because the natural question you should be asking yourself at this point, considering single responsibility, is: Okay, I have my DATA and I have my means of VISUALIZING it, so how do I tell my visualization which data to visualize?
And that in a nutshell is the responsibility of the controller. Get, hold, manipulate, use, the data. Put it in the view. Hook into events in the view and change the data accordingly. Hit the API to save the data when appropriate. Modify the view to confirm the success to the user. etc. etc. But the ACTUAL data itself, the actual class or object that describes the fields that make it up, THAT is what your Model is.
Hope this helps clarify things... many more examples are warranted I'm sure. But you really should read a book on the subject. The internet is not a great place to really learn anything.
Isn't that the job of my employer, anyway?
Also relevant is the fact that up until recently (call it 8 months ago), I would have mood swings and go through periods of depression as well.
Then I started exercising regularly. And I cannot be clear or emphatic enough in this but as someone who uses drugs for mood alteration; who is intelligent; who has a good career and is well respected; and who ultimately had no other legitimate reason to feel depressive emotions, since getting into a regular exercise routine, I've never felt more stable, positive and motivated in my life.
Our bodies are designed to move. For me, it's plainly clear that the sedentary lifestyle is what was at the root of my emotional issues.
I'm not saying you need to be a body builder or run a marathon. I do 15 minute runs and moderate weights and meditation. I swear, it is night and day.
As a secondary suggestion which has also been extremely helpful and beneficial, I'd recommend reading up on psychology, biases, and neuroplasticity. The most impacting book I've ever read is "The Brain That Changes Itself" by Norman Doidge. This book will give you a scientific/real basis of understanding how your brain works; how your habits form and are re-enforced, and how you can take control of these processes to literally shape your own reality into whatever you want. Super powerful stuff. I've bought probably 15 copies of this book for friends and relatives. Highly, highly recommended.
Good luck!
"The AI, known as Alpha, used four virtual jets to successfully defend a coastline against two attacking aircraft - and did not suffer any losses."
"Alpha, which was developed by a US team, also triumphed in simulation against a retired human fighter pilot."
Key words here are "also" and "simulation" and "retired".
Click bait much?