Whether null/NULL is a good a idea or not (I like it, just yesterday it saved my ass) it saddens me that more and more articles I stumble upon are made to criticize technologies but not to talk about solutions or innovations
> But there's also the risk of a runaway reaction, where a machine intelligence reaches and exceeds human levels of intelligence in a very short span of time.
This always puzzles me. I don't have enough knowledge about AI to be objective about that kind of statement. But deep down, I feel skeptic about it.
Not long ago I saw an episode of a show occuring in the late 80's. This kid had just received a computer as a gift and was talking to a kind-of-AI program through keyboard and screen.
The AI reactions to the kid's input was not dumber or smarter than Siri or any other currently widespread kind-of-ai program.
I don't know if the show was accurate vis-a-vis this particuliar software but I like to think it was.
If it was, that means in the last 30 years AI hasn't really gone further. Computer power has. Algorithms not so much.
I'd love to get the opinion of someone that has a good understanding of the current state of the AI art.
I don't mind those questions in an interview as long as the recruiter is not just reading them from a paper sheet, and actually know this stuff. This can be a way to find a candidate with a strong theorical CS background. Which can be relevant for some positions.
Now, I've seen my fair share of recruiters that did not really understand the topic at hand when asking theorical CS questions, let alone the desired answer. I do so always get really suspicious when they occur.
I kinda agree. I've seen too many people using their self-diagnosed over-intelligence to excuse some of their surprisingly non-smart behavior. Behavior that leads to failure in their enterprises.
This kind of article always make me uncomfortable because I feel smartness/cleverness/intelligence does not seem to be objective enough a quality to lead to such analysis. And some people may identify with such patterns and declare themselves as "too smart" and not try harder, believing the problem is from the other side of the table.
Most of the people I met who denigrated javascript with a blazing hate didn't fully understand its underlying concepts. They were trying to use it like C or something else. Which can lead to frustration.
You should take pride in being good with your tool, understanding how it's designed and how to use it to build awesome stuff.
And yes, it's always a good idea to expand one's skill set. Handling javascript like a boss is one of those skills that a today's programmer can be proud of.
> Can you develop this part I'm curious, how do you make the difference between a good engineering mind and a bad one for example ?
Sure
I'm simply stating what I've been feeling meeting developpers peers the last few years. I've met engineers and I've met tinkerers.
As far as what I've understood, engineering is mostly conception. Given a set a requirements and constraints, the engineer does some thinking and tries to come up with a technical solution that satisfies both requirements and constraints. Much of the time it's about compromising. That requires thinking ahead and anticipating stuff. Whatever the field, CS, aerodynamics or mechanics, the process is basically the same with different time scales. You're given a problem or a need. You have to understand it and its implications. You have to imagine some tool that will solve it. And the tool will exactly solve it. Durably. Efficiently.
Now, sometimes you can see developpers throwing a few lines of codes, assembling (with more or less duct tape) some modules found here and there and then testing it with a few simple cases.
Nothing wrong with that way of doing things. I do it myself on some home-projects of for a Proof Of Concept on the job. I litteraly use duct tape on some robot-arduino-thingy that I build for fun.
This way of doing thing, I call tinkering. And it's needed as much as engineering. Tinkering, DIY, duct taping, it's where new and innovative ideas come from. Because when you tinker you play around. You add this or that just to see what could happen.
But the thing is, when you tinker you don't build to last. And I've seen many developpers building things that way that would be delivered to clients in production.
So maybe when I said "not much have a good engineering mind" I should have said "not much understand the difference beetween DIY and Engineering". Both are needed. The key is to know when and why.
Finally, engineering is taught, yes, but it's a skill that is also and mainly developped with your few first years on the job. Not just in uni. I just feel that It should be a concern of any school that teaches futur developpers. Or a concern of any company that hire freshly out of school students. I know I try to sensibilize my interns to those subjects.
Reading that "online content destroys the old way we used to consume information" kind of observation always remind me of that : https://xkcd.com/1601/
I'm pretty skeptical about that kind of school too.
I graduated from an French engineering school and I was taught every-day by researchers and professional engineers. That's what most 18 to 23 year-old kid needs. Structure. I know I needed it. I was a dumb 20 something year old.
Plus, that kind of school focuses too much on programming, as in using programming language, and not enough on computer science and engineering. As a result, much of the kids arriving on the job market don't really have an engineering approach to building software. I've seen people using one programming language for most of their carreer, litteraly afraid of switching to another one.
Some may feel that the job market is saturated by programmers looking for a job but the truth is, in France anyway, not much have a good engineering mind. I've worked in big companies, i've worked in small companies and I've talked to a lot a recruiters. They do interview a lot of people, from university, engineering school and other formation structures. Truth is i've seen big and small companies recruting students that had majored in anything but CS, juste because they came from an engineering school or university that was known to produce good engineers.
Most of those students reavealed themselves to be very talented software engineers. Because they were taught engineering. Not just programming.
Of course, students that had majored in CS from engineering had a great head start, but my point is, the engineer skill is really important on the programmer job and most of those bootcamp school overlook it.
This is a great idea. I don't recall finding a simple source of clear information about feeds when I started. That could be why so little people know about them.
And I love the design of the website by the way. Simple and elegant.
Yes exactly. Building something fast without understanding the complexity behind can be both a blessing and a curse.
It's a blessing for the one who needs to deliver.
It's a curse for the one who needs to learn.
To be efficient in the long term, and not get lost among the framework wars, one must use what was learned in Engineering School, University or from seniors : write specs, set priorities, plan ahead. Use or build the tool that suits your need, do not follow trends.
My guess (for what it's worth) is that getting the code off github is not the same as "un-open source" it.
Open source, as far as the GPL license is concerned means that anyone that has a copy of the original codebase is allowed to give away copies of this code. I think it's still the case for the part of the code that was on github under the GPL.
What you need is basically to become more aware of the value of your time.
Every day you get 86400 minutes offered to you. You can either not do anything with it or use it to accomplish your goals.
Time is on of the only things you can't buy. Every one is equal on this level, this si the most precious and the most volatile ressource everyone has.
But first you must define your goals precisely.
So stop whatever you are doing, get a piece of paper and write what you want to accomplish within 1 week, 1 month, 1 year.
That done, try planning your week ends so that you get shit done and eventually your accomplish your 1 week, 1 month, 1 year goal.
Helpful to keep to you schedule : identify your "time stealer". All those things that wast your time like useless tv, uninterested facebook posts and so on. Realize that every minute you spend doing something you consider useless is wasted.
Then, most important, try getting some rest BEFORE being tired : that way you won't procrastinate in the "I might rest just a little while before i get to it" spirit.
I hope this can be helpful to you. I just spend the last year trying to get out of the loop you're talking about so I know exactly how you feel about it. I'm succeeding one little step after the other.
It's a lot of discipline, but I can tell you the trip is worth the effort.