Well that is the way I learned it, one way to implement them is using a linked list for each row (or column) of the array (skipping the null/0 values each element storing its index). It was a footnote on my data structures class, maybe that is why students failed the test, the professors did not bother teaching sparse arrays.
For example 0 0 1 0 0 0 0 0 3 0 4 0 0 0 0 5
in a sparse array implemented with linked lists would be: L0 -> (2: 1) -> null L1 -> null L2 -> (0: 3) -> (2: 4) -> null L3 -> (3: 5) -> null
If you need to perform complex DOM manipulation jQuery is still the best tool, fortunately recent javascript frameworks drastically reduced the need for manual DOM manipulation. Usually you encapsulate your jQuery DOM manipulation code using your framework of choice, this is very common when doing specialized UI components.
That is called hyperinflation and the only reason it has NOT happened in Greece is because Greece uses the Euro. It happened to several countries in the last couple of centuries.
One HR skype interview (~1 hour) One technical skype coding interview (~1.5h hours) One manager skype interview (~1 hour) One home exercise (~8 hours over one week) One on-site interview
It took some time (around 40 days), but I thought the overall process was fair. The worst part was that after every interview it took around one week to get any response from the company, they should had really streamlined the process so I could take the several interviews in a row and take the home exercise in a single day.
This article is not about nodejs being bad, it is about low experienced programmers doing crappy things with it. It is basically saying: "To architecture good scalable web applications you need to be a smart guy with some experience". Well that is pretty much the same thing for all languages...
The author then goes into a rant that I can only compare to VB6 rants of the old days: It made easier for beginners to get into the bandwagon, so much code written in it sucked, this caused VB6 to have a fame for being a bad language because of that (which was not true at all at the time).
Meteor ( https://www.meteor.com/ ) is a javascript framework that runs on top of Nodejs and it is GREAT. It is a full stack solution, it has a view engine (Blaze templating language, based on handlebars), a server (Nodejs) and a database (MongoDB) all bundled up and it just works out of the box, no configuration required. From the meteor website:
"Really, you'd like to use a combination of packages that have been not just tested individually, but tested together, since so much of the complexity in a large software project comes not from its individual pieces but from how they're integrated. Rather than leaving your package system to select the "best" combination of package versions, which could change every day and could be a totally new combination that nobody else has ever tried, you'd like to use a set of packages that has been comprehensively tested by professional release engineers that really know the platform.
That's what the Meteor Distribution provides. Similar to a Redhat or Ubuntu distribution, the Meteor Distribution is a set of package versions that have been tested and recommended for use together."
And that is just one of the great features that Meteor provides. Another great feature of Meteor is that your Javascript code runs both on the server and on the client _at the same time_. Whatever action you make that triggers a state change (change in the database) will run both on the client and on the server, the client has something called MiniMongo that caches the result from the server database and the changes happen without a roundtrip to the server. If the server state is not consistent with the client state Meteor takes care of synchronizing everything. So the application looks like is running locally there is no lag at all.
This drastically reduce the code necessary for example, you don't write form validation code twice, you write it once and show a popup message on the client and throw an exception on the server if something is wrong. Really everything in Meteor works great, there is a really good automatic deploy system (it even deploys to phonegap, also I believe you can deploy your mobile apps to app stores automatically), the API is really small, the meteor packages work great (check out the Velocity testing framework, it is awesome!) and so on
There is one big caveat though, you can't migrate parts of your existing application to Meteor, the only real optional part of Meteor is the View layer, you can discard Blaze and run your own solution. I have had a great time using React with Meteor for example.
I am aware of those features but most applications that rely on relational databases use some kind of object relational mapping, I never looked into it bu how is the support of those features in that context?
To me Wolfstein has the same artistic value as Inglourious Basterds. Wikipedia says that the film was not censored in germany, but the posters and such were. Yet the content itself of one was censored and the other was not.
While I agree with your overall vision this hypothetical sandbox would benefit greatly for being inside the browser itself because browsers are crossplatform.
It is kind of unfair really, some jobs allow you to contribute to opensource, others do not. Those who can work on open source projects at the job will have more notable github accounts, that does not necessarily mean they are better than the guy who does not have a github account. It is unfair, but the hiring manager position is understandable, it is one thing to hear about a project and another to see the code.
Huh, I was not aware of that. They should put those job ads when you are checking out repositories cross-reference the job positing with the repository files for better matches (and of course put a "disable job ads" option on your profile)
I am surprised that github still does not have a job board on the site, not only is it a MAJOR money income, it is also quite useful for the devs themselves. It is one of the few win-win monetization situations as long as the user can opt-out of seeing the job ads. Pretty much any job ad that asks you to send your github profile would be advertising there.
Yeah this is a common problem in pretty much all platforms, what makes Java stand out is too many Java things are actually specifications, not implementations. It kinda mixes all the headaches of conventional development (dll hell, outdated libraries, testing against multiple hardware/OSs) with the headaches that developing for browsers have (multiple implementations of the same specifications). One of the things that make people like the Spring is that, unlike J2EE, Spring is an implementation, not a specification so it usually works is you change your application server for example. Well some parts of Spring relies on Servlets, which is a specification, but Servlets implementations are ok (although Java6 does not support Servlets 3.0 which is a pain in the ass if your client is on Java6 and refuses to update).
Fallout 3 was not that great of a game, Skyrim was better but not by much. Fallout New Vegas on the other hand kicked butts so hard. I would be more excited about a new Fallout game from Obsidian.
This seems something that they plan to incorporate on the standards, just like webcam support already is. New tags and CSS rules to be able to see webpages better while wearing VR devices. This is not some kind of second life thing that mozilla is building, although you could probably build one using these new features, WebGL and Javascript. This is not some kind of non-standard bloatware like a built-in email client, just like support for mobile devices varying screen sizes did not break your website experience this will not either.
Actually there is meritocracy in the system (unlike in the US where your parents might be friends with the dean), the vestibular (test that gets you into the university) is mostly a fair in respect to the students capacity. The realm problem is that to stand a chance you pretty much need to go to private schools because the public ones suck.
So the system has a degree of meritrocracy, but the poor students are not given enough chances.
It is kind of ironic, the best schools in Brazil are free, but they are very hard to get into (medicine in the best schools usually go from 100 to 200 applicants for each vacancy). The private schools are considered inferior because anyone (with money) can get into them, even though some (but very few) of them are actually better staffed than the public ones.
It is kind of different, american schools see foreign students as money grabs because most of them come through scholarships and they (I mean their governments/scholarshipt granting institutions) pay even more in tuition than native students do. Most of these scholarships have clauses like: "You must come back to your home country and stay here at least as much time as you spent outside studying".
2000 a year is still somewhat cheap, is that price the same for all courses in all colleges? For example in Brazil private medical and dentist schools cost a ton of money.
immutability makes me more productive when dealing with concurrent code because I don't need to keep track of any locks on data structures. Anonymous functions make me more productive because I don't need to keep track of a bunch of names for things that I will use only once.
Really any time I need to "keep track" of something it is draining attention that could be focused on solving the problem instead. The less stuff the language makes me need to remember the better, garbage collection allows me to not keep track of deallocating memory for a comparison. Surely needing to name anonymous functions is a less blatant example compared to deallocating memory but it is the same problem.
Well it would help if you said Function.bind()...
Well that is the way I learned it, one way to implement them is using a linked list for each row (or column) of the array (skipping the null/0 values each element storing its index). It was a footnote on my data structures class, maybe that is why students failed the test, the professors did not bother teaching sparse arrays.
For example
0 0 1 0
0 0 0 0
3 0 4 0
0 0 0 5
in a sparse array implemented with linked lists would be:
L0 -> (2: 1) -> null
L1 -> null
L2 -> (0: 3) -> (2: 4) -> null
L3 -> (3: 5) -> null
If you need to perform complex DOM manipulation jQuery is still the best tool, fortunately recent javascript frameworks drastically reduced the need for manual DOM manipulation. Usually you encapsulate your jQuery DOM manipulation code using your framework of choice, this is very common when doing specialized UI components.
That is called hyperinflation and the only reason it has NOT happened in Greece is because Greece uses the Euro. It happened to several countries in the last couple of centuries.
For a formal explanation:
https://en.wikipedia.org/wiki/...
For a funny explanation (they wipe their asses with money, literally):
http://www.cracked.com/persona...
Well it is from the MIT, it must be good right?
That is like the second easiest pointer-driven data structure...
One HR skype interview (~1 hour)
One technical skype coding interview (~1.5h hours)
One manager skype interview (~1 hour)
One home exercise (~8 hours over one week)
One on-site interview
It took some time (around 40 days), but I thought the overall process was fair. The worst part was that after every interview it took around one week to get any response from the company, they should had really streamlined the process so I could take the several interviews in a row and take the home exercise in a single day.
I think he meant the development API
It is an evil practice born of corporate interests, just because it could be evilier does not mean we should turn a blind eye to it.
This article is not about nodejs being bad, it is about low experienced programmers doing crappy things with it. It is basically saying: "To architecture good scalable web applications you need to be a smart guy with some experience". Well that is pretty much the same thing for all languages...
The author then goes into a rant that I can only compare to VB6 rants of the old days: It made easier for beginners to get into the bandwagon, so much code written in it sucked, this caused VB6 to have a fame for being a bad language because of that (which was not true at all at the time).
Meteor ( https://www.meteor.com/ ) is a javascript framework that runs on top of Nodejs and it is GREAT. It is a full stack solution, it has a view engine (Blaze templating language, based on handlebars), a server (Nodejs) and a database (MongoDB) all bundled up and it just works out of the box, no configuration required. From the meteor website:
"Really, you'd like to use a combination of packages that have been not just tested individually, but tested together, since so much of the complexity in a large software project comes not from its individual pieces but from how they're integrated. Rather than leaving your package system to select the "best" combination of package versions, which could change every day and could be a totally new combination that nobody else has ever tried, you'd like to use a set of packages that has been comprehensively tested by professional release engineers that really know the platform.
That's what the Meteor Distribution provides. Similar to a Redhat or Ubuntu distribution, the Meteor Distribution is a set of package versions that have been tested and recommended for use together."
And that is just one of the great features that Meteor provides. Another great feature of Meteor is that your Javascript code runs both on the server and on the client _at the same time_. Whatever action you make that triggers a state change (change in the database) will run both on the client and on the server, the client has something called MiniMongo that caches the result from the server database and the changes happen without a roundtrip to the server. If the server state is not consistent with the client state Meteor takes care of synchronizing everything. So the application looks like is running locally there is no lag at all.
This drastically reduce the code necessary for example, you don't write form validation code twice, you write it once and show a popup message on the client and throw an exception on the server if something is wrong. Really everything in Meteor works great, there is a really good automatic deploy system (it even deploys to phonegap, also I believe you can deploy your mobile apps to app stores automatically), the API is really small, the meteor packages work great (check out the Velocity testing framework, it is awesome!) and so on
There is one big caveat though, you can't migrate parts of your existing application to Meteor, the only real optional part of Meteor is the View layer, you can discard Blaze and run your own solution. I have had a great time using React with Meteor for example.
I am aware of those features but most applications that rely on relational databases use some kind of object relational mapping, I never looked into it bu how is the support of those features in that context?
To me Wolfstein has the same artistic value as Inglourious Basterds. Wikipedia says that the film was not censored in germany, but the posters and such were. Yet the content itself of one was censored and the other was not.
While I agree with your overall vision this hypothetical sandbox would benefit greatly for being inside the browser itself because browsers are crossplatform.
It is kind of unfair really, some jobs allow you to contribute to opensource, others do not. Those who can work on open source projects at the job will have more notable github accounts, that does not necessarily mean they are better than the guy who does not have a github account. It is unfair, but the hiring manager position is understandable, it is one thing to hear about a project and another to see the code.
Huh, I was not aware of that. They should put those job ads when you are checking out repositories cross-reference the job positing with the repository files for better matches (and of course put a "disable job ads" option on your profile)
I am surprised that github still does not have a job board on the site, not only is it a MAJOR money income, it is also quite useful for the devs themselves. It is one of the few win-win monetization situations as long as the user can opt-out of seeing the job ads. Pretty much any job ad that asks you to send your github profile would be advertising there.
Yeah this is a common problem in pretty much all platforms, what makes Java stand out is too many Java things are actually specifications, not implementations. It kinda mixes all the headaches of conventional development (dll hell, outdated libraries, testing against multiple hardware/OSs) with the headaches that developing for browsers have (multiple implementations of the same specifications). One of the things that make people like the Spring is that, unlike J2EE, Spring is an implementation, not a specification so it usually works is you change your application server for example. Well some parts of Spring relies on Servlets, which is a specification, but Servlets implementations are ok (although Java6 does not support Servlets 3.0 which is a pain in the ass if your client is on Java6 and refuses to update).
Fallout 3 was not that great of a game, Skyrim was better but not by much. Fallout New Vegas on the other hand kicked butts so hard. I would be more excited about a new Fallout game from Obsidian.
This seems something that they plan to incorporate on the standards, just like webcam support already is. New tags and CSS rules to be able to see webpages better while wearing VR devices. This is not some kind of second life thing that mozilla is building, although you could probably build one using these new features, WebGL and Javascript. This is not some kind of non-standard bloatware like a built-in email client, just like support for mobile devices varying screen sizes did not break your website experience this will not either.
Actually there is meritocracy in the system (unlike in the US where your parents might be friends with the dean), the vestibular (test that gets you into the university) is mostly a fair in respect to the students capacity. The realm problem is that to stand a chance you pretty much need to go to private schools because the public ones suck.
So the system has a degree of meritrocracy, but the poor students are not given enough chances.
It is kind of ironic, the best schools in Brazil are free, but they are very hard to get into (medicine in the best schools usually go from 100 to 200 applicants for each vacancy). The private schools are considered inferior because anyone (with money) can get into them, even though some (but very few) of them are actually better staffed than the public ones.
It is kind of different, american schools see foreign students as money grabs because most of them come through scholarships and they (I mean their governments/scholarshipt granting institutions) pay even more in tuition than native students do. Most of these scholarships have clauses like: "You must come back to your home country and stay here at least as much time as you spent outside studying".
2000 a year is still somewhat cheap, is that price the same for all courses in all colleges? For example in Brazil private medical and dentist schools cost a ton of money.
immutability makes me more productive when dealing with concurrent code because I don't need to keep track of any locks on data structures. Anonymous functions make me more productive because I don't need to keep track of a bunch of names for things that I will use only once.
Really any time I need to "keep track" of something it is draining attention that could be focused on solving the problem instead. The less stuff the language makes me need to remember the better, garbage collection allows me to not keep track of deallocating memory for a comparison. Surely needing to name anonymous functions is a less blatant example compared to deallocating memory but it is the same problem.