I've been thoroughly enjoying "Designing Data-Intensive Applications" by Martin Kleppmann. It primarily deals with the current state of storing data (databases, etc) starting with storing data on one machine and expanding to distributed architectures...but most importantly it goes over the trade-offs between the various approaches. It is at a high level because of the amount of ground it covers, but it contains a ton of references to dig in deeper if you want to know more about a specific topic.
+1. Great for getting a lay of the land on distributed systems problems. I haven't ever studied distributed systems formally though, so I wonder how this differs from that.
I think there are some cases when storing passwords in clear text is valid. One example:
A website has educational content. Teachers can sign up students in their classrooms. The teacher's password is stored securely, the student's password is not. The student password is shorter and automatically generated. The goal is to make the password just hard enough to not be guessed by other students, but not so hard that the student can't remember it. It is stored in clear text so that the teacher can look it up for the student, or print out the password to pass out to the student, etc. The student account is only given access to the content. The worst thing that happens if a student's password is guessed is that another student can mess up their progress tracking.
Is there a reason the student passwords should be encrypted in the database?
All of those can be solved by password reset (perhaps by permission of the teacher account, in this case, rather than entering personal information, as password resets usually work).
Sure, teachers could reset the password. My point is that there is no reason to. It is one extra step for teachers and gets rid of the benefit of having a consistent password for the student.
It is not IE only. CreateJS works well in the major browsers. The games work in new versions of all browsers. The games are only ad-free in IE and should work well especially in IE 10 as this looks to be partially sponsored by Microsoft.
Some of the links at the end also pertain specifically to IE.
"Our initial logging implementation accidentally included a synchronous call to write to disc."
You really want to avoid synchronous calls all of the time in node.js unless you are at a point in the app's life where it makes sense to block if necessary, such as on startup or shutdown.
Since this call was used in logging my guess is that the synchronous write call was called a lot and was easy to spot because of it. There are other places where calls like that would be harder to track down. As with any programming environment it is important to understand how things are working at least one abstraction level below the code you are writing.
"It’s worth noting that the prototype Carmack is demoing wasn’t made by him, but by another Texan builder of VR headsets. It’s using the same tech and principles as Carmack’s own version, which was unfortunately unable to make the trip to E3."
It sounds like he is making his own headset as well. The demo was not on his, though.
That was my impression. It sounds like he is really just looking at all options to figure out what does and does not work and why. To that extent, he is building and modifying hardware to experiment while also working with manufacturers.
I would remove the Mastering Node link from the resources. It is pretty far out of date and a lot has changed in the 9 months since it has been updated.
Specifically it does not mention the binaries for installing node, includes old, unusable ways of requiring modules, uses the sys module (which is now util), and probably more things that are wrong to do now in node.
We are looking for developers (PHP, node.js, Actionscript, CSS, Javascript, or able to learn those), working remotely is not currently a possibility. We have client work as well as our own properties that we are working on. See http://bouncingpixel.com/jobs.php ... we are very small and looking for the right person to fit our company culture. We have a rock wall behind our office that we built for bouldering. Feel free to contact me for any reason.